Tracknummern abgleichen?


#1

Hallo,

wie gleiche ich denn am besten die Tracknummern so an, dass sie überall gleich angezeigt werden?
Ich hab mal
10/10 (wird dann eben als 1010 im Dateinamen mittels %track% angezeigt)
9/10 (Tja, 910 eben...)
8/10
7/10
...

und eben
10
9
8

Der Nummernassisten fängt brav von oben an, während bei den eingefügten Tracks oben die grösste Zahl steht.
Ich schaffs grad nicht, das umzusortieren, wenn ich wieder auf Album klicke werden die Alben herumgedreht, aber die Tracksortierung bleibt gleiche.
Wenn ich jetzt aber nach Tracks sortiere, ist alles durcheinandner.

Ähnliches Problem bei den Jahreszahlen, gibts hier etwas, wo man die einheitlich machen kann? Ich schätze mal mit RegExp, oder? Marke " \d{4} " und dann halt ($1) einfügen lassen?

Gibts hier abhilfe? Weil grundsätzlich wurden die Dateien bereits alle korrekt getagged, eben daran haperts gerade - danach lass ich alle Dateien umbennennen mit dem Schema:
d:_audio_Different_rename$if2(%album artist%,%artist%)\%year% - %album%$if2(%album artist%,%artist%) - %album% - %track% - %title%

Somit habe ich eine Sortierung die ich später auch für XBMC brauche und kann, falls mal ein alter MP3 Player verwendet wird auch einfach den Dateinamen auslesen und weis, was das sein soll.

Wäre echt cool, wenn hier jemand helfen könnte!


#2

Ich verstehe dein Problem, ehrlich gesagt, nicht so ganz.
Die Gesamtzahl mit Schräger abzutrennen ist für Dateinamen ungünstig, da illegal, deshalb wird der Schräger weggelassen.
Da würde es sinnvoller sein, TRACK gleich mit $num(%track%,3) zu formatieren.

Dein Sortierungsproblem kann ich auch nicht so richtig nachvollziehen.
Wenn du eine Liste mit mehreren Alben hast, die schon eine Tracknummer haben, dann ist der richtige Weg, zuerst nach TRACK zu sortieren. Wiederholtes Drücken auf den Spaltentitel wechselt zwischen aufsteigender und absteigender Sortierung. Also sollte das so hinzukriegen sein, dass nicht die größte Zahl oben steht (!?).
Wenn TRACK richtig sortiert ist, drückst du 1x auf den Spaltentitel von ALBUM. und schon sind alle Alben zusammensortiert in der zuvor gewählten Track-Reihenfolge...

Das Beispiel, das du als Dateinamen-Maske angibst, wird nicht funktionieren, da das Feld %albumartist% heißt und nicht %album artist%.

Zusammen mit dem Hinweis auf die Tracknummer ohne Schräger würde ich die Maske wie folgt verwenden:

d:_audio_Different_rename$if2(%albumartist%,%artist%)\%year% - %album%$if2(%albumartist%,%artist%) _ %album% _ $num(%track%,3) _ %title%


#3

Ja, der Schrägstrich war ja eh mein Problem, hab heute nochmal in der Mittagspause kurz gesucht und das mit $num(%track%,3) auch gefunden, kurz bevor ich deinen Post gelesen hab XD
Danke.

Öh, 3 Uhr früh war wohl zu spät, dass ich bemerke, dass die Sortierung übernommen wird. Also, erst nach Tracknummer und dann erst nach Album. Jetzt wo ichs von dir gelesen hab und nochmal ausprobiert irgendie eh klar und leuchtet sofort ein.

Der Abstand ist mir selbst gar nicht aufgefallen hust Ich schieb das auch mal auf Mitternacht...

Also, fertig würde das bei mir so aussehen:
d:_audio_Different_rename$if2(%albumartist%,%artist%)$num(%year%,4) - %album%$if2(%albumartist%,%artist%) _ %album% _ $num(%track%,2) _ %title%

Bewirkt $num(%year%,4), dass die ersten 4 Stellen verwendet werden, oder, dass der Wert auf 4 "gestaucht" wird? Soweit ich das in der Vorschau kontrollieren konnte, funktioniert es auf jeden Fall.

Ich möchte mich bei dir bedanken ohrenkino, du schreibst hier ja auch sehr viel.
Und danke an mp3tag, ist einfach ein mächtiges Programm (gewusst wie halt g)


#4

Danke für die Blumen.
Der Befehl $num() füllt auf die angegebene Zahl Stellen auf - also ggf. mit führenden Nullen (soweit unterstützt). TRACK ist immer so eine besondere Zahl, da es nicht eine "echte" Zahl ist durch den möglichen Schrägstrich. $num() wertet aber nur die echte Zahl aus und das ist die reine TRACK Nummer. Günstig ist $num() für Sortierungen, die keine Zahlen interpretieren können, wie z.B. das Dateisystem, in dem der ganze Name ein einziger String ist.

Wenn du das YEAR auf 4 Stellen kürzen willst, ist $left(%year%,4) der bessere Befehl.