Feature description:
I am requesting that Symfonium expose the Work and Movement metadata tags to external Android listeners (via the MediaSession or outgoing broadcast intents). (Media Provider: This applies to any local or remote media played through Symfonium’s internal player where Work/Movement tags exist).
Problem solved:
When listening to classical music, the standard Android MediaMetadata object only broadcasts basic tags (Title, Artist, Album) to the OS. Because Symfonium relies on this standard OS-level broadcast, external applications that listen to the current media state—such as smartwatches, custom widgets, Tasker profiles, or custom external displays—cannot see the Work or Movement data.
Currently, an external display might just show a generic movement tempo (e.g., “Allegro”) as the Title, with no context of the actual Work being played, making the external metadata essentially useless for classical music listeners.
Brought benefits:
This brings first-class classical music support to the broader Android ecosystem. It benefits any user who relies on external integrations, including:
-
Users with smartwatches (Garmin, WearOS) who want to see what Work is playing on their wrist.
-
Users building custom home screen widgets (like KLWP or KWGT) for their devices.
-
Users utilizing Tasker to route specific metadata to external displays or smart-home dashboards. By exposing these deep tags, Symfonium becomes the ultimate media player for power users who want their meticulously tagged classical libraries correctly represented outside the main app UI.
Other application solutions:
Some other highly customizable players (like Poweramp) solve this by broadcasting proprietary intent extras containing their full internal tag structure alongside the standard Android media broadcasts. However, Symfonium’s internal handling of classical tags and library management is far superior; it simply needs a way to pass that rich data to the OS layer so external apps can intercept it.
Additional description and context:
For context on my specific use case: I run Symfonium on a dedicated Android13 Digital Audio Player (a FiiO JM21). I wrote a custom background Android service that intercepts track changes and pushes the metadata over a Bluetooth socket to my Pixel Phone, so I can easily view “now-playing” info from a device with a large screen while having the DAP plugged in and tucked away at my desk or in my vehicle. Because Symfonium only exposes standard Android media tags, I cannot extract or display the Work and Movement natively without trying to reverse-engineer or query the internal database. Adding something like CUSTOM_METADATA_WORK to the MediaSession extras or broadcast intents would bridge this gap instantly.
