﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[AudioHQ - foobar2000: Query Syntax - Suchanfragen formulieren]]></title>
		<link>https://www.audiohq.de/viewtopic.php?id=20415</link>
		<atom:link href="https://www.audiohq.de/extern.php?action=feed&amp;tid=20415&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Die neusten Beiträge in foobar2000: Query Syntax - Suchanfragen formulieren.]]></description>
		<lastBuildDate>Thu, 14 Feb 2013 20:18:55 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[foobar2000: Query Syntax - Suchanfragen formulieren]]></title>
			<link>https://www.audiohq.de/viewtopic.php?pid=33112#p33112</link>
			<description><![CDATA[<p><strong>Inhaltsverzeichnis</strong></p><p><a href="#overview">Einleitung</a><br /><a href="#simple">Einfache Suche</a><br /><a href="#metadata">Suchen in Metadaten</a><br /><a href="#titleformat">Title Formatting</a><br /><a href="#logic">Logische Operatoren</a><br /><a href="#integers">Numerische Werte</a><br /><a href="#timestamps">Zeitangaben</a><br /><a href="#placeholders">Platzhalter</a><br /><a href="#sort">Sortierreihenfolge</a><br /><a href="#all">Alle Tracks</a></p><br /><p><a id="overview"><strong>Einleitung</strong></a></p><p><a href="https://www.audiohq.de/viewtopic.php?id=14">foobar2000</a> bietet an zahlreichen Stellen der Benutzeroberfläche Suchfelder an, mit denen die angezeigten Tracks gefiltert werden können. <span style="color: green">Edit | Search</span> oder die Tastenkombinationen <span style="color: darkred">Strg+F</span> bzw. <span style="color: darkred">F3</span> aus der Playlist heraus öffnet beispielsweise eine Suchfunktion für die Playlist. Die Media Library kann über den Menüeintrag <span style="color: green">Library | Search</span> durchsucht werden. Beide zeigen ihre Ergebnisse als Tracks in Listenform an.</p><p>Mit <a href="https://www.audiohq.de/viewtopic.php?id=1089">Album List</a> und <a href="http://www.foobar2000.org/components/view/foo_facets">Facets</a> 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.</p><p><span class="postimg"><img src="https://www.audiohq.de/articles/foobar/queries/simplaylist-search.png" alt="https://www.audiohq.de/articles/foobar/queries/simplaylist-search.png" /></span><br /><em>Suchfunktion von <a href="http://www.foobar2000.org/components/view/foo_simplaylist">SimPlaylist</a></em></p><p>Neben den Suchfeldern findet sich meist eine mit einem Fragezeichen versehene Schaltfläche zum Aufruf einer Syntax-Referenz. Diese ist auch online im englischsprachigen <a href="http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Query_syntax">foobar2000-Wiki</a> abrufbar. Ich verzichte in dieser Anleitung bewusst auf die dort genutzten Syntaxangaben wie &lt;field&gt; oder &lt;string&gt;, sondern zeige die Verwendung von Suchanfragen anhand von Beispielen.</p><br /><p><a id="simple"><strong>Einfache Suche</strong></a></p><p>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 &quot;Images at Twilight&quot; als auch den Titel &quot;A Plague of Lighthouse Keepers&quot;:<br /></p><div class="quotebox"><blockquote><p>Light</p></blockquote></div><p>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:<br /></p><div class="quotebox"><blockquote><p>Dream Theater</p></blockquote></div><p>Unter Zuhilfenahme von Anführungszeichen können Sie nach Phrasen suchen, die dann innerhalb eines beliebigen Feldes so wie eingegeben vorkommen müssen:<br /></p><div class="quotebox"><blockquote><p>&quot;Dream Theater&quot;</p></blockquote></div><p>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 <a href="https://de.wikipedia.org/wiki/Sigur_Ros">Sigur Rós</a> geschrieben wird; es reicht die Eingabe von:<br /></p><div class="quotebox"><blockquote><p>Sigur Ros</p></blockquote></div><p>Um unerwünschte Ergebnisse z.B. aus Lyrics zu vermeiden, können Sie unter <span style="color: green">Preferences | Advanced | Tools | Search filters</span> mit <span style="color: green">exclude fields</span> gezielt einzelne Felder aus der einfachen Suche ausschließen oder die Suche mit <span style="color: green">restrict to fields</span> auf bestimmte Felder beschränken (<a href="https://www.audiohq.de/articles/foobar/queries/preferences-simple-search.png">Screenshot</a>).</p><br /><p><a id="metadata"><strong>Suchen in Metadaten</strong></a></p><p>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 <span style="color: darkred">IS</span>-Operator:<br /></p><div class="quotebox"><blockquote><p>artist IS Saga</p></blockquote></div><p>Eine Suche mit <span style="color: darkred">HAS</span> dagegen kann im folgenden Beispiel sowohl Tracks von Dream Theater als auch Tangerine Dream finden:<br /></p><div class="quotebox"><blockquote><p>artist HAS Dream</p></blockquote></div><p>Leerzeichen in Suchbegriffen erfordern im Unterschied zur einfachen Suche keine Anführungszeichen:<br /></p><div class="quotebox"><blockquote><p>artist IS Dream Theater</p></blockquote></div><p>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:<br /></p><div class="quotebox"><blockquote><p>genre IS Metal</p></blockquote></div><p>Um Felder auf Vorhandensein oder Abwesenheit zu überprüfen, verwenden Sie die Operatoren <span style="color: darkred">PRESENT</span> bw. <span style="color: darkred">MISSING</span>:<br /></p><div class="quotebox"><blockquote><p>artist PRESENT</p></blockquote></div><div class="quotebox"><blockquote><p>artist MISSING</p></blockquote></div><p>Für alle Operatoren ist Großschreibung übrigens Pflicht.</p><br /><p><a id="titleformat"><strong>Title Formatting</strong></a></p><p>Anstatt eines Feldes kann auf der linken Seite ebenso ein <a href="https://www.audiohq.de/viewtopic.php?id=1090">Title Formatting</a>-Ausdruck stehen. Damit kann zusätzlich zu den Tags auf technische Informationen zugegriffen werden:<br /></p><div class="quotebox"><blockquote><p>%codec% IS FLAC</p></blockquote></div><p>Beachten Sie an dieser Stelle, dass einige Ausdrücke wie <span style="color: darkred">%album artist%</span> 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:<br /></p><div class="quotebox"><blockquote><p>album artist PRESENT</p></blockquote></div><div class="quotebox"><blockquote><p>%album artist% PRESENT</p></blockquote></div><p>Kommt im Ausdruck eine Funktion vor, dann muss dieser in Anführungszeichen geschrieben werden, wie in dieser Suchanfrage nach allen verlustfrei komprimierten Audiodateien:<br /></p><div class="quotebox"><blockquote><p>&quot;$info(encoding)&quot; IS lossless</p></blockquote></div><p>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:<br /></p><div class="quotebox"><blockquote><p>%artist% IS %album% (funktioniert nicht)</p></blockquote></div><p>Stattdessen muss hier der Rückgabewert einer Funktion genutzt werden, wieder mit Anführungszeichen:<br /></p><div class="quotebox"><blockquote><p>&quot;$strcmp(%artist%,%album%)&quot; IS 1 (unvollständig)</p></blockquote></div><p>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:</p><br /><p><a id="logic"><strong>Logische Operatoren</strong></a></p><p>Durch <span style="color: darkred">AND</span> und <span style="color: darkred">OR</span> können Sie mehrere Suchanfragen logisch kombinieren. Die vollständige Anfrage zum Beispiel aus dem vorherigen Abschnitt lautet beispielsweise:<br /></p><div class="quotebox"><blockquote><p>%artist% PRESENT AND &quot;$strcmp(%artist%,%album%)&quot; IS 1</p></blockquote></div><p>Zur Gruppierung von logischen Ausdrücken können Sie zusätzlich runde Klammern setzen:<br /></p><div class="quotebox"><blockquote><p>%rating% PRESENT AND (genre IS Metal OR genre IS Rock)</p></blockquote></div><p>Je nach Geschmack kann kann dies auch ausgeweitet werden, ist jedoch nicht nötig:<br /></p><div class="quotebox"><blockquote><p>(%rating% PRESENT) AND ((genre IS Metal) OR (genre IS Rock))</p></blockquote></div><p>Einfache Suchanfragen wie das eingangs verwendete <span style="color: darkred">Light</span> können wie folgt mit anderen kombiniert werden:<br /></p><div class="quotebox"><blockquote><p>* HAS Light AND album HAS Soundtrack</p></blockquote></div><p>Durch Voranstellen von <span style="color: darkred">NOT</span> können Suchanfragen negiert werden, wie hier nach allen Tracks, die das Wort &quot;Light&quot; nicht im Titel enthalten:<br /></p><div class="quotebox"><blockquote><p>NOT title HAS Light</p></blockquote></div><br /><p><a id="integers"><strong>Numerische Werte</strong></a></p><p>Mit <span style="color: darkred">GREATER</span> (größer als), <span style="color: darkred">LESS</span> (kleiner als) und <span style="color: darkred">EQUAL</span> (gleich) können Suchkriterien als Zahlen interpretiert werden:<br /></p><div class="quotebox"><blockquote><p>%play_count% GREATER 10</p></blockquote></div><div class="quotebox"><blockquote><p>%samplerate% LESS 44100</p></blockquote></div><div class="quotebox"><blockquote><p>%rating% GREATER 3</p></blockquote></div><p>Beachten Sie bei Anfragen nach Ratings, dass der Title-Formatting-Ausdruck <span style="color: darkred">%rating%</span> bei installierter Playback Statistics-Komponente lediglich in deren Datenbank sucht. Um in diesem Fall in den Tags zu suchen, verwenden Sie stattdessen:<br /></p><div class="quotebox"><blockquote><p>rating GREATER 3</p></blockquote></div><br /><p><a id="timestamps"><strong>Zeitangaben</strong></a></p><p>Vor dem Jahr 1985 veröffentlichte Alben:<br /></p><div class="quotebox"><blockquote><p>%date% BEFORE 1985</p></blockquote></div><p>Nach 2010 veröffentlichte Alben:<br /></p><div class="quotebox"><blockquote><p>%date% AFTER 2010</p></blockquote></div><p>Im Jahr 2010 oder später veröffentlichte Alben:<br /></p><div class="quotebox"><blockquote><p>%date% SINCE 2010</p></blockquote></div><p>Im Jahr 2013 modifizierte Dateien:<br /></p><div class="quotebox"><blockquote><p>%last_modified% DURING 2013</p></blockquote></div><p>Zusätzlich zur Jahreszahl kann beispielsweise auch ein Monat angegeben werden, bis hin zum vollständigen Zeitformat <a href="https://de.wikipedia.org/wiki/ISO_8601">JJJJ-MM-TT hh:mm:ss</a>. Seit Februar 2013 modifizierte Dateien finden Sie beispielsweise mittels:<br /></p><div class="quotebox"><blockquote><p>%last_modified% SINCE 2013-02</p></blockquote></div><p>Analog funktioniert dies für die Felder %first_played% (zuerst abgespielt), %last_played% (zuletzt abgespielt) und %added% (hinzugefügt), sofern Sie die Komponente <a href="http://www.foobar2000.org/components/view/foo_playcount">Playback Statistics</a> installiert haben. Zuletzt in die Media Library aufgenommene Dateien finden Sie beispielsweise über:<br /></p><div class="quotebox"><blockquote><p>%added% DURING LAST 2 WEEKS</p></blockquote></div><p>Die Zahl ist natürlich variierbar, und statt <span style="color: darkred">WEEKS</span> könnte hier auch <span style="color: darkred">SECONDS</span>, <span style="color: darkred">MINUTES</span>, <span style="color: darkred">HOURS</span> oder <span style="color: darkred">DAYS</span> stehen. Für Dateien der letzten Woche kann die Anfrage verkürzt werden zu:<br /></p><div class="quotebox"><blockquote><p>%added% DURING LAST WEEK</p></blockquote></div><br /><p><a id="placeholders"><strong>Platzhalter</strong></a></p><p>Mit Hilfe der Platzhalter <span style="color: darkred">*</span> für eine beliebige Anzahl von Zeichen und <span style="color: darkred">?</span> für genau ein Zeichen können Sie beispielsweise schnell nach Daten suchen, die in einem bestimmten Format vorliegen. Beispielsweise alle Artists, die mit &quot;The&quot; beginnen:<br /></p><div class="quotebox"><blockquote><p>artist IS The *</p></blockquote></div><p>Alle Datumsangaben, die Monat und Tag enthalten:<br /></p><div class="quotebox"><blockquote><p>date IS ????-??-??</p></blockquote></div><p>Überflüssige Leerzeichen an Anfang und Ende und doppelte Leerzeichen, hier mit Klammern zur besseren Lesbarkeit:<br /></p><div class="quotebox"><blockquote><p>(artist IS &quot; *&quot;) OR (artist IS &quot;* &quot;) OR (artist IS *&nbsp; *)</p></blockquote></div><p>Tipp: Automatisiert entfernen lassen sich diese Leerzeichen mit <span style="color: green">Tools | Selection | Clean Up</span> im <a href="https://www.audiohq.de/viewtopic.php?id=11">Properties-Dialog</a>.</p><br /><p><a id="sort"><strong>Sortierreihenfolge</strong></a></p><p>Um die Suchergebnisse nach bestimmten Kriterien zu sortieren, ergänzen Sie ihre Suchanfrage um <span style="color: darkred">SORT BY</span> für eine aufsteigende bzw. <span style="color: darkred">SORT DESCENDING BY</span> für eine absteigend Sortierung, gefolgt von einem Title-Formatting-Ausdruck. Bei <span style="color: darkred">|</span> handelt es sich im folgenden Beispiel um ein willkürliches Trennzeichen ohne syntaktische Bedeutung:<br /></p><div class="quotebox"><blockquote><p>artist IS Dream Theater SORT BY %album artist%|%date%|%album%|%tracknumber%</p></blockquote></div><p>Die absteigende Sortierung bietet sich vor allem für Zahlen oder Datumswerte an. Die meistgehörten Tracks erhalten Sie mit:<br /></p><div class="quotebox"><blockquote><p>%play_count% PRESENT SORT DESCENDING BY %play_count%</p></blockquote></div><p>Nach zuletzt hinzugefügte Dateien mit den neuesten an der Spitze suchen Sie über:<br /></p><div class="quotebox"><blockquote><p>%added% DURING LAST 2 WEEKS SORT DESCENDING BY %added%</p></blockquote></div><p>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:<br /></p><div class="quotebox"><blockquote><p>artist IS Dream Theater SORT BY &quot;$rand()&quot;</p></blockquote></div><p>Sortier-Operatoren sind nicht in allen Suchfeldern verfügbar. So erscheint z.B. in der Album List eine Fehlermeldung.</p><br /><p><a id="all"><strong>Alle Tracks</strong></a></p><p>Um einfach alle Tracks zu erhalten, was für eine Autoplaylist der kompletten Media Library nützlich sein kann, nutzen Sie:<br /></p><div class="quotebox"><blockquote><p>ALL</p></blockquote></div><p>Auch in Kombination mit einer Sortierung sinnvoll:<br /></p><div class="quotebox"><blockquote><p>ALL SORT BY &quot;$rand()&quot;</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (Frank Bicking)]]></author>
			<pubDate>Thu, 14 Feb 2013 20:18:55 +0000</pubDate>
			<guid>https://www.audiohq.de/viewtopic.php?pid=33112#p33112</guid>
		</item>
	</channel>
</rss>
