Feature description:
Hi,
I’m looking for the best way to handle a workflow where I manage my library files externally while using Symfonium as my primary player.
The Workflow: I frequently use external tag editors (like Oto/Autotagger) and file managers to clean up tags, rename, or delete files directly on the storage.
The Issue: Currently, Symfonium caches the library state efficiently, but this means it doesn’t immediately reflect these external changes (e.g., a deleted file still shows in the list until a playback error occurs or I manually run a scan). The “Automatic scan on app start” helps, but it is often too heavy/slow for quick edit-and-check workflows.
The Request: Could you consider adding an Advanced Option to enable a FileObserver or aggressive MediaStore listener for the library folders?
I understand this might have a battery impact, but for users who actively curate their library via external tools, having near-instant reflection of deletes and tag updates would be a massive workflow improvement.
Alternatively, exposing a Broadcast Intent to trigger a “Fast Update” on a specific file path would allow me to script this integration myself via automation tools.
Thanks for the great app.
Problem solved:
Disconnect between External Management and Playback
Many power users utilize specialized external tools for library management (tag editors, file managers, or automation scripts) while relying on Symfonium as their primary high-performance player.
Currently, because Symfonium relies on its own internal database caching (which is great for performance), it gets out of sync when files are modified or deleted externally.
The specific issues are:
Ghost Files: If I delete a file using a file manager/tagger, it remains in Symfonium’s UI until I attempt to play it (causing a playback error) or manually trigger a full rescan.
Workflow Friction: When correcting tags externally, I have to manually navigate settings to force a sync to see the result. The “Scan on app start” option is often too heavy or slow for a quick “edit-and-verify” workflow.
Brought benefits:
It allows Symfonium to sit perfectly in a chain of tools. Users can manage/clean their library with specialized apps and consume it with Symfonium without friction.
Utilizing a FileObserver (or similar active monitoring) on the library folders would ensure the UI always reflects the actual file system state, eliminating playback errors from deleted files.
If you also exposed a Broadcast Intent to trigger a scan on a specific path, it would allow for highly efficient, battery-friendly updates triggered by automation tools (Tasker/Macrodroid) only when files are actually changed, rather than relying on aggressive polling or full library rescans.
Other application solutions:
Many lightweight players seem to wrap the Android MediaStore directly or query it live. This allows them to reflect external edits instantly (since the system handles the file tracking), but they often lack the advanced caching, smart filters, and rendering performance that Symfonium offers for large libraries.
Poweramp offers highly configurable folder scanning options, including “Auto-scan” which triggers almost instantly upon file system changes. It also exposes a public Intent (com.maxmpz.audioplayer.API_COMMAND) allowing external apps like Tasker to force a rescan, which solves the automation gap perfectly.
Additional description and context:
Preferred Solution: Broadcast Intent While an automatic FileObserver would be the most “user-friendly” solution, I understand it can be resource-intensive to monitor large trees.
A cleaner, developer-friendly alternative would be exposing a specific Broadcast Intent that we can trigger via Tasker/Automate/Macrodroid.
Suggested Implementation: A broadcast receiver listening for something like:
Action: app.symfonik.music.player.ACTION_SCAN_PATH
Extra (String): path (The folder or file to update)
This shifts the responsibility to the user: we can configure our own automation (e.g., “When I move a file in Solid Explorer → Tell Symfonium to scan that specific folder”). This provides the immediacy of a live update with zero background battery drain for Symfonium when idle.
I am happy to test any beta implementation of this if you decide to add it. Thanks!
Screenshots / Mockup: