Tracknummer 3-stellig mit führenden Nullen


#1

Hallo,
ich möchte meine Tracknummern 3-stellig mit führenden Nullen anzeigen. Der Trackassistent macht das aber nur, wenn mindestens 100 Dateien in dem Ordner vorhanden sind.
Ich habe es über Aktionen wie folgt versucht:
Aktionstyp - Tag-Felder formatieren
Feld - DISCNUMBER
Formatstring - $num(%discnumber%,3)
Dabei ändert sich aber überhaupt nichts - die Nummern bleiben 2-stellig. Wie kann ich eine 3-stellige Numerierung erzwingen?

mfg
harald


#2

Willst du nur die Anzeige der Tracknummer in der Mp3tag Listenansicht ändern?
Oder willst du ein Tag-Feld in der Datei ändern?
Welches Tag-Feld: TRACK oder DISCNUMBER?

Wenn du die Tracknummer formatieren willst, dann kannst du es mit einer der Aktionen probieren, die in der folgenden zip Datei vorhanden sind.

[20110104.Format_TRACK.mta.zip ( 1.6K ) Number of downloads: 154]
Zip Datei entpacken nach %APPDATA%\Mp3tag\data\actions</b>


DD.20110104.1032.CET
Edit.DD.20110104.1326.CET

Edit.
Ergänzung: TOTALTRACKS
[20110713.Format_TRACK.mta.zip ( 2.27K ) Number of downloads: 70]
Die ZIP Datei auspacken in einen temporären Ordner und die CMD Datei ausführen zum Kopieren der MTA Dateien in den zugehörigen Mp3tag APPDATA Ordner.

DD.20110713.0700.CEST

Edit.
Aktionen ...
Format TRACK#Set TRACK fix 001⁄001
Format TRACK#Set TRACK fix 001
Format TRACK#Set TRACK fix 01⁄01
Format TRACK#Set TRACK fix 01
Format TRACK#Set TRACK var (0)1⁄1
Format TRACK#Set TRACK var (0)1
Format TRACK#Set TRACK var 1⁄1
Format TRACK#Set TRACK var 1
Format TRACK#TOTALTRACKS set from selected files
Format TRACK#TRACK format 1⁄11 to 01⁄11
Format TRACK#TRACK⁄TOTALTRACKS merge into TRACK
Format TRACK#TRACK⁄TOTALTRACKS split from TRACK

[20130106.Format.TRACK.mta.zip ( 3.71K ) Number of downloads: 36]
Die ZIP Datei auspacken in einen temporären Ordner und die CMD Datei ausführen zum Kopieren der MTA Dateien in den zugehörigen Mp3tag APPDATA Ordner.
DD.20120106.1330.CET

Hinzugefügt Aktion ...
Format TRACK#TRACK format 01.01 to 1.1

20131223.Format.TRACK.mta.zip ( 3.98K ) Number of downloads: 26

DD.20140120.1626.CET

Edit.
Aktionen ...
Format TRACK#Set TRACK fix 001.001.mta
Format TRACK#Set TRACK fix 001.mta
Format TRACK#Set TRACK fix 01.01.mta
Format TRACK#Set TRACK fix 01.mta
Format TRACK#Set TRACK var (0)1.1.mta
Format TRACK#Set TRACK var (0)1.mta
Format TRACK#Set TRACK var 1.1.mta
Format TRACK#Set TRACK var 1.mta
Format TRACK#TOTALTRACKS set from selected files.mta
Format TRACK#TRACK change 01.01 to 1.1.mta
Format TRACK#TRACK change 01.1 to 01.01.mta
Format TRACK#TRACK change 1.11 to 01.11.mta
Format TRACK#TRACK format 01.01 to 1.1.mta
Format TRACK#TRACK format 1.11 to 01.11.mta
Format TRACK#TRACK.TOTALTRACKS merge into TRACK.mta
Format TRACK#TRACK.TOTALTRACKS split from TRACK.mta

Die ZIP Datei auspacken in einen temporären Ordner und die CMD Datei ausführen zum Kopieren der MTA Dateien in den zugehörigen Mp3tag APPDATA Ordner.

20140815.Format.TRACK.mta.zip (5.21 KB)
DD.20140815.1806.CEST


