Album List Formatting Syntax

Begonnen von Newfoo, 12. Januar 2009, 18:34:48

Vorheriges Thema - Nächstes Thema

qwert73

#15
Wenn ich es richtig verstehe, willst Du eine Ansicht, die abgesehen vom letzten Blatt im Baum haargenau der Ansicht "by folder structure" entspricht?

Versuch dann folgendes:

$replace($replace($replace(%path%,%filename_ext%,[%tracknumber% -] %title% - %length%),Q:\Musik Extern\,,F:\Musik\,),\,|)

Solltest Du mehr Ordner in der Library haben als "Q:\Musik Extern\" und "F:Musik\" so modifiziere dementsprechend die zweite Replace-Funktion. Um festzustellen, ob nun meine oder tedgos Ansicht schneller arbeitet, schalte einfach zwischen ihnen hin und her, während Du dir anschaust, was die Konsole so erzählt. Würd mich interessieren!



Nebenbei:
Facets erlaubt es, ohne komplexes Title Formatting deinen Wunsch zu erfüllen.

Edit:

hey, heut ist nicht mein Tag - kann mir nicht konzentriert die Postings durchlesen, hab tedgos elegantere Lösung übersehen, stattdessen seinen vorletzten Vorschlag im Kopf gehabt. jede Wette: Seine Ansicht ist schneller!

Newfoo

#16
Nochmals Danke für euer bemühen,

@qwert73 dein String würde auch so funktionieren, hab es versucht sieht auch gut aus kommt fast genauso raus wie bei tedgo.

Bei tedgo´s string , bin ich bei F:\Musik\ gleich in den unterordner, und bei dir qwert hab ich in der Album list, +F: ; sprich in der Album List muss ich eine ebene tiefer gehen um die Files zu sehen , aber sonst ok .

Das wechseln zwischen den beiden String´s , so wie du meinst welcher schneller ist, und dabei einen blick auf die Konsole werfe um den unterschied zu sehen, 1. wie komm ich in die Konsole (bin noch nicht so ein experte) und 2. optisch und gefühlsmässig, merke ich keinen unteschied;

Hab da aber noch eine andere Frage :

Gibt es eine möglichkeit , z.b. In eure String´s einen Befehl einzubauen , der wenn foobar erkennt ob es ein Album ist oder eine Single ist , das er den %artist% anzeigt oder nicht?

Also
Single: artist-title-length
und bei Alben den artist ausblendet
Alben: track-title-length

so in die richtung " if album  (zeige nicht) artist -- if single (zeige) artist "

Falls dieses nicht geht ist es nicht schlimm sollte nur spielerei sein .

So danke nochmals für die Hilfe, und es würden bei strings funktionieren

@qwert danke für die info Facets werd mir dies mal anschauen.

LG Newfoo

tedgo

#17
Zitat von: Newfoo in 14. Januar 2009, 07:20:51
Das wechseln zwischen den beiden String´s , so wie du meinst welcher schneller ist, und dabei einen blick auf die Konsole werfe um den unterschied zu sehen, 1. wie komm ich in die Konsole (bin noch nicht so ein experte) und 2. optisch und gefühlsmässig, merke ich keinen unteschied
Die Konsole öffnest du im Menü mit "View --> Console".
Da kannst du eine ganze Menge Infos ablesen, ganz sinnvoll ;).

Zitat von: Newfoo in 14. Januar 2009, 07:20:51
Hab da aber noch eine andere Frage :

Gibt es eine möglichkeit , z.b. In eure String´s einen Befehl einzubauen , der wenn foobar erkennt ob es ein Album ist oder eine Single ist , das er den %artist% anzeigt oder nicht?

Bloß gut, dass diese Frage direkt mit dem Thema "Album List Formatting Syntax" zu tun hat, mehrere Fragen in einem Thread werden hier nicht gern gesehen...  ::)

