Replies: 2 comments
|
During additional testing I found a built-in workaround that produces a much cleaner directory layout for multi-disc albums. Instead of relying on filename prefixes such as 1-01 / 2-01, I switched to conditional disc subdirectories using the documented %if{} path syntax: item_fields: paths: This results in: Album/ This avoids filename collisions and gives a much cleaner directory structure. However, my original question remains: Is this the approach that the beets developers recommend for multi-disc libraries, or is there an intended built-in way to have $track restart at 01 on each disc when per_disc_numbering: yes is enabled? I would like to stay as close as possible to the recommended beets architecture and avoid custom plugins or non-standard workarounds if possible. |
|
Move it out one indentation level: per_disc_numbering: yes
import:
copy: no
move: no
link: no
hardlink: yes
write: yes
quiet: no
paths:
default: $albumartist/$year - $album$release_type/$disc-$track - $titleWith that setting, beets uses MusicBrainz's medium-local position for One subtle point: |
Uh oh!
There was an error while loading. Please reload this page.
Title
Clarification requested:
per_disc_numberingbehavior for multi-disc releases in beets 2.13.1Hello everyone,
I'm currently evaluating beets 2.13.1 as part of a large music library migration and encountered a behavior that I cannot reconcile with the documentation.
I'm not sure whether this is the intended behavior, a documentation issue, or an implementation issue, so I would appreciate some clarification before proceeding with my migration.
Environment
Enabled plugins:
Configuration
I also verified the active configuration using:
which confirms that
per_disc_numbering: yesis correctly loaded.What I expected
According to the documentation, I expected track numbering to restart for every disc.
Example:
What actually happens
The second disc continues with the global release numbering.
Example:
Test methodology
For every test I used exactly the same procedure:
ffprobe.ffprobe.The database was recreated before every test.
Test case 1
Unheilig – Lichter der Stadt
MusicBrainz Release:
Original file before import:
Original metadata:
During matching beets correctly shows:
So MusicBrainz clearly provides disc-local numbering.
After the import:
SQLite:
Written ID3 tag:
Generated filename:
Test case 2
Pink Floyd – The Wall
MusicBrainz Release:
Exactly the same behavior:
What has been verified
The following have been ruled out:
Both tested releases produce the same result.
Observation
The complete processing chain looks like this:
My question
Could you clarify whether this is the expected behavior?
More specifically:
$trackintentionally always represent the global release position?per_disc_numberingoutdated or am I misunderstanding its purpose?without using custom plugins or inline Python?
If this is not the expected behavior, the two MusicBrainz releases above should be sufficient to reproduce it.
Thank you very much for your time.
I intentionally avoided custom plugins or workarounds because I first wanted to understand the intended behavior of the beets core before building my migration workflow.
Bestr regards
All reactions