<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
<!ENTITY kid3 '<application
>Kid3</application
>'>
<!ENTITY doublehyphen '--'>
<!ENTITY % addindex "IGNORE">
<!ENTITY % Dutch "INCLUDE"
><!-- change language only here -->
]>
<book lang="&language;" id="kid3-handbook">
<bookinfo>
<title
>Het handboek van &kid3;</title>
<authorgroup>
<author
><firstname
>Urs</firstname
> <surname
>Fleisch</surname
> <affiliation
> <address
><email
>ufleisch@users.sourceforge.net</email
></address>
</affiliation>
<contrib
>Softwareontwikkeling</contrib>
</author>
&ged.vertaald;&Freek.de.Kruijf;
</authorgroup>
<copyright>
<year
>2020</year>
<holder
>Urs Fleisch</holder>
</copyright>
<legalnotice id="fdl-notice"
>&FDLNotice;</legalnotice>
<date
>2020-01-23</date>
<releaseinfo
>3.8.2</releaseinfo>
<abstract>
<para
>&kid3; is een toepassing om de ID3v1 en ID3v2 tags in MP3 bestanden op een efficiënte manier te bewerken. Ook tags in Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF bestanden en trackermodules (MOD, S3M, IT, XM) worden ondersteund. Het is gemakkelijk om tags van meerdere bestanden in te stellen op dezelfde waarden (⪚ album, artiest, jaar en genre in alle bestanden van hetzelfde album) en de tags te genereren uit de bestandsnaam of vice versa. </para>
</abstract>
<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdemultimedia</keyword>
<keyword
>MP3</keyword>
<keyword
>ID3</keyword>
<keyword
>ID3v1</keyword>
<keyword
>ID3v2</keyword>
<keyword
>Ogg</keyword>
<keyword
>Vorbis</keyword>
<keyword
>FLAC</keyword>
<keyword
>MPC</keyword>
<keyword
>APE</keyword>
<keyword
>Musepack</keyword>
<keyword
>MP4</keyword>
<keyword
>M4A</keyword>
<keyword
>MP2</keyword>
<keyword
>Speex</keyword>
<keyword
>TrueAudio</keyword>
<keyword
>WavPack</keyword>
<keyword
>WMA</keyword>
<keyword
>WAV</keyword>
<keyword
>AIFF</keyword>
<keyword
>MOD</keyword>
<keyword
>S3M</keyword>
<keyword
>IT</keyword>
<keyword
>XM</keyword>
<keyword
>Opus</keyword>
<keyword
>DSF</keyword>
</keywordset>
</bookinfo>
<!--begin manpage include
<refmeta>
<refentrytitle
>kid3</refentrytitle>
<manvolnum
>1</manvolnum>
</refmeta>
<refnamediv>
<refname
>kid3</refname>
<refname
>kid3-qt</refname>
<refname
>kid3-cli</refname>
<refpurpose
>Kid3 ID3 Tagger</refpurpose>
</refnamediv>
end manpage include-->
<!--change manpage<refsynopsisdiv
>--><preface id="synopsis"
><title
>Samenvatting</title>
<cmdsynopsis
><command
>kid3</command
> <group
> <arg choice="plain"
><option
>&doublehyphen;help</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;author</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;version</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;license</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;desktopfile <filename
>BESTAND</filename
></option
></arg
> </group
> <arg rep="repeat"
><replaceable
>BESTAND</replaceable
></arg
> </cmdsynopsis>
<cmdsynopsis
><command
>kid3-qt</command
> <arg
><option
>&doublehyphen;portable</option
></arg
> <arg
><option
>Qt-options</option
></arg
> <arg rep="repeat"
><replaceable
>BESTAND</replaceable
></arg
> </cmdsynopsis>
<cmdsynopsis
><command
>kid3-cli</command
> <arg
><option
>&doublehyphen;portable</option
></arg
> <arg
><option
>&doublehyphen;dbus</option
></arg
> <group
> <arg choice="plain"
><option
>-h</option
></arg
> <arg choice="plain"
><option
>&doublehyphen;help</option
></arg
> </group
> <arg
><option
>-c COMMANDO1</option
></arg
> <arg rep="repeat"
><option
>-c COMMANDO2</option
></arg
> <arg rep="repeat"
><replaceable
>BESTAND</replaceable
></arg
> </cmdsynopsis>
<!--change manpage</refsynopsisdiv
>--></preface>
<preface id="options"
><title
>Opties</title>
<variablelist>
<varlistentry>
<term
><option
>&doublehyphen;portable</option
></term>
<listitem
><para
>Configuratie opslaan in bestand <filename
>kid3.ini</filename
> in de map van de toepassing.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>BESTAND</replaceable
></term>
<listitem
><para
>Als <filename
><replaceable
>BESTAND</replaceable
></filename
> het pad is naar een map, zal het geopend worden. Als een of meer bestandspaden zijn gegeven, zal hun gemeenschappelijke map worden geopend en de bestanden zijn geselecteerd. </para
></listitem>
</varlistentry>
</variablelist>
<sect1 id="options-kid3"
><title
>kid3</title>
<variablelist>
<varlistentry>
<term
><option
>&doublehyphen;help</option
></term>
<listitem
><para
>Hulp over de opties tonen.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>&doublehyphen;author</option
></term>
<listitem
><para
>Auteurinformatie tonen.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>&doublehyphen;version</option
></term>
<listitem
><para
>Versie-informatie tonen</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>&doublehyphen;license</option
></term>
<listitem
><para
>Licentie-informatie tonen.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>&doublehyphen;desktopfile <filename
>BESTAND</filename
></option
></term>
<listitem
><para
>De basis bestandsnaam van het desktop-item voor deze toepassing.</para
></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="options-kid3-qt"
><title
>kid3-qt</title>
<variablelist>
<varlistentry>
<term
><option
>Qt-opties</option
></term>
<listitem
><para
>Zie <citerefentry
><refentrytitle
>qt5options</refentrytitle
> <manvolnum
>7</manvolnum
></citerefentry
>.</para
></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="options-kid3-cli"
><title
>kid3-cli</title>
<variablelist>
<varlistentry>
<term
><option
>&doublehyphen;dbus</option
></term>
<listitem
><para
>Het &DBus;-interface activeren.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-c</option
></term>
<listitem
><para
>Voer een commando uit. Meerdere opties <option
>-c</option
> zijn mogelijk, ze worden opeenvolgend uitgevoerd. Zie de sectie over <link linkend="kid3-cli"
>kid3-cli</link
> voor een beschrijving van de beschikbare commando's.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-h</option
>|<option
>&doublehyphen;help</option
></term>
<listitem
><para
>Hulp over de opties en commando's tonen.</para
></listitem>
</varlistentry>
</variablelist>
</sect1>
</preface>
<chapter id="introduction">
<title
>Inleiding</title>
<para
>&kid3; is een toepassing om de ID3v1 en ID3v2 tags in MP3-bestanden te bewerken op een efficiënte manier. Deze tags kunnen bewerkt worden door de meeste MP3-spelers, maar niet op een erg comfortabele en efficiënte manier. Bovendien wordendhe tags in Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF bestanden en trackermodules (MOD, S3M, IT, XM) ook ondersteund. </para>
<para
>&kid3; pakt of codeert geen MP3-bestanden, maar is gericht op het bewerken van de ID3 tags van alle bestanden van een album op een efficiënte manier, &ie; met zo weinig muisklikken en toetsaanslagen als mogelijk. Waar de meeste andere programma's ofwel ID3v1 of ID3v2 tags kunnen bewerken,heeft &kid3; volledige controle over beide versies, kan tags converteren tussen de twee formaten en heeft toegang tot alle ID3v2 tags. Tags van meerdere bestanden kunnen ingesteld worden op dezelfde waarde, ⪚ de artiest, album, jaar en genre van alle bestanden van een album hebben typisch dezelfde waarden en kunnen samen ingesteld worden. Als de informatie voor de tags in de bestandsnaam zit, kunnen de tags automatisch ingesteld worden uit de bestandsnaam. Het is ook mogelijk om de bestandsnaam in te stellen volgens de tags gevonden in het bestand in willekeurige formaten. </para>
<para
>De taak voor bewerking wordt verder ondersteund door automatisch vervangen van tekens of tekenreeeksen, bijvoorbeeld om illegale tekens uit bestandsnamen te verwijderen. Automatische controle van hoofd en kleine letters maakt het gemakkelijk om een consistent naamschema in alle tags te gebruiken. </para>
<para
>De taginformatie voor volledige albums kan genomen worden uit <ulink url="http://gnudb.org"
>gnudb.org</ulink
>, <ulink url="http://tracktype.org"
>TrackType.org</ulink
>, <ulink url="http://musicbrainz.org"
>MusicBrainz</ulink
>, <ulink url="http://discogs.com"
>Discogs</ulink
>, <ulink url="http://www.amazon.com"
>Amazon</ulink
> of andere bronnen met tracklijsten. Het importformaat is vrij te configureren door reguliere expressies. </para>
<para
>Gaarne problemen of verzoeken om meer mogelijkheden rapporteren aan de auteur. </para>
>Automatische conversie van hoofd- kleine letters en vertaling van tekenreeksen</para
></listitem>
<listitem
><para
>Uit <ulink url="http://gnudb.org"
>gnudb.org</ulink
>, <ulink url="http://tracktype.org"
>TrackType.org</ulink
>, <ulink url="http://musicbrainz.org"
>MusicBrainz</ulink
>, <ulink url="http://discogs.com"
>Discogs</ulink
>, <ulink url="http://www.amazon.com"
>Amazon</ulink
> en andere gegevensbronnen importeren</para
></listitem>
<listitem
><para
>Als CSV, &HTML;, afspeellijst, Kover &XML; en andere formaten exporteren. Geëxporteerde CSV-bestanden kunnen opnieuw geïmporteerd worden.</para
></listitem>
</itemizedlist>
</sect1>
<sect1 id="example-usage">
<title
>Voorbeeld van gebruik</title>
<para
>Deze sectie beschrijft een typische sessie met &kid3;. We hebben een map met MP3-bestanden met de tracks uit het album "Let's Tag" van de band "One Hit Wonder". De map is genaamd in het formaat "artist - album", in ons geval <filename
>One Hit Wonder - Let's Tag</filename
>. De map bevat de tracks in het formaat "track title.mp3", wat denk ik bruikbaar is omdat de bestandsnamen een korte (belangrijk bij gebruik van mobiele MP3-spelers met kleine schermen) en in de juiste volgorde bij alfabetisch ordening (belangrijk bij gebruik van hardware MP3-spelers die de tracks in alfabetische volgorde afspelen of in de volgorde waarin ze op een &CD; zijn gebrand en die volgorde is alfabetisch bij gebruik van <command
>mkisofs</command
>). Daarnaast is de informatie over artiest en album al in de mapnaam en hoeft niet herhaald te worden in de bestandsnaam. Maar terug naar ons voorbeeld, de lijst van de map ziet er uit als: </para>
<para
><filename
>01 Intro.mp3</filename
></para>
<para
><filename
>02 We Only Got This One.mp3</filename
></para>
<para
><filename
>03 Outro.mp3</filename
></para>
<para
>Deze bestanden hebben nog geen tags en we willen ze genereren met &kid3;. We gebruiken <menuchoice
><guimenu
>Bestand</guimenu
><guimenuitem
>Openen</guimenuitem
></menuchoice
> (menu-item (of knop van de werkbalk) en selecteren een van de bestanden in deze map. Alle bestanden zullen worden getoond in het vak met bestanden. Lui als we zijn, we willen de informatie in de map en bestandsnamen gebruiken om tags te genereren. Daarom selecteren we alle bestanden, daarna een klik op de knop <guilabel
>Naar:</guilabel
> <guibutton
>Tag 1</guibutton
> in de sectie <guilabel
>Bestand</guilabel
>. Dit zal de titel, artiest, album en trackwaarden in alle bestanden. Om de jaar en genre waarden van alle bestanden in te stellen, houden we alle bestanden geselecteerd en typen "2002" in voor de <guilabel
>Datum</guilabel
> en selecteren "Pop" uit de keuzelijst <guilabel
>Genre</guilabel
>. Om alleen deze twee waarden in te stellen, zijn hun keuzelijsten automatisch geactiveerd en alle andere keuzelijsten zijn niet geactiveerd gelaten. Nu wijzigen we de selectie door alleen het eerste bestand te selecteren en we zien dat alle tags de juiste waarden bevatten. De tags van de andere bestanden kunnen ook geverifieerd worden door ze een voor een te selecteren. Wanneer we tevreden zijn met de tags, gebruiken we <menuchoice
><guimenu
>Bestand</guimenu
><guimenuitem
>Opslaan</guimenuitem
></menuchoice
> menu-item (of knop op werkbalk). Met selecteren van <menuchoice
><guimenu
>Bestand</guimenu
><guimenuitem
>Afspeellijst aanmaken</guimenuitem
></menuchoice
> menu-item (of knop op werkbalk). zullen we een bestand <filename
>One Hit Wonder - Let's Tag.m3u</filename
> genereren in de map. </para>
</sect1>
</chapter>
<chapter id="commands">
<title
>Overzicht van de opdrachten</title>
<sect1 id="gui-elements">
<title
>De &GUI;-elementen</title>
<para
>De &GUI; van &kid3; is gescheiden in zes secties: Links zijn de vakken met lijsten van bestanden en mappen, de rechter kant bevat de secties <guilabel
>bestand</guilabel
>, <guilabel
>Tag 1</guilabel
>, <guilabel
>Tag 2</guilabel
> en <guilabel
>Tag 3 </guilabel
>. </para>
<para
>Om tussen de verschillende secties te navigeren met het toetsenbord worden verschillende sneltoetsen ondersteund. In de tagsecties zijn de sneltoetsen actief tijdens het niet bewerken van tekst of bij zijn in de eerste kolom. <itemizedlist>
<listitem
><para
><keycombo
>&Alt;<keycap
>Links</keycap
></keycombo
>: Ga naar vorige sectie (<keycombo
><keycap
>Commando</keycap
><keycap
>[</keycap
></keycombo
> op &macOS;) </para
></listitem>
<listitem
><para
><keycombo
>&Alt;<keycap
>Right</keycap
></keycombo
>: Ga naar volgende sectie (<keycombo
><keycap
>Commando</keycap
><keycap
>]</keycap
></keycombo
> op &macOS;) </para
></listitem>
<listitem
><para
><keycombo
>&Ctrl;<keycap
>Shift</keycap
><keycap
>V</keycap
></keycombo
>: Uit andere tag </para
></listitem>
<listitem
><para
><keycombo
>&Ctrl;<keycap
>C</keycap
></keycombo
>: Kopiëren </para
></listitem>
<listitem
><para
><keycombo
>&Ctrl;<keycap
>V</keycap
></keycombo
>: Plakken </para
></listitem>
<listitem
><para
><keycombo
><keycap
>Shift</keycap
><keycap
>Delete</keycap
></keycombo
>: Verwijderen </para
></listitem>
<listitem
><para
><keycombo
><keycap
>F2</keycap
></keycombo
>: Bewerken </para
></listitem>
<listitem
><para
><keycombo
><keycap
>Insert</keycap
></keycombo
>: Toevoegen </para
></listitem>
<listitem
><para
><keycombo
><keycap
>Delete</keycap
></keycombo
>: Verwijderen </para
></listitem>
</itemizedlist>
</para>
<sect2 id="file-list">
<title
>Bestandslijst</title>
<para
>De lijst met bestanden bevat de namen van alle bestanden in de geopende map die overeenkomt met het geselecteerde filter voor bestandsnamen (typisch <filename class="extension"
>). Een enkele of meerdere bestanden kunnen geselecteerd worden. Om geen bestand te selecteren, klik in het lege gebied na de items in het vak met de lijst. De selectie bepaalt de bestanden die worden beïnvloed door de bewerkingen die beschikbaar zijn door de onderstaand beschreven knoppen te gebruiken. </para>
<para
>Naast <guilabel
>Naam</guilabel
> kunnen ook andere kolommen <guilabel
>Grootte</guilabel
>, <guilabel
>Type</guilabel
>, <guilabel
>Datum gewijzigd</guilabel
> met details van de bestanden worden getoond. Kolommen kunnen verborgen worden door hun naam te deactiveren in het contextmenu van de kop van de lijst. De volgorde van de kolommen kan gewijzigd worden door slepen en loslaten. De sorteervolgorde kan omgeschakeld worden door op de kolomkop te klikken. </para>
<para
>Links van de namen kan een pictogram worden getoond: Een schijf om te tonen dat het bestand is gewijzigd of informatie over welke tags aanwezig zijn (V1, V2, V1V2 of GEEN TAG, er wordt geen pictogram getoond als het bestand nog niet is gelezen). </para>
<para
>Mappen worden getoond met een pictogram van een map. Als een map geopend is, worden zijn bestanden getoond in een hiërarchische boomstructuur. Door bestanden te selecteren uit submappen, kunnen bewerkingen uitgevoerd worden op bestanden in andere mappen, wat zinvol is als de muziekverzameling georganiseerd is met een map voor elke artiest met mappen voor albums van deze artiest. </para>
<para
>Met de <mousebutton
>right</mousebutton
> muisknop klikken in de bestandenlijst opent een contextmenu met de volgende commando's: <itemizedlist>
<listitem
><para
><guimenuitem
>Alle uitvouwen</guimenuitem
>: vouwt alle mappenbomen uit (alleen de huidige boomstructuur als de toets &Shift; is ingedrukt) </para
></listitem>
<listitem
><para
><guimenuitem
>Alles invouwen</guimenuitem
>: vouwt alle mappenbomen in </para
></listitem>
<listitem
><para
><guimenuitem
>Hernoemen</guimenuitem
>: wijzigt de naam van een bestand </para
></listitem>
<listitem
><para
><guimenuitem
>Naar prullenbak verplaatsen</guimenuitem
>: verplaatst een bestand naar de prullenbak </para
></listitem>
<listitem
><para
><guimenuitem
>Afspelen</guimenuitem
>: speelt een bestand af, zie <link linkend="play"
>Afspelen</link
>. Als het geselecteerde bestand een afspeellijst is, worden de bestanden in de afspeellijst afgespeeld. </para
></listitem>
<listitem
><para
><guimenuitem
>Bewerken</guimenuitem
>: bewerk een afspeellijst, zie <link linkend="edit-playlist"
>Afspeellijst bewerken</link
>. </para
></listitem>
<listitem
><para
>De volgende items zijn gebruikerscommando's, die gedefinieerd kunnen worden in het tabblad <guilabel
>Gebruikersacties</guilabel
> van <link linkend="configure-kid3"
>&kid3; configureren</link
>. Het afspelen bij dubbelklikken kan ook daar geactiveerd worden. </para
></listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="edit-playlist">
<title
>Afspeellijst bewerken</title>
<para
>Een afspeellijst kan leeg worden aangemaakt of de tracks van een map bevatten, zie <link linkend="create-playlist"
>Afspeellijst aanmaken</link
>. Het op deze manier aangemaakte afspeellijstbestand kan bewerkt worden door dubbelklikken of gebruik van <guilabel
>Bewerken</guilabel
> uit het contextmenu ven de bestandenlijst. Een dialoog met de items van de afspeellijst wordt getoond. Het is mogelijk om meerdere afspeellijsten tegelijk te openen. </para>
<para
>Nieuwe items kunnen toegevoegd worden door slepen en loslaten uit de bestandenlijst, een bestandenbeheerder of een andere afspeellijst. Als een item versleept wordt uit een andere afspeellijst, zal het verplaatst of gekopieerd worden afhankelijk van het systeem. Om respectievelijk de andere actie uit te voeren, moet de toets &Shift;, &Ctrl; of &Alt; (om te kopiëren in plaats van verplaatsen onder &macOS;) worden ingedrukt. Items opnieuw ordenen in de afspeellijst is ook mogelijk via slepen en loslaten. Als alternatief kunnen items verplaatst worden met de sneltoetsen <keycombo
>&Ctrl;&Shift;&Up;</keycombo
> en <keycombo
>&Ctrl;&Shift;&Down;</keycombo
> (op &macOS; moet <keycap
>Command</keycap
> worden ingedrukt in plaats van &Ctrl;). Een item kan verwijderd worden met de toets ∇. </para>
<para
>Merk het volgende op: om items te verslepen uit de bestandenlijst, moeten ze gehouden worden aaan de linker kant (bij de pictogrammen), hetzelfde gebaar aan de rechter kant zal een selectie van meerdere doen, zo'n actie is hierdoor nog steeds gemakkelijk mogelijk. </para>
<para
>Wanneer een afspeellijst gewijzigd is, kunnen de wijzigingen opgeslagen worden met <guibutton
>Opslaan</guibutton
> of verworpen met <guibutton
>Annuleren</guibutton
>. Wanneer het venster wordt gesloten, wordt een vraag om bevestiging getoond als er niet opgeslagen wijzigingen zijn. </para>
<para
>Geselecteerde tracks in een afspeellijst zullen automatisch geselecteerd worden in de bestandenlijst, waarbij het mogelijk wordt gemaakt om hun tags te bewerken. </para>
<para
>Om acties in een afspeellijst uit te voeren moet zijn bestand geselecteerd zijn in de bestandenlijst. <guimenuitem
>Bewerken</guimenuitem
> uit het contextmenu zal naar de dialoog beschreven in deze sectie leiden en <guimenuitem
>Afspelen</guimenuitem
> zal de mediaspeler starten met de tracks uit de afspeellijst. Gebruikeracties kunnen acteren op afspeellijsten, voor een <link linkend="qml-examples"
>voorbeeld</link
> <guilabel
>Afspeellijstmap exporteren</guilabel
>, die de bestanden uit een afspeellijst kopieert in een map. </para>
</sect2>
<sect2 id="directory-list">
<title
>Mappenlijst</title>
<para
>De mappenlijst bevat de namen van de mappen in de geopende map, evenals de huidige (<filename class="directory"
>.</filename
>) en de bovenliggende map (<filename class="directory"
>..</filename
>). Het biedt om snel van map te wisselen zonder het commando <guimenuitem
>Open...</guimenuitem
> te gebruiken of slepen en loslaten. </para>
<para
>Zichtbaarheid van kolom, volgorde en sortering kunnen geconfigureerd worden zoals beschreven in de sectie over de <link linkend="file-list"
>bestandenlist</link
>. </para>
</sect2>
<sect2 id="file">
<title
>Bestand</title>
<para
>Toont informatie over de codering (MP3, Ogg, Opus, DSF, FLAC, MPC, APE, MP2, MP4, AAC, Speex, TrueAudio, WavPack, WMA, WAV, AIFF), bitsnelheid, samplesnelheid, kanalen en de lengte van het bestand. </para>
<para
>De regelbewerking <guilabel
>Naam</guilabel
> bevat de naam van het bestand (als alleen een enkel bestand is geselecteerd). Als deze naam is gewijzigd zal het bestand worden hernoemd wanneer het commando Opslaan wordt gebruikt. </para>
<para
>De keuzelijst <guilabel
>Formaat</guilabel
> en regelbewerken bevat het te gebruiken formaat wanneer de bestandsnaam wordt gegenereerd uit de eerste of de tweede tag. De bestandsnaam kan willekeurige tekens bevatten, zelfs een mapgedeelte gescheiden door een slash uit de bestandsnaam, maar die map moet al bestaan om het hernoemen te laten slagen. De volgende speciale codes worden gebruikt om tagwaarden in de bestandsnaam in te voegen: </para>
<itemizedlist>
<listitem
><para
>%s %{title} Titel (Song)</para
></listitem>
<listitem
><para
>%a %{artist} Artiest</para
></listitem>
<listitem
><para
>%l %{album} Album</para
></listitem>
<listitem
><para
>%c %{comment} Opmerking</para
></listitem>
<listitem
><para
>%y %{year} Jaar</para
></listitem>
<listitem
><para
>%t %{track} Track (⪚ 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (⪚ 001 for %{track.3})</para
>%{ignore} Genegeerd bij genereren van tags uit de bestandsnaam</para
></listitem>
</itemizedlist>
<para
>De formaatcodes zijn niet beperkt tot de boven gegeven voorbeelden. Elke framenaam kan gebruikt worden, bijvoorbeeld geünificeerde framenamen zoals <userinput
>%{albumartist}</userinput
>, <userinput
>%{discnumber.1}</userinput
>, <userinput
>%{bpm}</userinput
> of formaatspecifieke namen zoals <userinput
>%{popm}</userinput
>. </para>
<para
>Het is mogelijk om tekenreeksen als vooraan en achteraan aan de vervanging voor een formaatcode te voegen door ze in aanhalingstekens binnen de accolades van een formaatcode toe te voegen. Deze tekenreeksen zullen alleen in de resulterende tekenreeks gepllatst worden als de formaatcode een niet-lege waarde bevat. Als bijvoorbeeld de bestandsnaam zowel de titel en de ondertitel zou moeten bevatten, zou men <userinput
>%{title} [%{subtitle}]</userinput
> in de formaattekenreeks kunnen gebruiken. Maar dit zou resulteren in een tekenreeks die eindigt met <computeroutput
> []</computeroutput
> als er geen ondertitelframe bestaat voor een bestand. Om de rechte haken weg te laten als er geen subtitel aanwezig is, zal in plaats daarvan <userinput
>%{title}%{" ["subtitle"]"}</userinput
> moeten worden gebruikt. Dit zullen de rechte haken, de voorloopspatie en de subtitel weggelaten worden als deze laatste niet bestaat. </para>
<para
>De lijst met beschikbare formaten kan bewerkt worden in de dialoog die verschijnt wanneer er geklikt wordt op de knop <guibutton
>Bestandsnaam uit tag</guibutton
> in het tabblad <guilabel
>Bestand</guilabel
> van de <link linkend="configure-kid3"
>instellingen</link
>. </para>
<para
>Een tweede keuzelijst <guilabel
>Formaat</guilabel
> (met pijl omlaag) wordt gebruikt om de tags uit de bestandsnaam te genereren. Als het formaat van de bestandsnaam niet met dit patroon overeenkomt, worden een paar andere algemeen gebruikte formaten geprobeerd. </para>
<para
>Sommige algemeen gebruikte bestandsnaamformaten zijn al beschikbaar in de keuzelijst, maar het is ook mogelijk om een speciaal formaat in de regelbewerking in te typen. </para>
<para
>De lijst met beschikbare formaten kan bewerkt worden in de dialoog die verschijnt wanneer er geklikt wordt op de knop <guibutton
>Tag uit bestandsnaam</guibutton
> in het tabblad <guilabel
>Bestand</guilabel
> van de <link linkend="configure-kid3"
>instellingen</link
>. </para>
<para
>Intern is een reguliere expressie opgebouwd uit de formaatcodes. Als geavanceerde reguliere expressies vereist zijn kan het formaat om de tags te genereren uit de bestandsnamen gegeven worden als een complete reguliere expressie met vangsten die voorafgegaan worden door de formaatcodes, Om bijvoorbeeld de tracknummers te extraheren zonder verwijderen van voorloopnullen, zou een formaat zoals "<userinput
>/%{track}(\d+) %{title}(.*)</userinput
>" worden gebruikt. </para>
<para
><guilabel
>Van:</guilabel
> <guibutton
>Tag 1</guibutton
>, <guibutton
>Tag 2</guibutton
>: Stelt de bestandsnaam in met het geselecteerde formaat en respectievelijk de eerste tag of de tweede tag. </para>
<para
><guilabel
>Naar:</guilabel
> <guibutton
>Tag 1</guibutton
>, <guibutton
>Tag 2</guibutton
>: De tags worden ingesteld uit de bestandsnaam. Eerst wordt het formaat gespecificeerd in <guilabel
>Formaat</guilabel
> gebruikt. Als de bestaande bestandsnaam niet overeenkomst met dit formaat, dan worden de volgende formaten geprobeerd: </para>
<itemizedlist>
<listitem
><para
><filename
>Artiest - Album/track Song</filename
></para
></listitem>
<listitem
><para
><filename
>Album/track - Artiest - Song</filename
></para
></listitem>
<listitem
><para
><filename
>/Artiest - Album - Track - Song</filename
></para
></listitem>
<listitem
><para
><filename
>Album/Artiest - Track - Song</filename
></para
></listitem>
<listitem
><para
><filename
>Album/artiest - Song</filename
></para
></listitem>
<listitem
><para
><filename
>Artiest/Album/Track Song</filename
></para
></listitem>
</itemizedlist>
<para
>Als een enkel bestand is geselecteerd worden de besturingen van de &GUI; gevuld met de waarden gehaald uit de bestandsnaam. Als meerdere bestanden zijn geselecteerd worden de tags van de bestanden direct ingesteld volgens de bestandsnamen. </para>
</sect2>
<sect2 id="tag1">
<title
>Tag 1</title>
<para
>De widgets voor bewerking van regels voor <guilabel
>Titel</guilabel
>, <guilabel
>Artiest</guilabel
>, <guilabel
>Album</guilabel
>, <guilabel
>Commentaar</guilabel
>, <guilabel
>Datum</guilabel
>, <guilabel
> Tracknummer</guilabel
> en <guilabel
>Genre</guilabel
> worden gebruikt om de overeenkomstige waarde in de eerste tag van de geselecteerde bestanden te bewerken. De waarde zal gewijzigd worden wanneer de bestandsselectie is gewijzigd of voor acties zoals <guimenuitem
>Opslaan</guimenuitem
> en <guimenuitem
>Afsluiten</guimenuitem
> en wanneer het overeenkomstige keuzevakje links van de veldnaam is geactiveerd. Dit is nuttig om alleen sommige waarden te wijzigen en de andere waarden ongewijzigd te laten. </para>
<para
>Als een enkel bestand is geselecteerd, alle keuzevakjes zijn geactiveerd en widgets voor regelbewerking de waarden bevatten gevonden in de tags van dit bestand. Als een tag niet is gevonden in het bestand zal de overeenkomstige lege waarde worden getoond, wat een lege tekenreeks voor de regelbewerking <guilabel
>Titel</guilabel
>, <guilabel
>Artiest</guilabel
>, <guilabel
>Album</guilabel
> en <guilabel
>Commentaar</guilabel
>, 0 voor de numerieke bewerkingen <guilabel
>Datum</guilabel
> en <guilabel
>Tracknummer</guilabel
> en en lege geselecteerde waarde voor de keuzelijst <guilabel
>Genre</guilabel
>. De waarden kunnen gewijzigd worden en als het overeenkomstige keuzevakje is geactiveerd, zullen ze ingesteld worden voor het geselecteerde bestand nadat de selectie is gewijzigd. Het bestand is dan gemarkeerd als gemodificeerd door een schijfsymbool in de bestandenlijst maar blijft ongewijzigd totdat het commando <guimenuitem
>Opslaan</guimenuitem
> is gebruikt. </para>
<para
>Als meerdere bestanden zijn geselecteerd worden alleen de waarden die identiek zijn in alle geselecteerde bestanden getoond. In alle andere besturingen worden de lege waarden getoond zoals boven beschreven. Alle keuzevakjes zijn niet geactiveerd om ongewenste wijzigingen te vermijden. Als een waarde ingesteld moet worden voor alle geselecteerde bestanden, kan deze worden bewerkt en het keuzevakje moet worden geactiveerd. De waarden zullen voor alle geselecteerde bestanden worden ingesteld wanneer de selectie is gewijzigd en kan worden opgeslagen met het commando <guimenuitem
>Opslaan</guimenuitem
>. </para>
<para
>De keuzevakjes besturen ook de bewerking van de meeste commando's met invloed op de tags, zoals kopiëren, plakken en overdracht tussen tags 1 en 2. Om het gemakkelijk te maken om dit met meerdere bestanden te gebruiken waar alle keuzevakjes niet geactiveerd zijn, gedragen deze commando's zich op dezelfde manier als wanneer alle keuzevakjes zijn geactiveerd en wanneer alle keuzevakjes niet zijn geactiveerd. </para>
<para
><guibutton
>Uit tag 2</guibutton
>: De velden voor tag 1 zijn ingesteld uit de overeenkomstige waarden in tag 2. Als een enkel bestand is geselecteerd worden de besturingen van de &GUI; gevuld met de waarden gehaald uit tag 2. Als meerdere bestanden zijn geselecteerd worden de tags van de bestanden direct ingesteld. </para>
<para
><guibutton
>Kopiëren</guibutton
>: de kopieerbuffer is gevuld met de waarden van Tag 1. Alleen waarden met geactiveerd keuzevakje zullen gebruikt worden in volgende plakken-commando's. </para>
<para
><guibutton
>Plakken</guibutton
>: Plakt de waarden uit de kipieerbuffer in de &GUI;-besturing. </para>
<para
><guibutton
>Verwijderen</guibutton
>: Dit zal alle &GUI;-besturingen instellen op hun lege waarden die resulteren in verwijderen van alle waarden. Het opgeslagen bestand zal dan geen tag 1 bevatten. </para>
</sect2>
<sect2 id="tag2">
<title
>Tag 2</title>
<para
>De &GUI;- bestuurt de functie op dezelfde manier als beschreven voor de sectie <guilabel
>Tag 1</guilabel
>, maar de grootte van de tekenreeksen is niet beperkt. </para>
<para
>Voor <guilabel
>Genre</guilabel
> van tag 2 kunt u ook uw eigen namen gebruiken naast de genres getoond in de keuzelijst, typ de naam in de regel voor bewerking. </para>
<para
>Tag 2 kan niet alleen dezelfde waarden bevatten als tag 1, het formaat is ingebouwd op een flexibele manier uit verschillende frames die zelf bestaan uit verschillende velden. De tabel voor tag 2 toont alle frames die beschikbaar zijn in het geselecteerde bestand. </para>
<para
><guibutton
>Bewerken</guibutton
>: dit zal een venster openen die u biedt het bewerken van alle velden van het geselecteerde frame. Als meerdere bestanden zijn geselecteerd worden de bewerkte velden toegepast op alle geselecteerde bestanden die zo'n frame bevatten. </para>
<para
><guibutton
>Add</guibutton
>: Een verzoeker om het frametype te selecteren dat zal verschijnen en een frame van het geselecteerde type kan bewerkt worden en toegevoegd aan het bestand. Dit werkt ook om een frame toe te voegen aan meerdere geselecteerde bestanden. </para>
<para
><guibutton
>Verwijderen</guibutton
>: verwijdert het geselecteerde frame in de geselecteerde bestanden. </para>
<para
><guilabel
>Albumillustraties hier slepen</guilabel
> wordt getoond als het geen ingebedde hoesillustratie bevat. Er kan een afbeelding worden toegevoegd met slepen en loslaten uit een browser of bestandsbeheerder en zal hier getoond worden. Afbeeldingsframes kunnen bewerkt worden of toegevoegd door dubbel te klikken op deze besturing. </para>
</sect2>
<sect2 id="tag3">
<title
>Tag 3</title>
<para
>Sommige bestanden kunnen meer dan twe tags hebben en een derde tagsectie is zichtbaar. De volgende bestandstypes kunnen zo'n <guilabel
>Tag 3</guilabel
> sectie hebben: </para>
<itemizedlist>
<listitem
><para
>MP3-bestanden kunnen een ID3v1.1 tag, een ID3v2 (2.3.0 or 2.4.0) tag en in de derde sectie een APE tag hebben. Zulke APE-tags worden gebruik voor opnieuw afspelen van informatie over versterking. In de sectie <guilabel
>Tag 3</guilabel
> is deze informatie zichtbaar en de APE-tag kan verwijderd worden met de knop <guibutton
>Verwijderen</guibutton
>. </para
></listitem>
<listitem
><para
>Het stuk RIFF INFO van WAV-bestanden is beschikbaar in de sectie <guilabel
>Tag 3 </guilabel
> omdat de sectie <guilabel
>Tag 1</guilabel
> behoort bij ID3v1.1 tags en hun beperkingen behandeld. De <guilabel
>Tag 2</guilabel
> wordt steeds gebruikt voor ID3v2.4.0 tags, die ook ondersteund worden voor WAV-bestanden, maar stukken RIFF INFO schijnen beter ondersteund te worden. </para
></listitem>
<listitem
><para
>FLAC-bestanden gebruiken normaal Vorbis commentaar voor hun metagegevens. Er zijn echter FLAC-bestanden die ID3v1 en ID3v2 tags hebben, die zijn te vinden in de secties <guilabel
>Tag 1</guilabel
> en <guilabel
>Tag 3</guilabel
> secties. ID3 tags in FLAC-bestanden worden alleen ondersteund door TagLib, daarom moet de OggFlacMetadata-plug-in uitgeschakeld worden in het tabblad <guilabel
>Plug-ins</guilabel
> van de <link linkend="configure-kid3"
>instellingen</link
>. </para
></listitem>
</itemizedlist>
<para
>De &GUI;-besturing werkt op dezelfde manier als in de sectie <guilabel
>Tag 2</guilabel
>. </para>
</sect2>
<!--begin manpage ignore-->
<sect2 id="frame-list">
<title
>Framelijst</title>
<para
>&kid3; kan de meeste frames voor alle ondersteunde bestandstypen bewerken. Sommige frames worden gebruikt met geünificeerde namen, zodat ze uitgewisseld kunnen worden tussen bestanden met verschillende formaten. Frames die niet geünificeerd zijn kunnen gebruikt worden als formaatspecifieke frames. </para>
<table id="table-frame-list">
<title
>Mapping van geünificeerde frametypes naar verschillende formaten</title>
>Opmerkingen betreffende de mappings naar geünificeerde framenamen: <itemizedlist>
<listitem
><para
>Het aantal geünificeerde framenamen is beperkt door het feit dat een zinvolle mapping mogelijk zou moeten zijn voor alle ondersteunde bestandsformaten. De meeste tags ondersteunen frames met willekeurige namen; deze zullen gebruikt worden als geen specifiek frame beschikbaar is (⪚ de namen in hoofdletters in de kolom MP4). Als zulke mogelijkheden niet bestaan, zouden sommige typen frames niet ondersteund worden voor het formaat, ⪚ auteur end uitvoerder voor ASF (WMA). </para
></listitem>
<listitem
><para
>De mappings zijn niet willekeurig gekozen, ze zijn gericht op het gebruik van de frames in andere toepassingen en apparaten. Dus het ID3v2 frame "TPE2 - Band/orchestra/accompaniment" suggereert niet zijn gebruik als albumartiest, maar dit wordt algemeen gebruikt. De actuele betekenis voor ID3v2 aan de andere kand is de reden waarom dit frame wordt gebruikt voor het orkest bij importeren (⪚ uit Discogs), hoewel dit een beetje vreemd lijkt voor andere tagformaten. </para
></listitem>
<listitem
><para
>De mappings zijn niet altijd bijectief. Dus ID3v2.3 gebruikt een IPLS-frame voor zowel arrangeur als uitvoerder. Bij terug lezen worden beide frames getoond als "Arrangeur". </para
></listitem>
<listitem
><para
>De frames arrangeur en uitvoerder gebruiken een specifiek formaat voor hun inhoud: "betrokkenheid 1|betrokkene 1|betrokkenheid 2|betrokkene 2|...", bijvoorbeeld "Chorus Master|Ernst Dunshirn|Soprano Vocals|Anna Netrebko". Dit zal IPLS (ID3v2.3) of TIPL/TMCL (ID3v2.4) frames aanmaken met een tekenreekslijst in het gespecificeerde formaat (het teken "|" wordt gebruikt als een scheidingsteken tussen de tekenreeksen). Waarden in dit formaat zijn ook gezet bij importeren van gegevens uit servers die deze informatie bieden. </para
></listitem>
<listitem
><para
>Om expliciet een specifieke framenaam te gebruiken die in conflict is met een geünificeerde framenaam, zet er een uitroepteken voor. Bijvoorbeeld toevoegen van een frame met type "<replaceable
>Media</replaceable
>" aan een Vorbis commentaar zal een frame aanmaken met de naam "<literal
>SOURCEMEDIA</literal
>" vanwege het geünificeerde type mapping. Om een frame toe te voegen met de naam "<literal
>MEDIA</literal
>" en niet "<literal
>SOURCEMEDIA</literal
>", gebruik "<literal
>!MEDIA</literal
>" om de expliciete naam af te dwingen. </para
></listitem>
</itemizedlist>
</para>
</sect2>
<!--end manpage ignore-->
<sect2 id="synchronized-lyrics">
<title
>Gesynchroniseerde liedtekst en tijdcodes van gebeurtenissen</title>
<para
>Voor informatie gesynchroniseerd met de geluidsgegevens is een specifieke bewerker beschikbaar. Deze frames worden ondersteund voor ID3v2.3.0 en ID3v2.4.0 tags. Om zo'n frame toe te voegen moet de specifieke framenaam worden geselecteerd in de lijst die verschijnt wanneer op de knop <guibutton
>Toevoegen</guibutton
> wordt geklikt - respectievelijk <guilabel
>Gesynchroniseerde liedteksten</guilabel
> of <guilabel
>Tijdcodes van gebeurtenissen</guilabel
>. De bewerker is hetzelfde voor beide typen, allen voor de tijdcodes van gebeurtenissen is een voorgedefinieerde set van gebeurtenissen beschikbaar terwijl voor de gesynchroniseerde liedteksten, er tekst moet worden ingevoerd. In het volgende wordt gesynchroniseerde liedteksten uitgelegd. </para>
<para
>Een bestand met een ID3v2 tag is geselecteerd, de bewerker van liedteksten is gestart met <guibutton
>Toevoegen</guibutton
> en <guilabel
>Gesynchroniseerde liedteksten</guilabel
> is geselecteerd. Voor een bestaand frame gesynchroniseerde liedtekst wordt het geselecteerd wanneer op <guibutton
>Bewerken</guibutton
> wordt geklikt. De afspeler is automatisch geopend met het huidige bestand zodat het bestand afgespeeld en gepauzeerd kan worden om liedtekst te synchroniseren. </para>
<para
>De instellingen bovenaan de SYLT bewerker hoeven normaal niet te worden gewijzigd. Als de liedtekst tekens bevat die niet aanwezig zijn in de tekenset Latin 1, is het wijzigen van de tekstcodering naar UTF16 (of UTF8 voor ID3v2.4.0) te adviseren. Voor Engelse liedtekst en maximale compatibiliteit zou ISO-8859-1 moeten worden gebruikt. </para>
<para
>De sectie <guilabel
>Liedtekst</guilabel
> heeft bovenaan vijf knoppen. <guibutton
>Toevoegen</guibutton
> zal een nieuw tijdstip in de tabel toevoegen. De tijd wordt genomen van de positie van de afspeler, dus een item toevoegen tijdens afspelen van de track zal een regel voor de huidige positie van afspelen toevoegen. De tijdstippen in de tabel moeten chronologisch geordend zijn, de rij zal overeenkomstig ingevoegd worden. Items met een ongeldige tijd worden op een speciale maniet behandeld: Als de nu geselecteerde rij een ongeldige tijd bevat zal zijn tijdstip vervangen worden door de huidige tijd in plaats van het toevoegen van een nieuwe rij. Als de huidige tijd niet geldig is zal de eerst rij met een ongeldige tijd worden gebruikt als aanwezig. Dit gedrag zou toevoegen van tijdstippen moeten faciliteren als de liedtekst al in de tabel is maar de tijdstippen ontbreken (wat het geval is bij importeren van niet gesynchroniseerde liedtekst). merk op dat de ongeldige tijd wordt gerepresenteerd as 00:00.00, <abbrev
>d.w.z.</abbrev
> hetzelfde als de tijd aan het absolute begin van de track, die niet ongeldig is. Om een tijd ongeldig te maken, druk op de toets <keycap
>Delete</keycap
> of gebruik <guimenu
>Wissen</guimenu
> uit het contextmenu. Nieuwe rijen invoegen met <guimenu
>Rij invoegen</guimenu
> uit het contextmenu of aangemaakt bij importeren van niet gesynchroniseerde liedtekst met <guibutton
>Uit klembord</guibutton
> of <guibutton
>Importeren</guibutton
> bevatten ook ongeldige tijdstippen. Rijen in de tabel kunnen verwijderd worden door te klikken op de knop <guibutton
>Verwijderen</guibutton
> of door <guimenu
>Rijen verwijderen</guimenu
> te gebruiken uit het contextmenu. </para>
<para
>Gesynchroniseerde liedtekst kan geïmporteerd worden uit een bestand met <guibutton
>Importeren</guibutton
>. Het verwachte formaat is eenvoudig of verbeterde LRC. Als het geselecteerde bestand geen vierkant haakje in de eerste regel bevat, wordt er verondesteld dat het een eenvoudig tekstbestand is met niet gesynchroniseerde liedtekst. De regels uit zo'n bestand worden dan geïmporteerd met ongeldige tijdstippen. De tijdinformatie kan toegevoegd worden met de knop <guibutton
>Toevoegen</guibutton
> of door handmatig invoeren. Het is ook mogelijk liedtekst te importeren via kopiëren-plakken met <guilabel
>Uit klembord</guilabel
>. Gesynchroniseerde liedtekst kan geschreven worden naar LRC-bestanden met <guibutton
>Exporteren</guibutton
>. Merk op dat alleen items met geldige tijdstippen geëxporteerd zullen worden en dat de items gesorteerd zullen zijn op tijden. Items met een ongeldige tijd zullen ook niet opgeslagen worden in het SYLT-frame, ga dus na dat alle tijdinformatie is ingevoegd alvorens de dialoog te verlaten. </para>
<para
>De <ulink url="http://id3.org/id3v2.4.0-frames"
>ID3-specificatie</ulink
> suggereert een tijdstempel voor elke lettergreep. De meeste spelers ondersteunen echter de opsplitsing in een regel of zin. Om beide soorten van gebruik te ondersteunen volgt &kid3; dezelfde conventies als de <ulink url="http://www.compuphase.com/software_sylteditor.htm"
>SYLT-bewerker</ulink
>. Van tekst die is ingevoerd in de tabel wordt aangenomen te beginnen op een nieuwe regel tenzij dit begint met een spatie of a minteken. Uitzonderingen op deze regel zijn mogelijk door een regel te beginnen met een underscore ('_') om voortzetting af te dwingen of een hekje-teken ('#') om een nieuwe regel af te dwingen. Deze escape-tekens worden niet opgeslagen binnen het SYLT-frame. Binnen het SYLT-frame beginnen nieuwe regels met een teken line-feed (hex 0A) terwijl voortzettingen dat niet doen. Bij lezen van SYLT-frames controleert &kid3; of het eerste item begint met een line-feed. Als dat niet het geval is wordt aangenomen dat alle items nieuwe regels zijn en dat geen lettergreepvoortzettingen worden gebruikt. </para>
<para
>Terwijl de track wordt afgespeeld wordt de rij behorende bij de nu spelende positie geaccentueerd, zodat de juistheid van de synchronisatie-informatie geverifieerd kan worden. Als een offset toegevoegd moet worden aan een of meer tijdstempels, dan kan dat gedaan worden met het contextmenu <guimenu
>Offset toevoegen</guimenu
>. Negatieve waarden kunnen gebruikt worden om de tijd te verminderen. Met <guimenu
>Naar positie spoelen</guimenu
> in het contextmenu is het mogelijk om de afspeelpositie op de tijd van de geselecteerde rij in te stellen. </para>
<para>
<emphasis
>Aanbevolen procedure om nieuwe gesynchroniseerde liedtekst toe te voegen</emphasis>
<itemizedlist>
<listitem
><para
>Haal de niet gesynchroniseerde liedtekst op, <abbrev
>bijv.</abbrev
> met <menuchoice
><guimenu
>Liedtekst</guimenu
><guimenuitem
>Ingebedde liedtekst</guimenuitem
></menuchoice
> uit het contextmenu van de bestandenlijst.</para
></listitem>
<listitem
><para
>Kopieer de niet gesynchroniseerde liedtekst naar het klembord, ga dan naar de rij <guilabel
>Liedtekst</guilabel
> in de frametabel en druk op <keycombo
>&Ctrl;<keycap
>C</keycap
></keycombo
>.</para
></listitem>
<listitem
><para
>Voeg een gesynchroniseerd liedtekstframe toe (<guibutton
>Toevoegen...</guibutton
>, <guilabel
>Gesynchroniseerdt liedtekst</guilabel
>, <guibutton
>OK</guibutton
>), klik op <guibutton
>Uit klembord</guibutton
>.</para
></listitem>
<listitem
><para
>Nu staan alle regels uit de niet gesynchroniseerde liedtekst in de tabel, alle tijdstippen zijn ongeldig (0:0:0.00). U kunt lege items van te voren verwijderen.</para
></listitem>
<listitem
><para
>Begin met het afspelen van de song door te klikken op de afspeelknop <guibutton
>►</guibutton
> in de afspeelwerkbalk onderaan het hoofdvenster.</para
></listitem>
<listitem
><para
>Wanneer de volgende liedtekstregel met een ongeldig tijdstip komt, klik op <guibutton
>Toevoegen</guibutton
> of druk op <keycombo
>&Alt;<keycap
>A</keycap
></keycombo
>, het tijdstip zal worden bijgewerkt.</para
></listitem>
<listitem
><para
>Ga zo hiermee door totdat alle tijdstippen zijn ingesteld. Als u iets mist, stop het afspelen en wis het tijdstip met de toets <keycap
>Delete</keycap
> of door deze te selecteren en <guimenuitem
>Wissen</guimenuitem
> te gebruiken uit het contextmenu. Om afspelen te hervatten vanaf een gegeven tijdstip, gebruik <guimenuitem
>Naar positie zoeken</guimenuitem
> uit het contextmenu. </para
></listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<sect1 id="file-menu">
<title
>Het menu Bestand</title>
<para>
<variablelist>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>O</keycap
></keycombo
> </shortcut
> <guimenu
>Bestand</guimenu
> <guimenuitem
>Openen...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Opent een map.</action
> Alle bestanden overeenkomend met het geselecteerde bestandsnaamfilter zal getoond worden in het vak met bestanden en het gekozen bestand is geselecteerd.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Recent geopend</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Opent een recent geopende map.</action
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>D</keycap
></keycombo
> </shortcut
> <guimenu
>Bestand</guimenu
> <guimenuitem
>Map openen...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Opent een map.</action
> Alle bestanden overeenkomend met het geselecteerde bestandsnaamfilter zal getoond worden in het vak met bestanden.</para
>Slaat alle gewijzigde bestanden op in de map.</action
> De gewijzigde bestanden zijn gemarkeerd met een schijfsymbool in het vak met bestanden. Als een bestandsnaam is gewijzigd, zullen deze bestanden hernoemd worden.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
><guimenuitem
>Ongedaan maken</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Draait de wijzigingen van een of meerdere bestanden terug.</action
> Als er geen bestanden zijn geselecteerd in het vak met bestanden, zullen de wijzigingen van alle bestanden worden teruggedraaid, anders worden alleen de wijzigingen van de geselecteerde bestanden teruggedraaid. </para
></listitem>
</varlistentry>
<varlistentry id="import">
<term
><menuchoice
><guimenu
>Bestand</guimenu
><guimenuitem
>Importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>De <action
>Importdialoog</action
> kan gebruikt worden om gegeven direct uit een freedb.org server te importeren, uit een MusicBrainz server, uit Discogs, Amazon of andere bronnen met lijsten van albumtracks in tekstformaat. </para>
<para id="import-freedb"
>Importeren van een freedb.org server is mogelijk met een dialoog die verschijnt wanneer <guibutton
>Uit server:</guibutton
> <guibutton
>gnudb.org</guibutton
> of <guibutton
>TrackType.org</guibutton
> wordt geselecteerd. De te zoeken artiest en albumnaam kan ingevoerd worden in de twee bovenste velden, de albums die overeenkomen met de zoekopdracht zullen getoond worden wanneer op <guibutton
>Zoeken</guibutton
> is geklikt en de resultaten uit <ulink url="http://www.gnudb.org"
>www.gnudb.org</ulink
> zijn ontvangen. De trackgegevens importeren voor een album wordt gedaan door te dubbelklikken op het album in de lijst. De freedb.org server om uit te importeren kan geselecteerd worden evenals het CGI-pad. De geïmporteerde gegevens worden getoond in de voorbeeldtabel van de importdialoog. Wanneer u tevreden bent met de getoonde tracks, kunnen ze geïmporteerd worden door de importdialoog te beëindigen met <guibutton
>OK</guibutton
>. </para>
<para id="import-discogs"
>Zoek op de Discogs-server kan gedaan worden met <guibutton
>Discogs</guibutton
>. Zoals in de dialoog <guibutton
>gnudb.org</guibutton
> kunt u artiest en album invoeren en daarna kiezen uit een lijst met uitgaven. Als <guilabel
>Standaard tags</guilabel
> is geactiveerd, zal de standaard informatie worden geïmporteerd, <abbrev
>bijv.</abbrev
> artiest, album en titel. Als <guilabel
>Additionele tags</guilabel
> is geactiveerd, zal meer informatie worden geïmporteerd indien beschikbaar, <abbrev
>bijv.</abbrev
> uitvoerders, arrangeurs of de uitgever. Als <guilabel
>Hoesillustratie</guilabel
> is geactiveerd zal de hoesillustratie worden gedownload indien beschikbaar. </para>
<para id="import-amazon"
>Zoek op Amazon kan gedaan worden met <guibutton
>Amazon</guibutton
>. Zoals in de dialoog <guibutton
>gnudborg</guibutton
> kunt u artiest en album invoeren en daarna kiezen uit een lijst met uitgaven. Als <guilabel
>Additionele tags</guilabel
> is geactiveerd, zal meer informatie worden geïmporteerd indien beschikbaar, <abbrev
>bijv.</abbrev
> uitvoerders, arrangeurs of de uitgever. Als <guilabel
>Hoesillustratie</guilabel
> is geactiveerd zal de hoesillustratie worden gedownload indien beschikbaar. </para>
<para id="import-musicbrainzrelease"
>U kunt op dezelfde manier in de uitgavedatabase van MusicBrainz zoeken met <guibutton
>Uit MusicBrainz-uitgaven</guibutton
>. De wijze van werken is hetzelfde als beschreven voor <guibutton
>Uit gnudb.org</guibutton
>. </para>
<para id="import-musicbrainz"
>Importeren uit een MusicBrainz server is mogelijk met de dialoog die verschijnt wanneer <guibutton
>Uit MusicBrainz Fingerprint</guibutton
> wordt geselecteerd. De server kan geselecteerd worden zoals in de freedb importdialog. Onderstaand wordt een tabel getoond met de geïmporteerde trackgegevens. De rechter kolom toont de status van de vraag aan MusicBrainz, die begint met "Pending" wanneer de dialoog wordt geopend. Daarna wordt de fingerprint opgezocht en als het geen resultaat oplevert, wordt een andere zoekopdracht met de tags in het bestand geprobeerd. Het kan dus helpen voor een succesrijke zoekopdracht van MusicBrainz om bekende informatie (<abbrev
>bijv.</abbrev
> artiest en album) in de tags op te slaan voor het importeren. Als een resultaat is gevonden eindigt het zoeken in de status "Herkend", anders was er niets gevonden of meerdere meervoudige resultaten en een van hen moet geselecteerd worden door de gebruiker. <guibutton
>OK</guibutton
> en <guibutton
>Toepassen</guibutton
> gebruiken de geïmporteerde gegevens, <guibutton
>Annuleren</guibutton
> sluit de dialoog. Het sluiten kan even duren omdat de gehele MusicBrainz machinery afgesloten moet worden. </para>
<para id="import-text"
>Voor het importeren van tekstuele gegevens, <guibutton
>Uit bestand/klembord</guibutton
> opent een subdialoog, waar verschillende vooraf geconfigureerde importformaten beschikbaar zijn. De eerste twee, "CSV unquoted" en "CSV quoted" kunnen gebruikt worden om gegevens te importeren die zijn geëxporteerd door de dialoog Exporteren. De CSV gegevens kunnen bewerkt worden met een spreadsheet en moeten weggeschreven worden mat tabs als scheidingstekens. Importeren zou dan mogelijk moeten zijn met "CSV quoted", wat flexibeler is dan "CSV unquoted". De velden mogen geen enkel aanhalingsteken bevatten. Als u alleen exporteert vanuit &kid3; en later importeert, kan "CSV unquoted" gebruikt worden als een eenvoudig formaat voor dit doel. Merk op dat er ook comamndo's "Exporteer CSV" en "Importeer CSV" zijn in het contextmenu van de bestandenlijst, die scripts gebruiken om CSV gegevens te exporteren en te importeren in een meer volledige, krachtige en flexibele manier. </para>
<para
>Het volgende formaat, "freedb &HTML; tekst", kan gebruikt worden om informatie te kopiëren uit een &HTML; pagina van <ulink url="http://freedb.org"
>freedb.org</ulink
>. Zoek naar een album in freedb en als de gewenste informatie wordt getoond in de webbrowser, kopieer de inhoud naar het klembord. Klik daarna op de knop <guibutton
>Uit klembord</guibutton
> en de geïmporteerde tracks zullen getoond worden in de voorbeeldtabel bovenaan de dialoog. Als u tevreden bent met de geïmporteerde gegevens, beëindig dan de dialoog met <guibutton
>OK</guibutton
>, die de gegevens in zal voegen in de tags van de huidige map. De bestemming (<guilabel
>Tag 1</guilabel
>, <guilabel
>Tag 2</guilabel
> of <guilabel
>Tag 1 en Tag 2</guilabel
>) kan geselecteerd worden met een keuzelijst. De bestanden in de huidige map zouden in de juiste trackvolgorde moeten zijn om hun tags toegekend te krijgen. Dit is het geval als ze genummerd zijn. </para>
<para
>Het volgende vooraf geconfigureerde importformaat, "freedb &HTML; source", kan gebruikt worden als de gegevens beschikbaar zijn als een &HTML; document. Importeren is mogelijk met de knop <guibutton
>Uit bestand</guibutton
>, die een bestandskeuze opent of zijn inhoud uit een bewerker kopieert en dan importeert uit het klembord. Dit formaat kan nuttig zijn voor offline importeren, hoewel het &HTML; document ook geopend kan worden in een browser en daarna geïmporteerd in het eerste formaat via het klembord. </para>
<para
>Meer vooraf geconfigureerde formaten, <abbrev
>bijv.</abbrev
> "Track Title Time", zijn beschikbaar. Een leeg aangepast formaat kan aangemaakt worden met <guibutton
>Toevoegen</guibutton
> om ingesteld te worden door de gebruiker. Twee regels onder de naam van het formaat kan met een reguliere expressie ingesteld worden om de velden te vangen uit de geïmporteerde tekst. De eerste reguliere expressie zal eenmaal ontleed worden per document om per-album gegevens zoals artiest, album, jaar en genre te verzamelen. Met de tweede regel wordt geprobeerd om van het begin van het document tot het eind trackgegevens te verkrijgen, gewoonlijk nummer en titel. De reguliere expressies bevatten alle mogelijkheden geboden door &Qt;, wat het meeste is van wat Perl biedt. Constructies met haakjes "(..)" vangen buffers voor de te importeren velden en worden vooraf gegaan door specifieke codes &kid3; van &kid3; om te specificeren welke velden te vangen. De codes zijn hetzelfde als gebruikt voor het bestandsnaamformaat, naast de codes onderstaand weergegeven, elke framenaam is mogelijk: </para>
<para id="format-codes">
<itemizedlist>
<listitem
><para
>%s %{title} Titel (Song)</para
></listitem>
<listitem
><para
>%a %{artist} Artiest</para
></listitem>
<listitem
><para
>%l %{album} Album</para
></listitem>
<listitem
><para
>%c %{comment} Opmerking</para
></listitem>
<listitem
><para
>%y %{year} Jaar</para
></listitem>
<listitem
><para
>%t %{track} Track</para
></listitem>
<listitem
><para
>%g %{genre} Genre</para
></listitem>
<listitem
><para
>%d %{duration} Duur</para
></listitem>
</itemizedlist>
</para>
<para
>Bijvoorbeeld, een track reguliere expressie (tweede regel) om te importeren uit een <filename class="extension"
>". Alle formaten kunnen gewijzigd worden door de reguliere expressies en de naam te bewerken en dan op <guibutton
>Instellingen opslaan</guibutton
> te klikken. Ze zullen opgeslagen worden in het bestand <filename
>kid3rc</filename
> in de configuratiemap. Dit bestand kan direct bewerkt worden om meer importformaten te bevatten of het kan verwijderd worden om de standaard formaten te herstellen. Formaten kunnen verwijderd worden met <guibutton
>Verwijderen</guibutton
>. </para>
<para
><guilabel
>Nauwkeurigheid</guilabel
> toont een schatting van hoe goed de geïmporteerde informatie overeenkomt met de gegeven tracks. Het gebruikt duur van de track of bestandsnamen om het niveau van gelijkheid in procenten te berekenen. <guilabel
>Hoesillustratie</guilabel
> toont de &URL; van de albumhoesafbeelding die gedownload zal worden. </para>
<para
>Om te controleren of de geïmporteerde tracks overeenkomen met de huidige set bestanden, kan de duur van de geïmporteerde tracks vergeleken worden met de duur van de bestanden. Deze optie kan ingeschakeld worden met het keuzevak <guibutton
> en het maximaal toegestane verschil in tijd kan ingesteld worden in seconden. Als er een verschil in lengte wordt gedetecteerd, zal de lengte getoond worden met een rode achtergrond in de voorbeeldtabel. </para>
<para
>Als de bestanden anders geordend zijn dan de geïmporteerde tracks, moeten hun toegekende tracks gewijzigd worden. Dezse taak kan gedaan worden met de optie <guilabel
>Overeenkomen met</guilabel
> met de knoppen <guibutton
>Lengte</guibutton
>, <guibutton
>Track</guibutton
> en <guibutton
>Titel</guibutton
>, die de tracks opnieuw zullen ordenen volgens het overeenkomstige veld. Om de toekenningen handmatig te corrigeren, kan een track versleept worden met de <mousebutton
>linker</mousebutton
> muisknop en ingedrukt houden van de toets &Ctrl; en losgelaten op de nieuwe locatie. </para>
<para
>Wanneer de importdialoog is geopend, bevat deze de actuele inhoud van de tags. Het type tag (Tag 1, Tag 2, Tag 1 en Tag 2) kan geselecteerd worden met de keuzelijst <guilabel
>Bestemming</guilabel
>. De knop rechts van deze keuzelijst kan gebruikt worden om de tabel terug te draaien naar de huidige inhoud van de tags. De keuzevakjes in de eerste kolom van de tabel kan gebruikt worden om de geïmporteerde tracks te selecteren. Dit kan nuttig zijn als een map de tracks van beide &CD;s van een dubbel &CD; bevat en alleen de tracks van de tweede &CD; geïmporteerd moeten worden. </para>
<para
>Om de tracks die zijn geïmporteerd te identificeren is het mogelijk de bestandsnamen te tonen of de volledige paden naar de bestanden met het contextmenu van de kop van de tabel. De waarden in de importtabel kunnen bewerkt worden. De terugdraai-knop rechts van de keuzelijst <guilabel
>Bestemming</guilabel
> kan gebruikt worden om de inhoud van de tags te herstellen, wat ook nuttig kan zijn na wijzigen van de <guilabel
>Bestemming</guilabel
>. </para>
<para
>Bijna alle dialoogfuncties hebben een knop <guibutton
>Instellingen opslaan</guibutton
>, die gebruikt kan worden om de instellingen specifiek voor de dialoog en de venstergrootte blijvend opslaan. </para>
<para id="import-tags"
><guibutton
>Uit tags</guibutton
> leidt tot een subdialoog om tagframes in te stellen uit de inhoud van andere tagframes. Dit kan gebruikt worden om eenvoudig informatie tussen tags te kopiëren of een deel te halen uit een frame en in te voegen in een ander. </para>
<para
>Zoals in de dialoog <link linkend="import-text"
>uit bestand/klembord importeren</link
> zijn er vrij te configureren formaten om verschillende bewerkingen uit te voeren. Reeds voorgeconfigureerd zijn formaten om de albumwaarde naar albumartiest, -componist of -dirigent te kopiëren en om het tracknummer uit titelvelden met een getal te halen. Er is ook een formaat om een ondertitel uit een titelveld te halen. </para>
<para
>Het volgende voorbeeld legt uit hoe een aangepast formaat toe te voegen, die de informatie uit het ondertitelveld ook in het commentaarveld zet. Maak een nieuw formaat met knop <guibutton
>Toevoegen</guibutton
> aan en stel een nieuwe naam in, <abbrev
>bijv.</abbrev
> "Ondertitel naar commentaar". Voer daarna "<userinput
>%{subtitle}</userinput
>" in in <guilabel
>Bron</guilabel
> en "<userinput
>%{comment}(.*)</userinput
>" voor <guilabel
>Extractie</guilabel
> en klik op <guibutton
>Instellingen opslaan</guibutton
>. </para>
<para
>De expressie in <guilabel
>Bron</guilabel
> kan <link linkend="format-codes"
>formaatcodes</link
> bevatten voor willekeurige tagframes, meerdere codes kunnen gebruikt worden om de inhoud van verschillende frames te combineren. Voor elke track wordt een tekst gegenereerd uit zijn tags met het <guilabel
> Bron</guilabel
>-formaat en de reguliere expressie uit <guilabel
>Extractie</guilabel
> wordt toegepast op deze tekst om nieuwe waarden voor de tags in te stellen. Formaatcodes worden gebruikt voor de vanghaakjes om het tagframe te specificeren waar de gevangen tekst opgeslagen zal worden. Het werkt op dezelfde manier als voor de <link linkend="import-text"
>uit bestand/klembord importeren</link
>. </para>
<para
><guimenuitem
>Uit tags importeren...</guimenuitem
> is ook direct beschikbaar vanuit het menu <guimenu
>Bestand</guimenu
>. Het verschil tussen deze twee functies is dat de importdialoogsubdialoog werkt op alle bestanden van de huidige map terwijl de menufunctie werkt op de geselecteerde bestanden (die in verschillende mappen kunnen zitten). De menufunctie ondersteunt een extra code "<literal
>%{__return}</literal
>" om de geëxtraheerde waarde terug te geven, die nuttig kan zijn met de CLI en QML-interfaces. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Uit gnudb.org importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Uit een freedb.org server met gnudb.org albumzoeken importeren.</action
> Dit menu-item opent dezelfde importdialoog als <guimenuitem
>Importeren...</guimenuitem
>, maar opent direct de dialoog <guibutton
>gnudb.org</guibutton
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Uit TrackType.org importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Uit een TrackType.org server importeren.</action
> Dit menu-item opent dezelfde importdialoog als <guimenuitem
>Importeren..</guimenuitem
>, maar opent direct de dialoog <guibutton
>TrackType.org</guibutton
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Uit Discogs importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Uit een Discogs server importeren</action
> Dit menu-item opent dezelfde importdialoog als <guimenuitem
>Importeren..</guimenuitem
>, maar opent direct de dialoog <guibutton
>Uit Discogs</guibutton
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Uit Amazon importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Uit Amazon importeren</action
>. Dit menu-item opent dezelfde importdialoog als <guimenuitem
> Dit menu-item opent dezelfde importdialoog als <guimenuitem
>Importeren...</guimenuitem
>, maar opent direct de dialoog <guibutton
>Uit MusicBrainz Fingerprint</guibutton
>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Uit tags importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Zoals <link linkend="import-tags"
>Uit tags</link
>, maar het importeren wordt toegepast op de geselecteerd bestanden.</para
></listitem>
</varlistentry>
<varlistentry id="batch-import">
<term
><menuchoice
><guimenu
>bestand</guimenu
> <guimenuitem
>Automatisch importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Automatisch importeren</action
> biedt het importeren van informatie voor meerdere albums uit verschillende webservices. Als er mappen zijn geselecteerd in de bestandenlijst, zullen trackgegevens voor de geselecteerde mappen worden geïmporteerd. Als geen map is geselecteerd, zullen alle mappen in de bestandenlijst worden geïmporteerd. </para>
<para
>Het type tag (Tag 1, Tag 2, Tag 1 en Tag 2) kan geselecteerd worden met de keuzelijst <guilabel
>Bestemming</guilabel
>. </para>
<para
>Profielen bepalen met welke servers contact gemaakt word om albuminformatie op te halen. Sommige profielen zijn voorgedefinieerd (All, MusicBrainz, Discogs, Cover Art), aangepaste profielen kunnen toegevoegd worden met de knop <guibutton
>Toevoegen</guibutton
> rechts van de keuzelijst <guilabel
>Profiel</guilabel
>. </para>
<para
>De ondersteunde tabel toont de servers die gebruikt zullen worden bij het importeren van albuminformatie met het geselecteerde profiel. Het importproces voor een album is beëindigd als alle vereiste informatie is gevonden, de volgorde van de rijen in de tabel is belangrijk. Deze kan gewijzigd worden met de knoppen <guibutton
>Omhoog verplaatsen</guibutton
> en <guibutton
>Omlaag verplaatsen</guibutton
>. <guibutton
>Bewerken</guibutton
> kan gebruikt worden om een bestaand item te wijzigen. De selectie van <guibutton
>Server</guibutton
> biedt dezelfde servers als gebruikt kan worden in de importeerfuncties. <guilabel
>Standaard tags</guilabel
>, <guilabel
>EXtra tags</guilabel
>, <guilabel
>Hoesillustraties</guilabel
> bepalen de informatie die opgehaals zou moeten worden van de server. <guilabel
>Nauwkeurigheid</guilabel
>, tenslotte, is de minimale nauwkeurigheid die bereikt moet worden om de geïmporteerde gegeven te accepteren. Als de nauwkeurigheid onvoldoende is, zal de volgende server in the lijst worden geprobeerd. Dezelfde dialoog met de servereigenschappen verschijnt wanneer op <guibutton
>Toevoegen</guibutton
> wordt geklikt om een nieuwe server toe te voegen. Bestaande items kunnen verwijderd worden met <guibutton
>Verwijderen</guibutton
>. </para>
<para
>Om een automatische bulkimport te starten met het geselecteerde profiel, klik op <guibutton
>Start</guibutton
>. Details over de gaande import worden getoond bovenaan de dialoog. Het proces kan afgebroken worden met de knop <guibutton
>Afbreken</guibutton
>. </para>
</listitem>
</varlistentry>
<varlistentry id="browse_pictures">
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Bladeren in hoesillustraties...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>De dialoog <action
>Bladeren in hoesillustraties</action
> helpt bij het vinden van albumhoesillustraties. <guilabel
>Artiest/album</guilabel
> wordt, indien mogelijk, gevuld uit de tags. <guilabel
>Bron</guilabel
> biedt een variëteit van websites met albumhoesillustraties. De &URL; met artiest en album als parameters is te vinden onder de naam. &URL;-gecodeerde waarden voor artiest en album kunnen ingevoegd worden met "<userinput
>%u{artist}</userinput
>" en "<userinput
>%u{album}</userinput
>", andere waarden uit de tags zokn ook mogelijk, zoals beschreven in <link linkend="configure-kid3"
>&kid3; configureren</link
>, <guilabel
>Gebruikeracties</guilabel
>. Meer bronnen kunnen ingevoerd worden na het item "Aangepaste bron" door "Aangepaste bron" te vervangen door de naam van de bron, op <keycap
>Enter</keycap
> drukken, daarna de &URL; invoegen en tenslotte op <guibutton
>Instellingen opslaan</guibutton
> drukken. Het resulterende browsercommando wordt bovenaan de dialoog getoond en kan gestart worden door op <guibutton
>Bladeren</guibutton
> te klikken. De browser, die geconfigureerd kan worden in de instellingen, wordt gestart met de geselecteerde bron. Een hoesafbeelding kan daarna uit de browser gesleept worden in het &kid3; venster en zal in het afbeeldingenframe van de geselecteerde bestanden gezet worden. </para>
<para
>Omdat niet alle browsers slepen en laten vallen van afbeeldingen ondersteunen en de afbeeldingen op websites vaak een &URL; hebben zal in zulke gevallen &kid3; de &URL; ontvangen en niet de afbeelding. Als de &URL; naar een afbeelding wijst zal het gedownload worden. Als de &URL; echter verwijst naar een andere webbron, zal het vertaald worden naar de overeenkomstige afbeelding. Zulke koppelingen zijn gedefinieerd in de tabel <guilabel
>&URL;-extractie</guilabel
>. De linker kolom <guilabel
>Overeenkomst</guilabel
> bevat een reguliere expressie die vergeleken zal worden met de &URL;. Als deze overeenkomt zullen de gevangen expressies in haakjes ingevoegd worden in het patroon in de rechter kolom <guilabel
>&URL; van afbeelding</guilabel
> (op de posities gemarkeerd met \1 <abbrev
>etc.</abbrev
>). De vervangen reguliere expressie bevat de &URL; van de afbeelding. Op deze manier kunnen hoesillustraties deïmporteerd worden uit Amazon, Google Images, <abbrev
>etc.</abbrev
> met slepen en laten vallen. Het is ook mogelijk om uw eigen koppelingen te definiëren. </para>
</listitem>
</varlistentry>
<varlistentry id="export">
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Exporteren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>De <action
>Exportdialoog</action
> wordt gebruikt om gegevens uit de tags in een bestand of het klembord op te slaan. De bewerker bovenaan toont een voorbeeld van de te exporteren gegevens. Als de te exporteren gegevens tab-tekens bevatten, wordt het te exporteren getoond in een tabel. De gegevens zullen gegenereerd worden uit de tags in de huidige map volgens het geconfigureerde formaat. </para>
<para
>De formaatinstellingen zijn gelijk aan die in de importdialoog: Het bovenste veld bevat de titel (<abbrev
>bijv.</abbrev
> "CSV unquoted"), gevolgd door de kop, die gegenereerd zal worden aan het begin van het bestand. De trackgegevens volgen; het wordt voor elke track gebruikt. De trailer kan, tenslotte, gebruikt worden om enige afsluitende tekst te genereren. </para>
<para
>De formaatvelden bevatten geen reguliere expressies zoals in de importdialoog, maar alleen uitvoerformaatexpressies met speciale %-expressies, die vervangen zullen worden door waarden uit de tags. Het geheel werkt zoals het bestandsnaamformaat en dezelfde codes worden gebruikt plus enige extra codes. Niet alleen de codes uit de onderstaande lijst maar alle tagframenamen kunnen gebruikt worden. </para>
<itemizedlist>
<listitem
><para
>%s %{title} Titel (Song)</para
></listitem>
<listitem
><para
>%a %{artist} Artiest</para
></listitem>
<listitem
><para
>%l %{album} Album</para
></listitem>
<listitem
><para
>%c %{comment} Opmerking</para
></listitem>
<listitem
><para
>%y %{year} Jaar</para
></listitem>
<listitem
><para
>%t %{track} Track (⪚ 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (⪚ 001 for %{track.3})</para
>Een paar formaten zijn voorgedefinieerd. "CSV unquoted" scheidt de velden met tabs. Gegevens in dit formaat kunnen opnieuw geïmporteerd worden in &kid3; met het importformaat met dezelfde naam. "CSV quoted" omsluit de velden bovendien door aanhalingstekens, die het importeren in rekenbladen vergemakkelijken. De velden mogen geen enkel aanhalingsteken bevatten wanneer dit formaat wordt gebruikt. "UItgebreide M3U" en "Uitgebreide PLS" genereren afspeellijsten met uitgebreide attributen en absolute padnamen. "HTML" kan gebruikt worden om een &HTML; pagina te genereren met hyperlinks naar de tracks. "Kover &XML;" maakt een bestand aan die geïmporteerd kan worden door het programma Kover voor afdrukken van hoezen. "Technische details" biedt informatie over bitsnelheid, samplesnelheid, kanalen, <abbrev
>etc.</abbrev
> "Aangepast formaat", tenslotte is leeg gelaten voor definitie van een aangepast formaat. U kunt meer eigen formaten definiëren door regels in het bestand <filename
>kid3rc</filename
> in de configuratiemap toe te voegen. De andere formaten kunnen aan uw behoeften worden aangepast. </para>
<para
>De <guilabel
>Bron</guilabel
> van de tags om de exportgegevens te genereren, (<guilabel
>Tag 1</guilabel
> of <guilabel
>Tag 2</guilabel
>) kunnen geselecteerd worden met een keuzelijst. Wegzetten <guibutton
>Naar bestand</guibutton
> of <guibutton
>Naar klembord</guibutton
> slaat de gegevens op in een bestand of in het klembord. <guibutton
>OK</guibutton
> en <guibutton
>Annuleren</guibutton
> sluiten de dialoog, waar <guibutton
>OK</guibutton
> accepteert de huidige dialooginstellingen. </para
></listitem>
</varlistentry>
<varlistentry id="create-playlist">
<term
><menuchoice
><guimenu
>Bestand</guimenu
><guimenuitem
>Afspeellijst aanmaken...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Maakt een afspeellijst aan.</action
> Het formaat en inhoud van de afspeellijst kan ingesteld worden op verschillende opties.</para>
<para
>De naam van de afspeellijst kan zijn <guibutton
>Hetzelfde als de mapnaam</guibutton
> of een <guibutton
>Formaat</guibutton
> gebruiken met waarden uit de tags, <abbrev
>bijv.</abbrev
> "<userinput
>%{artist} - %{album}</userinput
>" om de artiest en albumnaam in de naam van de afspeellijst te hebben. De formaatcodes zijn hetzelfde als voor <link linkend="export"
>Exporteren</link
>. <guibutton
>Nieuwe lege afspeellijst aanmaken</guibutton
> zal een lege afspeellijst aanmaken met de gegeven naam. De extensie hangt af van het afspeellijstformaat. </para>
<para
>De locatie van de gegenereerde afspeellijst wordt bepaald door de selectie uit het keuzelijst <guilabel
>Aanmaken in</guilabel
>. <variablelist>
<varlistentry
><term
>Huidige map</term>
<listitem
><para
>De afspeellijst is in de huidige map aangemaakt en bevat alleen bestanden uit de huidige map. De huidige map is de map waar het huidige bestand zich bevindt. Als meerdere bestanden zijn geselecteerd is het huidige bestand waarschijnlijk het laatst geselecteerde bestand.</para
></listitem
></varlistentry>
<varlistentry
><term
>Elke map</term>
<listitem
><para
>Een afspeellijst wordt aangemaakt in elke map die bestanden bevat in de lijst en elke afspeellijst bevat de bestanden uit die map. </para
></listitem
></varlistentry>
<varlistentry
><term
>Hoogste niveau map</term>
<listitem
><para
>Slechts één afspeellijst wordt aangemaakt in de hoogste map (<abbrev
>d.w.z.</abbrev
> de map van de bestandenlijst) en het bevat de bestanden uit de map op het hoogste niveau en alle submappen ervan. </para
></listitem
></varlistentry>
</variablelist>
</para>
<para
>Het <guilabel
>Formaat</guilabel
> van de afspeellijst kan zijn <guilabel
>M3U</guilabel
>, <guilabel
>PLS</guilabel
> of <guilabel
>XSPF</guilabel
>. </para>
<para
>Als <guibutton
>Alleen de geselecteerde bestanden</guibutton
> is geactiveerd, zullen alleen de geselecteerde bestanden meegenomen worden in de afspeellijst. Als een map is geselecteerd, zullen alle bestanden erin worden geselecteerd. Als dit keuzevak niet is geactiveerd worden alle geluidsbestanden ingevoegd in de afspeellijst. </para>
<para
><guibutton
>Op bestandsnaam sorteren</guibutton
> selecteert het gebruikelijke geval waar de bestanden geordend zijn op bestandsnaam. Met <guibutton
>Op tagveld sorteren</guibutton
> is het mogelijk om te sorteren op een formaattekenreeks met waarden uit tagvelden. Bijvoorbeeld, "<userinput
>%{track.3}</userinput
>" kan gebruikt worden om te sorteren op tracknummer ("<userinput
>.3</userinput
>" wordt gebruikt om drie cijfers met voorloopnullen te krijgen omdat tekenreeksen gebruikt worden voor sorteren). Het is ook mogelijk meerdere velden te gebruiken, <abbrev
>bijv.</abbrev
> "<userinput
>%{genre}%{year}</userinput
>" om te sorteren met een tekenreeks bestaande uit genre en jaar. </para>
<para
>De afspeellijstitems zullen relatieve of absolute bestandspaden hebben afhankelijk van of <guibutton
>Relatief pad voor bestanden in afspeellijst gebruiken</guibutton
> of <guibutton
>Volledig pad voor bestanden in afspeellijst gebruiken</guibutton
> is ingesteld. </para>
<para
>Wanneer <guibutton
>Alleen lijst van bestanden schrijven</guibutton
> is ingesteld, zal de afspeellijst alleen de paden naar de bestanden bevatten. Om een uitgebreide afspeellijst met extra informatie te genereren, kan een formaattekenreeks worden ingesteld met de besturing <guibutton
>Informatie schrijven met</guibutton
>. </para>
</listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>Q</keycap
></keycombo
> </shortcut
> <guimenu
>Bestand</guimenu
><guimenuitem
>Afsluiten</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Sluit de toepassing af</action
></para
></listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1 id="edit-menu">
<title
>Het menu Bewerken</title>
<para>
<variablelist>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Alt;<keycap
>A</keycap
></keycombo
> </shortcut
> <guimenu
>Bewerken</guimenu
> <guimenuitem
>Alles selecteren</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Selecteert alle bestanden.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;&Shift;<keycap
>A</keycap
></keycombo
> </shortcut
> <guimenu
>Bewerken</guimenu
> <guimenuitem
>Selecteren ongedaan maken</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Maakt selectie van alle bestanden ongedaan.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Bewerken</guimenu
> <guimenuitem
>Alles in map selecteren</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Selecteert alle bestanden in de huidige map.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Alt;&Up;</keycombo
> </shortcut
> <guimenu
>Bewerken</guimenu
> <guimenuitem
>Vorig bestand</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Selecteert het vorige bestand.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Alt;&Down;</keycombo
> </shortcut
> <guimenu
>Bewerken</guimenu
> <guimenuitem
>Volgend bestand</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Selecteert het volgende bestand.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>F</keycap
></keycombo
> </shortcut
> <guimenu
>Bewerken</guimenu
> <guimenuitem
>Zoeken...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Tekenreeksen zoeken in de bestandsnamen en de tags. De dialoog <guilabel
>Zoeken</guilabel
> is een subset van de dialoog <guilabel
>Vervangen</guilabel
>, die onderstaand wordt beschreven. </para
></listitem>
</varlistentry>
<varlistentry id="find-replace">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>R</keycap
></keycombo
> </shortcut
> <guimenu
>Bewerken</guimenu
> <guimenuitem
>Vervangen...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Deze functie opent een dialoog om tekenreeksen te zoeken en te vervangen in de bestandsnamen en de tags. De set frames waarin het zoeken wordt uitgevoerd kan beperkt worden door het keuzevak <guilabel
>Alles selecteren</guilabel
> te deactiveren en de frames te selecteren die doorzocht moeten worden. Er zijn ook zoekopties beschikbaar om achterwaarts, hoofdlettergevoelig en reguliere expressies te gebruiken.</para>
<para
>Afhankelijk van het aantal bestanden kan het zoeken enige tijd duren, daarom kan het afgebroken worden door de dialoog te sluiten.</para
></listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1 id="tools-menu">
<title
>Het menu Hulpmiddelen</title>
<para>
<variablelist>
<varlistentry id="apply-filename-format">
<term
><menuchoice
><guimenu
>Hulpmiddelen</guimenu
> <guimenuitem
>Bestandsnaamformaat</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Wanneer <guilabel
>Automatisch formaat toepassen</guilabel
> is uitgeschakeld voor het bestandsnaamformaat in de configuratiedialoog kan dit menu-item gebruikt worden om <action
>het geconfigureerde formaat op de namen van de geselecteerde bestanden toe te passen</action
>. Dit kan ook gebruikt worden om te controleren of de bestandsnamen overeenkomen met het geconfigureerde formaat door het formaat toe te passen op alle opgeslagen bestanden en dan te controleren of bestanden zijn gewijzigd (en daarom gemarkeerd met een schijfsymbool in de vak met de lijst bestanden). </para
></listitem>
</varlistentry>
<varlistentry id="apply-tag-format">
<term
><menuchoice
><guimenu
>Hulpmiddelen</guimenu
> <guimenuitem
>Tagformaat toepassen</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Wanneer <guilabel
>Automatisch formaat toepassen</guilabel
> is uitgeschakeld voor het tagformaat in de configuratiedialoog kan dit menu-item gebruikt worden om <action
>het geconfigureerde formaat op de tags van de geselecteerde bestanden toe te passen</action
>. Dit kan ook gebruikt worden om te controleren of de tags overeenkomen met het geconfigureerde formaat door het formaat toe te passen op alle opgeslagen bestanden en dan te controleren of bestanden zijn gewijzigd (en daarom gemarkeerd met een schijfsymbool in de vak met de lijst bestanden). </para
></listitem>
</varlistentry>
<varlistentry id="apply-text-encoding">
<term
><menuchoice
><guimenu
>Hulpmiddelen</guimenu
> <guimenuitem
>Tekst-codering toepassen</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Stelt de geselecteerde <guilabel
>Tekstcodering</guilabel
> in in <menuchoice
><guimenu
>Instellingen</guimenu
><guimenuitem
>&kid3; configureren... </guimenuitem
><guimenuitem
>Tagsectie</guimenuitem
><guimenuitem
>Tabblad Tag 2</guimenuitem
></menuchoice
> voor alle geselecteerde bestanden. Als UTF8 is geselecteerd, zal UTF16 worden gebruikt voor ID3v2.3.0 tags omdat UTF8 niet ondersteund wordt voor dit formaat.</para
></listitem>
</varlistentry>
<varlistentry id="rename-directory">
<term
><menuchoice
><guimenu
>Hulpmiddelen</guimenu
> <guimenuitem
>Map hernoemen...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Deze dialoog biedt de mogelijkheid om automatisch de huidig geopende map te hernoemen volgens de tags in de bestanden. een aantal formaten zijn voorgeconfigureerd om informatie over artiest, album en jaar in de mapnaam mee te nemen. Het is ook mogelijk om een aangepast formaat in te stellen en de lijst met beschikbare formaten te <guibutton
>Bewerken</guibutton
>. De volgende speciale codes worden gebruikt om tagwaarden in de mapnaam in te voegen: </para>
<itemizedlist>
<listitem
><para
>%s %{title} Titel (Song)</para
></listitem>
<listitem
><para
>%a %{artist} Artiest</para
></listitem>
<listitem
><para
>%l %{album} Album</para
></listitem>
<listitem
><para
>%c %{comment} Opmerking</para
></listitem>
<listitem
><para
>%y %{year} Jaar</para
></listitem>
<listitem
><para
>%t %{track} Track (⪚ 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (⪚ 001 for %{track.3})</para
> %{year" "}%{dirname} zal het jaar voorvoegen aan de huidige mapnaam)</para
></listitem>
<listitem
><para
>%{max-year} De maximum waarde van jaar gevonden voor deze map, kan ook gebruikt worden met andere codes dan "year"</para
></listitem>
<listitem
><para
>%{min-year} De minimum jaarwaarde gevonden voor deze map</para
></listitem>
<listitem
><para
>%{unq-year} De unieke jaarwaarde gevonden voor deze map of leeg indien niet uniek</para
></listitem>
</itemizedlist>
<para
>Als een scheidingsteken voor mappen "/" wordt gevonden in het formaat, worden meerdere mappen aangemaakt. Als u een nieuwe map wilt aanmaken in plaats van de huidige map te hernoemen, selecteer dan in het keuzevakje <guilabel
>Actie</guilabel
> <guilabel
>Map aanmaken</guilabel
> in plaats van <guilabel
>Map hernoemen</guilabel
>. De <guilabel
>Bron</guilabel
> van de taginformatie kan gekozen worden tussen <guilabel
>Tag 1 en Tag 2</guilabel
>, <guilabel
>Tag 1</guilabel
> en <guilabel
>Tag 2</guilabel
>. Een voorbeeld voor de hernoembewerking uitgevoerd op het eerste bestand is te zien in de secties <guilabel
>Van</guilabel
> en <guilabel
>Naar</guilabel
> van de dialoog. </para>
<para
>Meerdere mappen kunnen hernoemd worden door ze te selecteren. </para
></listitem>
</varlistentry>
<varlistentry id="number-tracks">
<term
><menuchoice
><guimenu
>hulpmiddelen</guimenu
> <guimenuitem
>Tracks nummeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Als de tracknummers in de tags niet zijn ingesteld of de verkeerde waarden hebben, kan deze functie <action
>de tracks automatisch in oplopende volgorde nummeren</action
>. Het startnummer kan ingesteld worden in de dialoog. Als slechts een gedeelte van de tracks genummerd moeten worden, moeten ze geselecteerd worden. </para
><para
>Wanneer <guilabel
>Totaal aantal tracks</guilabel
> is geactiveerd zal het aantal tracks ook ingesteld worden in de tags. </para
><para
>Het is mogelijk de tracks over meerdere mappen te nummeren. De mappen moeten uitgevouwen worden en geselecteerd. </para
><para
>Als <guilabel
>Teller resetten voor elke map</guilabel
> is geactiveerd, wordt de nummering van tracks herstart met het gegeven nummer voor elke map wanneer meerdere mappen zijn geselecteerd. </para
><para
>De dialoog aantal tracks kan ook gebruikt worden om bestaande tracknummers te formatteren zonder de waarden te wijzigen wanneer het keuzevakje <guilabel
>Startnummer</guilabel
> is gedeactiveerd. Het totaal aantal tracks zal toegevoegd worden als het bijbehorende keuzevakje actief is, die gebruikt kan worden om het totaal voor alle geselecteerde tracks in te stellen. Als alleen formattering van de bestaande nummers is gewenst, kan dit keuzevakje ook gedeactiveerd worden. </para
></listitem>
</varlistentry>
<varlistentry id="filter">
<term
><menuchoice
><guimenu
>`Hulpmiddelen</guimenu
> <guimenuitem
>Filter...</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Het filter kan gebruikt worden om alleen die bestanden te tonen die overeenkomen met bepaalde criteria. Dit helpt als u een grote verzaling wilt organiseren en alleen die bestanden wilt bewerken die niet in het gewenste schema passen. De expressie die definieert welke bestanden te tonen gebruikt dezelfde formaatcodes die gebruikt worden in het bestandsnaamformaat, importeren en exporteren. </para>
<itemizedlist>
<listitem
><para
>%s %{title} Titel (Song)</para
></listitem>
<listitem
><para
>%a %{artist} Artiest</para
></listitem>
<listitem
><para
>%l %{album} Album</para
></listitem>
<listitem
><para
>%c %{comment} Opmerking</para
></listitem>
<listitem
><para
>%y %{year} Jaar</para
></listitem>
<listitem
><para
>%t %{track} Track (⪚ 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (⪚ 001 for %{track.3})</para
>%w %{marked} Gemarkeerd, is 1 als het bestand is gemarkeerd (<abbrev
>bijv.</abbrev
> vanwege afkorten of standaard schending), anders leeg</para
></listitem>
<listitem
><para
>%1a %1{artist}, ... Het voorvoegsel 1 gebruiken om waarden van tag 1 te krijgen</para
></listitem>
<listitem
><para
>%2a %{2artist}, ... Het voorvoegsel 2 gebruiken om waarden van tag 2 te krijgen</para
></listitem>
</itemizedlist>
<para
>Deze codes worden vervangen door de waarden voor het bestand en de resulterende tekenreeksen kunnen vergeleken worden met de volgende bewerkingen: </para>
<itemizedlist>
<listitem
><para
>s1 equals s2: waar als s1 en s2 gelijk zijn.</para
></listitem>
<listitem
><para
>s1 contains s2: waar als s1 s2 bevat, <abbrev
>bijv.</abbrev
> s2 is een subtekenreeks van s1.</para
></listitem>
<listitem
><para
>s matches re: waar als s overeenkomt met de reguliere expressie re.</para
></listitem>
</itemizedlist>
<para
>Expressies die waar zijn worden vervangen door 1, onwaar door 0. Waarden waar worden gerepresenteerd door 1, true, on en yes, onwaar waarden door 0, false, off en no. Boolean-operaties zijn niet, en, of (in deze volgorde van voorrang) en kunnen gegroepeerd worden door ronde haakjes. </para>
<para
>Sommige filterregels zijn voorgedefinieerd en kunnen dienen als voorbeelden voor uw eigen expressies: </para>
<variablelist>
<varlistentry
><term
>Alles</term
><listitem>
<para
>Wanneer de lijst met bestanden wordt gefilterd - dit wordt getoond met "[gefilterd]" in de venstertitel - en alle bestanden zullen weer getoond worden, dan kan de filtering omgekeerd worden met dit filter. Het gebruikt een lege expressie, maar een waarde waar zou hetzelfde effect hebben. </para>
>Tests of het bestandspad overeenkomt met het bestandsnaamformaat. Deze regel wordt automatisch aangepast als het bestandsnaamformaat wijzigt. </para>
</listitem
></varlistentry>
<varlistentry
><term
>Geen tag 1</term
><listitem>
<para
><userinput
>%{tag1} equals "" </userinput
></para>
<para
>Toont alleen bestanden die geen tag 1 hebben.</para>
</listitem
></varlistentry>
<varlistentry
><term
>Geen tag 2</term
><listitem>
<para
><userinput
>%{tag2} equals "" </userinput
></para>
<para
>Toont alleen bestanden die geen tag 2 hebben.</para>
</listitem
></varlistentry>
<varlistentry
><term
>ID3v2.3.0 Tag</term
><listitem>
<para
><userinput
>%{tag2} equals "ID3v2.3.0" </userinput
></para>
<para
>Toont alleen bestanden die een ID3v2.3.0 tag hebben.</para>
</listitem
></varlistentry>
<varlistentry
><term
>ID3v2.4.0 Tag</term
><listitem>
<para
><userinput
>%{tag2} equals "ID3v2.4.0" </userinput
></para>
<para
>Toont alleen bestanden die een ID3v2.4.0 tag hebben.</para>
</listitem
></varlistentry>
<varlistentry
><term
>Tag 1 != Tag 2</term
><listitem>
<para
><userinput
>not (%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre} equals %2{genre}) </userinput
></para>
<para
>Toont bestanden met verschillen tussen tag 1 en tag2.</para>
</listitem
></varlistentry>
<varlistentry
><term
>Tag 1 == Tag 2</term
><listitem>
<para
><userinput
>%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre} equals %2{genre} </userinput
></para>
<para
>Toont bestanden met identieke tag 1 en tag 2.</para>
</listitem
></varlistentry>
<varlistentry
><term
>Onvolledig</term
><listitem>
<para
><userinput
>%{title} equals "" or %{artist} equals "" or %{album} equals "" or %{year} equals "" or %{tracknumber} equals "" or %{genre} equals "" </userinput
></para>
<para
>Toont bestanden met lege waarden in de standaard tags (titel, artiest, album, datum, tracknummer, genre).</para>
</listitem
></varlistentry>
<varlistentry
><term
>Geen afbeelding</term
><listitem>
<para
><userinput
>%{picture} equals "" </userinput
></para>
<para
>Toont alleen bestanden die geen afbeelding hebben.</para>
</listitem
></varlistentry>
<varlistentry
><term
>Gemarkeerd</term
><listitem>
<para
><userinput
>not (%{marked} equals "") </userinput
></para>
<para
>Toont alleen bestanden die zijn gemarkeerd omdat ze niet voldoen aan de ID3 standaard, zijn afgekapt of de afbeelding te groot is.</para>
</listitem
></varlistentry>
<varlistentry
><term
>Eigen filter</term
><listitem>
<para
>Om uw eigen filter toe te voegen, selecteer dit item. Als u, bijvoorbeeld, een filter wilt hebben voor artiesten die met "The" beginnen, vervang "Aangepast filter" door de naam "The Bands" en druk op <keycap
>Enter</keycap
>. voeg daarna de volgende expressie in in het invoerveld: </para>
<para
><userinput
>%{artist} matches "The.*" </userinput
></para>
<para
>Klik daarna op <guibutton
>Instellingen opslaan</guibutton
>. Klik op <guibutton
>Toepassen</guibutton
> om de bestanden te filteren. Alle bewerkte bestanden worden getoond in de tekstweergave, met een "+" voor diegenen die overeenkomen met het filter en een "-" voor de anderen. Na beëindiging zullen alleen de bestanden met een artiest die begint met "The" getoond worden en de venstertitel is gemarkeerd met "[gefilterd]". </para>
</listitem
></varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry id="convert-to-id3v24">
<term
><menuchoice
><guimenu
>Hulpmiddelen</guimenu
> <guimenuitem
>ID3v2.3 naar ID3v2.4 converteren</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Als er ID3v2.3 tags in de geselecteerde bestanden zitten, zullen ze <action
>geconverteerd worden naar ID3v2.4</action
> tags. Frames die niet ondersteund worden door TagLib zullen niet meegenomen worden. Alleen bestanden zonder niet opgeslagen wijzigingen zullen worden geconverteerd. </para
></listitem>
</varlistentry>
<varlistentry id="convert-to-id3v23">
<term
><menuchoice
><guimenu
>Hulpmiddelen</guimenu
> <guimenuitem
>ID3v2.4 naar ID3v2.3 converteren</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Als er ID3v2.4 tags in de geselecteerde bestanden zitten, zullen ze <action
>geconverteerd worden naar ID3v2.3</action
> tags. Alleen bestanden zonder niet opgeslagen wijzigingen zullen worden geconverteerd. </para
></listitem>
</varlistentry>
<varlistentry id="play">
<term
><menuchoice
><guimenu
>Hulpmiddelen</guimenu
> <guimenuitem
>Afspelen</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Dit opent een eenvoudige werkbalk om geluidsbestanden af te spelen. Het bevat knoppen voor de basisbesturing (<guibutton
>Afspelen/Pauzeren</guibutton
>, <guibutton
>Afspelen stoppen</guibutton
>, <guibutton
>Vorige track</guibutton
>, <guibutton
>Volgende track</guibutton
>, <guibutton
>Afsluiten</guibutton
>), schuifregelaars voor positie en volume en een weergave van de huidige positie. Als meerdere bestanden zijn geselecteerd, zullen de geselecteerde tracks worden afgespeeld, anders zullen alle bestanden worden afgespeeld. </para
></listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1 id="settings-menu">
<title
>Het menu Instellingen</title>
<para>
<variablelist>
<varlistentry>
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>Werkbalk tonen</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Schakelt het tonen van de werkbalk om.</action
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>Statusbalk tonen</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Schakelt het tonen van de statusbalk om</action
>, die langere acties toont zoals openen of opslaan van een map.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>Afbeelding tonen</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Schakelt het tonen van het voorbeeld van de albumhoesillustratie om.</action>
</para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>Automatisch tags verbergen</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Lege tags worden automatisch verborgen als deze optie actief is. De secties <guilabel
>Bestand</guilabel
>, <guilabel
>Tag 1</guilabel
> en <guilabel
>Tag 2</guilabel
> kunnen handmatig in- en uitgeklapt worden door op de overeenkomstige knoppen <guibutton
>-</guibutton
>/<guibutton
>+</guibutton
> te klikken. </para
></listitem>
</varlistentry>
<varlistentry id="configure-shortcuts">
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>Sneltoetsen instellen...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Opent een dialoog om sneltoetsen aan de meeste van de programmafuncties toe te kennen. Er zijn zelfs functies zonder overeenkomstig menu of knop beschikbaar, <abbrev
>bijv.</abbrev
> volgend bestand, vorig bestand, alles selecteren. </para>
</listitem>
</varlistentry>
<varlistentry id="configure-kid3">
<term
><menuchoice
><guimenu
>Instellingen</guimenu
> <guimenuitem
>&kid3; configureren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Opent de <action
>configuratiedialoog</action
>, die bestaat uit pagina's voor tags, bestanden, gebruikeracties en netwerkinstellingen. </para>
<para
>Specifieke opties voor tags zijn te vinden op de pagina <guilabel
>Tags</guilabel
>, die zelf gescheiden zijn in vier tabbladen voor <guilabel
>Tag 1</guilabel
>, <guilabel
>Tag 2</guilabel
>, <guilabel
>Tag 3</guilabel
> en <guilabel
>Alle tags</guilabel
>. </para>
<para
>Als <guilabel
>Ingekorte velden markeren</guilabel
> is geactiveerd, zullen ingekorte ID3v1.1 velden rood worden gemarkeerd. De tekstvelden van ID3v1.1 tags kunnen slechts 30 tekens hebben, het commentaar slechts 28 tekens. Ook het genre en de tracknummers zijn beperkt, zodat velden ingekort kunnen worden bij importeren of overgezet uit ID3v2. Ingekorte velden ed het bestand zullen rood gemarkeerd worden en de markering zal verwijder worden nadat het veld is bewerkt. </para>
<para
>Bij <guilabel
>Tekstcodering</guilabel
> voor <guilabel
>ID3v1</guilabel
> is het mogelijk om de tekenset gebruikt in ID3v1 tags in te stellen. Deze codering wordt verondersteld ISO-8859-1 te zijn, het is dus aanbevolen om deze standaard waarde te behouden. Er zijn tags in gebruik met een verschillende codering, het kan dus hier ingesteld worden en de ID3v1 tags kunnen dan gekopieerd worden naar ID3v2 die Unicode ondersteunt. </para>
<para
>Het keuzevakje <guilabel
>Track/totaal aantal tracks-formaat</guilabel
> bestuurt of het veld tracknummer van ID3v2 tags eenvoudig het tracknummer bevat of extra het totaal aantal tracks in de map. </para>
<para
>Wanneer <guilabel
>Genre als tekst in plaats van numerieke tekenreeks</guilabel
> is geactiveerd, zullen alle ID3v2 genres opgeslagen worden als een teksttekenreeks zelfs als er een overeenkomende code is voor ID3v1-genres. Als deze optie niet is ingesteld, worden genres waarvoor een ID3v1-code bestaat opgeslagen als het nummer van de genrecode (in haakjes voor ID3v2.3). Dus het genre Metal wordt opgeslagen als "Metal" of "(9)" afhankelijk van deze optie. Genres die niet in de lijst met ID3v1 genres staan worden altijd opgeslagen als een teksttekenreeks. Het doel van deze optie is verbeterde compatibiliteit met apparaten die niet juist genrecodes interpreteren. </para>
<para
>Wanneer <guilabel
>WAV-bestanden met kleine letters id3-chunk</guilabel
> is geactiveerd, zullen de RIFF-chunk, gebruikt om ID3v2 tags in WAV-bestanden op te slaan, "id3 " worden genoemd in plaats van "ID3 ". &kid3; en andere toepassingen, die TagLib gebruiken, accepteren zowel de kleine letters als de hoofdletter variant bij lezen van WAV-bestanden, maar ze gebruiken "ID3 " bij schrijven van ID3v2 tags naar WAV-bestanden. Omdat er andere toepassingen zijn die alleen "id3 " accepteren (<abbrev
>bijv.</abbrev
> JRiver Media Center en foobar2000), deze optie kan gebruikt worden om tags aan te maken die gelezen kunnen worden door zulke toepassingen. </para>
<para
>Wanneer <guilabel
>Standaard schending markeren</guilabel
> is geactiveerd, ID3v2-velden, die de standaard schenden zullen in rood gemarkeerd worden. Details over de schending worden getoond in een tekstballon: </para>
<itemizedlist>
<listitem
><para
>Moet uniek zijn</para
></listitem>
<listitem
><para
>Nieuwe regel is verboden</para
></listitem>
<listitem
><para
>Regeleinde is verboden</para
></listitem>
<listitem
><para
>Eigenaar mag niet leeg zijn</para
></listitem>
<listitem
><para
>Moet numeriek zijn</para
></listitem>
<listitem
><para
>Moet numeriek of nummer/totaal zijn</para
></listitem>
<listitem
><para
>Formaat is DDMM</para
></listitem>
<listitem
><para
>Formaat is HHMM</para
></listitem>
<listitem
><para
>Formaat is YYYY</para
></listitem>
<listitem
><para
>Moet beginnen met een jaar en een spatie</para
></listitem>
<listitem
><para
>Moet ISO 8601 datum/tijd zijn</para
></listitem>
<listitem
><para
>Moet muzieksleutel zijn, 3 tekens, A-G, B, #, m, o</para
></listitem>
<listitem
><para
>Moet ISO 639-2 taalcode hebben, 3 kleine letters</para
></listitem>
<listitem
><para
>Moet ISRC-code zijn, 12 tekens</para
></listitem>
<listitem
><para
>Moet een lijst zijn met tekenreeksen gescheiden door '|'</para
></listitem>
<listitem
><para
>Heeft overvloedige witruimte</para
></listitem>
</itemizedlist>
<para
>De ID3 standaarddocumenten zijn online beschikbaar: </para>
<itemizedlist>
<listitem
><para
><ulink url="http://id3.org/id3v2.3.0"
>ID3 tag versie 2.3.0</ulink
></para
></listitem>
<listitem
><para
><ulink url="http://id3.org/id3v2.4.0-structure"
>ID3 tag versie 2.4.0 - Hoofdstructuur</ulink
></para
></listitem>
<listitem
><para
><ulink url="http://id3.org/id3v2.4.0-frames"
>ID3 tag versie 2.4.0 - Native Frames</ulink
></para
></listitem>
</itemizedlist>
<para
><guilabel
>Tekstcodering</guilabel
> definieert de standaard codering gebruikt voor ID3v2 frames en kan ingesteld worden op <guilabel
>ISO-8859-1</guilabel
>, <guilabel
>UTF16</guilabel
> of <guilabel
>UTF8</guilabel
>. <guilabel
>UTF8</guilabel
> is niet geldig voor ID3v2.3.0 frames; indien het is ingesteld zal in plaats daarvan <guilabel
>UTF16</guilabel
> worden gebruikt. Voor ID3v2.4.0 frames zijn alle drie coderingen mogelijk. </para>
<para
><guilabel
>Versie gebruikt voor nieuwe tags</guilabel
> bepaalt of nieuwe ID3v2 tags aangemaakt worden als versie 2.3.0 or 2.4.0. </para>
<para
><guilabel
>Tracknummercijfers</guilabel
> is het aantal cijfers in velden voor tracknummers. Voorloopnullen worden gebruikt voor opvulling. Met een waarde 2 zal het tracknummer 5 ingesteld worden als "05". </para>
<para
>De keuzelijst <guilabel
>Naam commentaarveld</guilabel
> is alleen relevant voor Ogg/Vorbis en FLAC bestanden en stelt de naam van het veld gebruikt voor commentaar in. Verschillende toepassingen schijnen verschillende namen te gebruiken, "<literal
>COMMENT</literal
>" wordt gebruikt door <application
>XMMS</application
>, terwijl &amarok; "<literal
>DESCRIPTION</literal
>" gebruikt. </para>
<para
>Het formaat van afbeeldingen in Ogg/Vorbis bestanden wordt bepaald door <guilabel
>Naam afbeeldingsveld</guilabel
>, die "<literal
>METADATA_BLOCK_PICTURE</literal
>" of "<literal
>COVERART</literal
>" kan zijn. De eerste is de officiële standaard en gebruikt hetzelfde formaat als afbeeldingen in FLAC tags. "<literal
>COVERART</literal
>" is een vroegere onofficiële manier om afbeeldingen in Vorbis commentaar in te voegen. Het kan gebruikt worden voor compatibiliteit met oudere afspelers. </para>
<para
>Als het keuzevakje <guilabel
>Markeren indien groter dan (bytes)</guilabel
> is geactiveerd, zullen bestanden die ingebedde albumhoesillustraties die over de gegeven grootte in bytes gaan gemarkeerd worden in rood. Dit kan gebruikt worden om bestanden te vinden met te grootte afbeeldingen die niet geaccepteerd worden door sommige toepassingen en spelers. De standaard waarde is 131072 bytes (128 kB). </para>
<para
><guilabel
>Aangepaste genres</guilabel
> kan gebruikt worden om genres te definiëren, die niet beschikbaar zijn in de standaard genrelijst, <abbrev
>bijv.</abbrev
> "Gothic Metal". Zulke aangepaste genres zullen in het afrolvak <guilabel
>Genre</guilabel
> van <guilabel
>Tag 2</guilabel
> verschijnen. Voor ID3v1.1 tags, kunnen slechts de voorgedefinieerde genres gebruikt worden. </para>
<para
>De lijst met aangepaste genres kan ook gebruikt worden om het aantal genres beschikbaar in het afrolvak <guilabel
>Genre</guilabel
> tot die typisch worden gebruikt. Als uw verzaling het meest bestaat uit muziek in de genres Metal, Gothic Metal, Ancient en Hard Rock, dan kunt u die genres invoeren en <guilabel
>Alleen aangepaste genres tonen</guilabel
> markeren. Het afrolvak <guilabel
>Tag 2</guilabel
> <guilabel
>Genre</guilabel
> zal dan alleen deze vier genres bevatten en u zult er niet naar hoeven zoeken in de complete lijst met genres ervoor. In dit voorbeeld zullen alleen Metal en Hard Rock getoond worden in lijst met de tag 1 genres, omdat deze twee aangepaste items in genre standaard zijn in genres. Als <guilabel
>Alleen aangepaste genres tonen</guilabel
> niet actief is, zijn de aangepaste genres te vinden aan het eind van de lijst met genres. </para>
<para
><guilabel
>Frames met snelle toegang</guilabel
> definieert welke frametypen altijd getoond worden in de sectie <link linkend="tag2"
>Tag 2</link
>. Zulke frames kunnen dan toegevoegd worden zonder eerst de knop <guibutton
>Toevoegen</guibutton
> te gebruiken. De volgorde van deze frames met snelle toegang kan gewijzigd worden door slepen en loslaten van items. </para>
<para
>De keuzelijst <guilabel
>Veldnaam van tracknummer</guilabel
> is alleen relevant voor RIFF INFO en stelt de naam van het veld gebruikt voor tracknummers in. Tracknummers zijn niet in de originele RIFF-standaard gespecificeerd, er zijn toepassingen die "<literal
>ITRK</literal
>" gebruiken, anderen gebruiken "<literal
>IPRT</literal
>". </para>
<para
><guilabel
>Tagformaat</guilabel
> bevat opties voor het formaat van de tags. Wanneer <guilabel
>Formaat automatisch toepassen</guilabel
> is geactiveerd wordt de formaatconfiguratie automatisch gebruikt bij bewerken van tekst in de regelbewerking. <guilabel
>Validatie</guilabel
> schakelt het valideren in in de besturing met waarden voor track/totaal en datum/tijd. De <guilabel
>Conversie van hoofd/kleine letters</guilabel
> kan ingesteld worden op <guilabel
>Geen wijzigingen</guilabel
>, <guilabel
>Alles kleine letters</guilabel
>, <guilabel
>Alles hoofdletters</guilabel
>, <guilabel
>Eerste letter hoofdletter</guilabel
> of <guilabel
>Alle eerste letters hoofdletters</guilabel
>. Om conversie tussen kleine en hoofdletters rekening houdend met de taalcode, kan een taalcode geselecteerd worden in de onderstaande keuzelijst. De vervangingslijst voor tekenreeksen kan ingesteld worden op willekeurige tekenreeksovereenkomsten. Om een nieuwe overeenkomst toe te voegen, selecteer de cel <guilabel
>Van</guilabel
> van een rij en voeg de te vervangen tekst in, ga daarna naar de kolom <guilabel
>Naar</guilabel
> en voer de vervangende tekst in. Wanneer de vervangende tekst begint of eindigt met een slash ("/"), wordt een reguliere expressie gebruikt. Voor reguliere expressies met vangstgroepen, worden \1, \2, ... in <guilabel
>Naar</guilabel
> vervangen door de tekenreeks gevangen door de overeenkomstige vangstgroep. Om een overeenkomstset te verwijderen geef de cel <guilabel
>Van</guilabel
> een lege waarde (<abbrev
>e.g.</abbrev
> door eerst een spatie te typen en daarna een backspace). Invoegen en verwijderen van rijen is ook mogelijk met een contextmenu die verschijnt wanneer de <mousebutton
>rechter</mousebutton
> muisknop wordt ingedrukt. Vervangen is alleen actief, als het keuzevak <guilabel
>Tekenreeksvervanging</guilabel
> is geactiveerd. </para>
<para
>De tabel in <guilabel
>Waardering</guilabel
> bevat de overeenkomst van sterwaardering naar de effectieve waarden opgeslagen in de tag. De frames met informatie over waardering staan in de lijst in de rij Waardering van de <link linkend="table-frame-list"
>framelijst</link
>. Voor deze frames kan de waardering ingesteld worden door een aantal sterren uit vijf sterren te geven. Verschillende tagformaten en verschillende toepassingen gebruiken verschillende waarden om overeenkomst tussen de sterwaardering en de waarde opgeslagen in de tag te definiëren. Om het juiste aantal sterren te tonen zal &kid3; de overeenkomst in deze tabel opzoeken. De sleutel om de overeenkomst op te zoeken is de framenaam, bijvoorbeeld "RATING" wordt gebruikt voor Vorbis commentaar of "IRTD" voor RIFF INFO. Voor ID3v2 tags wordt een gecombineerde sleutel gebruikt bestaande uit de frame-ID "POPM" van het Popularimeterframe en zijn "Email"-veld, gescheiden door een punt. Daarom bestaan er verschillende sleutels voor ID3v2, <abbrev
>e.g.</abbrev
> "POPM.Windows Media Player 9 Series" voor de overeenkomst gebruikt door Windows Media Player en Explorer en eenvoudig "POPM" voor POPM-frames met een leeg "Email"-veld. Omdat er meerdere items voor "POPM" kunnen bestaan, is hun volgorde belangrijk. Wanneer &kid3; een nieuw Popularimeterframe oevoegt, zal het het eerste "POPM"-item gebruiken om de waarde te bepalen om te schrijven in het "Email"-veld. Deze vwaarde zal dan de te gebruiken overeenkomst specificeren voor sterwaarderingen. Het eerste item wordt ook gebruikt als er geen sleutel is gevonden, het is daarom het standaard item. </para>
<para
>Naast de kolom <guilabel
>Naam</guilabel
> met de sleutels, heeft de tabel kolommen <guilabel
>1</guilabel
> tot <guilabel
>5</guilabel
> om het overeenkomstige aantal sterren op te slaan dat is gegeven. Op de andere manier bepaalt het aantal sterren die getoond worden voor de waarde opgeslagen in het frame. De onderstaande rij in de tabel, bijvoorbeeld, bevat de waarden 1, 64, 128, 196, 255. De drempel voor het aantal te tonen sterren ligt tussen deze waarden en is compatibel met wat &Windows; Explorer gebruikt. </para>
<table id="table-rating">
<title
>Item in waarderingstabel</title>
<tgroup cols="6">
<thead>
<row
><entry
>Naam</entry
><entry
>1</entry
> <entry
>2</entry
> <entry
>3</entry
> <entry
>4</entry
> <entry
>5</entry
></row>
</thead>
<tbody>
<row
><entry
>POPM</entry
><entry
>1</entry
><entry
>64</entry
><entry
>128</entry
><entry
>196</entry
><entry
>255</entry
></row>
<row
><entry
>Bereik</entry
><entry
>1-31</entry
><entry
>32-95</entry
><entry
>96-159</entry
><entry
>160-223</entry
><entry
>224-255</entry
></row>
</tbody>
</tgroup>
</table>
<para
->On the page <guilabel
->Files</guilabel
-> the check box <guilabel
->Load last-opened files</guilabel
-> can be marked so that &kid3; will open and select the last selected file when it is started the next time. <guilabel
->Preserve file timestamp</guilabel
-> can be checked to preserve the file modification time stamp. <guilabel
->Filename for cover</guilabel
-> sets the name which is suggested when an embedded image is exported to a file. With <guilabel
->Text encoding (Export, Playlist)</guilabel
-> the encoding used when writing files can be set. The default <guilabel
->System</guilabel
-> can be changed for example if playlists have to be used on a different device. </para>
+>Op de pagina <guilabel
+>Bestanden</guilabel
+> kan het keuzevak <guilabel
+>Laatst geopende bestanden</guilabel
+> geactiveerd worden zodat &kid3; het laatst geselecteerde bestand zal openen en selecteren wanneer het de volgende keer wordt gestart. <guilabel
+>Tijdstippen van bestanden behouden</guilabel
+> kan geactiveerd worden om de wijzigingsdatum van het bestand te behouden. <guilabel
+>Bestandsnaam voor hoes</guilabel
+> stelt de naam in die wordt gesuggereerd wanneer een ingebedde afbeelding geëxporteerd wordt naar een bestand. Met <guilabel
+> kan de codering ingesteld worden die wordt gebruikt bij schrijven van bestanden. Het standaard <guilabel
+>Systeem</guilabel
+> kan gewijzigd worden voor bijvoorbeeld afspeellijsten die van een ander apparaat moeten komen. </para>
<para
>Als <guilabel
>Wijzigingen markeren</guilabel
> actief is, worden gewijzigde velden gemarkeerd met een lichtgrijze achtergrond van het label. </para>
<para
->The section <guilabel
->File List</guilabel
-> determines which files are displayed in the file list. A <guilabel
+>De sectie <guilabel
+>Bestandenlijst</guilabel
+> bepaalt welke bestanden getoond worden in de bestandenlijst. Een <guilabel
>Filter</guilabel
-> can be used to restrict the items in this list to files with supported extensions. To explicitly specify which folders to display in the file list or exclude certain folders, the options <guilabel
->Include folders</guilabel
-> and <guilabel
->Exclude folders</guilabel
-> can be used. They can contain wildcard expressions, for instance <filename
->*/Music/*</filename
-> to include only the <filename
->Music</filename
-> folder, or <filename
+> kan gebruikt worden om de items in deze lijst te beperken tot bestanden met ondersteunde extensies. Om explicitier te specificeren welke mappen te tonen in de bestandenlijst of bepaalde mappen uit te sluiten, kunnen de opties <guilabel
+>Mappen insluiten</guilabel
+> en <guilabel
+>Mappen uitsluiten</guilabel
+> worden gebruikt. Ze kunnen jokertekens bevatten, bijvoorbeeld <filename
+>*/Muziek/*</filename
+> om alleen de map <filename
+>Muziek</filename
+> in te sluiten of <filename
>*/iTunes/*</filename
-> to exclude the iTunes folder from the file list. If multiple such expressions have to be used, they can be separated by spaces or semicolons. </para>
+> om de map iTunes van de bestandenlijst uit te sluiten. Als meerdere van zulke uitdrukkingen gebruikt moeten worden, dan kunnen ze gescheiden worden door spaties of puntkomma's. </para>
<para
->The buttons <guibutton
->Filename from tag</guibutton
-> and <guibutton
->Tag from filename</guibutton
-> in section <guilabel
->Format</guilabel
-> open dialogs to edit the formats which are available in the <guilabel
->Format</guilabel
-> combo boxes (with arrows up and down), which can be found in the <link linkend="file"
->File</link
-> section of the main window. </para>
+>De knoppen <guibutton
+>Bestandsnaam uit tag</guibutton
+> en <guibutton
+>Tag uit bestandsnaam</guibutton
+> in de sectie <guilabel
+>Formaat</guilabel
+> openen dialogen om de formaten te bewerken die beschikbaar zijn in de keuzelijsten <guilabel
+>Formaat</guilabel
+> (met pijlen omhoog en omlaag), die zijn te vinden in de sectie <link linkend="file"
+>bestand</link
+> van het hoofdvenster. </para>
<para
><guilabel
>Bestandsnaamformaat</guilabel
> bevat opties voor het formaat van de bestandsnamen. Dezelfde opties als in <guilabel
>Tagformaat</guilabel
> zijn beschikbaar. </para>
<para
->The <guilabel
->User Actions</guilabel
-> page contains a table with the commands which are available in the context menu of the file list. For critical operations such as deleting files, it is advisable to mark <guilabel
->Confirm</guilabel
-> to pop up a confirmation dialog before executing the command. <guilabel
->Output</guilabel
-> can be marked to see the output written by console commands (standard output and standard error). <guilabel
->Name</guilabel
-> is the name displayed in the context menu. <guilabel
->Command</guilabel
-> is the command line to be executed. Arguments can be passed using the following codes: </para>
+>De pagina <guilabel
+>Gebruikeracties</guilabel
+> bevat een tabel met de commando's die beschikbaar zijn in het contextmenu van de bestandenlijst. Voor kritische bewerkingen zoals bestanden verwijderen is het aan te bevelen om <guilabel
+>Bevestigen</guilabel
+> te markeren om een bevestigingsdialoog te laten verschijnen alvorens het commando uit te voeren. <guilabel
+>Uitvoer</guilabel
+> kan gemarkeerd worden om de uitvoer geschreven door consolecommando's (standaarduitvoer en standaardfouten) te tonen. <guilabel
+>Naam</guilabel
+> is de naam getoond in het contextmenu. <guilabel
+>Commando</guilabel
+> is de uit te voeren opdrachtregel. Argumenten kunnen doorgegeven worden met de volgende codes: </para>
<itemizedlist>
<listitem
><para
>%F %{files} Bestandspaden (een lijst als meerdere bestanden zijn geselecteerd)</para
></listitem>
<listitem
><para
>%f %{file} Bestandspad naar een enkel bestand</para
></listitem>
<listitem
><para
>%uF %{urls} &URL;'s (een lijst als meerdere bestanden zijn geselecteerd)</para
></listitem>
<listitem
><para
>%uf %{url} &URL; naar een enkel bestand</para
></listitem>
<listitem
><para
>%d %{directory} Map</para
></listitem>
<listitem
><para
>%s %{title} Titel (Song)</para
></listitem>
<listitem
><para
>%a %{artist} Artiest</para
></listitem>
<listitem
><para
>%l %{album} Album</para
></listitem>
<listitem
><para
>%c %{comment} Opmerking</para
></listitem>
<listitem
><para
>%y %{year} Jaar</para
></listitem>
<listitem
><para
>%t %{track} Track (⪚ 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (⪚ 001 for %{track.3})</para
>%b %{browser} commando om de webbrowser te starten</para
></listitem>
<listitem
><para
>%q %{qmlpath} basismap van geleverde QML-bestanden</para
></listitem>
</itemizedlist>
<para
>De speciale code <command
>@separator</command
> kan ingesteld worden als een commando om een scheidingsteken in te voegen in het contextmenu van gebruikersacties. Menu-items kunnen in een submenu gestopt worden door ze te omgeven met commando's <command
>@beginmenu</command
> en <command
>@endmenu</command
>. De naam van het submenu wordt bepaald door de kolom <guilabel
>Naam</guilabel
> van het commando <command
>@beginmenu</command
>. </para>
<para id="configure-user-actions-qml"
->To execute QML scripts, <command
+>Om QML-scripts uit te voeren wordt <command
>@qml</command
-> is used as a command name. The path to the QML script is passed as a parameter. The provided scripts can be found in the folder <filename
+> gebruikt als een commandonaam. Het pad naar het QML-script wordt doorgegeven als een parameter. De geleverde scripts zijn te vinden in de map <filename
>%{qmlpath}/script/</filename
-> (on &Linux; typically <filename
+> (op &Linux; typisch <filename
>/usr/share/kid3/qml/script/</filename
->, on Windows <filename
+>, op Windows <filename
>qml/script/</filename
-> inside the installation folder, and on &macOS; in the app folder <filename
+> binnen de installatiemap en op &macOS; in de app-map <filename
->). Custom scripts can be stored in any folder. If the QML code uses &GUI; components, <command
+>). Eigen scripts kunnen in elke map worden opgeslagen. Als de QML code &GUI;-componenten gebruiken, moet <command
>@qmlview</command
-> shall be used instead of <command
+> worden gebruikt in plaats van <command
>@qml</command
->. Additional parameters are passed to the QML script where they will be available via the <function
+>. Extra parameters worden doorgegeven aan het QML-script waar ze beschikbaar zullen zijn via de functie <function
>getArguments()</function
-> function. An overview of some functions and properties which are available in QML can be found in the appendix <link linkend="qml-interface"
->QML Interface</link
+>. Een overzicht van enige functies en eigenschappen die beschikbaar zijn in QML zijn te vinden in de appendix <link linkend="qml-interface"
+>QML-interface</link
>. </para>
<para
>The command which will be inserted with %{browser} can be defined in the <guilabel
>Web browser</guilabel
> line edit above. Commands starting with %{browser} can be used to fetch information about the audio files from the web, for instance <screen width="40"
> will query the lyrics for the current song in <ulink url="http://www.lyricwiki.org"
>LyricWiki</ulink
>. The "u" in %u{artist} and %u{title} is used to &URL;-encode the artist %{artist} and song %{title} information. It is easy to define your own queries in the same way, <abbrev
>e.g.</abbrev
> an image search with <ulink url="http://www.google.com"
>To add album cover art to tag 2, you can search for images with Google or Amazon using the commands described above. The picture can be added to the tag with drag and drop. You can also add an image with <guibutton
>Add</guibutton
>, then select the Picture frame and import an image file or paste from the clipboard. Picture frames are supported for ID3v2, MP4, FLAC, Ogg and ASF tags. </para>
<para
>Om items in de tabel toe te voegen en te verwijderen kan een contextmenu worden gebruikt. </para>
<para
>De pagina <guilabel
>Netwerk</guilabel
> bevat alleen een veld om het proxy-adres in te voegen en optioneel de poort, gescheiden door een dubbelepunt. De proxy zal gebruikt worden bij importeren vanaf een Internetserver wanneer het keuzevakje is geactiveerd. </para>
<para
>In the <guilabel
>Plugins</guilabel
> page, available plugins can be enabled or disabled. The plugins are separated into two sections. The <guilabel
>Metadata Plugins & Priority</guilabel
> list contains plugins which support audio file formats. The order of the plugins is important because they are tried from top to bottom. Some formats are supported by multiple plugins, so files will be opened with the first plugin supporting them. The <guilabel
>TaglibMetadata</guilabel
> supports most formats, if it is at the top of the list, it will open most of the files. If you want to use a different plugin for a file format, make sure that it is listed before the <guilabel
>TaglibMetadata</guilabel
> plugin. Details about the metadata plugin and why you may want to use them instead of TagLib are listed below. </para>
<itemizedlist>
<listitem
><para
><guilabel
>Id3libMetadata</guilabel
>: gebruikt <ulink url="http://id3lib.sourceforge.net"
>id3lib</ulink
> voor ID3v1.1 en ID3v2.3 tags in MP3, MP2, AAC files. Ondersteunt enkele frametypen meer dan TagLib.</para
></listitem>
<listitem
><para
><guilabel
>OggFlacMetadata</guilabel
>: gebruikt <ulink url="http://xiph.org/ogg/"
>libogg</ulink
>, <ulink url="http://xiph.org/vorbis/"
>libvorbis, libvorbisfile</ulink
> voor Ogg-bestanden en bovendien <ulink url="http://flac.sourceforge.net"
>libFLAC++ en libFLAC</ulink
> voor FLAC-bestanden. Dit zijn de officiële bibliotheken voor deze formaten.</para
></listitem>
<listitem
><para
><guilabel
>TaglibMetadata</guilabel
>: gebruikt <ulink url="http://taglib.github.io/"
>TagLib</ulink
> die heel wat audiobestandformaten ondersteunt. Het kan gebruikt worden voor alle audiobestanden ondersteund door &kid3;.</para
></listitem>
<listitem
><para
><guilabel
>Mp4v2Metadata</guilabel
>: <ulink url="http://code.google.com/p/mp4v2"
>mp4v2</ulink
> is oorspronkelijk gebruikt door &kid3; om M4A-bestanden te ondersteunen. Kan gebruikt worden in geval van problemen met de ondersteuning van M4A van TagLib. </para
></listitem>
</itemizedlist>
<para
>De sectie <guilabel
>Beschikbare plug-ins</guilabel
> bevat een lijst met de overblijvende plug-ins. Hun volgorde is niet belangrijk, maar ze kunnen in- of uitgeschakeld worden met de keuzevakjes. </para>
<itemizedlist>
<listitem
><para
><guilabel
>AmazonImport</guilabel
>: Gebruikt voor de functie <guimenuitem
>Importeren van Amazon...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>DiscogsImport</guilabel
>: Gebruikt voor de functie <guimenuitem
>Importeren van Discogs...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>FreedbImport</guilabel
>: Gebruikt voor de functies <guimenuitem
>Importeren van gnudb.org...</guimenuitem
> en <guimenuitem
>Importeren van TrackType.org...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>MusicBrainzImport</guilabel
>: Gebruikt voor de functie <guimenuitem
>Importeren van MusicBrainz Release...</guimenuitem
>, die afhangt van de bibliotheken <ulink url="http://acoustid.org/chromaprint"
>Chromaprint</ulink
> en <ulink url="http://libav.org/"
>libav</ulink
>. </para
></listitem>
</itemizedlist>
<para
>Plug-ins die uitgeschakeld zijn zullen niet geladen worden. Dit kan gebruikt worden om gebruik van hulpbronnen en opstarttijd te optimaliseren. De instellingen op deze pagina zijn alleen effectief na opnieuw starten van &kid3;. </para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1 id="help-menu">
<title
>Het menu Help</title>
<para>
<variablelist>
<varlistentry>
<term
><menuchoice
><guimenu
>Help</guimenu
> <guimenuitem
>Handboek van &kid3;</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Opent dit handboek.</action
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><menuchoice
><guimenu
>Help</guimenu
> <guimenuitem
>Info over &kid3;</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Toont een korte formatie over &kid3;. </action
></para
></listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
</chapter>
<chapter id="kid3-cli">
<title
>kid3-cli</title>
<sect1 id="kid3-cli-commands">
<title
>Commando's</title>
<para
><command
>kid3-cli</command
> offers a command-line-interface for &kid3;. If a folder path is used, the folder is opened. If one or more file paths are given, the common folder is opened and the files are selected. Subsequent commands will then work on these files. Commands are specified using <option
>-c</option
> options. If multiple commands are passed, they are executed in the given order. If files are modified by the commands, they will be saved at the end. If no command options are passed, <command
>kid3-cli</command
> starts in interactive mode. Commands can be entered and will operate on the current selection. The following sections list all available commands. </para>
<sect2 id="cli-help">
<title
>Help</title>
<cmdsynopsis
><command
>help</command
> <arg
><replaceable
>COMMANDONAAM</replaceable
></arg
> </cmdsynopsis>
<para
>Displays help about the parameters of <replaceable
>COMMAND-NAME</replaceable
> or about all commands if no command name is given. </para>
</sect2>
<sect2 id="cli-timeout">
<title
>Tijdslimiet</title>
<cmdsynopsis
><command
>timeout</command
> <group
> <arg choice="plain"
>default</arg
> <arg choice="plain"
>off</arg
> <arg choice="plain"
><replaceable
>TIME</replaceable
></arg
> </group
> </cmdsynopsis>
<para
>Overwrite the default command timeout. The CLI commands abort after a command specific timeout is expired. This timeout is 10 seconds for <command
>ls</command
> and <command
>albumart</command
>, 60 seconds for <command
>autoimport</command
> and <command
>filter</command
>, and 3 seconds for all other commands. If a huge number of files has to be processed, these timeouts may be too restrictive, thus the timeout for all commands can be set to <replaceable
>TIME</replaceable
> ms, switched off altogether or be left at the default values. </para>
</sect2>
<sect2 id="cli-exit">
<title
>Toepassing afsluiten</title>
<cmdsynopsis
><command
>exit</command
> <arg
>force</arg
> </cmdsynopsis>
<para
>Exit application. If there are modified unsaved files, the <parameter class="command"
>force</parameter
> parameter is required. </para>
</sect2>
<sect2 id="cli-cd">
<title
>Map wijzigen</title>
<cmdsynopsis
><command
>cd</command
> <arg
><replaceable
>FOLDER</replaceable
></arg
> </cmdsynopsis>
<para
>Als geen <replaceable
>MAP</replaceable
> is gegeven, ga naar de persoonlijke map. Als een map is gegeven, ga in die map. Als een of meer bestandspaden zijn gegeven, ga naar hun gemeenschappelijke map en selecteer de bestanden. </para>
</sect2>
<sect2 id="cli-pwd">
<title
>Toon de bestandsnaam van de huidige map.</title>
<cmdsynopsis>
<command
>pwd</command>
</cmdsynopsis>
<para
>Toon de bestandsnaam van de huidige werkmap.</para>
</sect2>
<sect2 id="cli-ls">
<title
>Mappenlijst</title>
<cmdsynopsis>
<command
>ls</command>
</cmdsynopsis>
<para
>List the contents of the current folder. This corresponds to the file list in the &kid3; &GUI;. Five characters before the file names show the state of the file. </para>
> parameter, which specifies whether the command operates on tag 1, 2, or 3. If this parameter is omitted, the default tag numbers are used, which can be set by this command. At startup, it is set to <literal
>12</literal
> which means that information is read from tag 2 if available, else from tag 1; modifications are done on tag 2. The <option
><replaceable
>TAG-NUMBERS</replaceable
></option
> can be set to <userinput
>1</userinput
>, <userinput
>2</userinput
>, or <userinput
>3</userinput
> to operate only on the corresponding tag. If the parameter is omitted, the current setting is displayed. </para>
</sect2>
<sect2 id="cli-get">
<title
>Tagframe ophalen</title>
<cmdsynopsis
><command
>get</command
> <group
> <arg choice="plain"
>all</arg
> <arg choice="plain"
><replaceable
>FRAME-NAME</replaceable
></arg
> </group
> <arg
><replaceable
>TAG-NUMBERS</replaceable
></arg
> </cmdsynopsis>
<para
>This command can be used to read the value of a specific tag frame or get information about all tag frames (if the argument is omitted or <option
>all</option
> is used). Modified frames are marked with a '<computeroutput
>It is possible to get only a specific field from a frame, for example <userinput
>get POPM.Email</userinput
> for the Email field of a Popularimeter frame. If a file has multiple frames of the same kind, the different frames can be indexed with brackets, for example the first performer from a Vorbis comment can be retrieved using <userinput
>get performer[0]</userinput
>, the second using <userinput
>get performer[1]</userinput
>. </para>
<para
>The pseudo field name "selected" can be used to check if a frame is selected, for example <userinput
>get artist.selected</userinput
> will return <computeroutput
>1</computeroutput
> if the artist frame is selected, else <computeroutput
>0</computeroutput
>. </para>
</sect2>
<sect2 id="cli-set">
<title
>Tagframe instellen</title>
<cmdsynopsis
><command
>set</command
> <arg choice="req"
><replaceable
>FRAME-NAME</replaceable
></arg
> <arg choice="req"
><replaceable
>FRAME-VALUE</replaceable
></arg
> <arg
><replaceable
>TAG-NUMBERS</replaceable
></arg
> </cmdsynopsis>
<para
>This command sets the value of a specific tag frame. If <replaceable
>An application for field specifications is the case where you want a custom TXXX frame with "rating" description instead of a standard Popularimeter frame (this seems to be used by some plugins). You can create such a TXXX rating frame with <command
>kid3-cli</command
>, however, you have to first create a TXXX frame with description "rating" and then set the value of this frame to the rating value. <screen width="65"
>To select certain frames before a copy, paste or remove action, the pseudo field name "selected" can be used. Normally, all frames are selected, to deselect all, use <userinput
>set '*.selected' 0</userinput
>, then for example <userinput
>set artist.selected 1</userinput
> to select the artist frame. </para>
</sect2>
<sect2 id="cli-revert">
<title
>Ongedaan maken</title>
<cmdsynopsis>
<command
>revert</command>
</cmdsynopsis>
<para
>Revert all modifications in the selected files (or all files if no files are selected). </para>
</sect2>
<sect2 id="cli-import">
<title
>Uit bestand importeren</title>
<cmdsynopsis
><command
>import</command
> <arg choice="req"
><replaceable
>FILE</replaceable
></arg
> <arg choice="req"
><replaceable
>FORMAT-NAME</replaceable
></arg
> <arg
><replaceable
>TAG-NUMBERS</replaceable
></arg
> </cmdsynopsis>
<para
>Tags are imported from the file <replaceable
>FILE</replaceable
> in the format with the name <replaceable
>FORMAT-NAME</replaceable
> (<abbrev
>e.g.</abbrev
> <userinput
>"CSV unquoted"</userinput
>, see <link linkend="import-text"
>Import</link
>). </para>
<para
>If <userinput
>tags</userinput
> is given for <replaceable
>FILE</replaceable
>, tags are imported from other tags. Instead of <replaceable
>FORMAT-NAME</replaceable
> parameters <replaceable
>SOURCE</replaceable
> and <replaceable
>EXTRACTION</replaceable
> are required, see <link linkend="import-tags"
>Import from Tags</link
>. To apply the import from tags on the selected files, use <userinput
>tagsel</userinput
> instead of <userinput
>tags</userinput
>. This function also supports output of the extracted value by using an <replaceable
>EXTRACTION</replaceable
> with the value <userinput
>%{__return}(.+)</userinput
>. </para>
</sect2>
<sect2 id="cli-autoimport">
<title
>Automatisch importeren</title>
<cmdsynopsis
><command
>autoimport</command
> <arg
><replaceable
>PROFILE-NAME</replaceable
></arg
> <arg
><replaceable
>TAG-NUMBERS</replaceable
></arg
> </cmdsynopsis>
<para
>Batch import using profile <replaceable
>PROFILE-NAME</replaceable
> (see <link linkend="batch-import"
>Automatic Import</link
>, <userinput
>"All"</userinput
> is used if omitted). </para>
</sect2>
<sect2 id="cli-albumart">
<title
>Hoesillustratie van album downloaden</title>
<cmdsynopsis
><command
>albumart</command
> <arg choice="req"
><replaceable
>URL</replaceable
></arg
> <arg
>all</arg
> </cmdsynopsis>
<para
>Set the album artwork by downloading a picture from <replaceable
>URL</replaceable
>. The rules defined in the <link linkend="browse_pictures"
>Browse Cover Art</link
> dialog are used to transform general &URL;s (<abbrev
>e.g.</abbrev
> from Amazon) to a picture &URL;. To set the album cover from a local picture file, use the <link linkend="cli-set"
>. If no format is specified, the format set in the &GUI; is used. If the format of the filename does not match this pattern, a few other commonly used formats are tried. </para>
</sect2>
<sect2 id="cli-syncto">
<title
>Tag naar andere tag</title>
<cmdsynopsis
><command
>syncto</command
> <arg choice="req"
><replaceable
>TAG-NUMBER</replaceable
></arg
> </cmdsynopsis>
<para
>Copy the tag frames from one tag to the other tag, <abbrev
>e.g.</abbrev
> to set the ID3v2 tag from the ID3v1 tag, use <userinput
>syncto 2</userinput
>. </para>
</sect2>
<sect2 id="cli-copy">
<title
>Kopiëren</title>
<cmdsynopsis
><command
>copy</command
> <arg
><replaceable
>TAG-NUMBER</replaceable
></arg
> </cmdsynopsis>
<para
>Copy the tag frames of the selected file to the internal copy buffer. They can then be set on another file using the <command
>paste</command
> command. </para>
<para
>To copy only a subset of the frames, use the "selected" pseudo field with the <command
>set</command
> command. For example, to copy only the disc number and copyright frames, use <screen width="65"
><userinput>set '*.selected' 0</userinput>
<userinput>set discnumber.selected 1</userinput>
<userinput>set copyright.selected 1</userinput>
<userinput>copy</userinput>
</screen>
</para>
</sect2>
<sect2 id="cli-paste">
<title
>Plakken</title>
<cmdsynopsis
><command
>paste</command
> <arg
><replaceable
>TAG-NUMBER</replaceable
></arg
> </cmdsynopsis>
<para
>Set tag frames from the contents of the <command
>copy</command
> buffer in the selected files. </para>
</sect2>
<sect2 id="cli-remove">
<title
>Verwijderen</title>
<cmdsynopsis
><command
>remove</command
> <arg
><replaceable
>TAG-NUMBER</replaceable
></arg
> </cmdsynopsis>
<para
>Remove a tag. </para>
<para
>It is possible to remove only a subset of the frames by selecting them as described in the <link linkend="cli-copy"
><command
>copy</command
> command</link
>. </para>
</sect2>
</sect1>
<sect1 id="kid3-cli-examples">
<title
>Voorbeelden</title>
<para
>Set title containing an apostrophe. Commands passed to <command
>kid3-cli</command
> with <parameter
>-c</parameter
> have to be in quotes if they do not only consist of a single word. If such a command itself has an argument containing spaces, that argument has to be quoted too. In &UNIX; shells single or double quotes can be used, but on the Windows Command Prompt, it is important that the outer quoting is done using double quotes and inside these quotes, single quotes are used. If the text inside the single quotes contains a single quote, it has to be escaped using a backslash character, as shown in the following example:</para>
<screen width="65"
><userinput>kid3-cli -c "set title 'I\'ll be there for you'" /path/to/folder</userinput></screen>
<para
>Set album cover in all files of a folder using the batch import function:</para>
>In order to make it easier to parse results from <command
>kid3-cli</command
>, it is possible to get the output in &JSON; format. When the request is in &JSON; format, the response will also be &JSON;. A compact format of the request will also give a compact representation of the response. If the request contains an "id" field, it is assumed to be a &JSON;-RPC request and the response will contain a "jsonrpc" field and the "id" of the request. The request format uses the same commands as the standard CLI, the "method" field contains the command and the parameters (if any) are given in the "params" list. The response contains a "result" object, which can also be null if the corresponding <command
>kid3-cli</command
> command does not return a result. In case of an error, an "error" object is returned with "code" and "message" fields as used in &JSON;-RPC. <screen width="80"
>&kid3; is te vinden op <ulink url="https://kid3.kde.org"
>https://kid3.kde.org</ulink
>. </para>
</sect1>
<sect1 id="requirements">
<title
>Vereisten</title>
<para
>&kid3; needs <ulink url="https://www.qt.io"
>&Qt;</ulink
>. <ulink url="http://www.kde.org"
>&kde;</ulink
> is recommended but not necessary, as &kid3; can also be compiled as a &Qt; application. &kid3; can be compiled for systems where these libraries are available, <abbrev
>e.g.</abbrev
> for GNU/&Linux;, &Windows; and &macOS;. To tag Ogg/Vorbis files, <ulink url="http://xiph.org/ogg/"
>libogg</ulink
>, <ulink url="http://xiph.org/vorbis/"
>libvorbis and libvorbisfile</ulink
> are required, for FLAC files <ulink url="http://flac.sourceforge.net"
>libFLAC++ and libFLAC</ulink
>. <ulink url="http://id3lib.sourceforge.net"
>id3lib</ulink
> is used for MP3 files. These four formats are also supported by <ulink url="http://taglib.github.io/"
>TagLib</ulink
>, which can also handle Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF files and tracker modules. To import from acoustic fingerprints, <ulink url="http://acoustid.org/chromaprint"
>Chromaprint</ulink
> and <ulink url="http://libav.org/"
>libav</ulink
> are used. </para>
<para
>&kid3; is beschikbaar voor de meeste &Linux; distributies, &Windows; en &macOS;. Verwijzingen zijn te vinden op <ulink url="https://kid3.kde.org"
> https://kid3.kde.org</ulink
>. </para>
</sect1>
<sect1 id="compilation">
<title
>Compilatie en installatie</title>
<para
>U kunt &kid3; compileren met of zonder &kde;. Zonder &kde; is &kid3; een eenvoudige &Qt; toepassing en ontbreken enkele configuratie en sessiefuncties. </para>
<para
>Voor een &kde; versie, ga naar de hoogste map en typ <screen width="40"
><prompt
>%</prompt
> <userinput
>cmake .</userinput>
<prompt
>%</prompt
> <userinput
>make</userinput>
<prompt
>%</prompt
> <userinput
>make install</userinput
>
</screen>
</para>
<para
>Om te compileren voor andere versies van &Qt; of &kde;, stel de overeenkomstige <userinput
>cmake</userinput
>-opties in. </para>
<para
>If not all libraries are present, &kid3; is built with reduced functionality. So you should take care to have all desired development packages installed. On the other side, <userinput
>cmake</userinput
>-options control which libraries are compiled in. The default is <userinput
> can be used to explore the interface in a &GUI;): </para>
<programlisting
>qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \
'One Hit Wonder'
</programlisting>
</listitem>
</varlistentry>
<varlistentry
><term
>Python</term>
<listitem>
<programlisting
>import dbus
kid3 = dbus.SessionBus().get_object(
'org.kde.kid3', '/Kid3')
kid3.setFrame(2, 'Artist', 'One Hit Wonder')
</programlisting>
</listitem>
</varlistentry>
<varlistentry
><term
>Perl</term>
<listitem>
<programlisting
>use Net::DBus;
$kid3 = Net::DBus->session->get_service(
"org.kde.kid3")->get_object(
"/Kid3", "org.kde.Kid3");
$kid3->setFrame(2, "Artist", "One Hit Wonder");
</programlisting>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="dbus-api">
<title
>&DBus; API</title>
<para
>The &DBus; API is specified in <filename
>org.kde.Kid3.xml</filename
>. The &kid3; interface has the following methods: </para>
<sect2 id="dbus-openDirectory">
<title
>Open file or folder</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>openDirectory</function
></funcdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>pad</replaceable
></term>
<listitem
><para
>path to file or folder</para
></listitem>
</varlistentry>
</variablelist>
<para
>Returns true if OK.</para>
</sect2>
<sect2 id="dbus-unloadAllTags">
<title
>Unload the tags of all files which are not modified or selected</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>unloadAllTags</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-save">
<title
>Save all modified files</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>save</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if OK.</para>
</sect2>
<sect2 id="dbus-getErrorMessage">
<title
>Get a detailed error message provided by some methods</title>
<funcsynopsis>
<funcprototype>
<funcdef
>string <function
>getErrorMessage</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns detailed error message.</para>
</sect2>
<sect2 id="dbus-revert">
<title
>Revert changes in the selected files</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>ongedaan maken</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-batchImport">
<title
>Start an automatic batch import</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>batchImport</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>profileName</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag mask (bit 0 for tag 1, bit 1 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>profileName</replaceable
></term>
<listitem
><para
>name of batch import profile to use</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-importFromFile">
<title
>Import tags from a file</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>importFromFile</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> <paramdef
>int32 <parameter
>fmtIdx</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>pad</replaceable
></term>
<listitem
><para
>path of file</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>fmtIdx</replaceable
></term>
<listitem
><para
>index of format</para
></listitem>
</varlistentry>
</variablelist>
<para
>Returns true if OK.</para>
</sect2>
<sect2 id="dbus-importFromTags">
<title
>Import tags from other tags</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>importFromTags</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>source</parameter
></paramdef
> <paramdef
>string <parameter
>extraction</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>bron</replaceable
></term>
<listitem
><para
>format to get source text from tags</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>extractie</replaceable
></term>
<listitem
><para
>regular expression with frame names and captures to extract from source text</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-importFromTagsToSelection">
<title
>Import tags from other tags on selected files</title>
<funcsynopsis>
<funcprototype
><funcdef
>array <function
>importFromTagsToSelection</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>source</parameter
></paramdef
> <paramdef
>string <parameter
>extraction</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>bron</replaceable
></term>
<listitem
><para
>format to get source text from tags</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>extractie</replaceable
></term>
<listitem
><para
>regular expression with frame names and captures to extract from source text</para
></listitem>
</varlistentry>
</variablelist>
<variablelist>
<varlistentry>
<term
><replaceable
>returnValues</replaceable
></term>
<listitem
><para
>extracted value for "%{__return}(.+)"</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-downloadAlbumArt">
<title
>Download album cover art</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>downloadAlbumArt</function
></funcdef
> <paramdef
>string <parameter
>url</parameter
></paramdef
> <paramdef
>boolean <parameter
>allFilesInDir</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>url</replaceable
></term>
<listitem
><para
>&URL; of picture file or album art resource</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>allFilesInDir</replaceable
></term>
<listitem
><para
>true to add the image to all files in the folder</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-exportToFile">
<title
>Export tags to a file</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>exportToFile</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> <paramdef
>int32 <parameter
>fmtIdx</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>pad</replaceable
></term>
<listitem
><para
>path of file</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>fmtIdx</replaceable
></term>
<listitem
><para
>index of format</para
></listitem>
</varlistentry>
</variablelist>
<para
>Returns true if OK.</para>
</sect2>
<sect2 id="dbus-createPlaylist">
<title
>Create a playlist</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>createPlaylist</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if OK.</para>
</sect2>
<sect2 id="dbus-getPlaylistItems">
<title
>Get items of a playlist</title>
<funcsynopsis>
<funcprototype
><funcdef
>array <function
>getPlaylistItems</function
></funcdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>pad</replaceable
></term>
<listitem
><para
>path to playlist file</para
></listitem>
</varlistentry>
</variablelist>
<para
>Returns list of absolute paths to playlist items.</para>
</sect2>
<sect2 id="dbus-setPlaylistItems">
<title
>Set items of a playlist</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>setPlaylistItems</function
></funcdef
> <paramdef
>string <parameter
>path</parameter
></paramdef
> <paramdef
>array <parameter
>items</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>pad</replaceable
></term>
<listitem
><para
>path to playlist file</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>items</replaceable
></term>
<listitem
><para
>list of absolute paths to playlist items</para
></listitem>
</varlistentry>
</variablelist>
<para
>Returns true if OK, false if not all items were found and added or saving failed.</para>
</sect2>
<sect2 id="dbus-quit">
<title
>Sluit de toepassing</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>afsluiten</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-selectAll">
<title
>Alle bestanden selecteren</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>selectAll</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-deselectAll">
<title
>Selectie van alle bestanden ongedaan maken</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>deselectAll</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-firstFile">
<title
>Set the first file as the current file</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>firstFile</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if there is a first file.</para>
</sect2>
<sect2 id="dbus-previousFile">
<title
>Set the previous file as the current file</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>previousFile</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if there is a previous file.</para>
</sect2>
<sect2 id="dbus-nextFile">
<title
>Set the next file as the current file</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>nextFile</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if there is a next file.</para>
</sect2>
<sect2 id="dbus-selectFirstFile">
<title
>Select the first file</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>selectFirstFile</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if there is a first file.</para>
</sect2>
<sect2 id="dbus-selectPreviousFile">
<title
>Select the previous file</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>selectPreviousFile</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if there is a previous file.</para>
</sect2>
<sect2 id="dbus-selectNextFile">
<title
>Select the next file</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>selectNextFile</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if there is a next file.</para>
</sect2>
<sect2 id="dbus-selectCurrentFile">
<title
>Select the current file</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>selectCurrentFile</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if there is a current file.</para>
</sect2>
<sect2 id="dbus-expandDirectory">
<title
>Expand or collapse the current file item if it is a folder</title>
<funcsynopsis>
<funcprototype>
<funcdef
>boolean <function
>expandDirectory</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>A file list item is a folder if getFileName() returns a name with '/' as the last character.</para>
<para
>Returns true if current file item is a folder.</para>
</sect2>
<sect2 id="dbus-applyFilenameFormat">
<title
>Apply the file name format</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>applyFilenameFormat</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-applyTagFormat">
<title
>Apply the tag format</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>applyTagFormat</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-applyTextEncoding">
<title
>Tekst-codering toepassen</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>applyTextEncoding</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-setDirNameFromTag">
<title
>Mapnaam uit de tags instellen</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>setDirNameFromTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>format</parameter
></paramdef
> <paramdef
>boolean <parameter
>create</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag mask (bit 0 for tag 1, bit 1 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>opmaak</replaceable
></term>
<listitem
><para
>folder name format</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>aanmaken</replaceable
></term>
<listitem
><para
>true to create, false to rename</para
></listitem>
</varlistentry>
</variablelist>
<para
>Returns true if OK, else the error message is available using getErrorMessage().</para>
</sect2>
<sect2 id="dbus-numberTracks">
<title
>Set subsequent track numbers in the selected files</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>numberTracks</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>int32 <parameter
>firstTrackNr</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag mask (bit 0 for tag 1, bit 1 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>firstTrackNr</replaceable
></term>
<listitem
><para
>number to use for first file</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-filter">
<title
>Filter the files</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>filter</function
></funcdef
> <paramdef
>string <parameter
>expression</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>expressie</replaceable
></term>
<listitem
><para
>filter expression</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-convertToId3v24">
<title
>Convert ID3v2.3 tags to ID3v2.4</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>convertToId3v24</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
<sect2 id="dbus-convertToId3v23">
<title
>Convert ID3v2.4 tags to ID3v2.3</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>convertToId3v23</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true if OK.</para>
</sect2>
<sect2 id="dbus-getDirectoryName">
<title
>Get path of folder</title>
<funcsynopsis>
<funcprototype>
<funcdef
>string <function
>getDirectoryName</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns absolute path of folder.</para>
</sect2>
<sect2 id="dbus-getFileName">
<title
>Get name of current file</title>
<funcsynopsis>
<funcprototype>
<funcdef
>string <function
>getFileName</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Returns true absolute file name, ends with "/" if it is a folder.</para>
</sect2>
<sect2 id="dbus-setFileName">
<title
>Set name of selected file</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setFileName</function
></funcdef
> <paramdef
>string <parameter
>name</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>naam</replaceable
></term>
<listitem
><para
>bestandsnaam</para
></listitem>
</varlistentry>
</variablelist>
<para
>The file will be renamed when the folder is saved.</para>
</sect2>
<sect2 id="dbus-setFileNameFormat">
<title
>Set format to use when setting the filename from the tags</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setFileNameFormat</function
></funcdef
> <paramdef
>string <parameter
>format</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>opmaak</replaceable
></term>
<listitem
><para
>file name format</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-setFileNameFromTag">
<title
>Set the file names of the selected files from the tags</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setFileNameFromTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-getFrame">
<title
>Get value of frame</title>
<funcsynopsis>
<funcprototype
><funcdef
>string <function
>getFrame</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>name</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>naam</replaceable
></term>
<listitem
><para
>name of frame (<abbrev
>e.g.</abbrev
> "artist")</para
></listitem>
</varlistentry>
</variablelist>
<para
>To get binary data like a picture, the name of a file to write can be added after the <parameter
>name</parameter
>, <abbrev
>e.g.</abbrev
> "Picture:/path/to/file". In the same way, synchronized lyrics can be exported, <abbrev
>e.g.</abbrev
> "SYLT:/path/to/file". </para>
<para
>Returns value of frame.</para>
</sect2>
<sect2 id="dbus-setFrame">
<title
>Set value of frame</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>setFrame</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>name</parameter
></paramdef
> <paramdef
>string <parameter
>value</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>naam</replaceable
></term>
<listitem
><para
>name of frame (<abbrev
>e.g.</abbrev
> "artist")</para
></listitem>
</varlistentry>
<varlistentry>
<term
><replaceable
>waarde</replaceable
></term>
<listitem
><para
>value of frame</para
></listitem>
</varlistentry>
</variablelist>
<para
>For tag 2 (<parameter
>tagMask</parameter
> 2), if no frame with <parameter
>name</parameter
> exists, a new frame is added, if <parameter
>value</parameter
> is empty, the frame is deleted. To add binary data like a picture, a file can be added after the <parameter
>name</parameter
>, <abbrev
>e.g.</abbrev
> "Picture:/path/to/file". "SYLT:/path/to/file" can be used to import synchronized lyrics.</para>
<para
>Returns true if OK.</para>
</sect2>
<sect2 id="dbus-getTag">
<title
>Get all frames of a tag</title>
<funcsynopsis>
<funcprototype
><funcdef
>array of string <function
>getTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
</variablelist>
<para
>Returns list with alternating frame names and values.</para>
</sect2>
<sect2 id="dbus-getInformation">
<title
>Technische informatie over bestand ophalen</title>
<funcsynopsis>
<funcprototype>
<funcdef
>array van tekenreeks <function
>getInformation</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Eigenschappen zijn formaat, bitsnelheid, samplesnelheid, kanalen, tijdsduur, kanaalmodus, VBR, Tag 1, Tag 2. Eigenschappen die niet beschikbaar zijn zijn weggelaten.</para>
<para
>Geeft lijst terug met afwisselend eigenschapnamen en waarden.</para>
</sect2>
<sect2 id="dbus-setTagFromFileName">
<title
>Tag uit bestandsnaam instellen</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setTagFromFileName</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-setTagFromOtherTag">
<title
>Tag instellen uit andere tag</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setTagFromOtherTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-copyTag">
<title
>Tag kopiëren</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>copyTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-pasteTag">
<title
>Tag plakken</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>pasteTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-removeTag">
<title
>Tag verwijderen</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>removeTag</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term
><replaceable
>tagMask</replaceable
></term>
<listitem
><para
>tag bit (1 for tag 1, 2 for tag 2)</para
></listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 id="dbus-reparseConfiguration">
<title
>De configuratie opnieuw inlezen</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>reparseConfiguration</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
<para
>Geautomatiseerde configuratiewijzigingen zijn mogelijk door het configuratiebestand te wijzigen en daarna de configuratie opnieuw in te lezen.</para>
</sect2>
<sect2 id="dbus-playAudio">
<title
>Speelt de geselecteerde bestanden</title>
<funcsynopsis>
<funcprototype>
<funcdef
><function
>playAudio</function
></funcdef>
<void/>
</funcprototype>
</funcsynopsis>
</sect2>
</sect1>
</appendix>
<appendix id="qml-interface">
<title
>QML-interface</title>
<sect1 id="qml-examples">
<title
>QML-voorbeelden</title>
<para
>QML scripts can be invoked via the context menu of the file list and can be set in the tab <link linkend="configure-user-actions-qml"
>User Actions</link
> of the settings dialog. The scripts which are set there can be used as examples to program custom scripts. QML uses &javascript;, here is the obligatory "Hello World": </para>
> On &Windows; and &macOS;, the import path must be adapted to the <filename class="directory"
>imports</filename
> folder inside the installation folder. Scripts started outside of &kid3; will use the current folder, so it should be changed beforehand. </para>
<para
>To list the titles in the tags 2 of all files in the current folder, the following script could be used: </para>
<programlisting
>import Kid3 1.0
Kid3Script {
onRun: {
app.firstFile()
do {
if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) {
console.log(app.getFrame(tagv2, "title"))
}
} while (app.nextFile())
}
}
</programlisting>
<para
>If the folder contains many files, such a script might block the user interface for some time. For longer operations, it should therefore have a break from time to time. The alternative implementation below has the work for a single file moved out into a function. This function invokes itself with a timeout of 1 ms at the end, given that more files have to be processed. This will ensure that the &GUI; remains responsive while the script is running. </para>
<programlisting
>import Kid3 1.0
Kid3Script {
onRun: {
function doWork() {
if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) {
console.log(app.getFrame(tagv2, "title"))
}
if (!app.nextFile()) {
Qt.quit()
} else {
setTimeout(doWork, 1)
}
}
app.firstFile()
doWork()
}
}
</programlisting>
<para
>When using <command
>app.firstFile()</command
> with <command
>app.nextFile()</command
>, all files of the current folder will be processed. If only the selected files shall be affected, use <command
>firstFile()</command
> and <command
>nextFile()</command
> instead, these are convenience functions of the <classname
>Kid3Script</classname
> component. The following example is a script which copies only the disc number and copyright frames of the selected file. </para>
<programlisting
>import Kid3 1.1
Kid3Script {
onRun: {
function doWork() {
if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) {
app.setFrame(tagv2, "*.selected", false)
app.setFrame(tagv2, "discnumber.selected", true)
app.setFrame(tagv2, "copyright.selected", true)
app.copyTags(tagv2)
}
if (!nextFile()) {
Qt.quit()
} else {
setTimeout(doWork, 1)
}
}
firstFile()
doWork()
}
}
</programlisting>
<para
>More example scripts come with &kid3; and are already registered as user commands. <itemizedlist>
<listitem
><para
><guilabel
>ReplayGain to SoundCheck</guilabel
> (<filename
>ReplayGain2SoundCheck.qml</filename
>): Create iTunNORM SoundCheck information from replay gain frames. </para
></listitem>
<listitem
><para
><guilabel
>Resize Album Art</guilabel
> (<filename
>ResizeAlbumArt.qml</filename
>): Resize embedded cover art images which are larger than 500x500 pixels. </para
></listitem>
<listitem
><para
><guilabel
>Extract Album Art</guilabel
> (<filename
>ExtractAlbumArt.qml</filename
>): Extract all embedded cover art pictures avoiding duplicates. </para
></listitem>
<listitem
><para
><guilabel
>Embed Album Art</guilabel
> (<filename
>EmbedAlbumArt.qml</filename
>): Embed cover art found in image files into audio files in the same folder. </para
></listitem>
<listitem
><para
><guilabel
>Embed Lyrics</guilabel
> (<filename
>EmbedLyrics.qml</filename
>): Fetch unsynchronized lyrics from web service. </para
></listitem>
<listitem
><para
><guilabel
>Text Encoding ID3v1</guilabel
> (<filename
>ShowTextEncodingV1.qml</filename
>): Helps to find the encoding of ID3v1 tags by showing the tags of the current file in all available character encodings. </para
></listitem>
<listitem
><para
><guilabel
>ID3v1 to ASCII</guilabel
> (<filename
>Tag1ToAscii.qml</filename
>): Transliterate extended latin characters in the ID3v1 tag to ASCII. </para
></listitem>
<listitem
><para
><guilabel
>English Title Case</guilabel
> (<filename
>TitleCase.qml</filename
>): Formats text in the tags to English title case. </para
></listitem>
<listitem
><para
><guilabel
>Export CSV</guilabel
> (<filename
>ExportCsv.qml</filename
>): Export recursively all tags of all files to a CSV file. </para
></listitem>
<listitem
><para
><guilabel
>Export Playlist Folder</guilabel
> (<filename
>ExportPlaylist.qml</filename
>): Copy all files from a playlist into a folder and rename them according to their position. </para
></listitem>
<listitem
><para
><guilabel
>QML Console</guilabel
> (<filename
>QmlConsole.qml</filename
>): Simple console to play with &kid3;'s QML API. </para
></listitem>
</itemizedlist>
</para>
</sect1>
<sect1 id="qml-api">
<title
>QML API</title>
<para
>The API can be easily explored using the QML Console, which is available as an example script with a user interface. </para>
<sect2 id="qml-kid3script">
<title
>Kid3Script</title>
<para
><classname
>Kid3Script</classname
> is a regular QML component located inside the plugin folder. You could use another QML component just as well. Using <classname
>Kid3Script</classname
> makes it easy to start the script function using the <function
>onRun</function
> signal handler. Moreover it offers some functions: <programlisting
>onRun: Signal handler which is invoked when the script is started
tagv1, tagv2, tagv2v1: Constants for tag parameters
script: Access to scripting functions
configs: Access to configuration objects
getArguments(): List of script arguments
isStandalone(): true if the script was not started from within Kid3
setTimeout(callback, delay): Starts callback after delay ms
firstFile(): To first selected file
nextFile(): To next selected file
</programlisting>
</para>
</sect2>
<sect2 id="qml-script">
<title
>Functies voor scripts</title>
<para
>As &javascript; and therefore QML too has only a limited set of functions for scripting, the <function
>script</function
> object has some additional methods, for instance: </para>
<programlisting
>script.properties(obj): String with Qt properties
script.writeFile(filePath, data): Write data to file, true if OK
script.readFile(filePath): Read data from file
script.removeFile(filePath): Delete file, true if OK
script.fileExists(filePath): true if file exists
script.fileIsWritable(filePath): true if file is writable
script.getFilePermissions(filePath): Get file permission mode bits
script.setFilePermissions(filePath, modeBits): Set file permission mode bits
script.classifyFile(filePath): Get class of file (folder "/", symlink "@", exe "*",
file " ")
script.renameFile(oldName, newName): Rename file, true if OK
script.copyFile(source, dest): Copy file, true if OK
script.makeDir(path): Create folder, true if OK
script.removeDir(path): Remove folder, true if OK
script.tempPath(): Path to temporary folder
script.musicPath(): Path to music folder
script.listDir(path, [nameFilters], [classify]): List folder entries
script.system(program, [args], [msecs]): Synchronously start a system command,
[exit code, standard output, standard error] if not timeout
script.systemAsync(program, [args], [callback]): Asynchronously start a system
command, callback will be called with [exit code, standard output, standard
error]
script.getEnv(varName): Get value of environment variable
script.setEnv(varName, value): Set value of environment variable
script.getQtVersion(): Qt version string, <abbrev>e.g.</abbrev> "5.4.1"
script.getDataMd5(data): Get hex string of the MD5 hash of data
script.getDataSize(data): Get size of byte array
script.dataToImage(data, [format]): Create an image from data bytes
script.dataFromImage(img, [format]): Get data bytes from image
script.loadImage(filePath): Load an image from a file
script.saveImage(img, filePath, [format]): Save an image to a file, true if OK
script.imageProperties(img): Get properties of an image, map containing
"width", "height", "depth" and "colorCount", empty if invalid image
script.scaleImage(img, width, [height]): Scale an image, returns scaled image
</programlisting>
</sect2>
<sect2 id="qml-app">
<title
>Context van toepassing</title>
<para
>Using QML, a large part of the &kid3; functions are accessible. The API is similar to the one used for <link linkend="dbus-api"
>&DBus;</link
>. For details, refer to the respective notes. </para>
<programlisting
>app.openDirectory(path): Open map
app.unloadAllTags(): Alle tags ontladen
app.saveDirectory(): Map opslaan
app.revertFileModifications(): Ongedaan maken
app.importTags(tag, path, fmtIdx): Bestand importeren
app.importFromTags(tag, source, extraction): Uit tags importeren
app.importFromTagsToSelection(tag, source, extraction): Uit tags van geselecteerde bestanden importeren