<term><guimenuitem>Create Playlist From Selected Items</guimenuitem></term>
<listitem>
<para>This allows you to quickly create a playlist from songs in your Collection List.
This function will prompt you for a name for the new playlist, and will then insert all of
the songs that are selected into the new playlist.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guimenuitem>Add Selected Items to K3b Project</guimenuitem></term>
<listitem>
<para>This allows you to quickly create a K3b &CD;-burning project from your selected songs. &juk; will ask you if you would like an Audio &CD; project or a Data &CD; project, unless K3b already has a project open.</para>
<para>If K3b is not already running, &juk; will start it up for you. After that, &juk; will add your selected files to the current K3b project. You can then save the project in K3b for burning later, or burn the &CD; right away.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="juk-playlists">
<title>&juk; Playlists</title>
<para>A playlist is simply a collection of songs grouped by some category. For example, you
may have a playlist of songs that you listen to while coding, while trying to sleep, or even
when you need a laugh. &juk; supports several different types of playlists.
button on the <link linkend="search-bar">Search Bar</link>.</para>
<para>After creating this playlist, it will keep track of which songs in the Collection List match your criteria, and automatically update itself accordingly whenever the
Collection List changes.</para></listitem>
</varlistentry>
</variablelist>
<para>Playlists are organized in the <guilabel>Playlist pane</guilabel>, which is the vertical bar at the left. In this pane is an icon
for every playlist you have. There are different view mode for this pane, which can be selected from the
<para>This mode is the most powerful. This mode is just like the Compact viewmode, except that the Collection List is now the root of a tree of virtual
playlists. The Collection List has three children nodes, Artist, Album, and Genre. Each of these node has children representing all of the entries
from that specific category. For example, if your Collection List contains music from 4 different artists, you would have 4 entries under the artist
node.</para>
<para>One nifty feature of the tree view mode is something called drag-and-drop retagging. Simply select some files in the track list, and drag them
onto one of the artist, album, or genre nodes under Collection List. The songs will automatically be retagged to match the item you dropped the
tracks on. For example, if you drag a group of tracks onto a Genre called "Rock", all of the tracks will be retagged will a Genre tag of Rock.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
<sect1 id="juk-tagger">
<title>The &juk; Tag Editor</title>
<para>For many file formats, it is practical to use the filename to
describe the contents of the file: <quote><filename>Report for the
board - June 2003.doc</filename></quote> for example, may be all the
information you need in order to find that file again. Trying to
capture all the useful information about a particular song however,
could lead to filenames like this: <quote><filename>Type O Negative -
The Glorious Liberation Of The Peoples Technocratic Republic Of
Vinnland By The Combined Forces Of The United Territories Of
Europa.mp3</filename></quote> or <quote><filename>Various
Artists_15_The Smithsonian Collection of Classic Jazz Volume II_Jimmie
Lunceford & His Orchestra - Organ Grinder's
Swing.mp3</filename></quote>. These are neither very practical to
use, nor do they contain all of the useful information that you might
have collected about the song. Adding the album, and track number,
for example, to the first would make it even longer and more
unmanageable, while still not telling you at a glance the year it was
released, or what style of music it is, if you're not familiar with
the artist.</para>
<para>The solution then, is to store this kind of metadata inside the
files themselves. Mp3 and ogg files can also contain small snippets of
text which you can use to describe the content of the file. There are
several formats, but &juk; hides the details of the differences
between them, and provides a standard way to edit a standard subset of
well known tags for all your audio files.</para>
<para>&juk;'s full featured tag editor allows you to edit the tags in
both mp3 and ogg files. You can edit single files or multiple files,
and you can select a mix of mp3 and ogg files to edit. The only
requirement is that you have write access to the files themselves; you
cannot edit the tags of a file that is mounted from a &CD-ROM; for
example.</para>
<sect2 id="tagging-a-single-file">
<title>Editing the Tags in a Single File</title>
<para>To edit the tag in a single file, select it in either the
collection list or any entries it has in any playlist. If the tag
editor is not visible, enable it by choosing
<menuchoice><guimenu>View</guimenu><guimenuitem>Show Tag
Editor</guimenuitem></menuchoice>. The tag editor displays in the
bottom of the list view.</para>
<para>Simply type into any of the editable fields to change the
information. When you are done, &LMB; click back in the list, and you
will be prompted to save your changes.</para>
<para>You may find that the tag editor remains disabled when you've
clicked on a file. This happens when &juk; has detected that the track
is read-only.</para>
<variablelist>
<title>Tag Editor Fields</title>
<varlistentry>
<term><guilabel>Artist Name:</guilabel></term>
<listitem>
<para>The name of the Artist(s) who released the song.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Track name:</guilabel></term>
<listitem>
<para>The name of the song.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Album name:</guilabel></term>
<listitem>
<para>The name of the album the song was released on.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Genre:</guilabel></term>
<listitem>
<para>The <quote>Style</quote> of the music. &juk; provides a list
corresponding roughly to the informal id3 standard, but you are free
to type your own entries in this list.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>File name:</guilabel></term>
<listitem>
<para>The file name of the actual file on disk. You can edit this
directly, and when you save, the file will be renamed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Track:</guilabel></term>
<listitem>
<para>The position of the track on the original recording.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Year:</guilabel></term>
<listitem>
<para>The year the song was released.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Length:</guilabel></term>
<listitem>
<para>This is not editable, it is simply shown for information.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Bitrate:</guilabel></term>
<listitem>
<para>This is not editable, it is simply shown for information.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Comment:</guilabel></term>
<listitem>
<para>You can add your own free text comment here, with additional
notes &etc;</para>
</listitem>
</varlistentry>
</variablelist>
<para>You can explicitly and immediately save your changes at any time
<phrase>Screenshot of the Advanced Search Dialog.</phrase>
</textobject>
</mediaobject>
</screenshot>
</para>
<para>The Advanced Search dialog is used to create <link linkend="juk-search-playlists">Search
Playlists</link>. It allows you create a fine-grained search among the different tags of
your song collection.</para>
<para>At the top of the dialog, you can type in the name of your search playlist. Then, you
can define your search criteria in the <guilabel>Search Criteria</guilabel> group.
</para>
<para>The top of the <guilabel>Search Criteria</guilabel> group has two radio buttons,
<guilabel>Match any of the following</guilabel> and <guilabel>Match all of the
following</guilabel>. If you select <guilabel>Match any of the following</guilabel>, then
a match by any of the conditions you define will include the song in the playlist. Otherwise,
every condition you define must match in order to include the song in the playlist.
</para>
<para>Below the radio buttons are the condition definitions. You can add more conditions
by using the <guibutton>More</guibutton> button, and remove conditions by using the
<guibutton>Fewer</guibutton> button. Any conditions you leave blank are ignored, so you do
not have to use <guibutton>Fewer</guibutton> to eliminate empty conditions.
</para>
<para>Every condition definition has three parts: The tag chooser list on the left, the
matching style list on the right, and the search text in the middle. The tag chooser
lets &juk; know what tag you want to search for the text in. If you choose the special
tag "<All Visible>", then any tag that you can see in the Collection List listing
is fair game to match the search text.
</para>
<para>The match style list lets &juk; know which search method to use.
The search methods you can use are as follows:
<variablelist>
<varlistentry>
<term>Normal Matching</term>
<listitem><para>This is the default matching style. It searches for the given
text anywhere in the chosen tag, ignoring case differences. For example a
search for mode in the Artist tag would match Depeche Mode.</para></listitem>
</varlistentry>
<varlistentry>
<term>Case Sensitive</term>
<listitem><para>This search is just like Normal Matching, except that
the search must match the exact case of the text.</para></listitem>
</varlistentry>
<varlistentry>
<term>Pattern Matching</term>
<listitem><para>This is the most powerful search method. The search
text you type in will define a regular expression used to search within
the tag. Regular expressions are beyond the scope of this documentation, but
the application &kregexpeditor; can help you form a regular expression.
&juk; uses the &Qt; regular expression style.</para></listitem>
</varlistentry>
</variablelist>
</para>
<para>Simply choose the conditions you want to include in your search, and
click <guibutton>OK</guibutton> to create your search playlist!
</para>
</sect1>
<sect1 id="juk-cover-manager">
<title>The &juk; Cover Manager</title>
<para>&juk; 2.3 (part of &kde; 3.5) includes improved cover management code which introduces some new possibilities for users compared with &juk; 2.2 (which was shipped with &kde; 3.4). It also can change the workflow slightly for you if you are used to the way covers were handled in &juk; 2.2. So first, let's review how things used to be.</para>
<sect2 id="covers-in-juk-2.2">
<title>How Covers Worked in &juk; 2.2</title>
<para>In &juk; 2.2, the cover for a track was strictly tied to its <guilabel>Artist</guilabel> and <guilabel>Album</guilabel> information. Although this proved useful enough, and had a few advantages, it wasn't a great way to organize the covers. If you wanted to use a cover for a different track, you either had to rename the tags in the track, or you had to duplicate the cover, wasting hard disk space. And if your track had no <guilabel>Artist</guilabel> or <guilabel>Album</guilabel> information, &juk; would prevent you from setting a cover since it had no information to go by. It worked, but it could be better.</para>
</sect2>
<sect2 id="covers-in-juk-2.3">
<title>How Covers work in &juk; 2.3</title>
<para>In &juk; 2.3, the code was redesigned to add a core component responsible for dealing with cover art. Instead of looking on disk for a picture file with a specific name like &juk; 2.2, the Cover Manager in &juk; 2.3 associates every cover with an identification tag, and then uses the tag with your music. It's still not perfect, but it works, and it can save you time while allowing you to do more.</para>
<sect3 id="examples-adding-covers">
<title>Examples of adding covers</title>
<para>So just as an example, let's say you wanted to set a cover for tracks you just ripped off of your &CD;. We'll use <quote>Alabama - Greatest Hits III</quote> for the sake of discussion. In &juk; 2.2, you could simply select any one of those tracks, and import a cover from the Internet by right-clicking on that track, and using the <menuchoice><guimenu>Tagger</guimenu> <guisubmenu>Cover Manager</guisubmenu> <guimenuitem>Get Cover From Internet</guimenuitem></menuchoice> command. As a side effect of the way &juk; worked, the cover would then be immediately applied to <emphasis>all</emphasis> of the <quote>Alabama - Greatest Hits III</quote> tracks, <emphasis>whether you wanted that or not</emphasis></para>
<para>In &juk; 2.3, the procedure is exactly the same, with one exception: You should select all of the tracks you want to apply the cover to first. So you would select all the <quote>Alabama - Greatest Hits III</quote> tracks before using the <menuchoice><guimenuitem>Get Cover From Internet</guimenuitem></menuchoice> command. Or if you only wanted to set cover art to half of the tracks for some reason, you'd only select half the tracks before running the <menuchoice><guimenuitem>Get Cover From Internet</guimenuitem></menuchoice> command. Don't worry about duplicating covers, either: &juk; is smart enough to re-use the same image, so you won't get 14 duplicate <literal role="extension">.png</literal> images cluttering your hard drive.</para>
</sect3>
<sect3 id="reusing-old-covers">
<title>Reusing Old Covers</title>
<para>But what happens if you forgot to select all the tracks you wanted to tag? You could select them and repeat the process, but that would leave a duplicate cover on your hard drive because &juk; cannot quickly tell that the cover you've found is the same as one you already have. But that's alright, because you can tell &juk; to use the cover from another track.</para>
<para>There are two ways of doing this:</para>
<para>1. Open the <guilabel>Cover Manager</guilabel> dialog using the <guimenu>Tagger</guimenu> menu (<menuchoice><guimenu>Tagger Cover</guimenu> <guisubmenu>Manager</guisubmenu> <guimenuitem>Show Cover Manager</guimenuitem></menuchoice>). The Cover Manager will display a list of all the covers &juk; knows about on the right, and after they have loaded you can quickly pare the list down using the search line at the top, or by using the list of Artists on the left. Once you see the cover you want to use, you can drag-and-drop the cover onto a track to apply it. It should happen nearly instantaneously since &juk; is reusing the same cover (and you'll see the cover while you're dragging it as well). Unfortunately, it can take awhile to load the covers in the first place, and the Cover Manager isn't really useful for much else besides.</para>
<para>2. I prefer to use this method because it's rather easy. All you do is double-click on the track that has the cover you want, in order to start it playing. This will cause its cover to show up in the <interface>Now Playing bar</interface>, and you can drag-and-drop the cover to the track you want to change exactly as you would for the Cover Manager.</para>
</sect3>
<sect3 id="dragging-covers">
<title>Dragging covers to more than one track at once</title>
<para>Also note that you can use drag-and-drop to quickly apply covers to more than one track. Just select the tracks you want to apply a cover to, and drag the cover onto any one of the selected tracks.</para>
</sect3>
<sect3 id="old-covers">
<title>What happens to my old covers?</title>
<para>You may be wondering what &juk; will do if you already have covers from &juk; 2.2. What happens is that &juk; will automatically convert the old covers and merge them into the cover management system.</para>
<para>Because this is a time consuming process, it does not happen all at once. Instead, the old cover is only converted when the cover needs to be shown on screen. As the conversion process is happening, &juk; will recognize what tracks would have shown the cover being converted, and will automatically apply the new cover to those tracks. The end result is that there should be no visible changes: &juk; will keep the same cover on your tracks that they've always had, except that now you can immediately take advantage of the new cover management features.</para>
</sect3>
<sect3 id="removing-covers">
<title>Removing Covers</title>
<para>Another side effect is that you can now remove a cover from a track without simultaneously removing it from all other tracks with the same <guilabel>Artist</guilabel> and <guilabel>Album</guilabel>.</para>
<para>In &juk; 2.3, the Remove Cover command now only removes the covers from the selected tracks.
</para>
</sect3>
<sect3 id="suggested-use">
<title>Suggested Uses:</title>
<para>1. You can now apply the same cover to tracks with Albums that have <quote>Disc 1</quote>, <quote>Disc 2</quote>, etc, which you couldn't do in &juk; 2.2 without duplicating the cover.</para>
<para>
2. Applying a generic cover to tracks if you simply must have a cover on every track, or if you have music that wasn't released as an album but fits a genre well. You could make yourself a cover for that type of music and apply it to the songs in question.</para>