<chapter id="faq">
<title>Questions and Answers</title>

<sect1 id="faq-index">
<title>The FAQs</title>

<para>This FAQ is organized into sections to help you better find the answer you are looking for. Please choose from one of the following sections.</para>
 
<para><link linkend="general-usage">General Usage Section</link>: Questions about the general use of &amarok;.</para>

<para><link linkend="playback">Playback Section</link>: Questions about supported filetypes and other playback problems.</para>

<para><link linkend="dev-faq">Development Section</link>: Bugs, Feature Requests, and other Development questions.</para>

<para><link linkend="tips">Tips &amp; Tricks Section</link>: Other useful features not found anywhere else.</para>

</sect1>

<sect1 id="general-usage">
<title>General Usage</title>

<qandaset id="faq1">

<qandaentry>
<question>
<para>Where can I get support for &amarok;?</para>
</question>
<answer>
<para>
You can talk to the developers and ask questions in <ulink url="irc://irc.freenode.net/amarok">our IRC channel</ulink>. Looking forward to meeting you there :)
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>When I start &amarok;, I see an empty playlist. How do I actually get
tracks in there?</para>
</question>
<answer>
<para>
Simple. Use the <link linkend="file-browser">File Browser</link> on the left side to navigate to
the desired directory. Then drag the files into the <link linkend="playlist">Playlist</link> part on the right.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>How do I remove tracks from the Playlist?</para>
</question>
<answer>
<para>Select the files you want to remove, and press <keycap>Del</keycap> key on your keyboard. Or right-click the selection and choose <guimenuitem>Remove Selected</guimenuitem> from pop up menu.</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>How can I load a playlist?</para>
</question>
<answer>
<para>Just drag and drop the playlist file into the <link linkend="playlist">Playlist</link>, like you would do with any other file. That simple!</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>How can I save the current playlist?</para>
</question>
<answer>
<para>
The <guibutton>Save playlist</guibutton> button is next to <guibutton>Add Media</guibutton>
button in the <link linkend="toolbar">Playlist Toolbar</link>. Just click it!
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>
There are no visualizations in the visualizations dialog.
</para>
</question>
<answer>
<para>
You probably don't have xmms-config installed, reconfigure and build after
installing the appropriate xmms-devel package. You also may want to install the
latest version of <ulink url="http://libvisual.sf.net">libvisual</ulink>, which
has some ultra fancy visualizations.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>
Where's the equalizer?
</para>
</question>
<answer>
<para>
The <link linkend="equalizer">Equalizer Window</link> can be found in the <link linkend="rmb-menu">right mouse button menu</link>. You can also find it in the <link linkend="menubar">Menubar</link> by selecting <menuchoice><guimenu>Tools</guimenu> <guimenuitem>Equalizer</guimenuitem></menuchoice>.


</para>
</answer>
</qandaentry>

</qandaset>
</sect1>


<sect1 id="playback">
<title>Playback</title>

<qandaset id="Playback">

<qandaentry>
<question><para>What media types does amaroK support?</para></question>
<answer>
<para>None. Yes, that's right! None! We have a backend independent approach, so
the question you should be asking is "What media types does
GStreamer/xine/aRts/NMM/MAS/KDEmm support?" So as you can guess we pretty much
support absolutely every audio format you can think of. GStreamer can even decode
text and PNG!
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>Why can't amaroK play MP3s?</para>
</question>
<answer>
<para>
It can! Chances are you're using Fedora/RedHat linux, they don't ship with
MP3 decoders by default (due to patenting issues). Solution:
</para>
<para>
<keycombo>&Alt; <keycap>F2</keycap></keycombo>, gg:redhat mp3 kde, <keycap>ENTER</keycap>
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>With GStreamer-engine I'm getting 100% CPU usage while playing. How can I fix it?</para>
</question>
<answer>
<para>
When using GStreamer-engine with alsasink, amaroK requires the device to provide a mixer. Mixing allows multiple applications to access the device at the same time, and output sound simultaneously.
This can either be achieved by using a soundcard with hardware-mixing (e.g. SBLive), or by using the "dmix" plugin for alsa, which provides software-mixing.
</para>
<para>
Here are instructions on installing and configuring the dmix plugin:
</para>
<para>
<ulink url="http://opensrc.org/alsa/index.php?page=DmixPlugin">Alsa dmix FAQ</ulink>
</para>
<para>
After installation you need to specify "dmix" as the sound device in the engine settings dialog.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>I can't get any media to play in amaroK, why not?</para>
</question>
<answer>
<para>You need to test the sound frameworks at the commandline:</para>
<para><prompt>&percnt;</prompt><command>artsplay foobar.mp3</command> </para>
<para><prompt>&percnt;</prompt><command>gst-launch filesrc location=/home/foo/bar.mp3 ! spider ! audioscale ! audioconvert ! alsasink</command> </para>
<para><prompt>&percnt;</prompt><command>xine-check</command> </para>
<para>
The output from these commands should help you identify the problems you are
having and how to fix them. Please note you may need to use a different sink to
test GStreamer (eg. osssink).
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>
Can amaroK output directly to OSS/ALSA?
</para>
</question>
<answer>
<para>
We already do! Don't forget that the media must be decoded first! You can't just
pipe an MP3 to ALSA, all you will get is white-noise. GStreamer is the best
choice for most people who want a low-overhead decoding solution, it reads the
file, decodes it and pipes the PCM data to ALSA. Exactly like XMMS.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>
But! XMMS can output directly to ALSA!
</para>
</question>
<answer>
<para>
But it decodes it first! GStreamer can output directly to ALSA too! So can xine!
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>
The sound stutters, is there anything I can do to improve it?
</para>
</question>
<answer>