Aber zur Beantwortung:
Am einfachsten wäre, wenn du deine Lieder entsprechend taggst, d. h. wenn du in allen Liedern, die du als "Single" deklarierst z. B. ein Feld "Format" anlegst und hier mit "Single" taggst.
(Ich modifiziere jetzt mal meinen String mit einer weiteren Neuerung, die auch funktionieren sollte, wenn du einen neuen Ordner in die Musikbibliothek aufnimmst, der sich auf einem anderen Laufwerk befindet als 'F:\' oder 'Q:\').

Der Syntax mit dem Format-Feld würde dann so aussehen:
$replace($directory_path(%path%),$left(%path%,3),,\,|)|[%track% - ]$if($strcmp(%format%,Single),%artist% - ,)%title% - %length%

oder noch eine andere Möglichkeit für die gesamte Pfadangabe im Album List Panel (ich will dich nicht verwirren, es gibt halt nur immer mehrere Lösungen):
$replace($substr(%path%,4,$strrchr(%path%,\)),\,|)[%track% - ]$if($strcmp(%format%,Single),%artist% - ,)%title% - %length%

Möglicherweise hast du deine Lieder bereits so getaggt, dass man sie hierfür gebrauchen kann (z. B. mit einem entsprechenden Hinweis in "Comment" oder einem anderen Feld, dann müsste man halt anhand dieses Feldes prüfen).
Ich z. B. mache das so, dass ich bei Singles im ALBUM-Tag, den Titel wiederhole und ein "- Single" hintenan setze, dann sähe die Prüfung so aus: $if(strcmp($right(%album%,6),Single),%artist% - ,).
Wäre hilfreich zu Wissen, ob du bei Singles irgendetwas anders taggst.

Wie gesagt, das wäre jetzt die Einfachste Lösung, die mir einfällt.
Falls die nicht möglich ist, weil du nicht entsprechend getaggt hast oder taggen willst, sehen wir weiter ;).

EDIT:
Möglicherweise taggst du ja deine Singles OHNE %album%-Feld (sprich: in den Properties ist bei den Single-Liedern das Feld "Album" leer), dann ginge diese Prüfung: $if(%album%,,%artist% - ).
Du siehst, es gibt immer viele Möglichkeiten mit Tags.
Jetzt kommt es nur noch drauf an, ob du entsprechend getaggt hast oder Willens dazu bist, das nachzuholen ;).

EDIT2:
Vielleicht ist das Ganze ja viel einfacher. als gedacht.
Wie sind denn deine Lieder benannt?
Sehen die Dateinamen evtl. schon so aus, wie du sie angezeigt haben willst?
Sprich: Willst du eine exakte Anzeige, wie z. B. im Windows Explorer?
Dann wäre der simpelste String dieser:
$replace(%path%,\,|)
oder ohne Laufwerksbuchstaben:
$replace(%path%,$left(%path%,3),,\,|)


EDIT3:
Nein, habe mein zweites Edit durchgestrichen, denn diese Ansicht hättest du ja schon ganz einfach mit "by directory structure" und so wolltest du es ja nicht.

Newfoo

@tedgo

Danke für den Hinweis wegen dem Posting (2 fragen in einen) , hab eh auch überlegt ob ich ein neues anfangen soll. Dachte mir aber meine frage gehöhrt ja eigentlich auch noch hier dazu  :engel:

So nun zum Thema;Der String von dir gestern, war genau das was ich suchte funktioniert sauber, jetzt hab ich unter
"All Music" zwei Pfade :

1) + Musik Extern
2) + Musik PC

Kann dann von da aus in die Jeweiligen Unterordner einsteigen !!Optimal!!

Der Zweite String von dir "$if(%album%,,%artist% - )" funktioniert auch super,  hab zwar noch %artist% hinzugefügt, sonst hab ich bei den Sampler keine Artisten anzeige, aber sonst past er

Single - Artist
Album - Kein Artist

Zum Tagging von mir:

Single haben nur , artist , title , length mehr nicht
Alben , Sampler, haben ,  track, artist , title , album , length

Ich denke bei den Sampler werd ich deine Idee aufnehmen, sprich ich werd evtl den "comment" nochmals mit dem artisten belegen.

