foobar2000: Query Syntax - Suchanfragen formulieren (Seite 1) - Anleitungen zu foobar2000 - AudioHQ

Sie sind nicht angemeldet. Bitte melden Sie sich an oder registrieren Sie sich.


[ Geschlossen ]

AudioHQ » Anleitungen zu foobar2000 » foobar2000: Query Syntax - Suchanfragen formulieren

Seiten 1

Sie müssen sich anmelden oder registrieren, um eine Antwort zu verfassen

RSS Thema Feed

Beiträge [ 1 ]



1 bearbeitet von Frank Bicking (Original: 2013-02-14 21:18)

Thema: foobar2000: Query Syntax - Suchanfragen formulieren

Inhaltsverzeichnis

Einleitung
Einfache Suche
Suchen in Metadaten
Title Formatting
Logische Operatoren
Numerische Werte
Zeitangaben
Platzhalter
Sortierreihenfolge
Alle Tracks


Einleitung

foobar2000 bietet an zahlreichen Stellen der Benutzeroberfläche Suchfelder an, mit denen die angezeigten Tracks gefiltert werden können. Edit | Search oder die Tastenkombinationen Strg+F bzw. F3 aus der Playlist heraus öffnet beispielsweise eine Suchfunktion für die Playlist. Die Media Library kann über den Menüeintrag Library | Search durchsucht werden. Beide zeigen ihre Ergebnisse als Tracks in Listenform an.

Mit Album List und Facets gesellen sich zwei weitere Komponenten mit Suchfunktionen dazu, die Suchergebnisse in Form einer Baumstruktur bzw. verketteten Listen anzeigen können. Aus beiden können Sie auch sogenannte Autoplaylists erzeugen, die automatisch anhand der Suchkriterien aktualisiert werden, wenn sich der Inhalt der Media Library ändert.

https://www.audiohq.de/articles/foobar/queries/simplaylist-search.png
Suchfunktion von SimPlaylist

Neben den Suchfeldern findet sich meist eine mit einem Fragezeichen versehene Schaltfläche zum Aufruf einer Syntax-Referenz. Diese ist auch online im englischsprachigen foobar2000-Wiki abrufbar. Ich verzichte in dieser Anleitung bewusst auf die dort genutzten Syntaxangaben wie <field> oder <string>, sondern zeige die Verwendung von Suchanfragen anhand von Beispielen.


Einfache Suche

Die einfache Eingabe eines Suchbegriffs durchsucht sämtliche Tags, Ordner- und Dateinamen sowie technische Angaben wie Codec oder Tag Type. Folgender Suchbegriff findet beispielsweise sowohl alle Tracks des Albums "Images at Twilight" als auch den Titel "A Plague of Lighthouse Keepers":

Light

Geben Sie mehrere Wörter ein, dann wird jedes einzeln in allen Feldern gesucht. Das erste könnte beispielsweise im Titel vorkommen und das zweite im Feld Artist:

Dream Theater

Unter Zuhilfenahme von Anführungszeichen können Sie nach Phrasen suchen, die dann innerhalb eines beliebigen Feldes so wie eingegeben vorkommen müssen:

"Dream Theater"

Groß- und Kleinschreibung in den Tags wird bei der Suche ignoriert. Das gleiche gilt für Akzente, so dass Sie sich nicht zwingend merken müssen, wie Sigur Rós geschrieben wird; es reicht die Eingabe von:

Sigur Ros

Um unerwünschte Ergebnisse z.B. aus Lyrics zu vermeiden, können Sie unter Preferences | Advanced | Tools | Search filters mit exclude fields gezielt einzelne Felder aus der einfachen Suche ausschließen oder die Suche mit restrict to fields auf bestimmte Felder beschränken (Screenshot).


Suchen in Metadaten

Die Suche kann auf ein bestimmtes Feld eingeschränkt werden. Um sämtliche Songs der Band Saga zu finden, aber ein Auftreten dieses Suchbegriffs in anderen Feldern zu ignorieren, verwenden Sie den IS-Operator:

