[Solved] Beets keeps merging "multidisc" albums in one folder when I do not want to

Hello,

I was using different software (in past it was iTunes => Banshee) to organize my library in a simple way by ID3 tags.
The structure was: [ARTIST]/[ALBUM]/[TRACK_NO] - [TRACK_NAME]

Unfortunately Banshee is not usable anymore in modern Linux distribution. So I decided to use beets to keep my music library organized.

I have some “multidisc” albums in my collection. But I do not handle them as multidisc albums. I just handle separate discs as different albums. It worked with every software I used before and it works great with my car audio (which is usually very stupid, cause car makers just can’t make working electronics…).
In short, I just have 3CD album named ‘Somealbum’. But in ID3 tags and in my library it’s just 3 different albums:
Somealbum (CD1)
Somealbum (CD2)
Somealbum (CD3)

But beets is stubbornly merging those album in one directory in my library (which is bad for that car audio). So it creates only one directory: Someartist/Somealbum (CD3). And into that directory it puts all songs from all 3 “albums”. But why when it should be different albums in different folders?
I just want to achieve to have this structure:
Someartist/Somealbum (CD1)
Someartist/Somealbum (CD2)
Someartist/Somealbum (CD3)

Is there a way to achieve this behavior?

My config is:

directory: ~/Music
library: ~/.beets-data/musiclibrary.db
asciify_paths: yes
plugins: fetchart

import:
    copy: no
    write: no
    move: yes
    autotag: no
    
paths:
    default: $albumartist/$album/$track $title
    
set_fields:
    multidisc: 0

Yes! It’s in the FAQ:
https://beets.readthedocs.io/en/stable/faq.html#create-disc-n-directories-for-multi-disc-albums

Thanks for pointing me that way. This is the solution when I fill tags to match multidisc setup. So I need to fill ‘Disc number’ fields in all my multidisc albums. Will do that and it will probably be OK for me - will see how other devices will handle that.

I had removed those ‘Disc number’ fields from tags in my library on purpose - to prevent some software/devices handling those disc as same album with multiple discs (some of them were handling them in a bad way). Instead I had them as different albums with that CD1, CD2, … on the end.
Unfortunately this leaded beets to recognize them with some algorithm as same album - but since there was no “Disc number” in tags I was unable to use that $disc in path structure.
For that old setup of mine it would be a solution to disable that algorithm that is responsible to recognize those albums as single album with more disks. This is not possible in configuration of beets?

We don’t have a way to disable this folder coalescing in the importer; it’s built-in because this is how beets expects to tag albums. However, you can work around it by importing individual directories. So something like:

for dir in `ls` ; do beet import $dir ; done

Or even:

beet import `ls`

might suffice to run the importer separately on each directory.

The same item here
Have now this in the config

paths:
default: $albumartist/$album%aunique{}/%if{$multidisc,$disc}/$albumartist - $album%aunique{} $disc - $track - $title
singleton: Singletons/$artist - $titl–e
comp: Various_Artist/$album%aunique{}/$disc-$track $title
albumtype:soundtrack: Soundtracks/$album/$disc-$track $title
item_fields:
multidisc: 1 if disctotal > 1 else 0
So now it is as album corret , but still on thing to go on and that is the track numbering
the track keep on numbering
Not album 1 12 tracks
and Album 2 12 tracks
Noa lbum 2 12 till 24 end so on
How to tackle this

Are you perhaps looking for per-disc-numbering? Configuration — beets 1.6.0 documentation

Almost correct
Got it now as this
Bob Marley - Greatest Hits Bob Marley 02 - 19 - Zimbabwe.mp3

default: $albumartist/$album%aunique{}/%if{$multidisc,$disc}/$albumartist - $album%aunique{} $disc - $track - $title

IHow to make it like this
Bob Marley - Greatest Hits Bob Marley cd 02 - 19 - Zimbabwe.mp3

I’m doing this a bit differently. I’m using the inline plugin. In my path I have;

/%if{$multidisc,$multi_cust}/

Then I have;

 item_fields:
     multi_cust: |
         if (disctitle):
             return f'disc {disc} - {disctitle}'>         
         else:
            return f'disc {disc}'

Which works, but the tracks under each disc start where the other left off rather that starting back at 1. Any thoughts?

I didn’t realize I bumped a solved thread. Sorry.

This helped;