Dann würd ich mir die zweite angabe artist, ersparen und lass über deinen string

"$if(strcmp($right(%album%,6),Single),%artist% - ,)"

den artisten auslesen würd dann so aussehen $if(strcmp($right(%album%),%comment%),%artist% - ,) denk ich mal , weiss zwar nicht was du mit "6" ausagen möchtes denk du wirst es mir schon sagen  :D

Lg Newfoo


tedgo

#19
Aha, jetzt kommen wir der Sache schon näher.
Du willst also sowohl bei Samplern, als auch bei Singles einen %artist% angezeigt haben, nur bei Alben nicht. Ist das richtig?
Dann würde ich dir empfehlen, deine Singles wie Sampler zu behandeln und diesen einen zusätzlichen Standard-Tag zu verpassen:
ALBUM ARTIST = VA (oder meinetwegen Various Artists)

Dann könnte der String so aussehen:
$replace($substr(%path%,4,$strrchr(%path%,\)),\,|)[%tracknumber% - ][$upper(%track artist%) - ]%title% - %length%

Ich würde dir aber generell empfehlen, dein Tagging-System ein wenig zu standardisieren.
Schau dir im Properties-Fenster doch mal die angebotenen Felder an.
Wenn du die intelligent nutzt, ist vieles möglich.

Zitat von: Newfoo in 14. Januar 2009, 16:43:43
"$if(strcmp($right(%album%,6),Single),%artist% - ,)"

den artisten auslesen würd dann so aussehen $if(strcmp($right(%album%),%comment%),%artist% - ,) denk ich mal , weiss zwar nicht was du mit "6" ausagen möchtes denk du wirst es mir schon sagen  :D

Mach ich doch glatt:
So wie du das vorhast, funktioniert das auf keinen Fall ;)

Ich "übersetze" dir jetzt mal den String (und sehe dabei doch gleich, dass sich ein Tippfehler eingeschlichen hatte)
$if($strcmp($right(%album%,6),Single),%artist% - ,)

Zunächst mal geht der String davon aus, dass du deinen Singles auch einen ALBUM-Tag verpasst.
und zwar, wenn der Titel "Nothing Compares 2 U" heißt, dann heißt der ALBUM-Tag "Nothing Compares 2 U - Single" (so ist es zumindest bei mir, und ich habe das ja nur als Beispiel angegeben).

Der String heißt soviel wie:
wenn(Zeichenfolge(von rechts(zu untersuchende Zeichenfolge,Anzahl der Zeichen von rechts),Übereinstimmung),dann %artist% - , sonst nix)

oder in einem Satz:
Wenn die letzten 6 Zeichen (Anzahl Zeichen von rechts) der Zeichenfolge des ALBUM-Tags der Zeichenfolge "Single" entspricht, dann soll "Interpret - " angezeigt werden, ansonsten soll nichts dastehen.

War das verständlich?

Würdest du aber - wie von mir vorgeschlagen - einen ALBUM ARTIST-Tag für deine Sampler und Singles verwenden, wäre der String überflüssig, weil du dann ganz bequem den %track artist% anzeigen lassen kannst (dieser %track artist% wird automatisch erzeugt, wenn der ALBUM ARTIST und der ARTIST nicht übereinstimmtm was ja der Fall wäre, wenn du bei ALBUM ARTIST "VA" stehen hättest und bei ARTIST z. B. "Sinead O'Connor". Alles klar?).

Newfoo

@tedgo

So ich habs hura

Der String:

$replace($directory_path(%path%),'Q:\',,'F:\',,\,|)|[%track% - ]$if(%album%,[%comment%],%artist% -

) - %title% - %length%

hab mal bei ein zwei sampler das versucht sprich , bei sampler ist unter comment nochmals der artist drin

jetz hab ich :

bei Single die artist anzeige
bei sampler die artist anzeige
bei alben nicht

tedgo nochmals danke, warst mir eine grosse hilfe dabei und super erklärt den string

schön langsam gehts ja "verstehst du den string klappts auch mit foobar"  :rofl:

Danke Newfoo

tedgo

