<?xml version="1.0" ?>
<!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>

&Freek.de.Kruijf; 
</authorgroup>

<copyright>
<year
>2023</year>
<holder
>Urs Fleisch</holder>
</copyright>
<legalnotice id="fdl-notice"
>&FDLNotice;</legalnotice>

<date
>2023-07-09</date>
<releaseinfo
>3.9.4</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 (&eg; 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, &eg; 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://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>
</chapter>

<chapter id="using-kid3">
<title
>&kid3; gebruiken</title>

<sect1 id="kid3-features">
<title
>Functies van &kid3;</title>
<itemizedlist>
<listitem
><para
>ID3v1.1 tags bewerken</para
></listitem>
<listitem
><para
>Alle ID3v2.3 en ID3v2.4 frames bewerken</para
></listitem>
<listitem
><para
>Tags van meerdere bestanden bewerken</para
></listitem>
<listitem
><para
>Tussen ID3v1 en ID3v2 tags converteren</para
></listitem>
<listitem
><para
>MP3, Ogg/Vorbis, Opus, DSF, FLAC, MPC, APE, MP4/AAC, MP2, Speex, TrueAudio, WavPack, WMA, WAV en AIFF tags bewerken</para
></listitem>
<listitem
><para
>Tags uit bestandsnaam genereren</para
></listitem>
<listitem
><para
>Tags uit de inhoud van tagvelden genereren</para
></listitem>
<listitem
><para
>Bestandsnaam uit tags genereren</para
></listitem>
<listitem
><para
>Mapnamen uit tags genereren en wijzigen</para
></listitem>
<listitem
><para
>Afspeellijstbestand genereren</para
></listitem>
<listitem
><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://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 hebben alleen deze.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"
>*.mp3 *.ogg *.opus *.dsf *.flac *.mpc *.aac *.m4a *.m4b *.m4p *.mp4 *.mp2 *.spx *.tta *.wv *.wma *.wav *.aiff *.ape</filename
>). 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
>De waarden van de standaard tags kunnen ook getoond en bewerkt worden in kolommen van de bestandenlijst. </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
><para
>Wanneer <guilabel
>Bestand selecteren dat wordt afgespeeld</guilabel
> is geactiveerd is de nu afspelende track automatisch geselecteerd in de bestandenlijst. </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 &Del;. </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 (&eg; 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (&eg; 001 for %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Track (zonder voorloopnullen, &eg; 1)</para
></listitem>
<listitem
><para
>%g %{genre} Genre</para
></listitem>
<listitem
><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>
   <tgroup cols="7">
     <thead>
       <row
><entry
>Unified</entry
>           <entry
>ID3v2.3</entry
> <entry
>ID3v2.4</entry
> <entry
>MP4</entry
>            <entry
>ASF</entry
>                        <entry
>Vorbis</entry
>                 <entry
>RIFF</entry
></row>
     </thead>
     <tbody>
       <row
><entry
>Titel</entry
>             <entry
><literal
>TIT2</literal
></entry
>    <entry
><literal
>TIT2</literal
></entry
>    <entry
><literal
>©nam</literal
></entry
>           <entry
><literal
>Titel</literal
></entry
>                      <entry
><literal
>TITEL</literal
></entry
>                  <entry
><literal
>INAM</literal
></entry
></row>
       <row
><entry
>Artiest</entry
>            <entry
><literal
>TPE1</literal
></entry
>    <entry
><literal
>TPE1</literal
></entry
>    <entry
><literal
>©ART</literal
></entry
>           <entry
><literal
>Auteur</literal
></entry
>                     <entry
><literal
>ARTIEST</literal
></entry
>                 <entry
><literal
>IART</literal
></entry
></row>
       <row
><entry
>Album</entry
>             <entry
><literal
>TALB</literal
></entry
>    <entry
><literal
>TALB</literal
></entry
>    <entry
><literal
>©alb</literal
></entry
>           <entry
><literal
>WM/AlbumTitel</literal
></entry
>              <entry
><literal
>ALBUM</literal
></entry
>                  <entry
><literal
>IPRD</literal
></entry
></row>
       <row
><entry
>Commentaar</entry
>           <entry
><literal
>COMM</literal
></entry
>    <entry
><literal
>COMM</literal
></entry
>    <entry
><literal
>©cmt</literal
></entry
>           <entry
><literal
>Beschrijving</literal
></entry
>                <entry
><literal
>COMMENTAAR</literal
></entry
>                <entry
><literal
>ICMT</literal
></entry
></row>
       <row
><entry
>Datum</entry
>              <entry
><literal
>TYER</literal
></entry
>    <entry
><literal
>TDRC</literal
></entry
>    <entry
><literal
>©day</literal
></entry
>           <entry
><literal
>WM/Jaar</literal
></entry
>                    <entry
><literal
>DATUM</literal
></entry
>                   <entry
><literal
>ICRD</literal
></entry
></row>
       <row
><entry
>Tracknummer</entry
>      <entry
><literal
>TRCK</literal
></entry
>    <entry
><literal
>TRCK</literal
></entry
>    <entry
><literal
>trkn</literal
></entry
>           <entry
><literal
>WM/TrackNummer</literal
></entry
>             <entry
><literal
>TRACKNUMMER</literal
></entry
>            <entry
><literal
>IPRT</literal
> of <literal
>ITRK</literal
></entry
></row>
       <row
><entry
>Genre</entry
>             <entry
><literal
>TCON</literal
></entry
>    <entry
><literal
>TCON</literal
></entry
>    <entry
><literal
>©gen</literal
></entry
>           <entry
><literal
>WM/Genre</literal
></entry
>                   <entry
><literal
>GENRE</literal
></entry
>                  <entry
><literal
>IGNR</literal
></entry
></row>
       <row
><entry
>Albumartiest</entry
>      <entry
><literal
>TPE2</literal
></entry
>    <entry
><literal
>TPE2</literal
></entry
>    <entry
><literal
>aART</literal
></entry
>           <entry
><literal
>WM/AlbumArtiest</literal
></entry
>             <entry
><literal
>ALBUMARTIEST</literal
></entry
>            <entry
></entry
></row>
       <row
><entry
>Arrangeur</entry
>          <entry
><literal
>IPLS</literal
></entry
>    <entry
><literal
>TIPL</literal
></entry
>    <entry
><literal
>ARRANGEUR</literal
></entry
>       <entry
><literal
>WM/Producent</literal
></entry
>                <entry
><literal
>ARRANGEUR</literal
></entry
>               <entry
><literal
>IENG</literal
></entry
></row>
       <row
><entry
>Auteur</entry
>            <entry
><literal
>TOLY</literal
></entry
>    <entry
><literal
>TOLY</literal
></entry
>    <entry
><literal
>AUTEUR</literal
></entry
>         <entry
></entry
>                                              <entry
><literal
>AUTEUR</literal
></entry
>                 <entry
></entry
></row>
       <row
><entry
>BPM</entry
>               <entry
><literal
>TBPM</literal
></entry
>    <entry
><literal
>TBPM</literal
></entry
>    <entry
><literal
>tmpo</literal
></entry
>           <entry
><literal
>WM/BeatsPerMinute</literal
></entry
>          <entry
><literal
>BPM</literal
></entry
>                    <entry
><literal
>IBPM</literal
></entry
></row>
       <row
><entry
>Catalogusnummer</entry
>    <entry
><literal
>TXXX:CATALOGUSNUMMER</literal
></entry
> <entry
><literal
>TXXX:CATALOGUSNUMMER</literal
></entry
>                            <entry
></entry
> <entry
></entry
>                              <entry
><literal
>CATALOGUSNUMMER</literal
></entry
>          <entry
></entry
></row>
       <row
><entry
>Compilatie</entry
>       <entry
><literal
>TCMP</literal
></entry
>    <entry
><literal
>TCMP</literal
></entry
>    <entry
><literal
>cpil</literal
></entry
>           <entry
></entry
>                                              <entry
><literal
>COMPILATIE</literal
></entry
>            <entry
></entry
></row>
       <row
><entry
>Componist</entry
>          <entry
><literal
>TCOM</literal
></entry
>    <entry
><literal
>TCOM</literal
></entry
>    <entry
><literal
>©wrt</literal
></entry
>           <entry
><literal
>WM/Componist</literal
></entry
>                <entry
><literal
>COMPONIST</literal
></entry
>               <entry
><literal
>IMUS</literal
></entry
></row>
       <row
><entry
>Dirigent</entry
>         <entry
><literal
>TPE3</literal
></entry
>    <entry
><literal
>TPE3</literal
></entry
>    <entry
><literal
>DIRIGENT</literal
></entry
>      <entry
><literal
>WM/Dirigent</literal
></entry
>               <entry
><literal
>DIRIGENT</literal
></entry
>              <entry
></entry
></row>
       <row
><entry
>Copyright</entry
>         <entry
><literal
>TCOP</literal
></entry
>    <entry
><literal
>TCOP</literal
></entry
>    <entry
><literal
>cprt</literal
></entry
>           <entry
><literal
>Copyright</literal
></entry
>                  <entry
><literal
>COPYRIGHT</literal
></entry
>              <entry
><literal
>ICOP</literal
></entry
></row>
       <row
><entry
>Beschrijving</entry
>       <entry
><literal
>TIT3</literal
></entry
>    <entry
><literal
>TIT3</literal
></entry
>    <entry
><literal
>beschr</literal
></entry
>           <entry
><literal
>WM/OndertitelBeschrijving</literal
></entry
>     <entry
><literal
>BESCHRIJVING</literal
></entry
>            <entry
></entry
></row>
       <row
><entry
>Schijfnummer</entry
>       <entry
><literal
>TPOS</literal
></entry
>    <entry
><literal
>TPOS</literal
></entry
>    <entry
><literal
>schijf</literal
></entry
>           <entry
><literal
>WM/DeelVanSet</literal
></entry
>               <entry
><literal
>SCHIJFNUMMER</literal
></entry
>             <entry
></entry
></row>
       <row
><entry
>Gecodeerd-door</entry
>        <entry
><literal
>TENC</literal
></entry
>    <entry
><literal
>TENC</literal
></entry
>    <entry
><literal
>©enc</literal
></entry
>           <entry
><literal
>WM/GecodeerdDoor</literal
></entry
>               <entry
><literal
>GECODEERD-DOOR</literal
></entry
>             <entry
><literal
>ITCH</literal
></entry
></row>
       <row
><entry
>Instellingen voor codering</entry
>  <entry
><literal
>TSSE</literal
></entry
>    <entry
><literal
>TSSE</literal
></entry
>    <entry
><literal
>©too</literal
></entry
>           <entry
><literal
>WM/Coderinginstellingen</literal
></entry
>        <entry
><literal
>CODERINGSINSTELLINGEN</literal
></entry
>        <entry
><literal
>ISFT</literal
></entry
></row>
       <row
><entry
>Tijd van codering</entry
>     <entry
></entry
>                           <entry
><literal
>TDEN</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/TijdVanCodering</literal
></entry
>            <entry
><literal
>TIJDVANCODERING</literal
></entry
>           <entry
><literal
>IDIT</literal
></entry
></row>
       <row
><entry
>Groepering</entry
>          <entry
><literal
>GRP1</literal
></entry
>    <entry
><literal
>GRP1</literal
></entry
>    <entry
><literal
>©grp</literal
></entry
>           <entry
></entry
>                                              <entry
><literal
>GROEPERING</literal
></entry
>               <entry
></entry
></row>
       <row
><entry
>Initiële sleutel</entry
>       <entry
><literal
>TKEY</literal
></entry
>    <entry
><literal
>TKEY</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/InitiëleSleutel</literal
></entry
>              <entry
><literal
>INITIËLESLEUTEL</literal
></entry
>             <entry
></entry
></row>
       <row
><entry
>ISRC</entry
>              <entry
><literal
>TSRC</literal
></entry
>    <entry
><literal
>TSRC</literal
></entry
>    <entry
><literal
>ISRC</literal
></entry
>           <entry
><literal
>WM/ISRC</literal
></entry
>                    <entry
><literal
>ISRC</literal
></entry
>                   <entry
><literal
>ISRC</literal
></entry
></row>
       <row
><entry
>Taal</entry
>          <entry
><literal
>TLAN</literal
></entry
>    <entry
><literal
>TLAN</literal
></entry
>    <entry
><literal
>TAAL</literal
></entry
>       <entry
><literal
>WM/Taal</literal
></entry
>                <entry
><literal
>TAAL</literal
></entry
>               <entry
><literal
>ILNG</literal
></entry
></row>
       <row
><entry
>Maker liedtekst</entry
>          <entry
><literal
>TEKST</literal
></entry
>    <entry
><literal
>TEKST</literal
></entry
>    <entry
><literal
>LIEDTEKSTMAKER</literal
></entry
>       <entry
><literal
>WM/Schrijver</literal
></entry
>                  <entry
><literal
>LIEDTEKSTMAKER</literal
></entry
>               <entry
><literal
>IWRI</literal
></entry
></row>
       <row
><entry
>Liedtekst</entry
>            <entry
><literal
>USLT</literal
></entry
>    <entry
><literal
>USLT</literal
></entry
>    <entry
><literal
>©lyr</literal
></entry
>           <entry
><literal
>WM/Liedtekst</literal
></entry
>                  <entry
><literal
>LIEDTEKST</literal
></entry
>                 <entry
></entry
></row>
       <row
><entry
>Media</entry
>             <entry
><literal
>TMED</literal
></entry
>    <entry
><literal
>TMED</literal
></entry
>    <entry
><literal
>BRONMEDIUM</literal
></entry
>    <entry
></entry
>                                              <entry
><literal
>BRONMEDIUM</literal
></entry
>            <entry
><literal
>IMED</literal
></entry
></row>
       <row
><entry
>Stemming</entry
>              <entry
></entry
>                           <entry
><literal
>TMOO</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/Stemming</literal
></entry
>                    <entry
><literal
>STEMMING</literal
></entry
>                   <entry
></entry
></row>
       <row
><entry
>Originele album</entry
>    <entry
><literal
>TOAL</literal
></entry
>    <entry
><literal
>TOAL</literal
></entry
>    <entry
><literal
>ORIGINEELALBUM</literal
></entry
>  <entry
><literal
>WM/OrigineelAlbumTitel</literal
></entry
>      <entry
><literal
>ORIGINEELALBUM</literal
></entry
>          <entry
></entry
></row>
       <row
><entry
>Originele artiest</entry
>   <entry
><literal
>TOPE</literal
></entry
>    <entry
><literal
>TOPE</literal
></entry
>    <entry
><literal
>ORIGINELEARTIEST</literal
></entry
> <entry
><literal
>WM/OrigineleArtiest</literal
></entry
>          <entry
><literal
>ORIGINELEARTIEST</literal
></entry
>         <entry
></entry
></row>
       <row
><entry
>Oorspronkelijke datum</entry
>     <entry
><literal
>TORY</literal
></entry
>    <entry
><literal
>TDOR</literal
></entry
>    <entry
><literal
>ORIGINELEDATUM</literal
></entry
>   <entry
><literal
>WM/OrigineleUitgaveJaar</literal
></entry
>     <entry
><literal
>ORIGINELEDATUM</literal
></entry
>           <entry
></entry
></row>
       <row
><entry
>Uitvoerder</entry
>         <entry
><literal
>IPLS</literal
></entry
>    <entry
><literal
>TMCL</literal
></entry
>    <entry
><literal
>UITVOERDER</literal
></entry
>      <entry
></entry
>                                              <entry
><literal
>UITVOERDER</literal
></entry
>              <entry
><literal
>ISTR</literal
></entry
></row>
       <row
><entry
>Afbeelding</entry
>           <entry
><literal
>APIC</literal
></entry
>    <entry
><literal
>APIC</literal
></entry
>    <entry
><literal
>covr</literal
></entry
>           <entry
><literal
>WM/Afbeelding</literal
></entry
>                 <entry
><literal
>METAGEGEVENS_BLOK_AFBEELDING</literal
></entry
> <entry
></entry
></row>
       <row
><entry
>Uitgever</entry
>         <entry
><literal
>TPUB</literal
></entry
>    <entry
><literal
>TPUB</literal
></entry
>    <entry
><literal
>UITGEVER</literal
></entry
>      <entry
><literal
>WM/Uitgever</literal
></entry
>               <entry
><literal
>UITGEVER</literal
></entry
>              <entry
><literal
>IPUB</literal
></entry
></row>
       <row
><entry
>Waardering</entry
>            <entry
><literal
>POPM</literal
></entry
>    <entry
><literal
>POPM</literal
></entry
>    <entry
><literal
>rente</literal
></entry
>           <entry
><literal
>WM/GedeeldeGebruikersWaardering</literal
></entry
>        <entry
><literal
>WAARDERING</literal
></entry
>                 <entry
><literal
>IRTD</literal
></entry
></row>
       <row
><entry
>Land van uitgave</entry
>   <entry
><literal
>TXXX:UITGAVELAND</literal
></entry
> <entry
><literal
>TXXX:UITGAVELAND</literal
></entry
>       <entry
></entry
>    <entry
></entry
>                                              <entry
><literal
>UITGAVELAND</literal
></entry
>         <entry
><literal
>ICNT</literal
></entry
></row>
       <row
><entry
>Uitgiftedatum</entry
>      <entry
></entry
>                           <entry
><literal
>TDRL</literal
></entry
>    <entry
><literal
>RELEASEDATE (datum van uitgifte)</literal
></entry
>    <entry
></entry
>                                              <entry
><literal
>RELEASEDATE (datum van uitgifte)</literal
></entry
>            <entry
></entry
></row>
       <row
><entry
>Remixer</entry
>           <entry
><literal
>TPE4</literal
></entry
>    <entry
><literal
>TPE4</literal
></entry
>    <entry
><literal
>REMIXER</literal
></entry
>        <entry
><literal
>WM/GewijzigdDoor</literal
></entry
>              <entry
><literal
>REMIXER</literal
></entry
>                <entry
><literal
>IEDT</literal
></entry
></row>
       <row
><entry
>Sorteervolgorde album</entry
>        <entry
><literal
>TSOA</literal
></entry
>    <entry
><literal
>TSOA</literal
></entry
>    <entry
><literal
>soal</literal
></entry
>           <entry
><literal
>WM/SorteervolgordeAlbum</literal
></entry
>          <entry
><literal
>ALBUMSORT</literal
></entry
>              <entry
></entry
></row>
       <row
><entry
>Sorteervolgorde albumartiest</entry
> <entry
><literal
>TSO2</literal
></entry
>    <entry
><literal
>TSO2</literal
></entry
>    <entry
><literal
>soaa</literal
></entry
>           <entry
></entry
>                                              <entry
><literal
>ALBUMARTISTSORT</literal
></entry
>        <entry
></entry
></row>
       <row
><entry
>Sorteervolgorde artiest</entry
>       <entry
><literal
>TSOP</literal
></entry
>    <entry
><literal
>TSOP</literal
></entry
>    <entry
><literal
>soar</literal
></entry
>           <entry
><literal
>WM/SorteervolgordeArtiest</literal
></entry
>         <entry
><literal
>ARTISTSORT</literal
></entry
>             <entry
></entry
></row>
       <row
><entry
>Sorteervolgorde componist</entry
>     <entry
><literal
>TSOC</literal
></entry
>    <entry
><literal
>TSOC</literal
></entry
>    <entry
><literal
>soco</literal
></entry
>           <entry
></entry
>                                              <entry
><literal
>COMPOSERSORT</literal
></entry
>           <entry
></entry
></row>
       <row
><entry
>Op naam sorteren</entry
>         <entry
><literal
>TSOT</literal
></entry
>    <entry
><literal
>TSOT</literal
></entry
>    <entry
><literal
>sonm</literal
></entry
>           <entry
><literal
>WM/SorteervolgordeTitel</literal
></entry
>          <entry
><literal
>TITLESORT</literal
></entry
>              <entry
></entry
></row>
       <row
><entry
>Ondertitel</entry
>          <entry
></entry
>                           <entry
><literal
>TSST</literal
></entry
>    <entry
><literal
>ONDERTITEL</literal
></entry
>       <entry
><literal
>WM/Ondertitel</literal
></entry
>                <entry
><literal
>ONDERTITEL</literal
></entry
>               <entry
><literal
>PRT1</literal
></entry
></row>
       <row
><entry
>Website</entry
>           <entry
><literal
>WOAR</literal
></entry
>    <entry
><literal
>WOAR</literal
></entry
>    <entry
><literal
>WEBSITE</literal
></entry
>        <entry
><literal
>WM/AuteurURL</literal
></entry
>               <entry
><literal
>WEBSITE</literal
></entry
>                <entry
><literal
>IBSU</literal
></entry
></row>
       <row
><entry
>Werk</entry
>              <entry
><literal
>TIT1</literal
></entry
>    <entry
><literal
>TIT1</literal
></entry
>    <entry
><literal
>©wrk</literal
></entry
>           <entry
><literal
>WM/BeschrijvingInhoudGroep</literal
></entry
> <entry
><literal
>WERK</literal
></entry
>                   <entry
></entry
></row>
       <row
><entry
>WWW van audiobestand</entry
>    <entry
><literal
>WOAF</literal
></entry
>    <entry
><literal
>WOAF</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/AudioBestandURL</literal
></entry
>            <entry
><literal
>WWWAUDIOFILE</literal
></entry
>           <entry
></entry
></row>
       <row
><entry
>WWW van audiobron</entry
>  <entry
><literal
>WOAS</literal
></entry
>    <entry
><literal
>WOAS</literal
></entry
>    <entry
></entry
>                                  <entry
><literal
>WM/AudioBronURL</literal
></entry
>          <entry
><literal
>WWWAUDIOSOURCE</literal
></entry
>         <entry
></entry
></row>
     </tbody>
   </tgroup>
 </table>

<para
>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 (&eg; de namen in hoofdletters in de kolom MP4). Als zulke mogelijkheden niet bestaan, zouden sommige typen frames niet ondersteund worden voor het formaat, &eg; 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 (&eg; 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>
<listitem
><para
>Als u een frame nodig hebt die niet in deze lijst zit, dan hebt u nog steeds de mogelijkheid om willekeurige namen in te voeren met de knop <guibutton
>Toevoegen</guibutton
>. Vaak gebruikte framenamen kunnen toegevoegd worden aan de <guilabel
>Aangepaste frames</guilabel
> in de configuratie van <guilabel
>Tags</guilabel
> en zullen dan beschikbaar zijn in de <guilabel
>Snelle toegang frames</guilabel
>. </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
>&#9658;</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>

<sect2 id="mp4-chapters">
<title
>Hoofdstukken in MP4-bestanden</title>

<para
>MP4 audioboeken hebben typisch een <filename class="extension"
>.m4b</filename
> extensie en zijn tamelijk groot omdat ze alle hoofdstukken in een enkel bestand bevatten. Om in zulke bestanden te navigeren, kunnen ze hoofdstukmarkeringen bevatten, die bewerkt kunnen worden in &kid3; in een pseudo "Hoofdstukken" frame met gebruik van dezelfde bewerker die gebruikt wordt voor <link linkend="synchronized-lyrics"
>gesynchroniseerde liedteksten</link
>. Merk echter op dat deze functie alleen beschikbaar is met de plug-in <guilabel
>Mp4v2Metadata</guilabel
>, ga dus na dat deze is geactiveerd en boven de plug-in <guilabel
>TaglibMetadata</guilabel
> in het tabblad <guilabel
>Plug-ins</guilabel
> van de instellingen staat als u MP4-hoofdstukken moet bewerken. </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
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycap
>F5</keycap
> </shortcut
> <guimenu
>Bestand</guimenu
> <guimenuitem
>Herladen</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Map herladen.</action
> Gewijzigde bestanden moeten eerder opgeslagen worden. Uitgevouwen submappen zullen ingevouwen worden.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo
>&Ctrl;<keycap
>S</keycap
></keycombo
> </shortcut
> <guimenu
>Bestand</guimenu
> <guimenuitem
>Opslaan</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>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
> 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
>Als u al een zoekresultaat open hebt in de webbrowser, dan kunt u de URL in het eerste zoekveld invoeren. Het resultaat zal dan in de albumlijst verschijnen en kan direct geïmporteerd worden in &kid3;. </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.  Een <guilabel
>Token</guilabel
> kan ingevoerd worden om de RESTful Discogs API te gebruiken in plaats van hun webinterface, die vaak is gewijzigd, waarbij de importontleder werd gebroken. U moet u registreren voor een account op <ulink url="https://www.discogs.com/"
>Discogs</ulink
> en dan een token op hun website genereren (Settings/Developers, nieuw token genereren). Vergeet niet om <guibutton
>Save Settings</guibutton
> te doen na invoeren van het token om het in volgende verzoeken ook te kunnen gebruiken. 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"
>.m3u</filename
> afspeellijst zou kunnen zijn "<literal
>%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]</literal
>". 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
>Maximaal toegestane tijdsverschil (sec) controleren:</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 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
>Importeren.</guimenuitem
>, maar opent direct de dialoog <guibutton
>Uit Amazon</guibutton
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Uit MusicBrainz Release importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Uit MusicBrainz release database importeren.</action
> Dit menu-item opent dezelfde importdialoog als <guimenuitem
>Importeren...</guimenuitem
>, maar opent direct de dialoog <guibutton
>Uit MusicBrainz Release</guibutton
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>Bestand</guimenu
> <guimenuitem
>Uit MusicBrainz Fingerprint importeren...</guimenuitem
> </menuchoice
></term>
<listitem
><para
><action
>Uit een MusicBrainz server importeren.</action
> 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 (&eg; 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (&eg; 001 for %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Track (zonder voorloopnullen, &eg; 1)</para
></listitem>
<listitem
><para
>%g %{genre} Genre</para
></listitem>
<listitem
><para
>%f %{file} Bestandsnaam</para
></listitem>
<listitem
><para
>%p %{filepath} Pad</para
></listitem>
<listitem
><para
>%{modificationdate} Wijzigingsdatum</para
></listitem>
<listitem
><para
>%{creationdate} Aanmaakdatum</para
></listitem>
<listitem
><para
>%u %{url} &URL;</para
></listitem>
<listitem
><para
>%{dirname} Mapnaam</para
></listitem>
<listitem
><para
>%d %{duration} Tijdsduur in minuten:seconden</para
></listitem>
<listitem
><para
>%D %{seconds} Tijdsduur in seconden</para
></listitem>
<listitem
><para
>%n %{tracks} Aantal tracks van het album</para
></listitem>
<listitem
><para
>%e %{extension} Bestandsextensie</para
></listitem>
<listitem
><para
>%O %{tag1} het formaat van tag 1 (ID3v1.1 of leeg indien niet bestaand)</para
></listitem>
<listitem
><para
>%o %{tag2} Het formaat van tag 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF of leeg indien niet bestaand)</para
></listitem>
<listitem
><para
>%b %{bitrate} Bitsnelheid in kbit/s</para
></listitem>
<listitem
><para
>%v %{vbr} VBR of leeg (alleen voor ID3v2.3 met id3lib)</para
></listitem>
<listitem
><para
>%r %{samplerate} Samplesnelheid in Hz</para
></listitem>
<listitem
><para
>%m %{mode} Kanaalmodus (stereo of verbonden stereo)</para
></listitem>
<listitem
><para
>%h %{channels} Aantal kanalen (1 of 2)</para
></listitem>
<listitem
><para
>%k %{codec} Codec (<abbrev
>bijv.</abbrev
> MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)</para
></listitem>
</itemizedlist>

<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
>. De lijst met beschikbare formaten kan bewerkt worden in de sectie <guilabel
>Formaten</guilabel
> van het tabblad <guilabel
>Bestanden</guilabel
> in de <link linkend="configure-kid3"
>instellingen</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 (&eg; 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (&eg; 001 for %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Track (zonder voorloopnullen, &eg; 1)</para
></listitem>
<listitem
><para
>%g %{genre} Genre</para
></listitem>
<listitem
><para
>%{dirname} Mapnaam (<abbrev
>bijv.</abbrev
> %{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 (&eg; 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (&eg; 001 for %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Track (zonder voorloopnullen, &eg; 1)</para
></listitem>
<listitem
><para
>%g %{genre} Genre</para
></listitem>
<listitem
><para
>%f %{file} Bestandsnaam</para
></listitem>
<listitem
><para
>%p %{filepath} Absoluut pad naar bestand</para
></listitem>
<listitem
><para
>%e %{extension} Bestandsextensie</para
></listitem>
<listitem
><para
>%O %{tag1} het formaat van tag 1 (ID3v1.1 of leeg indien niet bestaand)</para
></listitem>
<listitem
><para
>%o %{tag2} Het formaat van tag 2 (ID3v2.3.0, ID3v2.4.0, ID3v2.2.0, ID3v2.2.1, Vorbis, APE, MP4, ASF of leeg indien niet bestaand)</para
></listitem>
<listitem
><para
>%b %{bitrate} Bitsnelheid in kbit/s</para
></listitem>
<listitem
><para
>%v %{vbr} VBR of leeg (alleen voor ID3v2.3 met id3lib)</para
></listitem>
<listitem
><para
>%r %{samplerate} Samplesnelheid in Hz</para
></listitem>
<listitem
><para
>%m %{mode} Kanaalmodus (stereo of verbonden stereo)</para
></listitem>
<listitem
><para
>%h %{channels} Aantal kanalen (1 of 2)</para
></listitem>
<listitem
><para
>%k %{codec} Codec (<abbrev
>bijv.</abbrev
> MPEG 1 Layer 3, MP4, Ogg Vorbis, FLAC, MPC, APE, ASF, AIFF, WAV)</para
></listitem>
<listitem
><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>
</listitem
></varlistentry>

<varlistentry
><term
>Bestandsnaamtag verschilt</term
><listitem>
<para
><userinput
>not (%{filepath} contains "%{artist} - %{album}/%{track} %{title}") </userinput
></para>
<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
><para
>De getoonde tijd kan gewisseld worden tussen verlopen en overblijvende tijd door te klikken op het beeld. </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
>In <guilabel
>Aangepaste frames</guilabel
>, tot en met acht aangepaste framenamen kunnen gedefinieerd worden, die dan gebruikt worden zoals de geünificeerde frames, bijvoorbeeld als snelle toegang frames. </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
>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
>Tekstcodering (Exporteren, Afspeellijst)</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
>De sectie <guilabel
>Bestandenlijst</guilabel
> bepaalt welke bestanden getoond worden in de bestandenlijst. Een <guilabel
>Filter</guilabel
> 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
> 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
>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
>De knop <guibutton
>Afspeellijst</guibutton
> kan gebruikt worden om de bestandsnaamformaten beschikbaar in de dialoog <link linkend="create-playlist"
>Afspeellijst aanmaken</link
> te bewerken. </para>
<para
><guilabel
>Bestandsnaamformaat</guilabel
> bevat opties voor het formaat van de bestandsnamen. Dezelfde opties als in <guilabel
>Tagformaat</guilabel
> zijn beschikbaar. </para>
<para
>De toegestane <guilabel
>Maximum lengte</guilabel
> voor bestandsnamen kan bovendien ingesteld worden. De meeste moderne bestandssystemen hebben een limiet van 255 tekens, maar als u bestanden naar een cd wilt branden, zou u de limiet op 64 moeten zetten. Als <guilabel
>Voor afspeellijst en mapnamen</guilabel
> is geactiveerd, zal het bestandsformaat ook gebruikt worden bij het aanmaken van afspeellijsten en hernoemen van mappen. </para>
<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 (&eg; 01)</para
></listitem>
<listitem
><para
>%t %{track.n} Track met veldbreedte n (&eg; 001 for %{track.3})</para
></listitem>
<listitem
><para
>%T %{tracknumber} Track (zonder voorloopnullen, &eg; 1)</para
></listitem>
<listitem
><para
>%g %{genre} Genre</para
></listitem>
<listitem
><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"
>Om QML-scripts uit te voeren wordt <command
>@qml</command
> 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
> (op &Linux; typisch <filename
>/usr/share/kid3/qml/script/</filename
>, op Windows <filename
>qml/script/</filename
> binnen de installatiemap en op &macOS; in de app-map <filename
>kid3.app/Contents/Resources/qml/script/</filename
>). Eigen scripts kunnen in elke map worden opgeslagen. Als de QML code &GUI;-componenten gebruiken, moet <command
>@qmlview</command
> worden gebruikt in plaats van <command
>@qml</command
>. Extra parameters worden doorgegeven aan het QML-script waar ze beschikbaar zullen zijn via de functie <function
>getArguments()</function
>. 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
>Het commando dat ingevoegd zal worden met %{browser} kan gedefinieerd worden in het bovenstaande tekstbewerkingsvak <guilabel
>Webbrowser</guilabel
>. Commando's beginnend met %{browser} kunnen gebruikt worden om informatie op te halen over de geluidsbestanden uit het web, bijvoorbeeld <screen width="40">
<userinput
>%{browser} http://lyricwiki.org/%u{artist}:%u{title}</userinput>
</screen
> zal de liedtesksten voor de huidige song opvragen in <ulink url="http://www.lyricwiki.org"
>LyricWiki</ulink
>. De "u" in %u{artist} en %u{title} worden gebruikt om de artiest %{artist} en song %{title}-informatie te &URL;-coderen. Het is gemakkelijk om uw eigen opvragingen op dezelfde manier te definiëren, <abbrev
>bijv.</abbrev
> zoeken naar een afbeelding met <ulink url="http://www.google.com"
>Google</ulink
>: <screen width="40"
><userinput
>%{browser} http://images.google.com/images?q=%u{artist}%20%u{album}</userinput
>
</screen>
</para>
<para
>Om een albumhoesillustratie aan tag 2 toe te voegen kunt u met Google of Amazon zoeken naar afbeeldingen met de boven beschreven commando's. De afbeelding kan toegevoegd worden aan de tag met slepen en loslaten. U kunt ook een afbeelding met <guibutton
>Toevoegen</guibutton
> toevoegen, selecteer dan het afbeeldingframe en importeer een afbeeldingsbestand of plak deze uit het klembord. Afbeeldingframes worden ondersteund voor ID3v2, MP4, FLAC, Ogg en 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 de pagina <guilabel
>Plug-ins</guilabel
> page, kunnen beschikbare plug-ins ingeschakeld of uitgeschakeld worden. De plug-ins zijn gescheiden in twee secties. De lijst <guilabel
>Metagegevens-plug-ins &amp; Prioriteit</guilabel
> bevatten plug-ins die geluidsbestandformaten ondersteunen. De volgorde van de plug-ins is belangrijk omdat ze van boven naar beneden worden geprobeerd. Sommige formaten worden ondersteund door meerdere plug-ins, bestanden zullen dus geopend worden met de eerste plug-in die ze ondersteunt. De <guilabel
>TaglibMetadata</guilabel
> ondersteunt de meeste formaten, als het bovenaan de lijst staat, zal het de meeste bestanden openen. Als u een andere plug-in voor een bestandsformaat wilt gebruiken, ga dan na dat het in de lijst staat vóór de plug-in <guilabel
>TaglibMetadata</guilabel
>. Details over de metagegevensplug-in en waarom u deze zou willen gebruiken in plaats van TagLib staan hieronder. </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="https://mp4v2.org"
>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 functie <guimenuitem
>Importeren van gnudb.org...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>MusicBrainzImport</guilabel
>: Gebruikt voor de functie <guimenuitem
>Importeren van MusicBrainz Release...</guimenuitem
>. </para
></listitem>
<listitem
><para
><guilabel
>AcoustidImport</guilabel
>: gebruikt voor de functie <guimenuitem
>Uit MusicBrainz Fingerprint importeren...</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
> biedt een opdrachtregelinterface voor &kid3;. Als een mappad wordt gebruikt, wordt de map geopend. Als een of meer bestandspaden wordt gegeven, wordt de gemeenschappelijke map geopened en de bestanden wprden geselecteerd. Opvolgende commando's zullen dan op deze bestanden werken. Commando's worden gespecificeerd met opties <option
>-c</option
>. Als meerdere commando's worden doorgegeven, dan worden ze in de gegeven volgorde uitgeschakeld. Als bestanden gewijzigd worden door de commando's, worden ze aan het einde opgeslagen. Als er geen commando-opties zijn doorgegeven, zal <command
>kid3-cli</command
> in een interactieve modus starten. Commando's kunnen ingevoerd worden en zullen werken op de huidige selectie. De volgende secties bieden een lijst met alle beschikbare commando's. </para>

<sect2 id="cli-help">
<title
>Help</title>
<cmdsynopsis
><command
>help</command
> <arg
><replaceable
>COMMANDONAAM</replaceable
></arg
> </cmdsynopsis>
<para
>Toont help over de parameters van <replaceable
>COMMANDONAAM</replaceable
> of over alle commando's als geen commandonaam is gegeven. </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
>TIJD</replaceable
></arg
> </group
> </cmdsynopsis>
<para
>Overschrijf de standaard timeout van het commando. De CLI-commando's breken af nadat een timeout specifiek voor het commando is afgelopen. Deze timeout is 10 seconden voor <command
>ls</command
> en <command
>albumart</command
>, 60 seconden voor <command
>autoimport</command
> en <command
>filter</command
> en 3 seconden voor alle andere commando's. Als erg veel bestanden verwerkt moeten worden, kunnen deze timeout's te beperkt kunnen zijn, de timeout voor alle commando's kan ingesteld worden op <replaceable
>TIJD</replaceable
> ms, geheel uitgeschakeld of op de standaard waarden worden gelaten. </para>
</sect2>

<sect2 id="cli-exit">
<title
>Toepassing afsluiten</title>
<cmdsynopsis
><command
>exit</command
> <arg
>force</arg
> </cmdsynopsis>
<para
>Toepassing verlaten. Als er gewijzigde niet opgeslagen bestanden zijn, is de parameter <parameter class="command"
>force</parameter
> vereist. </para>
</sect2>

<sect2 id="cli-cd">
<title
>Map wijzigen</title>
<cmdsynopsis
><command
>cd</command
> <arg
><replaceable
>MAP</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
>De inhoud van de huidige map tonen. Dit komt overeen met de bestandslijst in de &GUI; van &kid3;. Vijf tekens voor de bestandsnamen tonen de status van het bestand. </para>

<itemizedlist>
<listitem
><para
><computeroutput
>&gt;</computeroutput
> Bestand is geselecteerd. </para
></listitem>
<listitem
><para
><computeroutput
>*</computeroutput
> Bestand is gewijzigd. </para
></listitem>
<listitem
><para
><computeroutput
>1</computeroutput
> Bestand heeft een tag 1, anders wordt '<computeroutput
>-</computeroutput
>' getoond.</para
></listitem>
<listitem
><para
><computeroutput
>2</computeroutput
> Bestand heeft een tag 2, anders wordt '<computeroutput
>-</computeroutput
>' getoond.</para
></listitem>
<listitem
><para
><computeroutput
>3</computeroutput
> Bestand heeft een tag 3, anders wordt '<computeroutput
>-</computeroutput
>' getoond.</para
></listitem>
</itemizedlist>

<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>
  1-- 01 Intro.mp3

> 12- 02 We hebben alleen deze.mp3
 *1-- 03 Outro.mp3</computeroutput
></screen>

<para
>In dit voorbeeld hebben alle bestanden een tag 1, het tweede bestand heeft ook een tag 2 en is geselecteerd. Het derde bestand is gewijzigd. </para>
</sect2>

<sect2 id="cli-save">
<title
>De gewijzigde bestanden opslaan</title>
<cmdsynopsis>
<command
>save</command>
</cmdsynopsis>
 
</sect2>

<sect2 id="cli-select">
<title
>Bestand selecteren</title>
<cmdsynopsis
><command
>select</command
> <group
> <arg choice="plain"
>all</arg
> <arg choice="plain"
>none</arg
> <arg choice="plain"
>first</arg
> <arg choice="plain"
>previous</arg
> <arg choice="plain"
>next</arg
> <arg choice="plain" rep="repeat"
><replaceable
>BESTAND</replaceable
></arg
> </group
> </cmdsynopsis>
<para
>Om alle bestanden te selecteren, voer <userinput
>select all</userinput
> in, om selectie van alle bestanden ongedaan te maken, voer <userinput
>select none</userinput
> in. Om de bestanden in de huidige map te verplaatsen begin met <userinput
>select first</userinput
>, ga daarna verder met <userinput
>select next</userinput
> of achterwaarts met <userinput
>select previous</userinput
>. Specifieke bestanden kunnen toegevoegd worden aan de huidige selectie door hun bestands namen in te geven. Jokertekens zijn mogelijk, dus <userinput
>select *.mp3</userinput
> zal alle MP3-bestanden in de huidige map selecteren. </para>

<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>select first</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>

> 1-- 01 Intro.mp3
  12- 02 We hebben alleen deze.mp3
 *1-- 03 Outro.mp3</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>select next</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>
  1-- 01 Intro.mp3

> 12- 02 We hebben alleen deze.mp3
 *1-- 03 Outro.mp3</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>select *.mp3</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>

> 1-- 01 Intro.mp3

> 12- 02 We hebben alleen deze.mp3

>*1-- 03 Outro.mp3</computeroutput
></screen>
</sect2>

<sect2 id="cli-tag">
<title
>Tag selecteren</title>
<cmdsynopsis
><command
>tag</command
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Veel commando's hebben een optionele parameter <replaceable
>TAG-NUMMERS</replaceable
>, die specificeert of het commando werkt op tag 1, 2 of 3. Als deze parameter ontbreekt worden de standaard tagnummers gebruikt, die door dit commando worden gezet. Bij opstarten worden ze ingesteld op <literal
>12</literal
> wat betekent dat informatie wordt gelezen uit tag 2 indien beschikbaar, anders uit tag 1; wijzigingen worden gedaan op tag 2. <option
><replaceable
>TAG-NUMMERS</replaceable
></option
> kan ingesteld worden op <userinput
>1</userinput
>, <userinput
>2</userinput
> of <userinput
>3</userinput
> om alleen te werken op de overeenkomstige tag. Als de parameter ontbreekt wordt de huidige instelling getoond. </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-NAAM</replaceable
></arg
> </group
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Dit commando kan gebruikt worden om de waarde van een specifiek tagframe te lezen of informatie te krijgen over alle tagframes (als het argument ontbreekt of <option
>all</option
> wordt gebruikt). Gewijzigde frames worden gamarkeerd met een '<computeroutput
>*</computeroutput
>'. </para>

<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>get</userinput
><computeroutput>
Bestand: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo
  Naam: 01 Intro.mp3
Tag 1: ID3v1.1
  Titel         Intro
  Artiest       One Hit Wonder
  Album         Let's Tag
  Datum         2013
  Tracknummer   1
  Genre         Pop</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>get title</userinput
><computeroutput>
Intro</computeroutput
></screen>
<para
>Om de inhoud van een afbeeldingsframe in een bestand op te slaan, gebruik <screen width="65"
><userinput
>get picture:'/pad/naar/map.jpg'</userinput
></screen>
</para>
<para
>Om gesynchroniseerde liedteksten in een LRC-bestand op te slaan, gebruik <screen width="65"
><userinput
>get SYLT:'/pad/naar/liedtekst.lrc'</userinput
></screen>
</para>
<para
>Het is mogelijk om alleen een specifiek veld uit een frame te halen, bijvoorbeeld <userinput
>get POPM.Email</userinput
> voor het e-mailveld van een popularimeterframe. Als een bestand meerdere frames van dezelfde soort heeft, kunnen de verschillende frames geïndexeerd worden met rechte haken, bijvoorbeeld de eerste uitvoerder uit een Vorbis-commentaar kan opgehaald worden met <userinput
>get performer[0]</userinput
>, de tweede met <userinput
>get performer[1]</userinput
>. </para>
<para
>De pseudoveldnaam "selected" kan gebruikt worden om te controleren of een frame is geselecteerd, bijvoorbeeld <userinput
>get artist.selected</userinput
> zal <computeroutput
>1</computeroutput
> teruggeven als het artiestframe is geselecteerd, anders <computeroutput
>0</computeroutput
>. </para>
<para
>Het pseudo framenaam "ratingstars" kan gebruikt worden om de waarde van het "rating" frame te verkrijgen als de formaatspecifieke waarde overeenkomend met het aantal sterren (0 tot 5). Door "rating" te gebruiken, wordt de interne waarde teruggegeven. </para>
</sect2>

<sect2 id="cli-set">
<title
>Tagframe instellen</title>
<cmdsynopsis
><command
>set</command
> <arg choice="req"
><replaceable
>FRAMENAAM</replaceable
></arg
> <arg choice="req"
><replaceable
>FRAMEWAARDE</replaceable
></arg
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Dit commando stelt de waarde van een specifiek tagframe in. Als <replaceable
>FRAMEWAARDE</replaceable
> leeg is, wordt het frame verwijderd. </para>
<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>set remixer 'O.H. Wonder'</userinput
></screen>
<para
>Om de inhoud van een afbeeldingsframe uit een bestand in te stellen, gebruik <screen width="65"
><userinput
>set picture:'/path/to/folder.jpg' 'Beschrijving afbeelding'</userinput
></screen>
</para>
<para
>Om gesynchroniseerde liedteksten uit een LRC-bestand in te stellen, gebruik <screen width="65"
><userinput
>set SYLT:'/pad/naar/liedtekst.lrc' 'Beschrijving liedtekst'</userinput
></screen>
</para>
<para
>Om een specifiek veld van een frame in te stellen kan de veldnaam gegeven worden na een punt, <abbrev
>bijv.</abbrev
> om het veld Counter in te stellen van een populariteistmeterframe, gebruik <screen width="65"
><userinput
>set POPM.Counter 5</userinput
></screen>
</para>
<para
>Een toepassing voor veldspecificaties is he geval waar u een aangepast TXXX-frame wilt met beschrijving van "rating" in plaats van een standaard Popularimeter-frame (die door sommige plug-ins lijkt te worden gebruikt). U kunt zo'n TXXX-ratingframe aanmaken met <command
>kid3-cli</command
>, u moet echter eerst een TXXX-frame aanmaken met beschrijving "rating" en daarna de waarde van dit frame instellen op de waarde van rating. <screen width="65">
<prompt
>kid3-cli&gt; </prompt
><userinput
>set rating ""</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>set TXXX.Description rating</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>set rating 5</userinput>
</screen
> Het eerste commando zal een bestaand POPM-frame verwijderen, omdat als zo'n frame bestaat, <userinput
>set rating 5</userinput
> het POPM-frame zou instellen en niet het TXXX-frame. Een andere mogelijkheid zou zijn <userinput
>set TXXX.Text 5</userinput
> te gebruiken, maar dit zou alleen werken als er geen ander TXXX-frame aanwezig is. </para>
<para
>Om meerdere frames van dezelfde soort in te stellen kan een index gegeven worden in rechte haken, <abbrev
>bijv.</abbrev
> om meerdere uitvoerders in een Vorbis commentaar in te stellen, gebruik <screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>set performer[0] 'Liza don Getti (sopraan)'</userinput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>set performer[1] 'Joe Barr (piano)'</userinput
>
</screen>
</para>
<para
>Om bepaalde frames te selecteren voor een actie kopiëren, plakken of verwijderen kan de pseudoveldnaam "selected" worden gebruikt. Normaal worden alle frames geselecteerd, om alle selecties ongedaan te maken, gebruik <userinput
>set '*.selected' 0</userinput
>, daarna bijvoorbeeld <userinput
>set artist.selected 1</userinput
> om het artiestframe te selecteren. </para>
<para
>De pseudo framenaam "ratingstars" kan gebruikt worden om de waarde van het "rating" frame in te stellen als de formaatspecifieke waarde overeenkomend met het aantal sterren (0 tot 5). De framenaam "rating" kan gebruikt worden om de interne waarde in te stellen. </para>
<para
>Instellen van "ratingstars" op meerdere bestanden met verschillende tagformaten zal niet werken omdat het frame met de waarde overkomend van het aantal sterren aangemaakt wordt voor het eerste bestand en daarna gebruikt voor alle bestanden. Dus in plaats van <userinput
>kid3-cli -c "set ratingstars 2" *</userinput
> zou u beter <userinput
>for f in *; do kid3-cli -c "set ratingstars 2" "$f"; done</userinput
> kunnen gebruiken. </para>
</sect2>

<sect2 id="cli-revert">
<title
>Ongedaan maken</title>
<cmdsynopsis>
<command
>revert</command>
</cmdsynopsis>
<para
>Alle wijzigingen in de geselecteerde bestanden terugdraaien (of alle bestanden als er geen bestanden zijn geselecteerd). </para>
</sect2>

<sect2 id="cli-import">
<title
>Uit bestand importeren</title>
<cmdsynopsis
><command
>import</command
> <arg choice="req"
><replaceable
>BESTAND</replaceable
></arg
> <arg choice="req"
><replaceable
>FORMAATNAAM</replaceable
></arg
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Tags worden geïmporteerd uit het bestand <replaceable
>BESTAND</replaceable
> in het formaat met de naam <replaceable
>FORMAATNAAM</replaceable
> (<abbrev
>bijv.</abbrev
> <userinput
>"CSV unquoted"</userinput
>, zie <link linkend="import-text"
>Importeren</link
>). </para>
<para
>Als <userinput
>tags</userinput
> is gegeven voor <replaceable
>BESTAND</replaceable
>, worden tags geïmporteerd uit andere tags. In plaats van <replaceable
>FORMAATNAAM</replaceable
> parameters zijn <replaceable
>BRON</replaceable
> en <replaceable
>EXTRACTIE</replaceable
> vereist, zie <link linkend="import-tags"
>Uit tags importeren</link
>. Om het importeren uit tags toe te passen op de geselecteerde bestanden, gebruik <userinput
>tagsel</userinput
> in plaats van <userinput
>tags</userinput
>. Deze functie ondersteunt ook uitvoer van de uitgepakte waarde door een waarde <replaceable
>EXTRACTIE</replaceable
> te gebruiken met de waarde <userinput
>%{__return}(.+)</userinput
>. </para>
</sect2>

<sect2 id="cli-autoimport">
<title
>Automatisch importeren</title>
<cmdsynopsis
><command
>autoimport</command
> <arg
><replaceable
>PROFIELNAAM</replaceable
></arg
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>In bulk importeren met profiel <replaceable
>PROFIELNAAM</replaceable
> (zie <link linkend="batch-import"
>Automatisch importeren</link
>, wordt <userinput
>"All"</userinput
> gebruikt indien weggelaten). </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
>Stelt de albumillustraties in door een afbeelding te downloaden uit <replaceable
>URL</replaceable
>. De regels gedefinieerd in de dialoog <link linkend="browse_pictures"
>Bladeren in hoesillustraties</link
> worden gebruikt om algemene &URL;'s (<abbrev
>bijv.</abbrev
> uit Amazon) om te vormen naar een &URL; van een afbeelding. Om de albumhoes in te stellen uit een lokaal afbeeldingsbestand, gebruik het commando <link linkend="cli-set"
>set</link
>. </para>
<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>albumart
http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC</userinput
></screen>
</sect2>

<sect2 id="cli-export">
<title
>Naar bestand exporteren</title>
<cmdsynopsis
><command
>export</command
> <arg choice="req"
><replaceable
>BESTAND</replaceable
></arg
> <arg choice="req"
><replaceable
>FORMAATNAAM</replaceable
></arg
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Tags worden geëxporteerd uit het bestand <replaceable
>BESTAND</replaceable
> in het formaat met de naam <replaceable
>FORMAATNAAM</replaceable
> (<abbrev
>bijv.</abbrev
> <userinput
>"CSV unquoted"</userinput
>, zie <link linkend="export"
>Exporteren</link
>). </para>
</sect2>

<sect2 id="cli-playlist">
<title
>Afspeellijst aanmaken</title>
<cmdsynopsis>
<command
>playlist</command>
</cmdsynopsis>
<para
>Afspeellijst aanmaken in het formaat ingesteld in de configuratie, zie <link linkend="create-playlist"
>Afspeellijst aanmaken</link
>. </para>
</sect2>

<sect2 id="cli-filenameformat">
<title
>Bestandsnaamformaat toepassen</title>
<cmdsynopsis>
<command
>filenameformat</command>
</cmdsynopsis>
<para
>Bestandsnaamformaat toepassen in de configuratie instellen, zie <link linkend="apply-filename-format"
>Bestandsnaamformaat toepassen</link
>. </para>
</sect2>

<sect2 id="cli-tagformat">
<title
>Tagformaat toepassen</title>
<cmdsynopsis>
<command
>tagformat</command>
</cmdsynopsis>
<para
>Tagnaamformaat toepassen in de configuratie instellen, zie <link linkend="apply-tag-format"
>Tagformaat toepassen</link
>. </para>
</sect2>

<sect2 id="cli-textencoding">
<title
>Tekst-codering toepassen</title>
<cmdsynopsis>
<command
>textencoding</command>
</cmdsynopsis>
<para
>Tekstcodering toepassen in de configuratie instellen, zie <link linkend="apply-text-encoding"
>Tekstcodering toepassen</link
>. </para>
</sect2>

<sect2 id="cli-renamedir">
<title
>Hernoem map</title>
<cmdsynopsis
><command
>renamedir</command
> <arg
><replaceable
>FORMAAT</replaceable
></arg
> <group
> <arg choice="plain"
>create</arg
> <arg choice="plain"
>rename</arg
> <arg choice="plain"
>dryrun</arg
> </group
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Hernoem of maak mappen aan uit de waarden in de tags volgens een gegeven <replaceable
>FORMAAT</replaceable
> (<abbrev
>bijv.</abbrev
> <userinput
>%{artist} - %{album}</userinput
>, zie <link linkend="rename-directory"
>Map hernoemen</link
>), als geen formaat is gegeven, het formaat gedefinieerd in de dialoog <guilabel
>Map hernoemen</guilabel
> wordt gebruikt. De standaard modus is <option
>rename</option
>; om mappen aan te maken, moet <option
>create</option
> expliciet gegeven worden. De acties hernoemen zullen onmiddellijk uitgevoerd worden, om gewoon te zien wat gedaan zou worden, gebruik de optie <option
>dryrun</option
>. </para>
</sect2>

<sect2 id="cli-numbertracks">
<title
>Aantal tracks</title>
<cmdsynopsis
><command
>numbertracks</command
> <arg
><replaceable
>TRACKNUMMER</replaceable
></arg
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Nummer de geselecteerde tracks beginnend met <replaceable
>TRACKNUMMER</replaceable
> (<literal
>1</literal
> indien weggelaten). </para>
</sect2>

<sect2 id="cli-filter">
<title
>Filter</title>
<cmdsynopsis
><command
>filter</command
> <group
> <arg choice="plain"
><replaceable
>FILTERNAAM</replaceable
></arg
> <arg choice="plain"
><replaceable
>FILTERFORMAAT</replaceable
></arg
> </group
> </cmdsynopsis>
<para
>Filter de bestanden zodat alleen de bestanden overeenkomend met het <replaceable
>FILTERFORMAAT</replaceable
> zichtbaar zijn. De naam van een voorgedefinieerde filterexpressie (<abbrev
>bijv.</abbrev
> <userinput
>"Niet overeenkomende tag in bestandsnaam"</userinput
>) kan gebruikt worden in plaats van een filterexpressie, zie <link linkend="filter"
>Filter</link
>. </para>

<screen width="65"
><prompt
>kid3-cli&gt; </prompt
><userinput
>filter '%{title} contains "tro"'</userinput
><computeroutput>
Begonnen
  /home/urs/One Hit Wonder - Let's Tag
+ 01 Intro.mp3
- 02 We Only Got This One.mp3
+ 03 Outro.mp3
Beëindigd</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>
  1-- 01 Intro.mp3
  1-- 03 Outro.mp3</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>filter All</userinput
><computeroutput>
Begonnen
  /home/urs/One Hit Wonder - Let's Tag
+ 01 Intro.mp3
+ 02 We Only Got This One.mp3
+ 03 Outro.mp3
Beëindigd</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>ls</userinput
><computeroutput>
  1-- 01 Intro.mp3
  12- 02 We Only Got This One.mp3
  1-- 03 Outro.mp3</computeroutput
></screen>
</sect2>

<sect2 id="cli-to24">
<title
>ID3v2.3 naar ID3v2.4 converteren</title>
<cmdsynopsis>
<command
>to24</command>
</cmdsynopsis>
</sect2>

<sect2 id="cli-to23">
<title
>ID3v2.4 naar ID3v2.3 converteren</title>
<cmdsynopsis>
<command
>to23</command>
</cmdsynopsis>
</sect2>

<sect2 id="cli-fromtag">
<title
>Bestandsnaam uit tag</title>
<cmdsynopsis
><command
>fromtag</command
> <arg
><replaceable
>FORMAAT</replaceable
></arg
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Stel de bestandsnamen van de geselecteerde bestanden in uit waarden in de tags, bijvoorbeeld <userinput
>fromtag '%{track} - %{title}' 1</userinput
>. Als geen formaat is gespecificeerd, wordt het formaat ingesteld in de &GUI; gebruikt. </para>
</sect2>

<sect2 id="cli-totag">
<title
>Tag uit bestandsnaam</title>
<cmdsynopsis
><command
>totag</command
> <arg
><replaceable
>FORMAAT</replaceable
></arg
> <arg
><replaceable
>TAG-NUMMERS</replaceable
></arg
> </cmdsynopsis>
<para
>Stel de tagframes in uit de bestandsnamen, bijvoorbeeld <userinput
>totag '%{albumartist} - %{album}/%{track} %{title}' 2</userinput
>. Als geen formaat is gespecificeerd, wordt het formaat ingesteld in de &GUI; gebruikt. Als het formaat van de bestandsnaam niet overeenkomt met dit patroon, worden een paar andere algemeen gebruikte formaten geprobeerd. </para>
</sect2>

<sect2 id="cli-syncto">
<title
>Tag naar andere tag</title>
<cmdsynopsis
><command
>syncto</command
> <arg choice="req"
><replaceable
>TAG-NUMMER</replaceable
></arg
> </cmdsynopsis>
<para
>De tagframes uit een tag naar de andere tag kopiëren, <abbrev
>bijv.</abbrev
> om de ID3v2 tag uit de ID3v1 tag in te stellen, gebruik <userinput
>syncto 2</userinput
>. </para>
</sect2>

<sect2 id="cli-copy">
<title
>Kopiëren</title>
<cmdsynopsis
><command
>copy</command
> <arg
><replaceable
>TAG-NUMMER</replaceable
></arg
> </cmdsynopsis>
<para
>Kopieer de tag-frames van het geselecteerde bestand naar de interne kopieerbuffer. Ze kunnen dan ingesteld worden in een ander bestand met het commando <command
>paste</command
>. </para>
<para
>Om alleen een subset van de frames te kopiëren, gebruik het pseudoveld "selected" met het commando <command
>set</command
>. Om bijvoorbeeld alleen het schijfnummer en de copyright-frames te kopiëren, gebruik <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-NUMMER</replaceable
></arg
> </cmdsynopsis>
<para
>Stel tag-frames in uit de inhoud van de <command
>copy</command
>-buffer in de geselecteerde bestanden. </para>
</sect2>

<sect2 id="cli-remove">
<title
>Verwijderen</title>
<cmdsynopsis
><command
>remove</command
> <arg
><replaceable
>TAG-NUMMER</replaceable
></arg
> </cmdsynopsis>
<para
>Een tag verwijderen. </para>
<para
>Het is mogelijk om slechts een subset van de frames te verwijderen door ze te selecteren zoals beschreven in het <link linkend="cli-copy"
><command
>copy</command
> commando</link
>. </para>
</sect2>

<sect2 id="cli-config">
<title
>Kid3 configureren</title>
<cmdsynopsis
><command
>config</command
> <arg
><replaceable
>OPTIE</replaceable
></arg
> <arg
><replaceable
>WAARDE</replaceable
></arg
> </cmdsynopsis>
<para
>Een configuratie-optie opvragen of instellen. </para>
<para
>De <replaceable
>OPTIE</replaceable
> bestaat uit een groepsnaam en een eigenschapsnaam gescheiden door een punt. Wanneer geen <replaceable
>OPTIE</replaceable
> is gegeven, worden alle beschikbare groepen getoond. Als alleen een groepsnaam is gegeven, worden alle beschikbare eigenschappen van de groep getoond. Voor een gegeven groep en eigenschap, wordt de huidige geconfigureerde waarde getoond. Om de instelling te wijzigen, kan de nieuwe waarde ingegeven worden als een tweede argument. </para>
<para
>Als de waarde van een instelling een lijst is, moeten alle lijstelementen gegeven worden als argumenten. Dit betekent dat om een element aan een bestaande lijst met elementen toe te voegen, alle bestaande elementen ingegeven moeten worden gevolgd door het nieuwe element. In zo'n situatie is het gemakkelijker om de JSON modus te gebruiken, waar de huidige lijst gekopieerd kan worden met het nieuwe element achtergevoegd. </para>
</sect2>

<sect2 id="cli-execute">
<title
>Programma of QML-script uitvoeren</title>
<cmdsynopsis
><command
>execute</command
> <arg choice="opt"
>@qml</arg
> <arg choice="req"
><replaceable
>BESTAND</replaceable
></arg
> <arg choice="opt"
><replaceable
>ARGS</replaceable
></arg
> </cmdsynopsis>
<para
>Een QML-script of een uitvoerbaar programma uitvoeren. </para>
<para
>Zonder <option
>@qml</option
> wordt een programma uitgevoerd met argumenten. Wanneer <option
>@qml</option
> als het eerste argument is gegeven, zijn de volgende argumenten de argumenten van het QML-script. Bijvoorbeeld, de tags van een map kunnen geëxporteerd worden naar het bestand <filename
>export.csv</filename
> met het volgende commando. </para>
<screen width="65"
><userinput
>kid3-cli -c "execute @qml
/usr/share/kid3/qml/script/ExportCsv.qml export.csv"
/pad/naar/map/</userinput
></screen>
<para
>Hier is <option
>export.csv</option
> het argument voor het script <filename
>ExportCsv.qml</filename
>, terwijl <option
>/pad/naar/map/</option
> het argument <option
><replaceable
>BESTAND</replaceable
></option
> is voor <command
>kid3-cli</command
>. </para>
</sect2>

</sect1>

<sect1 id="kid3-cli-examples">
<title
>Voorbeelden</title>
<para
>Titel instellen met een apostrophe. Commando's doorgegeven aan <command
>kid3-cli</command
> met <parameter
>-c</parameter
> moeten in tussen accenten staan als ze niet alleen bestaan uit een enkel woord. Als zo'n commando zelf een argument heeft met spaties, moet dat argument ook tussen accenten staan. In &UNIX;-shells kunnen accenten of aanhalingstekens gebruikt worden, maar op de Windows Command Prompt, is het belangrijk dat de buitenste bestaan uit aanhalingstekens en voor de binnenste, accenten worden gebruikt. Als de tekst tussen de accenten een enkele accent bevat, moet deze een escape krijgen met een backslash teken, zoals getoond in het volgende voorbeeld:</para>
<screen width="65"
><userinput
>kid3-cli -c "set title 'I\'ll be there for you'" /pad/naar/map</userinput
></screen>

<para
>Albumhoes in alle bestanden van een map instellen met de functie bulkimport:</para>
<screen width="65"
><userinput
>kid3-cli -c "autoimport 'Cover Art'" /pad/naar/map</userinput
></screen>

<para
>Commentaarframes verwijderen en het tagformaat toepassen in beide tags van alle MP3-bestanden van een map:</para>
<screen width="65"
><userinput
>kid3-cli -c "set comment '' 1" -c "set comment '' 2" \
-c "tagformat 1" -c "tagformat 2" /pad/naar/map/*.mp3</userinput
></screen>

<para
>Tag 2 automatisch importeren, synchroniseren naar tag 1, bestandsnamen uit tag 2 en tenslotte een afspeellijst aanmaken:</para>
<screen width="65"
><userinput
>kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \
  /pad/naar/map/*.mp3</userinput
></screen>

<para
>Voor alle bestanden met een ID3v2.4.0 tag, converteer naar ID3v2.3.0 en verwijder het arrangeur-frame:</para>
<screen width="65"
><userinput
>kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \
  -c "set arranger ''" /pad/naar/map</userinput
></screen>

<para
>Dit Python script gebruikt <command
>kid3-cli</command
> om iTunes geluidscontrole iTunNORM-frames te genereren uit informatie over afspeelversterking.</para>
<programlisting
><![CDATA[
#!/usr/bin/env python3
# iTunes geluidscontrole genereren uit ReplayGain.
import os, sys, subprocess

def rg2sc(dirpath):
  for root, dirs, files in os.walk(dirpath):
    for name in files:
      if name.endswith(('.mp3', '.m4a', '.aiff', '.aif')):
        fn = os.path.join(root, name)
        rg = subprocess.check_output([
          'kid3-cli', '-c', 'get "replaygain_track_gain"',
           fn]).strip()
        if rg.endswith(b' dB'):
          rg = rg[:-3]
        try:
          rg = float(rg)
        except ValueError:
          print('Value %s of %s in not a float' % (rg, fn))
          continue
        sc = (' ' + ('%08X' % int((10 ** (-rg / 10)) * 1000) )) * 10
        subprocess.call([
          'kid3-cli', '-c', 'set iTunNORM "%s"' % sc, fn])

if __name__ == '__main__':
  rg2sc(sys.argv[1])
]]>
</programlisting>
</sect1>

<sect1 id="kid3-cli-json">
<title
>&JSON;-formaat</title>
<para
>Om het gemakkelijk te maken om resultaten van <command
>kid3-cli</command
> te ontleden, is het mogelijk de uitvoer in &JSON; formaat te krijgen. Wanneer het verzoek in &JSON; formaat is, zal het antwoord ook in &JSON; zijn. Een compact formaat van het verzoek zal ook een compacte representatie van het antwoord zijn. Als het verzoek een "id"-veld bevat, wordt aangenomen dat het een &JSON;-RPC verzoek is en het antwoord zal een "jsonrpc" veld zijn en het "id" van het verzoek. Het verzoekformaat gebruikt dezelfde commando's als het standaard CLI, het "method" veld bevat het commando en de parameters (indien aanwezig) zijn gegeven in de "params" lijst. Het antwoord bevat een "result" object, dat ook nul kan zijn als het overeenkomstige <command
>kid3-cli</command
> commando geen resultaat terugstuurt. In geval van een fout wordt een "error" object teruggestuurd met "code" and "message" velden zoals gebruikt in &JSON;-RPC. <screen width="80"
><prompt
>kid3-cli&gt; </prompt
><userinput
>{"method":"set","params":["artist","Een artiest"]}</userinput>
<computeroutput
>{"result":null}</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>{"method":"get","params":["artiest",2]}</userinput>
<computeroutput
>{"result":"Een artiest"}</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>{"method": "get", "params": ["artist"]}</userinput>
<computeroutput
>{
    "result": "Een artiest"
}
</computeroutput>
<prompt
>kid3-cli&gt; </prompt
><userinput
>{"jsonrpc":"2.0","id":"123","method":"get","params":["artist"]}</userinput>
<computeroutput
>{"id":"123","jsonrpc":"2.0","result":"Een artiest"}</computeroutput
>
</screen>

</para>
</sect1>

</chapter>

<chapter id="credits">

<title
>Dankbetuigingen en licentie</title>

<para
>&kid3; </para>
<para
>Programma geschreven door Urs Fleisch <email
>ufleisch@users.sourceforge.net</email
> </para>

&meld.fouten;&vertaling.freek; &underFDL; &underGPL; </chapter>

<appendix id="installation">
<title
>Installatie</title>

<sect1 id="getting-kid3">
<title
>Hoe &kid3; te verkrijgen</title>

<para
>&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; heeft <ulink url="https://www.qt.io"
>&Qt;</ulink
> nodig. <ulink url="http://www.kde.org"
>&kde;</ulink
> is aanbevolen maar niet noodzakelijk, omdat &kid3; ook gecompileerd kan worden als een &Qt; toepassing. &kid3; kan gecompileerd worden voor systemen waar deze bibliotheken beschikbaar zijn, <abbrev
>bijv.</abbrev
> voor GNU/&Linux;, &Windows; en &macOS;. Om Ogg/Vorbis bestanden een tag te geven, zijn <ulink url="http://xiph.org/ogg/"
>libogg</ulink
>, <ulink url="http://xiph.org/vorbis/"
>libvorbis en libvorbisfile</ulink
> vereist, voor FLAC bestanden <ulink url="http://flac.sourceforge.net"
>libFLAC++ en libFLAC</ulink
>. <ulink url="http://id3lib.sourceforge.net"
>id3lib</ulink
> worden gebruikt voor MP3 bestanden. Deze vier formaten worden ook onderrteund door <ulink url="http://taglib.github.io/"
>TagLib</ulink
>, die ook Opus, MPC, APE, MP2, Speex, TrueAudio, WavPack, WMA, WAV, AIFF bestanden en tracker-modules behandelen. Om te importeren uit "acoustic fingerprints", worden <ulink url="http://acoustid.org/chromaprint"
>Chromaprint</ulink
> en <ulink url="http://libav.org/"
>libav</ulink
> gebruikt. </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
>Als niet alle bibliotheken aanwezig zijn wordt &kid3; gebouwd met verminderde functionaliteit. U zult er dus op moeten letten dat alle gewenste ontwikkelpakketten ge|ïnstalleerd zijn. Aan de andere kant bestuurt <userinput
>cmake</userinput
>-options welke bibliotheken mee gecompileerd worden. De standaard is <userinput
>-DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON </userinput
>. Deze opties kunnen uitgeschakeld worden met <userinput
>OFF</userinput
>. </para>
<para
>Om &kid3; te bouwen als een &Qt; toepassing zonder &kde;, gebruik de <userinput
>cmake</userinput
> optie <userinput
>-DWITH_APPS=Qt</userinput
>. Om zowel een &kde; als een &Qt; toepassing te bouwen, zet <userinput
>-DWITH_APPS="Qt;KDE"</userinput
>. </para>
<para
>Om een specifieke &Qt; installatie te gebruiken, zet <userinput
>-DQT_QMAKE_EXECUTABLE=/pad/naar/qmake</userinput
>. </para>
<para
>Generatie van RPM-pakketten wordt ondersteund door het bestand <filename
>kid3.spec</filename
>, voor &Debian; pakketten, voer <userinput
>build.sh deb</userinput
> uit. </para>

<para
>De &Qt; toepassing kan ook gecompileerd worden voor &Windows; en &macOS;. Het script <filename
>build.sh</filename
> kan gebruikt worden om alle vereiste bibliotheken te downloaden en te bouwen en een &kid3; pakket te maken. </para>

</sect1>

<sect1 id="configuration">
<title
>Configuratie</title>

<para
>Met &kde; worden de instellingen opgeslagen in <filename
>.config/kid3rc</filename
>, de status van de toepassing in <filename
>.local/share/kid3/kid3staterc</filename
>. Als een &Qt; toepassing is dit in bestand <filename
>.config/Kid3/Kid3.conf</filename
>. Op &Windows; is het configuratiebestand opgeslagen in de registry. Op &macOS; in een plist-bestand. </para>
<para
>De omgevingsvariabele <varname
>KID3_CONFIG_FILE</varname
> kan gebruikt worden om het pad van het configuratiebestand in te stellen.</para>

</sect1>

</appendix>

<appendix id="dbus-interface">
<title
>&DBus;-interface</title>

<sect1 id="dbus-examples">
<title
>Voorbeelden met &DBus;</title>

<para
>Op &Linux; kan een &DBus;-interface gebruikt worden om &kid3; te besturen door scripts. Scripts kunnen geschreven worden in elke taal met &DBus;-bindingen (<abbrev
>bijv.</abbrev
> in Python) en kunnen toegevoegd worden aan de <guilabel
>Gebruikeracties</guilabel
> om de functionaliteit van &kid3; uit te breiden. </para>

<para
>De artiest in tag 2 van het huidige bestand kan ingesteld worden op de waarde "One Hit Wonder" met de volgende code: </para>

<variablelist>
<varlistentry
><term
>Shell</term>
<listitem>
<programlisting
>dbus-send --dest=org.kde.kid3 --print-reply=literal \
/Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \
string:'One Hit Wonder'
</programlisting>
<para
>of gemakkelijker met <command
>qdbus</command
> (<command
>qdbusviewer</command
> van &Qt; om het interface in een &GUI; te onderzoeken): </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
>De &DBus; API is gespecificeerd in <filename
>org.kde.Kid3.xml</filename
>. Het &kid3; interface heeft de volgende methoden: </para>

<sect2 id="dbus-openDirectory">
<title
>Bestand of map openen</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>openDirectory</function
></funcdef
> <paramdef
>tekenreeks <parameter
>pad</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>pad</replaceable
></term>
    <listitem
><para
>pad naar bestand of map</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Geeft true terug indien OK.</para>
</sect2>

<sect2 id="dbus-unloadAllTags">
<title
>Ontlaad de tags van alle bestanden die niet zijn gewijzigd of geselecteerd</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>unloadAllTags</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-save">
<title
>Alle gewijzigde bestanden opslaan</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>save</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug indien OK.</para>
</sect2>

<sect2 id="dbus-getErrorMessage">
<title
>Krijgt een gedetaileerde foutmelding geleverd door sommige methoden</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>string <function
>getErrorMessage</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft een gedetailleerde foutmelding terug.</para>
</sect2>

<sect2 id="dbus-revert">
<title
>Draait wijzigingen in de geselecteerde bestanden terug</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>ongedaan maken</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-batchImport">
<title
>Start een automatische bulkimport</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 voor tag 1, bit 1 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>profileName</replaceable
></term>
    <listitem
><para
>naam van te gebruiken bulkimportprofiel</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-importFromFile">
<title
>Tags importeren uit een bestand</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
>tagbit (1 voor tag 1, 2 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>pad</replaceable
></term>
    <listitem
><para
>pad van bestand</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>fmtIdx</replaceable
></term>
    <listitem
><para
>index van formaat</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Geeft true terug indien OK.</para>
</sect2>

<sect2 id="dbus-importFromTags">
<title
>Tags importeren uit andere 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
>tagbit (1 voor tag 1, 2 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>bron</replaceable
></term>
    <listitem
><para
>formaat om brontekst uit tags op te halen</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>extractie</replaceable
></term>
    <listitem
><para
>reguliere expressie met framenamen en vangsten om uit brontekst te halen</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-importFromTagsToSelection">
<title
>Tags importeren uit andere tags uit geselecteerde bestanden</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
>tagbit (1 voor tag 1, 2 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>bron</replaceable
></term>
    <listitem
><para
>formaat om brontekst uit tags op te halen</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>extractie</replaceable
></term>
    <listitem
><para
>reguliere expressie met framenamen en vangsten om uit brontekst te halen</para
></listitem>
  </varlistentry>
</variablelist>
<variablelist>
  <varlistentry>
    <term
><replaceable
>returnValues</replaceable
></term>
    <listitem
><para
>opgehaalde waarde voor "%{__return}(.+)"</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-downloadAlbumArt">
<title
>Hoesillustratie van album downloaden</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; van afbeeldingsbestand of albumillustratiebron</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>allFilesInDir</replaceable
></term>
    <listitem
><para
>true om de afbeelding aan alle bestanden in de map toe te voegen</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-exportToFile">
<title
>Tags exporteren naar een bestand</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
>tagbit (1 voor tag 1, 2 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>pad</replaceable
></term>
    <listitem
><para
>pad van bestand</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>fmtIdx</replaceable
></term>
    <listitem
><para
>index van formaat</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Geeft true terug indien OK.</para>
</sect2>

<sect2 id="dbus-createPlaylist">
<title
>Een afspeellijst aanmaken</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>createPlaylist</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug indien OK.</para>
</sect2>

<sect2 id="dbus-getPlaylistItems">
<title
>Items uit een afspeellijst halen</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
>Pad naar afspeellijstbestand</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Geeft lijst terug met absolute paden naar items in afspeellijst.</para>
</sect2>

<sect2 id="dbus-setPlaylistItems">
<title
>Items van een afspeellijst instellen</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>setPlaylistItems</function
></funcdef
> <paramdef
>string <parameter
>pad</parameter
></paramdef
> <paramdef
>array <parameter
>items</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>pad</replaceable
></term>
    <listitem
><para
>Pad naar afspeellijstbestand</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>items</replaceable
></term>
    <listitem
><para
>Lijst met absolute paden naar items in afspeellijst</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Geeft true terug indien OK, false indien niet alle items zijn gevonden en toegevoegd of opslaan is mislukt.</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
>Het eerste bestand als het huidige bestand instellen</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>firstFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug als er een eerste bestand is.</para>
</sect2>

<sect2 id="dbus-previousFile">
<title
>Het vorige bestand als het huidige bestand instellen</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>previousFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug als er een vorig bestand is.</para>
</sect2>

<sect2 id="dbus-nextFile">
<title
>Het volgende bestand als het huidige bestand instellen</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>nextFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug als er een volgend bestand is.</para>
</sect2>

<sect2 id="dbus-selectFirstFile">
<title
>Het eerste bestand selecteren</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>selectFirstFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug als er een eerste bestand is.</para>
</sect2>

<sect2 id="dbus-selectPreviousFile">
<title
>Het vorige bestand selecteren</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>selectPreviousFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug als er een vorig bestand is.</para>
</sect2>

<sect2 id="dbus-selectNextFile">
<title
>Het volgende bestand selecteren</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>selectNextFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug als er een volgend bestand is.</para>
</sect2>

<sect2 id="dbus-selectCurrentFile">
<title
>De huidige bestand selecteren</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>selectCurrentFile</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug als er een huidig bestand is.</para>
</sect2>

<sect2 id="dbus-expandDirectory">
<title
>Het huidige bestandsitem uit- of invouwen als het een map is</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>boolean <function
>expandDirectory</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Een bestandslijstitem is een map als getFileName() een naam teruggeeft met '/' als het laatste teken.</para>
<para
>Geeft true terug als het huidige bestands item een map is.</para>
</sect2>

<sect2 id="dbus-applyFilenameFormat">
<title
>Het bestandsnaamformaat toepassen</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>applyFilenameFormat</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-applyTagFormat">
<title
>Het tagformaat toepassen</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 voor tag 1, bit 1 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>opmaak</replaceable
></term>
    <listitem
><para
>mapnaamformaat</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>aanmaken</replaceable
></term>
    <listitem
><para
>true om aan te maken, false om te hernoemen</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Geeft true terug indien OK, anders is de foutmelding beschikbaar met getErrorMessage().</para>
</sect2>

<sect2 id="dbus-numberTracks">
<title
>Opvolgende tracknummers instellen in de geselecteerde bestanden</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 voor tag 1, bit 1 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>firstTrackNr</replaceable
></term>
    <listitem
><para
>te gebruiken nummer voor het eerste bestand</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-filter">
<title
>De bestanden filteren</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
>filterexpressie</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-convertToId3v24">
<title
>ID3v2.3 tags naar ID3v2.4 converteren</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>convertToId3v24</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
</sect2>

<sect2 id="dbus-convertToId3v23">
<title
>ID3v2.4 tags naar ID3v2.3 converteren</title>
<funcsynopsis>
<funcprototype>
  <funcdef
><function
>convertToId3v23</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft true terug indien OK.</para>
</sect2>

<sect2 id="dbus-getDirectoryName">
<title
>Pad van map ophalen</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>string <function
>getDirectoryName</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft absolute pad naar map terug.</para>
</sect2>

<sect2 id="dbus-getFileName">
<title
>Naam van huidig bestand ophalen</title>
<funcsynopsis>
<funcprototype>
  <funcdef
>string <function
>getFileName</function
></funcdef>
  <void/>
</funcprototype>
</funcsynopsis>
<para
>Geeft absolute bestandsnaam terug, eindigt met "/" als het een map is.</para>
</sect2>

<sect2 id="dbus-setFileName">
<title
>Naam van geselecteerd bestand instellen</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setFileName</function
></funcdef
> <paramdef
>string <parameter
>naam</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>naam</replaceable
></term>
    <listitem
><para
>bestandsnaam</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Het bestand zal hernoemd worden wanneer de map wordt opgeslagen.</para>
</sect2>

<sect2 id="dbus-setFileNameFormat">
<title
>Te gebruiken formaat instellen bij instellen van de bestandsnaam uit de tags</title>
<funcsynopsis>
<funcprototype
><funcdef
><function
>setFileNameFormat</function
></funcdef
> <paramdef
>string <parameter
>formaat</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>opmaak</replaceable
></term>
    <listitem
><para
>bestandsnaamformaat</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-setFileNameFromTag">
<title
>De bestandsnamen van de geselecteerde bestanden instellen uit de 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
>tagbit (1 voor tag 1, 2 voor tag 2)</para
></listitem>
  </varlistentry>
</variablelist>
</sect2>

<sect2 id="dbus-getFrame">
<title
>Waarde van frame ophalen</title>
<funcsynopsis>
<funcprototype
><funcdef
>string <function
>getFrame</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>naam</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>tagbit (1 voor tag 1, 2 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>naam</replaceable
></term>
    <listitem
><para
>naam van frame (<abbrev
>bijv.</abbrev
> "artiest")</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Om de binaire gegevens zoals een afbeelding, kan de naam van een te schrijven bestand toegevoegd worden na de <parameter
>naam</parameter
>, <abbrev
>bijv.</abbrev
> "Afbeelding:/pad/naar/bestand". Op dezelfde manier kunnen gesynchroniseerde liedteksten geëxporteerd worden, <abbrev
>bijv.</abbrev
> "SYLT:/pad/naar/bestand". </para>
<para
>Geeft waarde van frame terug.</para>
</sect2>

<sect2 id="dbus-setFrame">
<title
>Stelt waarde van frame in</title>
<funcsynopsis>
<funcprototype
><funcdef
>boolean <function
>setFrame</function
></funcdef
> <paramdef
>int32 <parameter
>tagMask</parameter
></paramdef
> <paramdef
>string <parameter
>naam</parameter
></paramdef
> <paramdef
>string <parameter
>waarde</parameter
></paramdef
> </funcprototype>
</funcsynopsis>
<variablelist>
  <varlistentry>
    <term
><replaceable
>tagMask</replaceable
></term>
    <listitem
><para
>tagbit (1 voor tag 1, 2 voor tag 2)</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>naam</replaceable
></term>
    <listitem
><para
>naam van frame (<abbrev
>bijv.</abbrev
> "artiest")</para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><replaceable
>waarde</replaceable
></term>
    <listitem
><para
>waarde van frame</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Voor tag 2 (<parameter
>tagMask</parameter
> 2), als er geen frame met <parameter
>naam</parameter
> bestaat, wordt een nieuw frame toegevoegd, als <parameter
>waarde</parameter
> leeg is, wordt het frame verwijderd. Om binaire gegevens, zoals een afbeelding, kan een bestand worden toegevoegd na <parameter
>naam</parameter
>, <abbrev
>bijv.</abbrev
> "Afbeelding:/pad/naar/bestand". "SYLT:/path/to/file" kan gebruikt worden om gesynchroniseerde liedteksten te importeren.</para>
<para
>Geeft true terug indien OK.</para>
</sect2>

<sect2 id="dbus-getTag">
<title
>Alle frames van een tag ophalen</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
>tagbit (1 voor tag 1, 2 voor tag 2)</para
></listitem>
  </varlistentry>
</variablelist>
<para
>Geeft lijst terug met afwisselend namen van frames en waarden.</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
>tagbit (1 voor tag 1, 2 voor 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
>tagbit (1 voor tag 1, 2 voor 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
>tagbit (1 voor tag 1, 2 voor 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
>tagbit (1 voor tag 1, 2 voor 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
>tagbit (1 voor tag 1, 2 voor 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 kunnen aangeroepen worden via het contextmenu van de bestandenlijst en kunnen ingesteld worden in het tabblad <link linkend="configure-user-actions-qml"
>Gebruikeracties</link
> van de instellingendialoog. De scripts die daar worden ingesteld kunnen gebruikt worden als voorbeelden om eigen scripts te programmeren. QML gebruikt &javascript;, hier is het verplichte "Hello World": </para>

<programlisting
>import Kid3 1.0

Kid3Script {
  onRun: {
    console.log("Hello world, map is", app.dirName)
    Qt.quit()
  }
}
</programlisting>

<para
>Als dit script opgeslagen wordt als <filename
>/pad/naar/Voorbeeld.qml</filename
>, kan het gebruikerscommando gedefinieerd worden als <command
>@qml /pad/naar/Voorbeeld.qml</command
> met de naam <userinput
>QML Test</userinput
> en <guilabel
>Uitvoer</guilabel
> geactiveerd. Het kan gestart worden met het item <guilabel
>QML Test</guilabel
> in het contextmenu van de bestandenlijst en de uitvoer zal zichtbaar zijn in het venster. </para>

<para
>Helaas is het starten van de QML-scripts met <command
>qml</command
> (bijv. <command
>qml -apptype widget -I /usr/lib/kid3/plugins/imports /pad/naar/Voorbeeld.qml</command
>) gebroken in recente versies van Qt. Maar <command
>kid3-cli</command
> biedt een alternatieve manier om een QML-script uit te voeren vanaf de opdrachtregel met zijn commando <link linkend="cli-execute"
><command
>execute</command
></link
>. <screen width="80"
>kid3-cli -c "execute @qml /pad/naar/Voorbeeld.qml"
</screen>
</para>

<para
>Om een lijst te maken van de titels in tag 2 van alle bestanden in de huidige map, kan het volgende script worden gebruikt: </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
>Als de map veel bestanden bevat zou zo'n script het gebruikersinterface enige tijd kunnen blokkeren. Voor langere bewerkingen zou het daarom af en toe een pauze moeten hebben. De alternatieve onderstaande implementatie heeft het werk voor een enkel bestand verplaats naar een functie. Deze functie roept zichzelf aan met een timeout van 1 ms aan het eind, gegeven dat er meer bestanden zijn om te verwerken. Dit zal verzekeren dat de &GUI; actief zal blijven terwijl het script actief is. </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
>Bij gebruik van <command
>app.firstFile()</command
> met <command
>app.nextFile()</command
>, zullen alle bestanden in de huidige map verwerkt worden. Als alleen de geselecteerde bestanden meegenomen moeten worden, gebruik in plaats daarvan <command
>firstFile()</command
> en <command
>nextFile()</command
>, dit zijn gemaksfuncties van de component <classname
>Kid3Script</classname
>. Het volgende voorbeeld is een script dat alleen het discnummer en de copyrightframes van de geselecteerde bestanden kopieert. </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
>Met &kid3; komen meer voorbeeldscripts en deze zijn al geregistreerd als gebruikercommando's. <itemizedlist>
<listitem
><para
><guilabel
>ReplayGain to SoundCheck</guilabel
> (<filename
>ReplayGain2SoundCheck.qml</filename
>): Create iTunNORM SoundCheck informatie uit "replay gain frames". </para
></listitem>
<listitem
><para
><guilabel
>Albumillustraties van grootte wijzigen</guilabel
> (<filename
>ResizeAlbumArt.qml</filename
>): Ingebedde hoesillustratieafbeeldingen die groter zijn dan 500x500 pixels van grootte wijzigen. </para
></listitem>
<listitem
><para
><guilabel
>Albumillustraties uitpakken</guilabel
> (<filename
>ExtractAlbumArt.qml</filename
>): Alle ingebedde hoesillustratieafbeeldingen uitpakken met vermijding van duplicaten. </para
></listitem>
<listitem
><para
><guilabel
>Albumillustraties inbedden</guilabel
> (<filename
>EmbedAlbumArt.qml</filename
>): Albumillustraties gevonden in afbeeldingsbestanden inbedden in audiobestanden in dezelfde map. </para
></listitem>
<listitem
><para
><guilabel
>Liedteksten inbedden</guilabel
> (<filename
>EmbedLyrics.qml</filename
>): Niet gesynchroniseerde liedteksten ophalen uit webservice. </para
></listitem>
<listitem
><para
><guilabel
>Tekstcodering ID3v1</guilabel
> (<filename
>ShowTextEncodingV1.qml</filename
>): Helpt om de codering van ID3v1 tags te vinden door de tags van het huidige bestand in alle beschikbare tekencoderingen te tonen. </para
></listitem>
<listitem
><para
><guilabel
>ID3v1 to ASCII</guilabel
> (<filename
>Tag1ToAscii.qml</filename
>): Zet de uitgebreide latin-tekens in de ID3v1 tag over naar ASCII. </para
></listitem>
<listitem
><para
><guilabel
>Engelse vorm van hoofd/kleine letters bij titels</guilabel
> (<filename
>TitleCase.qml</filename
>): Formatteert tekst in de tags naar de Engelse vorm van hoofd/kleine letters bij titels. </para
></listitem>
<listitem
><para
><guilabel
>Tags opnieuw schrijven</guilabel
> (<filename
>RewriteTags.qml</filename
>): Alle tags in de geselecteerde bestanden opnieuw schrijven. </para
></listitem>
<listitem
><para
><guilabel
>CSV exporteren</guilabel
> (<filename
>ExportCsv.qml</filename
>): Exporteert recursief alle tags van alle bestanden naar een CSV-bestand. </para
></listitem>
<listitem
><para
><guilabel
>CSV importeren</guilabel
> (<filename
>ImportCsv.qml</filename
>): Importeert recursief alle tags van alle bestanden uit een CSV-bestand. </para
></listitem>
<listitem
><para
><guilabel
>JSON exporteren</guilabel
> (<filename
>ExportJson.qml</filename
>): Exporteert recursief alle tags van alle bestanden naar een JSON-bestand. </para
></listitem>
<listitem
><para
><guilabel
>JSON importeren</guilabel
> (<filename
>ImportJson.qml</filename
>): Importeert recursief alle tags van alle bestanden uit een JSON-bestand. </para
></listitem>
<listitem
><para
><guilabel
>Afspeellijstmap exporteren</guilabel
> (<filename
>ExportPlaylist.qml</filename
>): Alle bestanden uit een afspeellijst kopiëren in een map en ze hernoemen volgens hun positie. </para
></listitem>
<listitem
><para
><guilabel
>QML-console</guilabel
> (<filename
>QmlConsole.qml</filename
>): Eenvoudige console om af te spelen met QML API van &kid3;. </para
></listitem>
</itemizedlist>
</para>

</sect1>

<sect1 id="qml-api">
<title
>QML API</title>

<para
>De API kan gemakkelijk verkend worden met de QML-console, die beschikbaar is als een voorbeeldscript met een gebruikersinterface. </para>

<sect2 id="qml-kid3script">
<title
>Kid3Script</title>

<para
><classname
>Kid3Script</classname
> is een reguliere QML-component gelokaliseerd in de plug-in-map. U zou evengoed een andere QML-component kunnen gebruiken. Met <classname
>Kid3Script</classname
> wordt het makkelijk gemaakt om met de scriptfunctie te beginnen met het signaalafhandelaar <function
>onRun</function
>. Bovendien biedt het enige functies: <programlisting
>onRun: Signaalbehandelaar die wordt aangeroepen wanneer het script wordt gestart
tagv1, tagv2, tagv2v1: Constanten voor tagparameters
script: Toegang tot scriptfuncties
configs: Toegang tot configuratieobjecten
getArguments(): Lijst met scriptargumenten
isStandalone(): true als het script niet is gestart vanuit Kid3
setTimeout(callback, delay): Start callback na vertraging ms
firstFile(): Naar eerst geselecteerd bestand
nextFile(): Naar volgend geselecteerd bestand
</programlisting>

</para>
</sect2>

<sect2 id="qml-script">
<title
>Functies voor scripts</title>

<para
>Omdat &javascript; en daarom ook QML slechts een beperkte set functies heeft voor scripts, heeft het object <function
>script</function
> enige extra methoden, bijvoorbeeld: </para>

<programlisting
>script.properties(obj): Tekenreeks met Qt eigenschappen
script.writeFile(filePath, data): Gegevens naar bestand scrijven, true indien OK
script.readFile(filePath): Gegevens lezen uit bestand
script.removeFile(filePath): Bestand verwijderen, true indien OK
script.fileExists(filePath): true indien bestand bestaat
script.fileIsWritable(filePath): true indien bestand is te beschrijven
script.getFilePermissions(filePath): Modusbits van rechten van bestand ophalen
script.setFilePermissions(filePath, modeBits): Modusbits van rechten van bestand instellen
script.classifyFile(filePath): Klasse van bestand ophalen (map "/", symbolische koppeling "@",
 exe "*",  bestand " ")
script.renameFile(oldName, newName): Bestand hernoemen, true indien OK
script.copyFile(source, dest): Bestand kopiëren, true indien OK
script.makeDir(path): Map aanmaken, true indien OK
script.removeDir(path): Map verwijderen, true indien OK
script.tempPath(): Pad naar tijdelijke map
script.musicPath(): Pad naar muziekmap
script.listDir(path, [nameFilters], [classify]): Lijst maken van mapitems
script.system(program, [args], [msecs]): Een systeemcommando synchroon starten,
  [exitcode, standaarduitvoer, standaardrdfouten] indien geen timeout
script.systemAsync(program, [args], [callback]): Een systeemcommando asynchroon starten,
terugaanroep zal aangeroepen worden met [exitcode, standaarduitvoer, 
standaardfouten]
script.getEnv(varName): Haal waarde op van omgevingsvariabele
script.setEnv(varName, value): Stel waarde in van omgevingsvariabele
script.getQtVersion(): Qt versietekenreeks, <abbrev
>bijv.</abbrev
> "5.4.1"
script.getDataMd5(data): Tekenreeks in hex van de MD5 hash van gegevens
script.getDataSize(data): Grootte van byte-array ophalen
script.dataToImage(data, [format]): Een afbeelding uit gegevensbytes ophalen
script.dataFromImage(img, [format]): Gegevensbytes ophalen uit afbeelding
script.loadImage(filePath): Een afbeelding laden uit een bestand
script.saveImage(img, filePath, [format]): Een afbeelding opslaan naar een bestand, true indien OK
script.imageProperties(img): Eigenschappen ophalen van een afbeelding, map bevattende
  "width", "height", "depth" en "colorCount", leeg indien ongeldige afbeelding
script.scaleImage(img, width, [height]): Schaa een afbeelding, geeft geschaalde afbeelding terug
</programlisting>

</sect2>

<sect2 id="qml-app">
<title
>Context van toepassing</title>

<para
>Met gebruik van QML zijn een groot gedeelte van de &kid3;-functies toegankelijk. De API is vergelijkbaar met diegene gebruikt voor <link linkend="dbus-api"
>&DBus;</link
>. Voor details wordt u verwezen naar de respectievelijke notities. </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
app.downloadImage(url, allFilesInDir): Afbeelding downloaden
app.exportTags(tag, path, fmtIdx): Bestand exporteren
app.writePlaylist(): Afspeellijst schrijven
app.getPlaylistItems(path): Items ophalen uit een afspeellijst
app.setPlaylistItems(path, items): Items instellen van een afspeellijst
app.selectAllFiles(): Alles selecteren
app.deselectAllFiles(): Selectie ongedaan maken
app.firstFile([select], [onlyTaggedFiles]): Naar eerste bestand
app.nextFile([select], [onlyTaggedFiles]): Naar volgende bestand
app.previousFile([select], [onlyTaggedFiles]): Naar vorige bestand
app.selectCurrentFile([select]): Huidige bestand selecteren
app.selectFile(path, [select]): Een specifiek bestand selecteren
app.getSelectedFilePaths([onlyTaggedFiles]): Paden van geselecteerde bestanden ophalen
app.requestExpandFileList(): Alles uitvouwen
app.applyFilenameFormat(): Bestandsnaamformaat toepassen
app.applyTagFormat(): Tagformaat toepassen
app.applyTextEncoding(): Tekstcodering toepassen
app.numberTracks(nr, total, tag, [options]): Aantal tracks
app.applyFilter(expr): Filter
app.convertToId3v23(): ID3v2.4.0 naar ID3v2.3.0 converteren
app.convertToId3v24(): ID3v2.3.0 naar ID3v2.4.0 converteren
app.getFilenameFromTags(tag): Bestandsnaam uit tags
app.getTagsFromFilename(tag): Bestandsnaam naar tags
app.getAllFrames(tag): Object ophalen met alle frames
app.getFrame(tag, name): Frame ophalen
app.setFrame(tag, name, value): Frame instellen
app.getPictureData(): Gegeven uit afbeeldingsframe ophalen
app.setPictureData(data): Gegeven in afbeeldingsframe instellen
app.copyToOtherTag(tag): Tags naar andere tags
app.copyTags(tag): Kopiëren
app.pasteTags(tag): Plakken
app.removeTags(tag): Verwijderen
app.playAudio(): Afspelen
app.readConfig(): Configuratie lezen
app.applyChangedConfiguration(): Configuratie toepassen
app.dirName: Mapnaam
app.selectionInfo.fileName: Bestandsnaam
app.selectionInfo.filePath: Absoluut bestandspad
app.selectionInfo.detailInfo: Formaatdetails
app.selectionInfo.tag(Frame.Tag_1).tagFormat: Tag 1 formaat
app.selectionInfo.tag(Frame.Tag_2).tagFormat: Tag 2 formaat
app.selectionInfo.formatString(tag, format): Codes invullen in formaattekenreeks
app.selectFileName(caption, dir, filter, saveFile): Bestandsdialoog openen
om een bestand te selecteren
app.selectDirName(caption, dir): Bestandsdialoog openen om een map te selecteren
</programlisting>

<para
>Voor asynchrone bewerkingen kunnen callbacks verbonden worden met signalen. </para>

<programlisting
>function automaticImport(profile) {
  function onAutomaticImportFinished() {
    app.batchImporter.finished.disconnect(onAutomaticImportFinished)
  }
  app.batchImporter.finished.connect(onAutomaticImportFinished)
  app.batchImport(profile, tagv2)
}

function renameDirectory(format) {
  function onRenameActionsScheduled() {
    app.renameActionsScheduled.disconnect(onRenameActionsScheduled)
    app.performRenameActions()
  }
  app.renameActionsScheduled.connect(onRenameActionsScheduled)
  app.renameDirectory(tagv2v1, format, false)
}
</programlisting>

</sect2>

<sect2 id="qml-configs">
<title
>Configuratieobjecten</title>

<para
>De verschillende configuratiesecties zijn toegankelijk via methoden van <function
>configs</function
>. Hun eigenschappen kunnen getoond worden in het QML-console. <screen width="80">
script.properties(configs.networkConfig())
</screen
> Eigenschappen kunnen ingesteld worden: <screen width="80"
>configs.networkConfig().useProxy = false
</screen>
</para>

<programlisting
>configs.batchImportConfig()
configs.exportConfig()
configs.fileConfig()
configs.filenameFormatConfig()
configs.filterConfig()
configs.findReplaceConfig()
configs.guiConfig()
configs.importConfig()
configs.mainWindowConfig()
configs.networkConfig()
configs.numberTracksConfig()
configs.playlistConfig()
configs.renDirConfig()
configs.tagConfig()
configs.tagFormatConfig()
configs.userActionsConfig()
</programlisting>

</sect2>

</sect1>

</appendix>

&documentation.index;
</book>
<!--
Local Variables:
mode: nxml
End:
-->
