music-assistant-server
Branch:dev-lidarr-plugin
Commit Details
Updated Artwork handling on AriaCast Receiver (#3226)
* Add AriaCast Receiver plugin for Music Assistant - Implemented AriaCast Receiver plugin to stream audio from Android devices to Music Assistant players. - Added README.md with features, installation, configuration, and usage instructions. - Created configuration classes for audio and server settings. - Developed metadata handling for AriaCast streams. - Implemented UDP discovery and WebSocket server for audio and metadata streaming. - Added helper functions for local IP retrieval and artwork downloading. - Included SVG icon for the plugin. - Updated manifest.json with documentation link and requirements. * Update README to simplify installation instructions Removed installation instructions and updated configuration step for clarity. * fixed mypy and pre-commit problems for my provider * Delete music_assistant/providers/ariacast_receiver/README.md * fixed pre-commit problems x2 * fixed icon * Merge remote-tracking branch 'origin/dev' into dev * Fixed Metadata and media controls after refactoring * copilot notes addressing * Addressing more copilot notes * Apply suggestion from @Copilot Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Addressing last notes * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * fix: address code review feedback for ariacast_receiver * fix(ariacast): add playback ready event for audio/player sync - Add _playback_ready event to coordinate audio handler and player stream - Audio handler waits up to 2s for player to become ready after starting playback - get_audio_stream signals ready when it starts consuming frames - Clear ready state on cleanup in _clear_active_player and stream end This reduces audio frame loss during player setup by synchronizing the audio receiver with the player's readiness to consume frames. * Add multi-platform AriaCast receiver binaries (darwin/linux amd64/arm64/arm) * renamed receiver name * no redownload if same artwork Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/manifest.json Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * fix: use shared http_session for ariacast websocket connection * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * fix in previous copilot commit messing up the way pipe was read (no loop) * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * fixel last comments * Change multi_instance setting to false * Addressed latest comments after review - Switched from pipe to stdout - Dropped linux arm - Moved _get_binary_path() to helpers.py * Implemented stderr logging, robust WebSocket connection retries, improved artwork handling, and player switching control. Updated Manifest * Fix after PlayerController renamed all to all_players and players.get to get_player() * Update music_assistant/providers/ariacast_receiver/__init__.py Co-authored-by: Copilot <[email protected]> * Update music_assistant/providers/ariacast_receiver/__init__.py Added suggested track change comments Co-authored-by: Copilot <[email protected]> * Update documentation URL in manifest.json * Added README for the binary of AriaCast Receiver * updated receiver for artwork * final fixes * addressed copilot comment --------- Co-authored-by: Copilot <[email protected]>
Author
Lorenzo Imbastari<[email protected]>
February 24, 2026 at 08:25 AM UTC
Committer
GitHub<[email protected]>
February 24, 2026 at 08:25 AM UTC
12additions
7deletions
5files changed
Parent commits
Changes
5 files
+12-7
Changed Files (5)
music_assistant/providers/ariacast_receiver/
music_assistant/providers/ariacast_receiver/bin/
music_assistant/providers/ariacast_receiver/__init__.py
+12-7
music_assistant/providers/ariacast_receiver/bin/ariacast_darwin_amd64
music_assistant/providers/ariacast_receiver/bin/ariacast_darwin_arm64
music_assistant/providers/ariacast_receiver/bin/ariacast_linux_amd64
music_assistant/providers/ariacast_receiver/bin/ariacast_linux_arm64