bluefireteam/audioplayers
59.2
Adequate · 23 September 2026
9.4k
lines of production code
Dart
with Kotlin, C++, Swift, C
5
measurements over time
What this system is
This system is a cross-platform audio playback library for Flutter, providing a unified API for playing, pausing, and managing audio across Android, iOS, macOS, Windows, Linux, and Web platforms. It supports multiple concurrent players, low-latency modes, and various audio sources including URLs, assets, and byte arrays. The architecture is modular, separating platform-specific implementations from a shared Dart interface, and includes comprehensive test coverage and documentation.
How it got here
2017–2021 — Mono-repo reorganization and API modernization
25 changes.
This period focused on restructuring the project into a mono-repo with federated packages, migrating platform implementations to modern standards (Swift, Kotlin), and introducing new features like AudioPool and multi-player support. The work also involved extensive refactoring of the example app and adding comprehensive test coverage to ensure stability.
2022 — Cross-platform expansion and platform-specific implementations
17 changes.
This period focused on extending audioplayers support to Windows and Linux desktops, while simultaneously refactoring the existing Android, Darwin, and Web implementations. The work involved adding new platform packages, restructuring internal architectures for better maintainability, and enhancing the example application with comprehensive testing and control interfaces.
2023–2025 — Android ExoPlayer backend and interface exposure
8 changes.
This period focused on exposing the platform interface publicly and introducing a new ExoPlayer-based Android backend. The team also significantly expanded test coverage with new unit and integration tests for both the interface and the example app.
Features
Add Android CI setup script for emulator testing
A new CI script, scripts/ci/setup-android.sh, has been introduced to automate the configuration of the Android testing environment. This script handles the installation of the Android SDK, system images, and emulator tools, and configures the KVM permissions required for Android emulator execution in the CI pipeline.
scripts · medium confidence
Add Linux platform support for audioplayers
This change introduces the Linux implementation for the audioplayers plugin, enabling audio playback on Linux desktops. The diff adds the core C++ audio player logic (audio\_player.cc/h), the Flutter plugin registration (audioplayers\_linux\_plugin.cc), and the CMake build configuration (CMakeLists.txt) required to integrate with GStreamer and GTK. This provides the foundational infrastructure for Linux users to use the same audio API as on other platforms.
_packages/audioplayers\linux/linux · high confidence
Add Linux platform support for the audioplayers example app
The audioplayers example application now supports Linux, enabling users to build and run the app on Linux desktops. This change introduces the necessary CMake build configuration, native C/C++ entry points, and Flutter plugin registration to integrate the audioplayers and file\_selector\_linux plugins on the Linux platform.
packages/audioplayers/example/linux · high confidence
Add Windows platform support for audio playback
Introduces a new Windows implementation for the audioplayers plugin, enabling audio playback on Windows desktops. The change adds a C++ plugin using the Windows Media Foundation API to handle media sources, playback control, and event streaming to Flutter. This includes the core audio player logic, media engine wrappers, and plugin registration, allowing users to play audio files and streams on Windows.
_packages/audioplayers\windows/windows · high confidence
Add standard package metadata and license files to the Darwin package
The audioplayers\_darwin package now includes essential metadata and legal files to support proper distribution and identification. A .gitignore file is added to exclude build artifacts and IDE files, while a .metadata file tracks the Flutter project configuration. The package also includes a standard MIT LICENSE file and a README.md that explains the package's role as the iOS/macOS implementation for the federated audioplayers plugin. Additionally, an analysis\_options.yaml is included to enforce code linting via the flame\_lint package.
_packages/audioplayers\darwin · high confidence
Added Windows platform support for the audioplayers example app
The example application now includes the necessary build configuration and plugin registration files to support the Windows platform. This includes a new CMake build script (CMakeLists.txt) that configures the Flutter library and C++ wrappers, alongside generated files (generated\_plugin\_registrant.cc/h and generated\_plugins.cmake) that register the audioplayers and file\_selector Windows plugins, enabling the example app to be built and run on Windows.
packages/audioplayers/example/windows/flutter · high confidence
Added local test server for audioplayers
A local HTTP test server has been added to the audioplayers example, providing audio files and live stream endpoints for testing. The server supports serving static audio files (MP3, WAV), handling HTTP range requests for partial content, and streaming live audio via HLS (m3u8) and direct stream routes. It includes configuration via environment variables (PORT, LATENCY, LOG\_REQUESTS) and is designed to run locally on loopback.
packages/audioplayers/example/server · high confidence
Added macOS Runner project files for the audioplayers example
The macOS example application now includes the necessary configuration and source files to build and run on macOS. This includes the Swift AppDelegate and MainFlutterWindow implementations, along with the Info.plist, DebugProfile.entitlements, and Release.entitlements files that define the app's metadata, security permissions, and build settings for the macOS platform.
packages/audioplayers/example/macos/Runner · high confidence
Added project configuration and documentation files
Added configuration files for code formatting and style enforcement, including \.clang-format\ for C/C++, \.editorconfig\ for Kotlin and Swift, and \.swift-format\ for Swift. Additionally, new documentation files were added to the repository: \contributing.md\ outlining contribution guidelines and rules, \feature\_parity\_table.md\ tracking platform support, \getting\_started.md\ providing a comprehensive tutorial on using the library, \migration\_guide.md\ for version upgrades, and \troubleshooting.md\ for common issues. The legacy \audioplayer.iml\ file was removed.
(repo-wide) · high confidence
Android plugin restructured with new player and focus management
The Android implementation has been refactored to use a new \PlayerWrapper\ interface that abstracts the underlying media engine, supporting both \MediaPlayer\ and \SoundPool\ (low latency) modes. A new \FocusManager\ handles audio focus changes dynamically, ensuring correct playback behavior during interruptions. The plugin now exposes \PlayerMode\ and \ReleaseMode\ enums to configure player behavior, and introduces a \ByteDataSource\ to support playing audio from byte arrays on Android M and above.
_packages/audioplayers\android/android · high confidence
Expose audioplayers\_platform\_interface public API
The package now exports its internal API classes (AudioContext, AudioEvent, GlobalAudioEvent, PlayerMode, PlayerState, ReleaseMode, and the main platform interface classes) via the main library file. This allows consumers to import and use these specific types directly, facilitating integration with the platform interface layer.
_packages/audioplayers\_platform\interface/lib · high confidence
Expose platform interface classes and new audio components
The main audioplayers library now re-exports key classes from the platform interface, including AudioContext, AudioContextConfig, AudioEvent, GlobalAudioEvent, PlayerMode, PlayerState, and ReleaseMode. Additionally, the library now exposes AudioCache, AudioLogLevel, AudioLogger, AudioPool, AudioPlayer, GlobalAudioScope, PositionUpdater, and Source, making these components directly accessible to users.
packages/audioplayers/lib · high confidence
Exposed internal platform interface and global audio management classes
The \audioplayers\_platform\_interface\ package now exposes its internal platform interface and global audio management classes to the public API. This includes the \AudioplayersPlatform\ implementation, the \AudioplayersPlatformInterface\ abstract class, and the \GlobalAudioplayersPlatform\ for managing global audio context and events. These changes allow platform-specific implementations to extend the interface and enable direct access to the platform abstraction layer for advanced use cases.
_packages/audioplayers\_platform\interface/lib/src · high confidence
Initial release of the Linux platform implementation for audioplayers
The Linux platform implementation for the audioplayers package has been added, enabling audio playback on Linux desktops. This change introduces the \audioplayers\_linux\ package, which provides the underlying platform-specific code for handling audio on Linux systems. The package includes necessary configuration files such as \.gitignore\, \.metadata\, \analysis\_options.yaml\, and a \README.md\ detailing setup instructions for Debian, Arch Linux, and Fedora/RHEL, along with a \CHANGELOG.md\ tracking version history. Users targeting Linux will now have access to the full range of audioplayers features on that platform.
_packages/audioplayers\linux · high confidence
Introduce ExoPlayer-based audio backend for Android
The Android audio plugin now uses the ExoPlayer (Media3) backend instead of the previous implementation. This introduces a new \ExoPlayerWrapper\ and associated plugin classes to handle playback, volume, and state updates. Users on Android will benefit from improved stability and feature parity with other platforms, including proper handling of mono audio sources for volume control and better audio focus management.
_packages/audioplayers\_android\exo/android · high confidence
New ExoPlayer-based Android implementation for AudioPlayers
A new \audioplayers\_android\_exo\ package has been introduced, providing an Android implementation of the AudioPlayers library that utilizes the ExoPlayer media player. This change offers users an alternative Android audio backend, allowing them to replace the default Android implementation by adding \audioplayers\_android\_exo\ to their app's \pubspec.yaml\. The package includes standard plugin metadata, licensing, and analysis options, establishing a distinct component for Android audio playback via ExoPlayer.
_packages/audioplayers\_android\exo · high confidence
New audio context, event, and state models for platform-specific configuration
The \audioplayers\_platform\_interface\ now exposes a new set of API classes to manage audio playback behavior. \AudioContext\ and \AudioContextConfig\ allow developers to configure platform-specific audio settings, such as speakerphone routing, audio focus, and silence handling. A new \AudioEvent\ model captures playback states and events, including a \playingStateUpdate\ for tracking when audio starts or stops. Additionally, \PlayerMode\ distinguishes between \mediaPlayer\ and \lowLatency\ backends, while \PlayerState\ and \ReleaseMode\ enums define the lifecycle and termination behavior of the player.
_packages/audioplayers\_platform\interface/lib/src/api · high confidence
New example app tabs for audio context, controls, logging, and sources
The example application now includes four new tabs in the main navigation: AudioContextTab, ControlsTab, LoggerTab, and SourcesTab. The AudioContextTab allows users to configure global or local audio context settings for each platform (Android, iOS, generic) via a tabbed interface. The ControlsTab provides buttons to control playback (pause, stop, resume, release), adjust volume, balance, rate, and player/release modes. The LoggerTab displays log messages from the audio player and global scope, with selectable log levels. The SourcesTab provides various audio sources including local files, remote URLs, and live streams, supporting different media types and error handling.
packages/audioplayers/example/lib/tabs · high confidence
Redesign of the audioplayers example app with multi-player support
The example application has been restructured to support multiple concurrent AudioPlayer instances, allowing users to add or remove players dynamically via a popup menu. The UI now features a tabbed interface (Sources, Controls, Streams, Audio Context, Logger) for each player, along with toast notifications for state changes and a utility extension for displaying messages and dialogs.
packages/audioplayers/example/lib · high confidence
Refactored internal audio player architecture and added AudioPool
The internal implementation of the audio player has been restructured, introducing a new \AudioPool\ class that provides a pool of pre-loaded \AudioPlayer\ instances to minimize playback delays for repetitive or simultaneous sounds. The \AudioCache\ class was also reorganized to handle local asset caching and URL sanitization, while the \AudioPlayer\ class was refactored to use a unified \Source\ abstraction (including \BytesSource\ for byte arrays) and improved position update mechanisms via \PositionUpdater\. These changes improve separation of concerns and performance for high-frequency audio playback.
packages/audioplayers/lib/src · high confidence
Windows example app gains native runner and window management
The example application now includes a complete Windows build configuration and native C++ runner files. This adds the CMake build script, a Win32 window manager, a Flutter window host, and utility functions for console attachment and command-line argument handling, enabling the example to run natively on Windows.
packages/audioplayers/example/windows/runner · high confidence
audioplayers\_android package metadata and documentation added
The audioplayers\_android package directory now includes standard repository metadata and documentation files: a .gitignore, .metadata, a comprehensive CHANGELOG.md, a LICENSE file, a README.md, and an analysis\_options.yaml. These additions provide the necessary scaffolding for the Android implementation of the audioplayers plugin, ensuring proper versioning, licensing, and linting configurations are in place for the package.
_packages/audioplayers\android · high confidence
audioplayers\_web package scaffolding and history
The audioplayers\_web package now includes standard repository metadata and documentation files: a .gitignore for build artifacts, a .metadata file for Flutter tooling, a comprehensive CHANGELOG.md documenting the package's version history and fixes (including a Safari compatibility fix and async initialization improvements), a MIT LICENSE file, a README.md explaining the package's role as the web implementation of the audioplayers plugin, and an analysis\_options.yaml file inheriting from flame\_lint.
_packages/audioplayers\web · high confidence
Removals
Removed legacy AudioPlayer class from lib
The legacy AudioPlayer class in lib/audioplayer.dart has been removed. This class previously exposed methods for play, pause, stop, and setting handlers for duration, position, completion, and error events via a MethodChannel. Users relying on this specific class and its synchronous callback-based API will need to migrate to the updated audio player implementation.
lib · high confidence
Removed obsolete audio player example app
The example app in the lib directory has been removed. This eliminates the legacy audio player demonstration that previously showcased basic playback, pause, and stop controls using the old API. Users should refer to updated examples or documentation for current usage patterns.
example/lib · high confidence
Architecture
Web platform implementation refactored into new modular classes
The web platform implementation has been restructured into distinct classes: \AudioplayersPlugin\ handles registration, \WebAudioplayersPlatform\ manages individual player instances, \WebGlobalAudioplayersPlatform\ handles global state, and \WrappedPlayer\ encapsulates the HTML5 Audio element logic. This change separates concerns, making the web backend more maintainable and aligned with the platform interface.
_packages/audioplayers\web/lib · high confidence
Behavioural changes
Added invalid audio asset for error handling tests
An invalid audio file (invalid.txt) has been added to the example assets. This file, containing non-audio text, is used to test the library's error handling for unsupported or invalid sources, ensuring the app gracefully handles such cases.
packages/audioplayers/example/assets · medium confidence
Android audio engine refactored with new context and player implementations
The Android implementation has been refactored to use a new \AudioContextAndroid\ data class for managing audio settings and a \SoundPoolPlayer\ for handling playback, replacing the previous \AudioplayerPlugin\ and \AndroidManifest\ files. This change introduces support for configurable audio attributes, stream types, and sound pool management on Android.
android · medium confidence
Darwin audio player implementation restructured with Swift
The Darwin (iOS/macOS) implementation of the audioplayers plugin has been rewritten in Swift, introducing a new \AudioContext\ struct to manage \AVAudioSession\ configuration and a \WrappedMediaPlayer\ class to handle playback state. This change replaces the previous Objective-C/Flutter plugin structure with a modern Swift codebase, including updated error handling via \AudioPlayerError\ and utility functions for time conversion, which may affect how audio session categories and options are applied on iOS devices.
_packages/audioplayers\darwin/darwin · medium confidence
Example app Android configuration updated
The example app's Android configuration has been updated to include the necessary permissions (INTERNET, WAKE\_LOCK, MODIFY\_AUDIO\_SETTINGS) and standard Flutter embedding metadata. A new debug/AndroidManifest.xml was added to grant INTERNET access for development tools, and the main AndroidManifest.xml was updated with the required permissions and Flutter embedding version 2 metadata. Additionally, the example app's MainActivity was refactored to extend FlutterActivity, and the app's launch theme styles were updated to support both light and dark modes.
packages/audioplayers/example/android/app · medium confidence
Example app reorganized into a mono-repo structure
The audioplayers example application has been restructured into a mono-repo format, moving platform-specific folders (such as macOS and iOS workspace files) to their respective directories. This change updates the project's internal organization and configuration files (including .gitignore, .metadata, and analysis\_options.yaml) to support a federated package setup, ensuring the example app remains consistent with the broader repository structure.
packages/audioplayers/example · medium confidence
MacOS example app config files added
The MacOS example app now includes explicit Xcode configuration files (AppInfo.xcconfig, Debug.xcconfig, Release.xcconfig, and Warnings.xcconfig) to manage build settings. This change centralizes application metadata (such as the bundle identifier and product name) and enables stricter compiler warning flags for the MacOS platform, improving build consistency and code quality for the example project.
packages/audioplayers/example/macos/Runner/Configs · high confidence
Refactored example app UI into reusable components
The example app's user interface has been refactored into a set of reusable, lightweight Flutter widgets (such as Btn, Cbx, Dlg, and PlayerWidget) to improve code organization and maintainability. This change restructures the example application's layout and controls, providing a cleaner, more modular foundation for the demo app without altering the core audio playback functionality.
packages/audioplayers/example/lib/components · high confidence
Release of audioplayers\_windows 5.2.0
The Windows platform implementation for the audioplayers plugin has been updated to version 5.2.0. This release includes a fix for compatibility with Visual Studio 18 (2026) and updates to C++23 and the Windows Implementation Library. Users on Windows should ensure their CMake configuration meets the new requirements, specifically updating the minimum CMake version to 3.15 or applying the CMP0091 policy to ensure proper library linking and build success.
_packages/audioplayers\windows · high confidence
Removed empty placeholder in iOS assets directory
The empty .gitkeep file in the ios/Assets directory has been removed. This cleanup eliminates an unnecessary placeholder, indicating that the directory is now managed directly without the need for a keep-alive file.
ios/Assets · high confidence
Removed example project files
The example directory's README.md and IDE module files (audioplayer\_example.iml, audioplayer\_example\_android.iml) have been removed. This cleanup reflects the reorganization of the project into a mono-repo structure, removing the standalone example app configuration in favor of the new federated packages approach.
example · high confidence
Removed legacy Android boilerplate files
The example Android application's AndroidManifest.xml, MainActivity.java, and .gitignore files have been removed. These files contained older configurations and code (such as the io.flutter.app.FlutterApplication and GeneratedPluginRegistrant usage) that are no longer required in the updated example app.
example/android · high confidence
Update macOS example with generated plugin registrant
The macOS example project now includes generated configuration files (Flutter-Debug.xcconfig, Flutter-Release.xcconfig) and a GeneratedPluginRegistrant.swift file. The registrant automatically registers the audioplayers and file\_selector plugins, ensuring the example app correctly loads these dependencies at runtime.
packages/audioplayers/example/macos/Flutter · high confidence
Updated Gradle wrapper to version 9.1.0
The Android example project now uses Gradle 9.1.0 for building, as indicated by the new gradle-wrapper.properties file pointing to the 9.1.0 distribution. This update aligns the build environment with newer Gradle standards, which may affect how the Android project is compiled and may require compatible versions of the Android Gradle Plugin and Java toolchains.
packages/audioplayers/example/android/gradle · high confidence
Updated iOS example app with modern Xcode and Swift configuration
The iOS example app has been reorganized and updated to align with modern Flutter and Xcode standards. The project now uses Xcode project format version 54 and includes a dedicated test target (RunnerTests) with a placeholder unit test. The app delegate implements the FlutterImplicitEngineDelegate protocol to handle plugin registration, and the Info.plist has been updated with modern keys such as CADisableMinimumFrameDurationOnPhone and UIApplicationSupportsIndirectInputEvents, while removing legacy keys like UIRequiredDeviceCapabilities. Additionally, the Xcode scheme was updated to version 1.7, enabling GPU validation mode and configuring the test action to run the new unit tests.
packages/audioplayers/example/ios · high confidence
Updated macOS example project configuration
The macOS example app's Xcode project file (project.pbxproj) and related workspace/scheme files have been regenerated and updated. This ensures the example app builds correctly with the latest Flutter tooling and Xcode configurations, maintaining compatibility with the current macOS platform support.
packages/audioplayers/example/macos/Runner.xcodeproj · high confidence
audioplayers package reorganized into a mono-repo structure
The audioplayers package has been reorganized into a mono-repo structure, introducing a new directory layout that includes a .gitignore file, a .metadata file tracking Flutter project properties, a comprehensive CHANGELOG.md documenting version history from 1.2.0 to 6.8.1, a standard MIT LICENSE, an updated README.md with usage instructions and badges, and an analysis\_options.yaml file that includes flame\_lint rules. This structural change prepares the codebase for a federated packages proposal, separating the main package from platform-specific implementations and improving maintainability.
packages/audioplayers · high confidence
iOS audio player plugin refactored to Swift
The iOS implementation of the audio player plugin has been migrated from Objective-C to Swift. The previous Objective-C wrapper and header files have been removed, and the core plugin logic is now handled by a Swift class (SwiftAudioplayerPlugin) that manages playback, state, and event channels using AVFoundation. This change aligns the iOS codebase with modern Swift practices and removes the need for the use\_frameworks! setting in the iOS project configuration.
ios/Classes · high confidence
Test coverage
Added comprehensive test coverage for AudioPlayer, AudioCache, AudioPool, and global audio scope; Added integration test driver for the audioplayers example app; Added integration tests for the audioplayers example app; Added macOS test scaffolding for the audioplayers example; Added unit tests for the audioplayers platform interface; Restructured integration tests for the audio player example app.
Dependencies
Migrated example app and Android build files to Kotlin DSL and modern Gradle conventions
The example app's Android build files (build.gradle.kts, settings.gradle.kts, gradle.properties) have been replaced with modern Kotlin DSL configurations, including explicit Java 17 compatibility, namespace declarations, and Flutter Gradle plugin integration. The legacy Android build.gradle and settings.gradle files were removed, and the project structure was updated to support the new workspace-based monorepo layout.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 48 → 59 (+10.8)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 93 (new)
- Architecture 100 → 96 (-3.7)
- Maturity 57 → 57 (-0.5)
- Readiness 49 → 63 (+13.3)
- Security 32 → 48 (+16.5)
- Domain Modelling 100 → 100 (+0.0)
Resolved (34)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- …and 14 more
New (130)
- AudioPlayer.AudioPlayer (cognitive 26) (packages/audioplayers/lib/src/audioplayer.dart)
- AudioPlayer.AudioPlayer (cyclomatic 16) (packages/audioplayers/lib/src/audioplayer.dart)
- AudioplayersDarwinPlugin.handleAsync (cognitive 46) (packages/audioplayers_darwin/darwin/audioplayers_darwin/Sources/audioplayers_darwin/AudioplayersDarwinPlugin.swift)
- AudioplayersDarwinPlugin.handleAsync (cyclomatic 34) (packages/audioplayers_darwin/darwin/audioplayers_darwin/Sources/audioplayers_darwin/AudioplayersDarwinPlugin.swift)
- AudioplayersDarwinPlugin.handleAsyncGlobalMethodCall (cognitive 17) (packages/audioplayers_darwin/darwin/audioplayers_darwin/Sources/audioplayers_darwin/AudioplayersDarwinPlugin.swift)
- AudioplayersPlugin.methodHandler (cyclomatic 24) (packages/audioplayers_android_exo/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Duplicated block (8 lines × 2) (packages/audioplayers/example/lib/tabs/controls.dart)
- FixmeComment (packages/audioplayers/example/integration_test/app/tabs/controls_tab.dart)
- FixmeComment (packages/audioplayers/example/integration_test/app/tabs/stream_tab.dart)
- FixmeComment (packages/audioplayers/example/integration_test/app/tabs/stream_tab.dart)
- FixmeComment (packages/audioplayers/example/integration_test/lib/lib_test_utils.dart)
- FixmeComment (packages/audioplayers/example/integration_test/lib_test.dart)
- FixmeComment (packages/audioplayers/example/integration_test/lib_test.dart)
- FixmeComment (packages/audioplayers/example/integration_test/lib_test.dart)
- FixmeComment (packages/audioplayers/example/integration_test/lib_test.dart)
- FixmeComment (packages/audioplayers/example/integration_test/lib_test.dart)
- FixmeComment (packages/audioplayers/example/integration_test/lib_test.dart)
- FixmeComment (packages/audioplayers/example/integration_test/platform_test.dart)
- …and 110 more
Architecture
- Unchanged — 0 containers · 1 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
bluefireteam/audioplayers was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 23 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit cd475c760b2e730c4306c1f102f3ac6f4313109e — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-955b9cee9818.