<para>You can either use the GStreamer engine (it's great!), or tweak aRts. Open <menuchoice><guimenu>Control Center</guimenu><guisubmenu>Sound and Multimedia</guisubmenu><guimenuitem>Sound System</guimenuitem></menuchoice>. Enable <guimenuitem>Run with highest possible priority</guimenuitem>, and increase the size of the <guimenuitem>Sound buffer:</guimenuitem> (warning, see the next FAQ!) You should also ensure that your artswrapper is suid:</para>

<para><prompt>&percnt;</prompt><command>su</command></para>
<para><prompt>&percnt;</prompt><command>chmod a+rsx /path/to/kde/bin/artswrapper</command></para>
<para><prompt>&percnt;</prompt><command>killall -9 artsd</command></para>

<para>With KDE 3.2.x there are issues with the KDEMultimedia codecs that can
cause distorted playback, please see <ulink url="http://bugs.kde.org/show_bug.cgi?id=80497">this bug report</ulink>.</para>

<para>
Also, increasing the size of the sound buffer in your .asoundrc alsa configuration file can help a great deal.
</para>

</answer>
</qandaentry>


<qandaentry>
<question>
<para>
The CPU usage is high, is there anything I can do to improve it?
</para>
</question>
<answer>
<para>Either don't use the aRts-engine, use the GStreamer or xine engines, or
address the high cpu usage by installing KDEMultimedia in its entirety to get
the faster aRts codecs (eg. libarts_mpeglib.so, etc.)</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>
The amaroK analyzers are really unresponsive!
</para>
</question>
<answer>
<para>
You are probably using the aRts-engine, either use another engine (the
xine-engine has been seriously tweaked to give perfect analyzer-sync), or reduce
the size of your aRts buffer in kcontrol, sound system. The lower the buffer the
more responsive the visuals. Yes this is a bug, please help us fix it!
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>I have GStreamer installed but when I try to change to the GStreamer engine &amarok; crashes, what gives? </para>
</question>
<answer>
<para>
After installing GStreamer you have register it's components, running 'su -c gst-register' should take care of registering your GStreamer components.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>I ran gst-register but I still have have GStreamer troubles, what can I do?</para>
</question>
<answer>
<para>You can try <ulink url="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-using.html">the GStreamer FAQ</ulink>. If all else fails you can try the knowledgeable people at the <ulink url="irc://irc.freenode.net/gstreamer">#gstreamer IRC channel</ulink>.</para>
</answer>
</qandaentry>


</qandaset>
</sect1>


<sect1 id="dev-faq">
<title>Development</title>

<qandaset id="development">

<qandaentry>
<question>
<para>
How do I get a cvs version of &amarok;?
</para>
</question>
<answer>
<para>Here is a little tutorial by Christian Muehlhaeuser.</para>

<para>Create some new directory on your hdd, like "kde-cvs":</para>
<para><prompt>&percnt;</prompt><command>mkdir kde-cvs</command></para>
<para><prompt>&percnt;</prompt><command>cd kde-cvs </command></para>

<para>We put all the source-stuff in here, let's grab them:</para>
<para><prompt>&percnt;</prompt><command>export CVSROOT=":pserver:anonymous@anoncvs.kde.org:/home/kde"</command> </para>
<para><prompt>&percnt;</prompt><command>cvs -z4 co kde-common/admin</command></para>
<para><prompt>&percnt;</prompt><command>cvs -z4 co -l kdeextragear-1</command></para>
<para><prompt>&percnt;</prompt><command>cvs -z4 co kdeextragear-1/amarok</command></para>
<para><prompt>&percnt;</prompt><command>cd kdeextragear-1</command></para>
<para><prompt>&percnt;</prompt><command>ln -s ../kde-common/admin</command></para>

<para>Let's compile it!</para>
<para><prompt>&percnt;</prompt><command>make -f Makefile.cvs</command></para>
<para><prompt>&percnt;</prompt><command>./configure --prefix=`kde-config --prefix`</command></para>
<para><prompt>&percnt;</prompt><command>make</command></para>
<para><prompt>&percnt;</prompt><command>su -c "make install"</command></para>

<para>Have fun! Remember to "make install" regularly to ensure modifications to
the plugins are installed.</para>
</answer>
</qandaentry>


<qandaentry>
<question>
<para>
How can I get a backtrace after a crash?
</para>
</question>

<answer>
<para>The most reliable way is build amarok with --enable-debug=full, and then use gdb (the GNU debugger):</para>
<para><prompt>&percnt;</prompt><command>gdb amarokapp</command></para>
<para><prompt>(gdb) </prompt><command>run</command></para>
<para><prompt>(gdb) </prompt><command>[wait for crash..]</command></para>
<para><prompt>(gdb) </prompt><command>bt</command></para>
<para>
If you want to post the backtrace to <ulink url="irc://irc.freenode.net/amarok">our IRC channel</ulink>, then please use the fabulous facilities at
<ulink url="http://nopaste.php.cd">http://nopaste.php.cd</ulink>, thanks!
</para>
</answer>
</qandaentry>


<qandaentry>
<question>
<para>
I've found a bug / I've got a great idea for amaroK!
</para>
</question>
<answer>
<para>
Please report it at <ulink url="http://bugs.kde.org"></ulink>, if you have a
list of suggestions/wishes it may be best to send them to our mailing list:
<email>amarok-devel@lists.sourceforge.net</email>.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>
Do you accept patches?
</para>
</question>
<answer>
<para>
Happily! Your best course of action is to let us know what you plan to do before
you do any work so we can discuss it, but don't fret we haven't turned down a
patch yet! Discussion is mostly to help you patch the correct bits of amaroK.
Then either submit a patch to the mailing list, or commit if you have cvs access.
However, please let us know before you commit new features to cvs! If you have a bug
fix then just go ahead, this is open source after all :)
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>Why did you choose  the name &amarok;? </para>
</question>
<answer>
<para>
&amarok; is an album by British composer Mike Oldfield. I happen to
like it a lot, and I think the name's got a nice sound. Plus, of course, it
contains the all important <quote>K</quote>.. :)
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>Is it &amarok;, AmaroK or Amarok? </para>
</question>
<answer>
<para>
It is most definitely <quote>&amarok;</quote>! But we understand this in unconventional :)
</para>
</answer>
</qandaentry>

