Zum Inhalt springen

Symfonium-Vorlage für benutzerdefinierte Zeichenfolgen

Erfordert v12.0+

Diese Seite dokumentiert die Syntax der Symfonium-Vorlagen für benutzerdefinierte Zeichenfolgen und die Feldlisten, die in den jeweiligen Kontexten verfügbar sind.

Sie ist folgendermaßen aufgebaut:

  • Allgemeine Vorlagensyntax: Platzhalter, bedingte Blöcke, Bedingungen/Operatoren, Textformatierung, Escape-Regeln und globale lokalisierte string.*-Labels
  • Kontextspezifische Abschnitte:
    • Aktuelle Wiedergabe: zusätzliche Funktionen (\t, \o, next.-Felder, chapter.*-Felder) sowie die vollständige Feldliste für die aktuelle Wiedergabe
    • Album-Untertitel: albumbezogene Felder, die auf Albumseiten verfügbar sind
    • Künstler-Untertitel: künstlerbezogene Felder, die auf Künstlerseiten verfügbar sind

Syntax: %fieldname%

  • Ersetzt %fieldname% durch den Feldwert
  • Wenn das Feld leer ist oder fehlt, wird nichts angezeigt

Beispiele:

VorlageBeispielergebnis
%title% von %artist%Seven Nation Army von The White Stripes
%album% (%year%)Thriller (1982)
%composer% ● %artist%Ludwig van Beethoven ● Berliner Philharmoniker
%artist%%lb%%composer%Berliner Philharmoniker

%lb% ist ein Zeilenumbruch.


Verwenden Sie Blöcke, um Satzzeichen oder Labels nur anzuzeigen, wenn etwas vorhanden ist oder eine Bedingung zutrifft.

Syntax: { ... }

  • Ein { ... }-Block wird nur angezeigt, wenn sein erster Platzhalter zutrifft:
    • entweder auf ein nicht leeres Feld
    • oder auf einen wahren Bedingungsplatzhalter (%|condition%)
  • Sie können mehrere Platzhalter und Literaltext im selben { ... }-Block verwenden, aber nur der erste Platzhalter steuert, ob der Block angezeigt wird
  • Setzen Sie benötigte Leerzeichen in den Block, zum Beispiel { von %artist%}

Beispiele:

VorlageBeispielergebnisWenn das Feld leer ist
%title%{ von %artist%}Seven Nation Army von The White StripesSeven Nation Army
%album%{ (%year%)}Thriller (1982)Thriller
{%composer% ● }%artist%Beethoven ● Berliner PhilharmonikerBerliner Philharmoniker

Verwenden Sie %|condition% als ersten Platzhalter, um einen Block zu steuern, ohne einen Wert auszugeben.

Beispiel:

{%|format.samplerate>"48"% Hi-Res: %format.codec%}

Zeigt Hi-Res: FLAC nur an, wenn format.samplerate > 48 gilt.

Verwenden Sie \n innerhalb bedingter Blöcke:

%album%{\n(%year%)}

Außerhalb von { ... } sollten Sie %lb% für Zeilenumbrüche verwenden.


Syntax: %field|condition%

Gibt das Feld nur aus, wenn die Bedingung wahr ist.

Was Sie vergleichen können:

  • Einen anderen Feldnamen, zum Beispiel artist, composer, year
  • Eine Literalzeichenfolge oder Zahl in Anführungszeichen, zum Beispiel "2012", "Rock", "256"

Hinweise zu Literalen:

  • track bezeichnet das Feld track
  • "track" bezeichnet den Literaltext track
  • Anführungszeichen können in Werten vorkommen. Stellen Sie sicher, dass das Literal mit " beginnt und endet

Beispiele:

%year|year>"2012"%
%composer|composer!=artist%
%composer|genre=="Classical"%

OperatorBedeutungBeispielHinweise
==ist gleichgenre=="Classical" / artist==composer
!=ist ungleichartist!="Metallica"
+=enthältgenre+="Rock"funktioniert mit einem Literal oder einem anderen Feld
-=enthält nichtmood-="depressing"
>größer alsyear>"1999"verwenden Sie Anführungszeichen für Literalzahlen
<kleiner alsduration<"500"Dauer in Sekunden
==emptyist leeryear==emptyempty ist reserviert
!=emptyist nicht leercomposer!=emptyempty ist reserviert
[]im Bereichbpm[]"0".."100"inklusive Grenzen

