I'LL BUILD MY OWN README! WITH BLACKJACK...

main
Jay Moore 6 days ago
parent 059c004392
commit 221d734ce9

@ -19,20 +19,25 @@ mpd-dbcreate is a command-line tool that creates MPD-compatible database files w
- Scans music directories and creates MPD-compatible database files - *At least the way I want them made.*
- Supports all audio formats that MPD supports - *SACD playback support requires Max's fork of mpd. Milage may vary. Hi Max!*
- Handles large collections (tested with multi-TB libraries) - *and I did it over the network in about an hour! Like reasonable frames with your perscription!*
- Looks for every reason to not use a .CUE sheet. *There are valid reasons and that's why I wrote this!*
- ~~Network filesystem support (NFS, WebDAV)~~ *URI's are supported, but broken? Please report. SMB is disabled.*
- Channel filtering options (stereo-only, multichannel-only, or all) *Because it's not like I listen to the Britney Spears in 5.1 on a regular basis.*
- Looks for every reason to not use a .CUE sheet. - *There are valid reasons and that's why I wrote this!*
- ~~Network filesystem support (NFS, WebDAV)~~ - *URI's are supported, but broken? Please report. SMB is disabled.*
- Channel filtering options (stereo-only, multichannel-only, or all) - *Because it's not like I listen to the Britney Spears in 5.1 on a regular basis.*
## "Better" Media Handling
I created this for the basic reason that mpd was not generating databases that worked for me and made the following behavior changes:
I created this for the basic reason that mpd was not generating databases that worked for me, it angered me, and I thought I could do better:
### CUE Sheet Handling
You don't always need a CUE sheet for playback. If your media files are alraedy split up, as the usually already are, then a CUE sheet doesn't give you any advantage on playback. In fact, this is a disadvantage. If mpd sees a cue sheet; it will only index that cue sheet. This is fine except when it doesn't properly parse the sheet and you wind up with most of an album unplayable.
You don't always need a CUE sheet for playback. If your media files are already split up, as the usually already are, then a CUE sheet doesn't give you any advantage on playback. In fact, this is a disadvantage. If mpd sees a cue sheet; it will only index that cue sheet. This is fine except when it doesn't properly parse the sheet and you wind up with most of an album unplayable.
The solution is to just not use CUE sheets unless necessary. It compares the number of tracks in the CUE sheet to the number of media files in the folder and makes that decision based on the following rules:
- If the cue sheet track count matches the media files, ignore the cue.
- If the cue sheet track count is one more than media files, assume multi-session disc and ignore the cue.
- Anything else, the CUE is the rule.
The solution is to just not use CUE sheets unless necessary. It compares the number of tracks in the CUE sheet to the number of media files in the folder. As long as the number of tracks in the CUE doesn't exceed one more than the file count; it will completely ignore the CUE and just index the media files directly! No more broken albums and albums that do require a CUE sheet still get them. Why one more than file count? Multi-session/EnhancedCD/CDExtra discs. That data session counts as a track in the CUE sheet. We will never match tracks vs files from a multi-session disc; so that allowance of 1 catches those.
### Multi-Channel Filtering
@ -81,7 +86,7 @@ There is no installation. mpd-dbcreate is a static binary. You may put it in you
## Usage
```bash
mpd-dbcreator --music-dir <path> --database <path> [options]
mpd-dbcreate --music-dir <path> --database <path> [options]
Options:
--update Updates an existing database.
@ -94,6 +99,8 @@ Options:
--help Show help message
```
I have found it's best to feed full paths for everything. It should be obvious if it doesn't like your music-dir argument. Not liking --database argument has shown up as a
### Examples
Create a database of only stereo content:

Loading…
Cancel
Save