#21
Also hast du jetzt bei Samplern einen COMMENT-Tag angelegt und da den Interpreten reingeschrieben?
Na ja, du musst wissen, was du tust ;)

EDIT:
Schau dir mal die beiden Links an.
Da geht es zwar um "Vorbis comments" aber da werden Tags und deren Verwendung vorgeschalgen (allerdings in englisch).
Ich finde das gar nicht übel als kleine Übersicht.
http://reallylongword.org/vorbiscomment/
http://www.xiph.org/vorbis/doc/v-comment.html

und das hier ist auch ganz hilfreich:
http://age.hobba.nl/audio/tag_frame_reference.html

Newfoo

@tedgo

naja war nur mal ein versuch das ich das prinzip verstehe , werd das noch ändern .

Weil mit comment gefällt es mir auch nicht so , weil ich normaler weiss den comment immer lösche.

werde mir das mit dem tagging nochmals anschauen.

Danke tedgo

lg Newfoo

Newfoo

Danke für die Info Link's

Hab jetzt bei den Samplern einen neuen tag mit Performer angelegt , für mich past das recht gut,und natürlich im string den "comment" auf "performer" geändert.

Jetzt past alles und für mich optimal

Danke

Lg Newfoo

tedgo

#24
Ist schön, wenn es jetzt für dich passt :).
Aber ich hoffe, du wirst es im nachhinein - wenn du dich mal näher mit foobar2000 und dessen Möglichkeiten auseinander gesetzt hast - nicht bereuen, deine Sampler nicht mit %album artist%=VA getaggt zu haben ;).
Auch wenn der ALBUM ARTIST in meinen Links nicht auftaucht, ich hatte ihn aber vorher schon empfohlen.
Und dabei hatte ich einen der wichtigsten Links zum ALBUM ARTIST glatt noch vergessen:
http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Encouraged_Tag_Standards

Newfoo

Also ich hab jetz bei den Samplern einen tag mit "performer" noch eingefügt und da nochmal den artist eingegeben.

Werd jetzt noch den tag "album artist" mit "VA" einfügen , das mit dem sortiern mit "album artist" hab ich soweit verstanden.

Aber wo kann mir das bei foobar noch was bringen, ausser bei der sortier art und weise?

Habe auch rating , play_count, .... vor , die.dll's hab ich schon im verzeichniss von foobar, muss mich da aber noch genauer einarbeiten, playcount und rating , dürften funktionieren, anzeige habe ich .

Ist für diese optionen auch der tag "album artist" wichtig ?

(Falls diese fragen nicht mehr hier her passen , sorry )

Gruss Newfoo

PS:@tedgo danke für die geduld!

tedgo

#26
Eigentlich gehört diese Frage nicht mehr hier her (höchstens am Rande).
Aber der %album artist% kann dir z. B. bei Sortierfunktionen oder Gruppierungen in der Playlist hilfreich sein.

Stell dir mal folgendes Szenario vor:
Du hast deine Sampler ordentlich getaggt (mit den Standardfeldern in den Properties, also Track Number, Total Tracks, Artist Name, Track Title, Album Title, Album Artist, Date, Genre und evtl. mit zusätzlichen Feldern wie Lyrics, Copyright usw.) und hast deine Sampler zusätzlich zum ARTIST-Feld, in dem der Interpret des einzelnen Liedes steht, mit dem ALBUM ARTIST-Feld "Various Artists" benannt.

Der ALBUM ARTIST klappert, wie du ja möglicherweise im Link zum FIELD REMAPPING gelesen hast, in dieser Reihenfolge: ALBUM ARTIST, ARTIST, COMPOSER, PERFORMER die Tag-Felder ab.

Wenn kein ALBUM ARTIST vorhanden ist, nimmt foobar2000 automatisch den ARTIST, ist kein ARTIST vorhanden, wird der COMPOSER ausgelesen und ist auch der nicht vorhanden, wird der PERFORMER genommen.