20140815.Format.TRACK.mta.zip (5.21 KB)


Führende Nullen bei Tracknummern der Form xx/yy entfernen
Name my tracks xx/xx.
Action Rename
Tidying up Track Numbers
Adding "totaltracks" tag en mass?
#3

Hallo DetlevD,

vielen Dank für die schnelle Hilfe - das war genau das, was ich gesucht habe (die Gesamtzahl der Dateien kann ich in der Aktion löschen).

Gibt es eine Möglichkeit, die Frage als beantwortet zu markieren, damit nicht weitere Leute nachschauen, um mir zu helfen?

mfg
harald


#4

Nein (siehe auch hier)

mfG gnor


#5

Hallo gnor,

vielen Dank für die Information.

mfg harald


#6

Hallo Detlev,

ich habe deine Datei mit den ganzen Aktionen schon vor längerer Zeit runtergeladen und sie haben mir schon oft sehr geholen. Vielen Dank!
Die Aktion "Format TRACK#TRACK.TOTALTRACKS split from TRACK.mta" benutze ich oft und hatte sie in eine langes Aktions Script eingebunden. Ich bin jetzt dabei auf ein Problem gestoßen. Wenn ich diese Aktion auf eine Datei anwende, die in TRACK nur die Tracknummer aber nicht TOTALTRACKS hat, dafür aber schon ein extra Feld TOTALTRACKS, dann wird mein extra Feld TOTALTRACKS gelöscht.
Gibt es eine Möglichkeit, daß die Aktion Track nur splitet wenn TOTALTRACKS in TRACK vorhanden ist? Ich würde die Aktion gerne in meinem Universal Script belassen, ohne weitere Varianten ohne die Splitfunktion zu erstellen.

Abgesehen davon würde mich interessieren, weshalb du die Aktion so gestaltest hast und nicht einfach eine Guess Value Action gewählt hast?

T=7
F=%track%
1=%track%/%totaltracks%

vg tagmusing


#7

Irgendwie wollte ich wohl darauf achten, dass die angebotene Zeichenkette passt und daraus die beiden Teilwerte entnommen werden können.
Dabei kann die Trennzeichenkette aus nicht numerischen Zeichen beliebig lang sein.
Wenn im gegebenen TRACK eben kein TOTALTRACKS mit dabei ist, dann geht die Funktion davon aus, dass das Tagfeld TOTALTRACKS zu löschen ist.

Das kann man ähnlich hinbekommen einfach mit ... %track%/%totaltracks%, ...
wenn man es nur mit dem Trennzeichen '/' zu tun hat.

Welche Abfrage könnte man stellen?

  • Wenn in TRACK der zweite Teil fehlt, bzw. wenn TRACK nur TRACK, dann ...

  • Wenn TOTALTRACKS existiert, dann ...

  • Wenn in TRACK der zweite Teil fehlt,... z. B. ...
    $if($eql(%TRACK%,$num(%TRACK%,1)),'ja','nein')
    ... das kann ein Problem geben, wenn TRACK='01', ...
    und ist deshalb so nicht zu gebrauchen.

  • Wenn TOTALTRACKS existiert, ....
    .. dann könnte man der Aktion das passende Eingabeformat vorbereiten:
    TRACK <== $if(%TOTALTRACKS%,%TRACK%'/'%TOTALTRACKS%,%TRACK%)

Also brauchst du in deiner Aktionengruppe ...
nur die beiden Funktionen hintereinander auszuführen:
"TRACK.TOTALTRACKS merge into TRACK"
"TRACK.TOTALTRACKS split from TRACK"

DD.20150410.1410.CEST


#8

Danke Detlev für deine ausführliche Antwort.
Die letzte Lösung scheint mir erstmal die einfachste.

Wobei ich doch wahrscheinlich die genannte Guess Value Aktion benutzen werde. Die löscht nichts in TOTALTRACKS wenn kein "/" in TRACK vorhanden ist. Das sollte eigentlich in den meisten Fällen ausreichen. Und für die anderen Fälle kann ich immer noch deine universellere Aktion benutzen, die ich dann voher manuell ausführe.

Danke und ein schönes Wochenende