artist IS Saga

Eine Suche mit HAS dagegen kann im folgenden Beispiel sowohl Tracks von Dream Theater als auch Tangerine Dream finden:

artist HAS Dream

Leerzeichen in Suchbegriffen erfordern im Unterschied zur einfachen Suche keine Anführungszeichen:

artist IS Dream Theater

Bei Feldern mit mehreren Werten wie Genres wird jeder Wert einzeln verglichen. So findet folgende Suche alle Tracks aus dem Genre Metal, unabhängig davon, mit welchen zusätzlichen Genres sie getaggt sind:

genre IS Metal

Um Felder auf Vorhandensein oder Abwesenheit zu überprüfen, verwenden Sie die Operatoren PRESENT bw. MISSING:

artist PRESENT

artist MISSING

Für alle Operatoren ist Großschreibung übrigens Pflicht.


Title Formatting

Anstatt eines Feldes kann auf der linken Seite ebenso ein Title Formatting-Ausdruck stehen. Damit kann zusätzlich zu den Tags auf technische Informationen zugegriffen werden:

%codec% IS FLAC

Beachten Sie an dieser Stelle, dass einige Ausdrücke wie %album artist% sogenannte Field Remappings nutzen können. So sind die folgenden Anfragen nicht identisch, denn die erste beschränkt sich ausschließlich auf das Feld Album Artist, während die zweite weitere Tags (Artist, Composer, Performer) durchsucht:

album artist PRESENT

%album artist% PRESENT

Kommt im Ausdruck eine Funktion vor, dann muss dieser in Anführungszeichen geschrieben werden, wie in dieser Suchanfrage nach allen verlustfrei komprimierten Audiodateien:

"$info(encoding)" IS lossless

Text auf der rechten Seite wird immer als Klartext interpretiert. Manche Suchanfragen werden dadurch etwas komplizierter. So funktioniert folgende beispielsweise folgende Suche nach Alben, die nach dem Interpreten benannt sind, nicht wie erwartet:

%artist% IS %album% (funktioniert nicht)

Stattdessen muss hier der Rückgabewert einer Funktion genutzt werden, wieder mit Anführungszeichen:

"$strcmp(%artist%,%album%)" IS 1 (unvollständig)

Da beide Felder auch leer sein könnten und dann immer noch übereinstimmen würden, sollte hier überprüft werden, ob sie überhaupt vorhanden sind. Dazu müssen mehrere Suchanfragen miteinander verknüpft werden:


Logische Operatoren

Durch AND und OR können Sie mehrere Suchanfragen logisch kombinieren. Die vollständige Anfrage zum Beispiel aus dem vorherigen Abschnitt lautet beispielsweise:

%artist% PRESENT AND "$strcmp(%artist%,%album%)" IS 1

Zur Gruppierung von logischen Ausdrücken können Sie zusätzlich runde Klammern setzen:

%rating% PRESENT AND (genre IS Metal OR genre IS Rock)

Je nach Geschmack kann kann dies auch ausgeweitet werden, ist jedoch nicht nötig:

(%rating% PRESENT) AND ((genre IS Metal) OR (genre IS Rock))

Einfache Suchanfragen wie das eingangs verwendete Light können wie folgt mit anderen kombiniert werden:

* HAS Light AND album HAS Soundtrack

Durch Voranstellen von NOT können Suchanfragen negiert werden, wie hier nach allen Tracks, die das Wort "Light" nicht im Titel enthalten:

NOT title HAS Light


Numerische Werte

Mit GREATER (größer als), LESS (kleiner als) und EQUAL (gleich) können Suchkriterien als Zahlen interpretiert werden:

%play_count% GREATER 10

%samplerate% LESS 44100

%rating% GREATER 3

Beachten Sie bei Anfragen nach Ratings, dass der Title-Formatting-Ausdruck %rating% bei installierter Playback Statistics-Komponente lediglich in deren Datenbank sucht. Um in diesem Fall in den Tags zu suchen, verwenden Sie stattdessen:

