Mehrfachtagging des Genres: Nur nach Genres die mit "_" beginnen sortieren

Begonnen von staypunk, 12. April 2010, 16:37:44

Vorheriges Thema - Nächstes Thema

staypunk

Hallo Forum :)

Ich habe mein Foobar nach meinen Wünschen eingerichtet, ein Detail allerdings fehlt mir noch:

Ich Tagge meine mp3-Dateien mit mehreren Genres (in mp3tag kann man die Genres beispielsweise so angeben: "_Pop\\Pop-Rock\\Deutschrock"). Das erste Genre (Hauptgenre) beginnt bei mir immer mit "_".
Nun möchte ich eine Albumlist erstellen, die nur die Genres beachtet, die mit "_" beginnen.

Wie kann ich dies verwirklichen?

Bis jetzt sieht die Codezeile so aus:
Zitat%<genre>%|$if($meta(collection),'* '$meta(collection),
$if($meta(album artist),$meta(album artist),
$if($strcmp($cut(%directoryname%,4),'V.A.'),
%directoryname%,
$meta(artist,0)
)))|
$if(%album%,['['%date%']'] %album%,
!untagged)
$if(%discnumber%,|disc %discnumber%)
)

Nun sollen nur die Hauptgenres angezeigt werden, also etwa so "%if( GENRE FÄNGT MIT "_" AN, <genre>%)"

Danke für eure Hilfe.

staypunk

Ich habe es nun soweit geschafft, dass ich alle Hauptgenres aufgelistet habe :).

Und zwar mit dieser Codezeile:
Zitat$left(%genre%,$strchr(%genre%,','))

Das Feld %genre% enthält den Wert
Zitat_Punk; Deutschpunk; Deutschpunk
und wird normal in der Album-List so angezeigt: 
Zitat_Punk, Deutschpunk, Deutschpunk

mit der Codezeile
Zitat$left(%genre%,$strchr(%genre%,','))
wird nun
Zitat_Punk,
angezeigt.

Weiss jemand wie ich das Komma am Schluss noch weg bringe? Dann hätte ich mein Ziel erreicht :)



grimes


Andre69

Zitat von: staypunk in 13. April 2010, 13:04:24
mit der Codezeile
Zitat$left(%genre%,$strchr(%genre%,','))
wird nun
Zitat_Punk,
angezeigt.

Weiss jemand wie ich das Komma am Schluss noch weg bringe? Dann hätte ich mein Ziel erreicht :)
Du brauchst ja nur den Wert von $left um eins verschieben - subtrahieren.
$left(%genre%,$sub($strchr(%genre%,','),1))

staypunk

ZitatVielleicht mit: $replace(A,B,C)
:) danke... hätte mir selbst einfallen sollen...

ZitatAber das geht doch einfacher: $meta(genre,0)
Wow, diese Möglichkeit kannte ich noch gar nicht :) Danke!

Nun sieht der Code so aus:
Zitat$if(%genre%,
$meta(genre,0),
%genre%)

Um alle zu gruppieren, bei denen das Genre nicht getaggt wurde (hier kommt die Verwendung des "_" vor dem Hauptgenre zum tragen), habe ich den Code noch wie folgt ausgebaut:
Zitat$if($strcmp($cut(%genre%,1),_),
$replace($meta(genre,0),_,),
!untagged)

Der Komplette Code um die Dateien nach
ZitatHauptgenre | Artist | Albumname [Jahr] | CDNr.
zu sortieren sieht nun so aus:
Zitat$if($strcmp($cut(%genre%,1),_),
$replace($meta(genre,0),_,),
!untagged)|
$if($meta(collection),'* '$meta(collection),
$if($meta(album artist),$meta(album artist),
$if($strcmp($cut(%directoryname%,4),'V.A.'),
%directoryname%,
$meta(artist,0)
)))|
$if(%album%,['['%date%']'] %album%,
!untagged)
$if(%discnumber%,|CD %discnumber%)
)

Danke für eure Hilfe!