Mehrere Bedingungen, gemischte && / || und Klammern

Abschnitt betitelt „Mehrere Bedingungen, gemischte && / || und Klammern“
  • Verwenden Sie && für UND
  • Verwenden Sie || für ODER
  • Sie können && und || in derselben Bedingung kombinieren
  • Verwenden Sie Klammern (...), um die Auswertungspriorität zu steuern

Beispiel:

%format|format.bitdepth!=empty && (format.samplerate>"48" || format.bitdepth>"24")%

Dies gibt %format% nur aus, wenn die Bittiefe vorhanden ist und entweder:

  • die Abtastrate größer als 48 ist
  • die Bittiefe größer als 24 ist

**Fett**
__Unterstrichen__
~~Durchgestrichen~~
//Kursiv//
^^GROSSBUCHSTABEN^^

Diese Platzhalter geben übersetzte Zeichenfolgen in der Sprache des Benutzers zurück:

  • string.hires
  • string.lossless
  • string.lossy
  • string.hires.lossless
  • string.low.quality
  • string.high.quality
  • string.high.efficiency
  • string.time.unit.day.short
  • string.time.unit.hour.short
  • string.time.unit.minute.short
  • string.time.unit.second.short
  • string.time.unit.day.one
  • string.time.unit.day.other
  • string.time.unit.hour.one
  • string.time.unit.hour.other
  • string.time.unit.minute.one
  • string.time.unit.minute.other
  • string.time.unit.second.one
  • string.time.unit.second.other
  • string.track.one
  • string.track.other
  • string.album.one
  • string.album.other

Vorlagen für die aktuelle Wiedergabe können auf Folgendes zugreifen:

  • Titel-Metadaten
  • Wiedergabestatus
  • Warteschlangenstatus
  • Kapitelstatus
  • Audioformat
  • EQ- / Renderer-Informationen
  • und mehr

Verwenden Sie \t, um eine Vorlage in mehrere Segmente aufzuteilen.

Beispiel:

%player.position%\t%format%\t%player.duration%

Mit horizontalem Ausrichtungsabstand dazwischen wird dies normalerweise so angezeigt:

  • links: Position
  • Mitte: Format
  • rechts: Dauer

Verwenden Sie \o, um eine Schutzüberlagerung nur auf diesen Teil anzuwenden, auch wenn die gesamte Zeichenfolge nicht geschützt ist.

Fügen Sie next. vor Elementdatenfelder ein, um auf das nächste Warteschlangenelement zu verweisen:

%next.title%