rating GREATER 3


Zeitangaben

Vor dem Jahr 1985 veröffentlichte Alben:

%date% BEFORE 1985

Nach 2010 veröffentlichte Alben:

%date% AFTER 2010

Im Jahr 2010 oder später veröffentlichte Alben:

%date% SINCE 2010

Im Jahr 2013 modifizierte Dateien:

%last_modified% DURING 2013

Zusätzlich zur Jahreszahl kann beispielsweise auch ein Monat angegeben werden, bis hin zum vollständigen Zeitformat JJJJ-MM-TT hh:mm:ss. Seit Februar 2013 modifizierte Dateien finden Sie beispielsweise mittels:

%last_modified% SINCE 2013-02

Analog funktioniert dies für die Felder %first_played% (zuerst abgespielt), %last_played% (zuletzt abgespielt) und %added% (hinzugefügt), sofern Sie die Komponente Playback Statistics installiert haben. Zuletzt in die Media Library aufgenommene Dateien finden Sie beispielsweise über:

%added% DURING LAST 2 WEEKS

Die Zahl ist natürlich variierbar, und statt WEEKS könnte hier auch SECONDS, MINUTES, HOURS oder DAYS stehen. Für Dateien der letzten Woche kann die Anfrage verkürzt werden zu:

%added% DURING LAST WEEK


Platzhalter

Mit Hilfe der Platzhalter * für eine beliebige Anzahl von Zeichen und ? für genau ein Zeichen können Sie beispielsweise schnell nach Daten suchen, die in einem bestimmten Format vorliegen. Beispielsweise alle Artists, die mit "The" beginnen:

artist IS The *

Alle Datumsangaben, die Monat und Tag enthalten:

date IS ????-??-??

Überflüssige Leerzeichen an Anfang und Ende und doppelte Leerzeichen, hier mit Klammern zur besseren Lesbarkeit:

(artist IS " *") OR (artist IS "* ") OR (artist IS *  *)

Tipp: Automatisiert entfernen lassen sich diese Leerzeichen mit Tools | Selection | Clean Up im Properties-Dialog.


Sortierreihenfolge

Um die Suchergebnisse nach bestimmten Kriterien zu sortieren, ergänzen Sie ihre Suchanfrage um SORT BY für eine aufsteigende bzw. SORT DESCENDING BY für eine absteigend Sortierung, gefolgt von einem Title-Formatting-Ausdruck. Bei | handelt es sich im folgenden Beispiel um ein willkürliches Trennzeichen ohne syntaktische Bedeutung:

artist IS Dream Theater SORT BY %album artist%|%date%|%album%|%tracknumber%

Die absteigende Sortierung bietet sich vor allem für Zahlen oder Datumswerte an. Die meistgehörten Tracks erhalten Sie mit:

%play_count% PRESENT SORT DESCENDING BY %play_count%

Nach zuletzt hinzugefügte Dateien mit den neuesten an der Spitze suchen Sie über:

%added% DURING LAST 2 WEEKS SORT DESCENDING BY %added%

Für eine zufällige Reihenfolge kann eine ausschließlich zu Sortierzwecken verfügbare Funktion genutzt werden, die Zufallszahlen generiert, wobei wieder Anführungszeichen nötig sind:

artist IS Dream Theater SORT BY "$rand()"

Sortier-Operatoren sind nicht in allen Suchfeldern verfügbar. So erscheint z.B. in der Album List eine Fehlermeldung.


Alle Tracks

Um einfach alle Tracks zu erhalten, was für eine Autoplaylist der kompletten Media Library nützlich sein kann, nutzen Sie:

ALL

Auch in Kombination mit einer Sortierung sinnvoll:

ALL SORT BY "$rand()"

Beiträge [ 1 ]

Seiten 1

Sie müssen sich anmelden oder registrieren, um eine Antwort zu verfassen

AudioHQ » Anleitungen zu foobar2000 » foobar2000: Query Syntax - Suchanfragen formulieren

Ähnliche Themen