brauche Hilfe bei meinem "Grouping" (NG Playlist)

Begonnen von s_PLASH, 21. Februar 2011, 05:37:32

Vorheriges Thema - Nächstes Thema

s_PLASH

meine Gruppen sind bisher wie folgt editiert

$if2(%album%,<no album>)$if($strcmp(%mediatype%,'Single'), '['Single']',)

und zwar möchte ich, dass eine Single als Single erkannt wird wenn in %mediatype% nicht bloß "Single" steht, sondern zB "CD, Single" oder "Vinyl, 7", Single, Promo" oder sowas ähnliches. ich habs mit wildcards versucht aber das funktioniert nicht :-[

bisher geht es nur, wenn "Single" drin steht

kann bitte jemand helfen? :)

tedgo


s_PLASH


s_PLASH

#3
hab doch noch eine frage dazu :)
$if($strstr($if2(%mediatype%,'Single'),'('Single')')
wie kann ich das möglichst kurz auf einträge wie "Maxi", "EP", "Compilation", und "Edition" ausweiten. wenn diese wöter in %mediatype% enthalten sein sollten, soll
1) der ganze eintrag %mediatype% kommen oder
2) nur das wort aus %mediatype% nach dem gesucht wurde, also wenn u.a. "Maxi" drinsteht, dann "Maxi" oder "Maxi Single" wenn beide wörter enthalten sind.

mir würde schon 1) oder 2) als lösung genügen, bin aber auf beide codes gespannt :)

stefle

#4
Zitat von: s_PLASH in 12. Oktober 2011, 21:21:54
$if($strstr($if2(%mediatype%,'Single'),'('Single')')

Der $if2-Befehl macht da meines Erachtens keinen Sinn.

Du kannst einfach alles aufreihen, was du haben willst:

$if($strstr(%mediatype%,Maxi), '[Maxi]')
$if($strstr(%mediatype%,Single), '[Single]')
$if($strstr(%mediatype%,Compilation), '[Compilation]')

Für Fälle wie "Maxi Single", wäre es hilfreich, wenn du mal vollständig auflistest, welche Kombinationen du angezeigt haben willst (und ob die Reihenfolge dabei wichtig ist). Wenn das viele sind, könnte es kompliziert werden.

stefle

#5
Hab 'ne Idee:

$replace(' ['$if($strstr(%mediatype%,Maxi),Maxi )
$if($strstr(%mediatype%,Single),Single )
$if($strstr(%mediatype%,Compilation),Compilation )']', ']',']')

Aaaalso, zunächst öffnende Klammer, dann sämtliche anzuzeigenden Textstrings (Maxi Single Compilation etc.) erzeugen, jeweils mit nachfolgendem Leerzeichen, dann schließende Klammer. Zuletzt wird das letzte Leerzeichen vor der schließenden Klammer mittels $replace gelöscht. Um es etwas anschaulich zu machen:

Denk dir zunächst das hier:

' ['
$if($strstr(%mediatype%,Maxi),Maxi )
$if($strstr(%mediatype%,Single),Single )
$if($strstr(%mediatype%,Compilation),Compilation )
']'

Dann baust du die $replace-Operation drumherum:
$replace(........, ']',']')

s_PLASH

danke, stefle!
leider kommt immer nur [] als ergebnis. weiß überhaupt nicht warum, bin absolut auf deine code-künste angewiesen.

tedgo

Ich versteh das nicht ganz...

Wenn du es auch auf andere Begriffe ausweiten willst, du also praktisch alles angezeigt haben willst, was unter %mediatype% drin steht, wieso nimmst du dann nicht einfach: %mediatype% ?
Oder gibt es Bedingungen unter denen der Inhalt des Tags gar nicht angezeigt werden soll?

s_PLASH

#8
Zitat von: tedgo in 14. Oktober 2011, 09:11:26
Oder gibt es Bedingungen unter denen der Inhalt des Tags gar nicht angezeigt werden soll?
ja, Alben. Ich habe nur wenige Singles, Compilations, Limited Editions und EPs. deshalb sollen nur ausnahmsweise begriffe aus %mediatype% zu sehen sein -alles andere sind normale alben (CD, Album - so wie es auf discogs zu finden ist). das sind geschätzte 95% meiner sammlung. ich verliere die übersicht, wenn bei all diesen alben plätzlich (CD, Album) neben dem namen steht. der hinweis auf eine besonderheit wie zb dass es sich um eine EP handelt, bekommt erst dann seine kraft, wenn dieser auch nur ausnahmsweise kommt.

ich hatte auch schon daran gedacht, einfach nur %mediatype% zu nehmen aber dann wird meine library view list mit immer gleichen hinweisen, eben (CD, Album) geflutet und das sieht einfach nicht schön aus. zumindest in der NG Playlist macht sich das nicht so gut.

stefle

Kannst du mal den Code posten, den du verwendest?

stefle

#10
Der Fehler liegt bei mir, sorry.

Die replace-Funktion muss so aussehen:

$replace(........,' ]',']',' []',)

s_PLASH

#11
danke! jetzt sieht es schon viel besser aus :top:
$if2(%date%,<no date>)$if(%album%, $rgb(255,255,255)%album%, <no album>)
$rgb(255,0,128)$replace($if($strstr(%mediatype%,Maxi), Maxi)$if($strstr(%mediatype%,Single), Single)$if($strstr(%mediatype%,Compilation), Compilation), ']',']',' []',)
$rgb(128,128,128)$if2($if(%discnumber%,$if(%chapter%, disc $rgb(255,0,128)%discnumber% - $rgb(255,0,128)%chapter%, disc $rgb(255,0,128)%discnumber%), chapter $rgb(255,0,128)%chapter%),)


stefle

Da fehlen noch deine anderen Mediatypes. Ich hatte nur Maxi, Single und Compilation eingearbeitet, weil ich dachte, das Grundmuster wäre damit klar.

s_PLASH


stefle

#14
Wenn du statt Klammern Farben verwendest, brauchst du kein $replace:

$rgb(255,0,128)$strstr(%mediatype%,Maxi), Maxi)$if($strstr(%mediatype%,Single), Single)$if($strstr(%mediatype%,Compilation), Compilation)