Anzahl tracks pro Album


#1

Ein frohes neues Jahr,

Ich habe einen großen Teilbestand von MP3s, bei denen nicht alle Tracks des jeweiligen Albums vorhanden sind.
Zur Steigerung des Erfolgserlebnisses möchte ich mich daher zunächst bei der Vertaggung denen widmen, bei denen die meisten Tracks/Album vorhanden sind. :wink:

Dazu hätte ich gerne eine passende Sortierung in der Tagliste absteigend nach der Anzahl der Tracks, wobei natürlich Artist - Album bei der Blockbildung berücksichtigt werden müsste.

Ist das in MP3Tag möglich und wie?


Filter albums with less than 2 tracks
Sort the Artists by the number of their Titles
#2

In Mp3tag eine Spalte "AlbumSize" anlegen (vielleicht ganz links).
Name: AlbumSize
Wert: $regexp(%AlbumSize%,'[\r\n]',)
Wert: $len($regexp(%AlbumSize%,'[\r\n]',))
Wert: $len($regexp(%AlbumSize%,'[\r\n]',)) $regexp(%AlbumSize%,'[\r\n]',)
Feld:
Sortieren nach: %AlbumSize%%ALBUM%%ARTIST%%_FOLDERPATH%%TRACK%

  1. In Mp3tag eine Aktion anlegen.
    Anfang Aktionengruppe GetAlbumSize
    Aktion #1
    Aktionstyp 14: Textdatei importieren
    Feld: ALBUMSIZE
    Dateiname: AlbumSize.txt
    Ende Aktionengruppe GetAlbumSize (1 Aktion)

In Mp3tag die erforderlichen Dateien selektieren und anschließend mit der Exportdatei "GetAlbumSize.mte" die Ausgabedatei "GetAlbumSize.cmd" erzeugen.
Die erzeugte Ausgabedatei ist eine ausführbare Kommandostapeldatei.
20100102.GetAlbumSize.mte (2 KB)

Die Stapeldatei "GetAlbumSize.cmd" starten und bei der Arbeit zuschauen.
Achtung: Ich weiß nicht, ob wirklich alle Sonderzeichen in den Namen berücksichtigt werden.
Die Stapeldatei erzeugt in jedem Ordner eine Textdatei "GetAlbumSize.txt", die die Summe der Tracks je Sortierkriterium enthält.

In Mp3tag die Aktion "GetAlbumSize" ausführen.

Auf den Spaltenkopf der neuen Spalte "AlbumSize" klicken und Auf- oder Abwärtssortierung einstellen.

Nach dem Einlesen der Werte können die "AlbumSize.txt" Dateien gelöscht werden.

Happy New Year!

DD.20100102.1628.CET

Kleine Anpassungen:
zu 3:
Hier ist eine veränderte Exportdatei "GetAlbumSize.2.mte", die nur eine Zahl in die "AlbumSize.txt" Datei schreibt und eine Sternchenreihe auf den Bildschirm.
20100102.GetAlbumSize.2.mte (2.05 KB)

zu 1:
Damit man Sternchen in der Mp3tag Listenansicht sehen kann, muss eine Eigenschaft der Spalte "AlbumSize" angepasst werden:
von Wert: $len($regexp(%AlbumSize%,'[\r\n]',))
nach Wert: $repeat('*',$regexp(%AlbumSize%,'[\r\n]',))

DD.200100102.1948.CET

Wichtige Anmerkungen:
Sonderzeichen werden im DOS Fenster anders dargestellt und führen zur Erzeugung neuer Ordner und die Datei "AlbumSize.txt" wird dorthin geschrieben! Bestehende Daten werden nicht berührt.
Zu diesem Problem habe ich keine Lösung parat, wer weiß weiter?

Ein "Various Artist" Album mit einzelnen Artisten wird nicht richtig gezählt, das bedeutet Eintrag gleich "1" in jedem Track.

DD.20100103.1517.CET

20100102.GetAlbumSize.mte (2 KB)

20100102.GetAlbumSize.2.mte (2.05 KB)


#3

Hallo Detlev,

vielen Dank für Deinen umfangreichen Beistand.
Ich habe mir das mal durchgesehen und versucht zu verstehen, wobei das Unverständnis gleich am Anfang anfängt.

Warum gleich 3 Werte?
An der Konstruktion von regular expressions habe ich noch zu knacken.

Wenn ich das übrige richtig verstanden habe, erzeugt die MTE-Datei ein Batchfile. Dieses Batchfile legt ein Directory für das Album an und schreibt die Größe des Albums in ein Textfile in jedes Album-Directory. Anschließend liest die Aktion den Wert aus den Textfiles aus.

Nun habe ich allerdings schon eine Directorystruktur mit dem Album auf unterster Ebene, dass ich mir auf gar keinen Fall mal eben zerfleddern lassen möchte, was aber der geschilderten Sonderzeichenproblematik wohl passieren würde.

Geht das nicht ohne Anlegen der Directories, also dass man die Albumsize.txt in die schon bestehenden Directories schreibt?
Ich habe mir mal die MTE in diese Richtung angesehen, aber die Loop-Sektion überschreitet bei weitem meine sehr begrenzten Verständnisse.

Gruß
poster


#4

Das sind alternative Vorschläge zur Gestaltung der Ausgabe. Das kannst du sowieso machen wie du willst.

Nicht nur du, mir ist das auch nicht in den Schoß gefallen, und auch ich stehe in der RegExp Ecke meistens mit dem Gesicht zur Wand.
In diesem Fall wird aber nicht Großartiges gemacht, es wird nur die ungewollte Zeilenvorschubsequenz CRLF des ECHO Befehls unterdrückt, was sonst in der Listenansicht als zwei Kästchen zu sehen wäre.

Der MD Befehl hat sich bei der Entwicklung eingeschlichen, wie gesagt, eigentlich existiert der Verzeichnisbaum ja schon, und MD ... ist deshalb überflüssig.

Weil die Sonderzeichenproblematik aber noch nicht behoben ist (DOS Codepage/ANSI/UTF ???), bringt der MD Befehl den Vorteil, dass man z. B. im Explorer sehen kann wo die Sonderzeichenfehler sind. Bei Sonderzeichen im Album- oder Artistennamen werden nämlich dann neue Ordner angelegt (falsch geschrieben, versteht sich), die nur eine AlbumSize.txt enthalten (sonst wird nichts angerührt). Das muss man dann manuell nachbearbeiten, also AlbumSize.txt in den passenden Ordner verschieben.

Hmm, was ist daran unverständlich?

$loop(%ALBUM%%ARTIST%%_FOLDERPATH%)
MD ...
$loop(%ALBUM%%ARTIST%)
ECHO ...
$loopend()
$loopend()

Wenn MD wegfällt, dann reicht eine Schleife
$loop(%ALBUM%%ARTIST%%_FOLDERPATH%)
ECHO ...
$loopend()

Im Übrigen ist das Ganze sowieso ein Thema der Kategorie "von hinten durch die Brust geschossen" und die von dir gewünschte Funktionalität sollte nativ in Mp3tag eingebaut sein!
Ein oder besser gleich mehrere Zähler mit definierbaren Gruppenwechsel Kriterien müssen her.

Schönen Gruß
Detlev

DD.20100104.2131.CET