Bei Kapitelfeldern verweist next.chapter.* auf das nächste Kapitel.


  • title
  • title.raw
  • cleantitle (Titel ohne hinzugefügte Titelnummer oder Explicit-Symbol)
  • artist
  • album
  • album.raw
  • album.version
  • album.type (auch als Release Type bekannt)
  • albumartist
  • album.tags
  • album.title
  • album.title.raw
  • album.title.version
  • composer
  • year
  • releasedate
  • originaldate
  • releasedate.year
  • originaldate.year
  • track
  • disc
  • disctitle
  • duration
  • duration.seconds (Sekunden insgesamt)
  • duration.d (.nz hinzufügen, um bei null auszublenden)
  • duration.h (.nz hinzufügen, um bei null auszublenden)
  • duration.m (.nz hinzufügen, um bei null auszublenden)
  • duration.s (.nz hinzufügen, um bei null auszublenden)
  • duration.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • bpm
  • genre
  • style
  • mood
  • occasion
  • grouping
  • language
  • comment
  • work
  • movement.name
  • movement.number
  • movement.number.roman
  • mediatype
  • providername
  • offlinestatus
  • explicit
  • favorite
  • userrating
  • rating
  • userrating.5 (auf 5 Sterne normalisiert)
  • rating.5 (auf 5 Sterne normalisiert)
  • track.tags
  • original.artist
  • original.album
  • filepath
  • filename
  • lastplayed
  • lastSkipped
  • isaudiobook
  • playcount
  • skipcount
  • player.position
  • player.duration
  • player.remaining
  • player.position.seconds
  • player.duration.seconds
  • player.remaining.seconds
  • player.paused
  • player.repeat.mode
  • player.shuffle.mode
  • volume.current
  • sleep.timer
  • sleep.timer.seconds
  • sleep.timer.eos
  • queue.position
  • queue.size
  • queue.name
  • smartqueue
  • smartflow
  • radio.mode (1 bei Smart Queue, 2+ bei Smart Flow)
  • chapter.count
  • chapter.index
  • chapter.title
  • chapter.position
  • chapter.position.seconds
  • chapter.position.d (.nz hinzufügen, um bei null auszublenden)
  • chapter.position.h (.nz hinzufügen, um bei null auszublenden)
  • chapter.position.m (.nz hinzufügen, um bei null auszublenden)
  • chapter.position.s (.nz hinzufügen, um bei null auszublenden)
  • chapter.position.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.position.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.position.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.position.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.remaining
  • chapter.remaining.seconds
  • chapter.remaining.d (.nz hinzufügen, um bei null auszublenden)
  • chapter.remaining.h (.nz hinzufügen, um bei null auszublenden)
  • chapter.remaining.m (.nz hinzufügen, um bei null auszublenden)
  • chapter.remaining.s (.nz hinzufügen, um bei null auszublenden)
  • chapter.remaining.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.remaining.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.remaining.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.remaining.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.duration
  • chapter.duration.seconds
  • chapter.duration.d (.nz hinzufügen, um bei null auszublenden)
  • chapter.duration.h (.nz hinzufügen, um bei null auszublenden)
  • chapter.duration.m (.nz hinzufügen, um bei null auszublenden)
  • chapter.duration.s (.nz hinzufügen, um bei null auszublenden)
  • chapter.duration.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.duration.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.duration.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.duration.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.position
  • chapter.all.position.seconds
  • chapter.all.position.d (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.position.h (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.position.m (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.position.s (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.position.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.position.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.position.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.position.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.remaining
  • chapter.all.remaining.seconds
  • chapter.all.remaining.d (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.remaining.h (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.remaining.m (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.remaining.s (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.remaining.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.remaining.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.remaining.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.remaining.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.duration
  • chapter.all.duration.seconds
  • chapter.all.duration.d (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.duration.h (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.duration.m (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.duration.s (.nz hinzufügen, um bei null auszublenden)
  • chapter.all.duration.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.duration.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.duration.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • chapter.all.duration.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • format
  • format.bitrate
  • format.bitrate.raw
  • format.samplerate
  • format.samplerate.raw
  • format.bitdepth
  • format.codec
  • format.bitandsample
  • format.channels
  • eq.profile
  • eq.config
  • output.current
  • renderer.current
  • renderer.type
  • lb (Zeilenumbruch)
  • bool1
  • bool2
  • bool3
  • bool4
  • bool5

%title%%lb%{von %artist%}
%album%{ (%year%)}

Komponist ● Künstler nur, wenn der Komponist vorhanden ist

Abschnitt betitelt „Komponist ● Künstler nur, wenn der Komponist vorhanden ist“
{%composer% ● }%artist%

dreiteilige Zeile mit \t (Position / Format / Dauer)

Abschnitt betitelt „dreiteilige Zeile mit \t (Position / Format / Dauer)“
%player.position%\t%format%\t%player.duration%
{%|format.samplerate>"48"% Hi-Res: %format.codec%}

aktives Ausgabegerät anzeigen (Android oder anderer Renderer)

Abschnitt betitelt „aktives Ausgabegerät anzeigen (Android oder anderer Renderer)“
{ %output.current|renderer.type=="Android"%}{ %renderer.current|renderer.type!="Android"%}

umschaltbarer Qualitätsindikator im Apple-Stil (verwendet bool1)

Abschnitt betitelt „umschaltbarer Qualitätsindikator im Apple-Stil (verwendet bool1)“
ⓘ {%format|bool1=="true"%}{Dolby Atmos %|format.channels>"2" && bool1=="false"%}{%string.high.efficiency|format.bitrate>"10" && format.bitrate<"256" && format.bitdepth==empty && bool1=="false"%}{%string.high.quality|format.bitrate>"255" && format.bitrate<"321" && format.bitdepth==empty && bool1=="false"%}{%string.lossless|format.bitdepth[]"16".."24" && format.samplerate<"49" && bool1=="false"%}{%string.hires.lossless|format.bitdepth[]"16".."32" && format.samplerate>"48" && bool1=="false"%}

Wenn Sie eine Aktion toggle bool1 an die benutzerdefinierte Zeichenfolge binden, wechselt sie zwischen:

  • Anzeige von %format%, wenn bool1 true ist
  • Anzeige des Indikators im Apple-Stil, wenn bool1 false ist
Lautstärke %volume.current%%
{%chapter.index% - }%chapter.title%
%chapter.position%\t%chapter.title%\t%chapter.remaining%

vollständiger Hörbuchfortschritt relativ zum ersten Kapitel

Abschnitt betitelt „vollständiger Hörbuchfortschritt relativ zum ersten Kapitel“
%chapter.all.position%\t%chapter.all.duration%
%next.chapter.title%
%format.codec% • %format.bitdepth%/%format.samplerate.raw% • %format.bitrate.raw%

Albumseiten stellen in der Regel albumbezogene Metadaten bereit, nicht den Warteschlangen- oder Playerstatus. Sie können dieselbe allgemeine Vorlagensyntax verwenden.

  • title
  • title.raw
  • version
  • tags
  • type
  • status
  • composer
  • artist
  • year
  • duration
  • duration.seconds (Sekunden insgesamt)
  • duration.d (.nz hinzufügen, um bei null auszublenden)
  • duration.h (.nz hinzufügen, um bei null auszublenden)
  • duration.m (.nz hinzufügen, um bei null auszublenden)
  • duration.s (.nz hinzufügen, um bei null auszublenden)
  • duration.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • genre
  • style
  • mood
  • language
  • providername
  • offlinestatus
  • occasion
  • mediatype
  • grouping
  • explicit
  • releasedate
  • originaldate
  • releasedate.year
  • originaldate.year
  • lastplayed
  • lastSkipped
  • userrating
  • rating
  • userrating.5
  • rating.5
  • favorite
  • song.count
  • playcount
  • skipcount
  • description
  • format
  • format.bitrate
  • format.channels
  • format.samplerate
  • format.bitdepth
  • format.codec
  • format.bitandsample
  • format.bitrate.raw
  • format.samplerate.raw
  • lb

Albumtitel + Version nur, wenn die Version vorhanden ist

Abschnitt betitelt „Albumtitel + Version nur, wenn die Version vorhanden ist“
%title%{ — %version%}

Zeile mit Jahr + Genre, fehlende Teile werden übersprungen

Abschnitt betitelt „Zeile mit Jahr + Genre, fehlende Teile werden übersprungen“
%year%{ • %genre%}

Bewertung nur anzeigen, wenn der Benutzer bewertet hat

Abschnitt betitelt „Bewertung nur anzeigen, wenn der Benutzer bewertet hat“
{★ %userrating.5%/5%|userrating!=empty%}
{⬇ Offline%|offlinestatus!=empty%}

Künstlerseiten stellen in der Regel künstlerbezogene Metadaten und Bibliotheksstatistiken bereit. Sie können dieselbe allgemeine Vorlagensyntax verwenden.

  • title
  • title.raw
  • version
  • tags
  • type
  • gender
  • duration
  • duration.seconds (Sekunden insgesamt)
  • duration.d (.nz hinzufügen, um bei null auszublenden)
  • duration.h (.nz hinzufügen, um bei null auszublenden)
  • duration.m (.nz hinzufügen, um bei null auszublenden)
  • duration.s (.nz hinzufügen, um bei null auszublenden)
  • duration.dd (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.hh (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.mm (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • duration.ss (mit 0 aufgefüllt, .nz hinzufügen, um bei null auszublenden)
  • genre
  • style
  • mood
  • song.count
  • album.count
  • instrument
  • providername
  • offlinestatus
  • lastplayed
  • userrating
  • userrating.5
  • favorite
  • playcount
  • description
  • lb
%song.count% Titel{ • %album.count% Alben}
%genre%{ • %style%}
{♥ Favorit%|favorite!=empty%}
%title%{\n%instrument%}