Actually yes, but I tend to go with the bad stuff first I had quite a headache with that MPD of yours even before this, like it stopped indexing because I had some zip or rar files inside albums. But yes, I do appreciate the project and community!
Music Player Daemon (MPD) tends to stumble over ZIP and RAR files because they’re archive formats, not native media containers and decoding audio directly from inside them requires extra layers of logic that MPD typically avoids.
Here’s why it’s tricky:
- MPD expects streamable files
- MPD is designed to read audio files directly from the filesystem, with random access, tagging, and decoding, but compressed archives obscure all that.
- ZIP/RAR containers hide file metadata and structure until fully extracted.
- No built-in archive support
- MPD doesn’t natively unpack archives or stream audio from inside them.
- It relies on the OS to present readable files, not virtual ones inside a compressed blob.
- Performance concerns
- On-the-fly decompression can be slow or memory-intensive.
- Playing audio from inside an archive would mean extracting it temporarily — messy, especially on embedded systems or headless setups.
- RAR is especially problematic
- RAR isn’t an open standard, and many systems lack native support to extract them.
- ZIP is more common, but still unsupported directly by MPD.
I didn’t expect it to read archives at all, I expect it to ignore it instead of stopping indexing and messing with database. But anyway, lesson learned - the hard way.
On topic, extracting individual tracks from cue files on 1-file albums is nothing new to me, but that could get unexpected micro-gaps, especially between tracks in mixed compilations or albums. I’ll try one or two albums later on and see how Volumio handles gapless playback. But this approach raises a more concerning issue that is of storage, for people having a lot of such albums will get their used space doubled.
I believe a lot of us view Volumio as a stand-alone music player, with our primary music collection stored elsewhere. It would be very complicated to sync such collections and keep separated 1-file albums from extracted ones.
But I get it, functionality and stability is priority.
Hey @vdrn,
Why are you not using .mpdignore
to instruct mpd what you want to be indexed? This has been discussed across Volumio’s forum.
The .mpdignore
file is a very basic but important tool for controlling how Volumio (and MPD under the hood) indexes your music. Think of it as a “do not scan” list for the music library. Since this has not been mentioned in any of your previous posts:
Here is the 101-level explanation:
- What it is
.mpdignore
is a plain text file you can place inside any folder in your music library.- Its job is to tell MPD (and therefore Volumio) to ignore certain files or folders when building the music database.
- Where it goes
- It sits directly in the folder you want to control.
- Example: If your path is
/mnt/USB/Music/Album/
, and you create/mnt/USB/Music/Album/.mpdignore
, only that album folder will be affected.
- What goes inside it
-
Each line is a simple filename pattern you want MPD to skip.
-
Examples:
*.cue
- ignores all.cue
files in that folder*.log
- ignores all.log
filesArtwork/
- ignores theArtwork
subfolder
-
Wildcards (
*
) work like in a shell:track*.flac
would ignore all FLAC files starting with “track”.
- Why it matters
- Helps prevent Volumio from indexing files that are not real audio tracks, like
.cue
,.txt
,.log
, or temporary files. - Reduces database bloat and avoids weird issues where non-playable files confuse the library scanner.
- Especially useful when you have 1-file albums with
.cue
sheets and do not want Volumio to treat them like separate tracks.
- How it works in practice
- When Volumio scans the music library, it checks each folder for a
.mpdignore
file. - Any matching files or folders listed there are skipped entirely.
- This means they will not appear in the Volumio UI and do not take up database entries.
- Important notes
- It does not delete files. It only tells the indexer to skip them.
- Changes only take effect after a library rescan.
- It affects only that folder and its subfolders.
In short, .mpdignore
is a simple safety filter for your library scan. If you are trying to avoid Volumio touching .cue
files, logs, or archives that cause issues, this is your first tool to use.
Kind Regards,
Wasn’t aware of that, good info. Thanks!
I will give this a go.
Thanks for the tips @nerd and @Wolfman74 and always helpful @Wheaten.
Being lazy and wanting to skip the hassle of doing things the way I have always done say 30+ yrs ago, I asked ChatGPT to come up with a script I can run in Debian that will:
- Recognize my NFS mounts on Volumio thru a screenshot of the mounts in “Sources”.
- Search for folders that have *.cue, *.txt and *.log files.
- Add a .mpdignore file to those folders from a master file in the same directory as the script.
- Ran the script.
Results: my Pi5 and the NFS mounts have survived a reboot so far and rescanning on my other devices shows that it’s effectively “cleaned” up my library for Volumio without having to using various tools in Windows. Pics below:
Before:
After:
Hope this sticks!