Ist ein ALBUM ARTIST vorhanden und unterscheidet sich dieser vom ARTIST-Feld (was ja auch der Fall sein sollte, denn nur dann macht der ALBUM ARTIST Sinn), existiert eine Art "virtuelles Feld" namens %track artist% (den braucht man nicht extra selbst zu taggen, der wird sozusagen generiert und dem Album mit dem ALBUM ARTIST-Tag zugeordnet).
Der ist identisch mit dem ARTIST-Feld.

Jetzt könntest du folgendes machen:
Gruppieren in der Playlist (damit die Lieder eines Samplers auch ordentlich in einer Gruppe zusammenstehen)
%album artist% - %album%

Bei Samplern, heißt das, dass sie nicht für jeden ARTIST oder PERFORMER eine eigenen Gruppe erzeugt wird, sondern dass sie korrekt nach Album gemeinsam in einer Gruppierung stehen.
Alben hingegen werden, da sie ja kein ALBUM ARTIST-Feld haben, nur nach dem ARTIST-Feld gruppiert.

Beispiel:
Sampler "The Best Of 2008" von diversen Künstlern wird automatisch dargestellt und gruppiert als:
Various Artists - The Best Of 2008

Album "Debut" von "Björk" hingegen, das ja kein ALBUM ARTIST-Feld hat, wird automatisch angezeigt und gruppiert als:
Björk - Debut

Da foobar2000 bei vorhanden sein eines ALBUM ARTIST-Feldes nun auch noch das Feld TRACK ARTIST generiert, falls sich ALBUM ARTIST und ARTIST unterscheiden, kannst du jetzt bei Samplern in der Playlist noch eine Spalte anlegen, die die normale "Title"-Spalte ersetzt:
[%track artist% - ]%title%

Damit werden nur bei Samplern auch die Track Interpreten in der Spalte angezeigt, bei Alben hingegen nicht, da bei diesen ja kein TRACK ARTIST-Feld existiert (weil kein ALBUM ARTIST-Feld vorhanden ist bzw. sich ALBUM ARTIST und ARTIST nicht unterscheiden).
Die Anzeige bei Samplern wäre also:
Interpret 1 - Titel 1
Interpret 2 - Titel 2
Interpret 3 - Titel 3


bei Alben nur:
Titel 1
Titel 2
Titel 3


Dein Weg mit dem PERFORMER-Tag würde allenfalls Sinn machen, wenn der anstelle des ARTIST-Tags stehen würde.
Für die Gruppierung ist das aber sinnlos und ein TRACK ARTIST-Feld gibt es dann auch nicht.

Dein Weg mit dem PERFORMER-Feld würde für jeden Titel eines Samplers eine eigene Gruppe erzeugen.

Wichtig kann sowas werden, wenn du mal auf Columns UI umsteigst, mit NG Playlist oder ELPLaylist, da man hier auch das Album Cover in der Playlist anzeigen lassen kann.
Ohne ALBUM ARTIST-Feld würden deine Sampler recht zerrupft angezeigt werden, was der Übersichtlichkeit nicht zwingend zuträglich ist ;).

Habe ich mich soweit verständlich ausgedrückt?
Ich weiß, wenn ich etwas erkläre, klingt es für mich immer logisch, aber für jemand anderen möglicherweise nicht.
Falls dem so ist, frag einfach nochmal nach.
Allerdings würde ich dir dann empfehlen, doch besser einen neuen Thread zum Thema Tagging zu eröffnen, in dem wir dann ganz ungeniert über Tagging diskutieren können ;).

EDIT:
Rechtschreibung (soweit gefunden...)

Newfoo

@tedgo

WOW Danke für die Super erklärung!

hab das jetz nachgeholt den tag album artist bei den samplern, sicher ist sicher .

(so schieben wir tagging wieder bei seite bevor es probs gibt  :polizei: :D)

tedgo , alles super erklärt, auch das es ein anfänger versteht.

Für mich passt jetzt alles soweit , für den anfang, denke aber das ich sicher wieder fragen habe, jetzt weiss ich ja wo ich hin muss um antworten zufinden.

PS: super forum!!

GRuss Newfoo