trackliste erstellen mit script

hallo mp3tag-gemeinde,

habe ein Problem, das ich nicht gelöst bekomme.

Ich erstelle von all meinen Alben mittels Scripten eine TXT- und NFO- Tracklist.
Bisher habe ich bei Alben die aus mehreren CD´s bestanden hinter CD1 in den Albumnamen eingefügt .....-CD1 , hinter CD2 dann ......-CD2 usw.
Heraus kamen dann folgende Dateinamen und somit auch in den TXT und NFO Tracklists:

CD1:
101 - Artist - Tracktitel01
102 - Artist - Tracktitel02

CD2:
201 - Artist - Tracktitel01
202 - Artist - Tracktitel02 usw.

Heißt also das Script hat die letzte Zahl des Albumnamens (1 2 3 ...) vor die Nummerierung gesetzt und das als ersten Teil des Dateinamens ausgegeben.

Jetzt habe ich aber die Nummerierung umgestellt, so dass ich ein Feld DISCNUMBER nutze und mp3tag mit dann als Dateinamen ausgibt:

1-01 - Artist - Tracktitel01
1-02 - Artist - Tracktitel02

2-01 - Artist - Tracktitel01
2-02 - Artist - Tracktitel02 usw.

Natürlich passen jetzt die Scripte, die mir die TXT und NFO erstellen nicht mehr.
Wie muss folgende Zeile geändert werden, damit die TXT und NFO Dateien die korrekte Nummerierung ausgeben nach dem Muster:

1-01 Titel 1 Länge
1-02 Titel 2 Länge

2-01 Titel 1 Länge usw.

$loop(%track%)$repeat( ,$sub(3,$len(%track%)))%track%. $left(%title%,52)$repeat( ,$sub(61,$len($left(%title%,52) %_length%))) [$replace(%length%,,:)]$loopend()

Vielen Dank für eure Hilfe.

apollo10

Sortiert wird danach was in $loop(...) steht.

Bei dir ist das $loop(%track%) - also nur die Tracknummer.

Also kannst du z.B. noch die Discnumber mit rein nehmen:
$loop(%discnumber%-%track%)

oder nach Dateiname sortieren:
$loop(%_filename%)

Hallo dano,

hab %discnumber% in die loop mit aufgenommen, dadurch stimmt jetzt die Reihenfolge der Songs (01,02,03,04,...01,02,03,...) und nicht wie vorher (01,01,01,01,02,02,02,03,....) jedoch wird mir die CD-Nummer nicht übernommen, damit es so aussieht: 1-01 1-02 1-03 ......2-01 2-02 .....

lg
apollo10

$loop(%track%)$repeat( ,$sub(3,$len(%track%)))%track%. $left(%title%,52)$repeat( ,$sub(61,$len($left(%title%,52) %_length%))) [$replace(%_length%,_,:)]$loopend()

... $loop(%track%)$repeat( ,$sub(3,$len(%track%)))%track%

müsstest du noch um %discnumber erweitern, z.B.
$loop(%track%)$repeat( ,$sub(3,$len(%track%)))%discnumber%-%track%

hallo ihr zwei,

so heißt der string richtig, damit er mir das gewünschte ergebnis bringt.

vielen dank euch beiden.

lg
apollo10