</qandaset>
</sect1>

<sect1 id="tips">
<title>Tips &amp; Tricks</title>

<qandaset id="tricks">

<qandaentry>
<question>
<para>
How do I use &amarok; as an alarm clock?
</para>
</question>
<answer>
<para>
Actually, thanks to the magic of DCOP you already can :) Simply set an alarm in your favorite calendar program and tell it to run the following command:
</para>
<para><prompt>&percnt;</prompt><command>dcop amarok player play</command></para>
<para>
This command will tell &amarok; to start playing. Make sure that &amarok; is running before you go to bed, and you should wake up to the merry tune of whatever you pressed stop on before going to bed.
</para>
</answer>
</qandaentry>


<qandaentry>
<question>
<para>
How do I get what &amarok; is playing right now, when I'm on another computer?
</para>
</question>
<answer>
<para>
If you have a properly set up ssh environment, you can use that to get the information. The following command will return the Now Playing string
</para>
<para><prompt>&percnt;</prompt><command>ssh -i ~/.ssh/id_rsa yourip dcop --user yourusername amarok player nowPlaying</command></para>
<para>
Make sure that you replace yourip with your IP and yourusername with your username. Also note that this expects your identification to be found in the ~/.ssh/id_rsa file.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>What kind of tricks can the <link linkend="player-window">Player Window</link> do? </para>
</question>
<answer>
<para>
The &amarok; player analyzers can be detached from the <link linkend="player-window">Player Window</link>. By pressing <keycap>d</keycap> on your keyboard the active analyzer will open in an independent, resizeable window.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>What kind of tricks can the <link linkend="playlist-window">Playlist Window</link> do?</para>
</question>
<answer>
<para>
Holding <keycap>Control</keycap> and clicking the &RMB; enqueues files in the order in which you clicked them.
</para>

<para>
Pressing <keycap>Enter</keycap> after making a playlist search will play the first search item and will clear the search.
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para>I see the <link linkend="player-window">Player Window</link> and <link linkend="playlist-window">Playlist Window</link> have neat tricks, what about the tray icon? </para>
</question>
<answer>

<para>
Clicking the middle mouse button on the icon play-pauses the current track.
</para>

<para>
Holding <keycap>Shift</keycap> while scrolling the mouse wheel seeks through the current track.
</para>

<para>
Holding <keycap>Control</keycap> while scrolling the mouse wheel will skip through tracks in the playlist.
</para>

<para>
Dragging and dropping items into the tray icon opens a pop up menu allowing you to choose from three options, Append to Playlist, Append and Play, and Queue after Current Track.
</para>

</answer>
</qandaentry>


</qandaset>
</sect1>
</chapter>
