From Amarok Wiki


Contents

What is Amarok?

Amarok is a music player. More information can be found in a summary of its features and the screenshot gallery.

Installation FAQs

Can I use Amarok without KDE?

Amarok requires parts of kde to be installed to run, but will run fine in gnome or other desktop environments. For Amarok to run, kdelibs and kdebase-runtime need to be installed.
For some features to work correctly, such as the on-screen display, your window manager must be configured to support the relevant freedesktop.org standards.

Why does Amarok use kdelibs?

We are committed to supporting Amarok on all platforms. We use KDElibs and Qt because they provide an excellent development environment.

General Usage

Where can I get support for Amarok?

There are several options. Often times problems you have with the initial install of Amarok are best answered by experts of your particular Unix or Linux distribution. You may seek help from fellow users and developers at the Amarok forum and the IRC channel at irc.freenode.net channel #amarok.
Note that the bugzilla is not a place to seek support. Please do enter a bug if you are serious about helping fix a bug in Amarok itself.

When I start Amarok, I see an empty playlist. How do I actually get tracks in there?

Use the Collection on the left side to navigate to the desired artist/album/track. Then drag the files into the Playlist part on the right.

How do I remove tracks from the Playlist?

Select the track(s) you want to remove, and press the Delete key. Or right-click the selection and choose Remove From Playlist.

How can I load a playlist?

Just drag and drop the playlist file into the Playlist, like you would do with any other file. It's that simple!

How can I save the current playlist?

Use the Save Playlist As button in the Playlist Toolbar.

Where's the equalizer?

The equalizer requires parts of phonon that have not been completed yet. It will be returning in a later version.

How do I play audio-CDs

Amarok 2 does not currently support audiocd playback.

How can I add podcasts?

Go to Playlists tab in the left toolbar. You should see an item called 'Podcasts'. Right click on this item, then select Add Podcast... Add the podcast URL where indicated.

How can I use Amarok to stream to my own radio station?

If you want to stream directly to a icecast or shoutcast server the answer simply is: it is not supported. You could use IDJC for that. If you only want a small server for home use have a look at the Amarok Souter script.

How can I control Amarok with a remote control?

See RemoteControl.

I want to improve my Amarok experience!

Then go to Tips and Tricks and learn new tricks that will turn you a faster, better user :).

Playback Questions

What media types does Amarok support?

Amarok lets xine, or gstreamer on linux, directsound on windows, or coreaudio on OS X handle playback. Whatever files they can play, Amarok can play. When adding files to the collection, Amarok uses taglib to scan. Taglib supports most file types that contain metadata.

Amarok won't play MP3's, what can I do?

Have a look at the MP3 information page.

I can't get any media to play in Amarok, why not?

You need to test the sound frameworks at the command line:
%xine-check
(The Package xine-ui contains xine-check)
The output from these commands should help you identify the problems you are having and how to fix them.

Can Amarok output directly to OSS/ALSA?

Yes! 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. Xine 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.

But! XMMS can output directly to ALSA!

But it decodes it first! Xine can output directly to ALSA too!

Which sound engine should I use?

Xine works best for most people.

What version of ALSA should I use?

This is not known, but old versions of ALSA have caused plenty of crashes, and have caused plenty of wrongly attributed crash-reports.

I'm often getting drop-outs (stuttering sound) under heavy system load. How can I prevent this?

Increase the device buffer_size in your ~/.asoundrc (Alsa config file) to 32768 or 65536. If the file .asoundrc does not exists on your system, you can simply create it, as described here.


I have a second soundcard and I'm using ALSA. How do I make Amarok use it instead of the default?

Configure this in the phonon system settings module.

How can I change where the audio is output to?

Using xine's ALSA output pluggin, you can output to a specific device (or all devices).

Finding the names of your cards

Find out the name of your soundcards with the command:
       cat /proc/asound/cards
In the example below, the first card (card 0) is called "Live" and the second card (card 1) called "Headset":
   oliver@panda:~$ cat /proc/asound/cards
   0 [Live           ]: EMU10K1 - SBLive! Value [CT4832]
                        SBLive! Value [CT4832] (rev.8, serial:0x80271102) at 0xd000, irq 5
   1 [Headset        ]: USB-Audio - Logitech USB Headset
                        Logitech Logitech USB Headset at usb-0000:00:04.2-2, full speed

Using a specific soundcard: method 1

Enter the word "plughw:" and the name of your card in the box labelled "device used for stereo output:" in the xine-engine configuration tab. For example:
   plughw:Headset

Alternatively, I had to use this entry to make my USB headphones work.

   hw:Headset,0


Using a specific soundcard: method 2

Set up an ~/.asoundrc (user only) or /etc/asound.conf (system wide) file that aliases your hardware devices, and then insert that alias in the "device used for stereo output:" box in the xine-engine configuration tab. Alternatively, you can directly enter the alsa device (hw:0,0 or hw:1,0 and so on). If you choose this latter (alternate) method, be aware that ALSA's corresponding plugfoo (e.g. plughw:0,0 or plughw:1,0 and so on) routing through alsa-lib is much preferred.
Here is a sample ~/.asoundrc for a machine that has an onboard Intel AC97 codec and a usb-audio device:
       pcm.intel8x0 {
          type plug
          slave.pcm "hw:0"
       }
      
       ctl.intel8x0 {
          type hw
          card 0
       }
       
       pcm.usb-audio {
          type plug
          slave.pcm "hw:1"
       }
       
       ctl.usb-audio {
          type hw
          card 1
       }


now enter "usb-audio" in the xine-engine setup screen and output should go to the usb-audio device (with alsa-lib properly handling sample rate conversion, channels, and so on).

Using all your soundcards at once

This example allows Amarok to play music through all your sound devices at the same time.

1. Copy the following text into the file ~/.asoundrc (change 'Live' and 'Headset' to the names of your sound devices - or you can just use the card numbers '0' and '1'):
   # This creates a 2-channel interleaved pcm stream based on
   # two 2-channel slave devices.
   
   pcm.both {
       type route;
       slave.pcm {
           # create a virtual 4-channel device from two sound devices
           type multi;
           slaves.a.pcm "plughw:Live";
           slaves.a.channels 2;
           slaves.b.pcm "plughw:Headset";
           slaves.b.channels 2;
           bindings.0.slave a;
           bindings.0.channel 0;
           bindings.1.slave a;
           bindings.1.channel 1;
           bindings.2.slave b;
           bindings.2.channel 0;
           bindings.3.slave b;
           bindings.3.channel 1;
       }
   
       # Map two channels of input to four channels of output
       ttable.0.0 1;
       ttable.1.1 1;
       ttable.0.2 1;
       ttable.1.3 1;
   }
   
   # Some programs will be unhappy if there is no mixer to talk to,
   # so we set this to one of the cards.
   # This could be any card (Headset or Live in this example).
   
   ctl.both {
       type hw;
       card Headset;
   }
2. Save the .asoundrc file and restart Amarok.
3. Edit the box labelled "device used for stereo output:" in the xine-engine configuration tab so it reads:
   plug:both

Other tips

To use a dmixed virtual device, ensure that the "sound card can do mmap" checkbox is unchecked.

Image:Xine-config.jpg

Development Questions

How do I get a SVN version of Amarok?

How to obtain and build SVN Amarok

Why isn't Amarok part of KDEmultimedia?

The developers don't want the man telling them when they can release. (Meaning, packages in KDE proper have a release schedule that doesn't fit with Amarok's fast-paced development).

I've found a bug / I've got a great idea for Amarok!

Please report it at http://bugs.kde.org, if you have a list of suggestions/wishes it may be best to send them to our mailing list: <amarok@kde.org>. Simply posting the idea to our IRC channels or on an obscure wiki page won't help much as the given information will get lost.

Do you accept patches?

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 svn access. However, please let us know before you commit new features to svn! If you have a bug fix then just go ahead, this is open source after all :)

Why did you choose the name Amarok?

Amarok is an album by British composer Mike Oldfield. Project founder Mark Kretschmann happens to like it a lot, and he thought the name's got a nice sound. Plus, of course, it contains the all important “K”.. :)

General Questions

Is it Amarok, AmaroK or amaroK?

It is “Amarok”! The former spelling was "amaroK", but it was changed due to its strange look.

How are track scores determined?

Amarok assigns a score (a number 0-100) to a song based on how many times you've listened to it and whether you skip the song without it finishing. Every time the song finishes playing, the score is changed.
Scores get calculated by scripts (Tools-> Script Manager-> Score)


Here is the ruby-code for the default script:
   if( playcount <= 0 ) # not supposed to be less, but what the hell.
       newscore = ( prevscore + percentage ) / 2
   else
       newscore = ( ( prevscore * playcount ) + percentage ) / ( playcount + 1 )
   end


You can easily create your own script with your own algorithm. Look at the Script-Writing-Howto for further information.

How do I manually change a track's score

You may change the score manually by right-clicking on the playlist columns titles (the ones that say title, artist, album etc) and select Score. You can then change the score like any other song attribute, by right clicking it and selecting "Edit Tag 'Score'" or pressing F2. You can also edit the score in the Tag dialog, available by right clicking on a track.

But I also want that stars system like in other players!

Amarok, of course, supports an user-defined rating system. Just make sure that Ratings are enabled, by going to the configuration dialog, and enable the Checkbox:"Use Ratings" (which is in the "General" section). Then, create a new column, by right-clicking in the columns bar of the playlist, go to "Show Column" -> "Rating". Then you can rate your tracks with a single click! (or the Window key and any number from 1 to 5. Press twice a number to assign half-a-star.


What legal issues caused "Blue Wolf" icon replacement?

The icon was way too similar to the Warp Graphics, Inc. logo (elfquest.com), so it had to be removed to avoid problems.

How can I add a stream to Amarok?

First of all, load the stream into the playlist. There are several ways to do this. You can simply click on a Stream-Playlist URL in Konqueror; Amarok will then automatically open the stream. E.g. on shoutcast.com, click on the "Tune In" button. Or you can use the "Add Media" function to load a stream.
Once the stream is loaded, you can save it by right-clicking on "Current Playlist" in the Playlist-Browser, then select "Save", and give it a meaningful name. The Stream will then be added to the Playlist-Browser view for later reference.

Where do I find the settings for amarok?

`kde4-config --localprefix`/share/apps/amarok
`kde4-config --localprefix`/share/config/amarokrc

Image:Configure_media_device_screenshot.png

last.fm FAQs

What is last.fm?

last.fm is a free web service that sends information regarding which songs are played to an independent server. With last.fm, you can get recommendations based on your listening habits, as well as meeting people who share your tastes. The service sign-up is free and only requires that you pick a user name and password that is not already in use. last.fm is currently utilized in Amarok.

I do not want Amarok to send information to last.fm!

Uncheck "Submit tracks I play" to prevent querying last.fm for suggested tracks. (this is the default behavior)

last.fm options

How do I get to the last.fm Amarok group?

The last.fm Amarok group is located here: Amarok last.fm Group

How to sync my labels with last.fm tags?

Use the synctags script.

How do I open lastfm:// links in amarok from KDE4?

Based on this tip: original KDE3 tip I worked out how to achieve this:

Create a file called lastfm.protocol in the path ~/.kde4/share/kde4/services with the following contents:

[Protocol]
exec=/usr/bin/amarok "%u"
protocol=lastfm
input=none
output=none
helper=true
listing=
reading=false
writing=false
makedir=false
deleting=false

You may need to alter the path to the executable depending on your distribution.

It should be as simple as that - once the file is saved you should be able to open lastfm:// links directly in amarok from Konqueror 4 (no restart required). I am aware that this is not perfect yet but it does work for clicking without amarok open. Once I figure out how to enque I will add to this.

Troubleshooting FAQs

No Artwork/Cover Art is showing up on the iPod

  • Amarok older than 1.4.6 is buggy in that point - do an update
  • libgpod might be out of sync with amarok - check if the versions amarok is compiled with and the installed version match
  • The iPod model is not recognized correctly
    • The needed information is gathered from iPod_Control/Device/SysInfo
    • If the mentioned file is empty, then Amarok will repair this when you set the iPod model.
    • If the file remains empty you can also try setting the model with gtkpod
    • The reason for the file staying empty is, that you might not be allowed to write to the file which can only happen if the ipod is formatted with the hfs+ filesystem which has access control (in contrast to fat32). -- So change the permissions (see chmod) and then set the model again in amarok. Now cover art should be enabled.


Amarok crashes when I play a certain track, everytime, what's wrong?

This usually means TagLib is crashing while reading that track's tags. Report the bug against TagLib at [1].

Audio playback seems choppy. What causes this? Is there anything I can do?

Audio playback can be affected by many things on a Unix/Linux system, including choice of drivers, sound card, the desktop environment you use, or even the filesystem you are using. You might try some of the things mentioned here http://ck.kolivas.org/faqs/audio_hints.txt

Amarok crashes often, what can I do?

  • Upgrade your ALSA libs and utils to the latest version, or use OSS, or OSS emulation
  • If you use MySQL as the database backend, try the SQLite one, it is slightly more mature (the Amarok code, not the db itself)
  • Try a different audio-engine.
  • Make sure that all the libraries that Amarok uses were compiled with the same GCC version as Amarok itself. The situation when Amarok is compiled using GCC 3.4.x and linked against taglib which was compiled using GCC 3.3.x can lead to crashes even if you are not editing tags.
  • If you're using KDE with artsd, try disabling "auto suspend if idle after..." in the sound system settings or at least don't use a value of 1 second since that will interfere every time amarok switches songs.
  • Generally other apps blocking the sound devices might cause trouble. Sound demons like esd, Flash (also look for open web browsers in general), RealPlayer, older versions of Skype,...

Otherwise, forward us the backtraces when the email pops-up (you'll see). If you get a crash often you will get it fixed for sure if you forward a really good backtrace to us. See the next sections for assistance there.

How can I obtain a decent backtrace?

See the Debugging HowTo

Amarok is not displaying my utf-8 id3v2 tags properly!

  • This is because most applications put utf8 data into id3v2 tags but do not specify the encoding as unicode. This perl script will fix that.


#!/usr/bin/perl
die "File $ARGV[0] doesn't exist" unless -f $ARGV[0];
use MP3::Mplib;
my $mp3 = MP3::Mplib->new($ARGV[0]);
my $v2tag = $mp3->get_v2tag;
print "Error writing tags of $ARGV[0]\n" unless $mp3->set_v2tag($v2tag,&UTF8);
  • Note: This script requires the perl module MP3::Mplib which can be installed by issuing this command
perl -MCPAN -e 'install MP3::Mplib'

Amarok just freezes! How can I help get this fixed?

You can obtain a backtrace of a frozen instance of Amarok using gdb like so:
$ gdb -p `pidof amarokapp`

(gdb) thread apply full bt all
Then just post the backtrace to PasteBin as described in the Debugging HowTo.

Amarok hangs for a few moments when dragging songs in the playlist

This sometimes happens when the song you're dragging is trying to load its album cover, which starting from version 1.4.4 is now displayed as a tooltip when dragging songs in the playlist. You can disable the loading of album covers altogether by removing write permissions from ~/.kde/share/apps/amarok/albumcovers and its subdirectories, cache and large.

(mp3) playback quality seems to be poor or too quiet, what can I do?

Try turning off the equalizer or upgrade at least to Amarok 1.4.5 as it has been much improved there. You can also try to set the option for speaker setup to "Pass through" rather than some actual speaker setup. There is a thread about this question on the mailing list.

My collection scan takes very long to complete

Look at the file ~/.kde/share/apps/amarok/collection_scan.log. It should contain single file name. If that name does not change for some time, try moving the file out of your collection directory and restart the scan.


Amarok 2.0 FAQ

Will Amarok 2.0 be shipped with KDE 4.1?

No. Expect 2.0 to be released somewhere between KDE 4.1 and 4.2

Will Amarok 2.0 work on Windows and OS X?

Yes, Amarok 2.0 will work on both OSes, and installers will be available. Unfortunately, we don't (yet) have the resources to offer full support for those operating systems. Almost all of our developers use free operating systems, and those have priority for us. We do however welcome Windows and OS X developers willing to help, and improve Amarok on those platforms. Read more about the Windows version in the 11th issue of the Amarok Insider.

IMO Amarok 2.0 looks terrible.

Don't worry and let us work on it. We have a lot more work to do. If you, however, have a constructive idea or a concrete solution to some of the problems, do contact us. We are also looking for any full time artists who would like to work with our team. We can offer only satisfaction and fame, how about that? ;)

Will Amarok 2.0 allow custom themes?

Amarok 2.0 will most probably not support custom themes. We would like to make it look great on everyone's desktop, no matter of the screen size, system colors or chosen icon-set. To achieve this, Amarok 2 tints all custom graphics to match the system colors. So to have a very different looking Amarok, try changing the system color theme. We however don't rule out the possibility of allowing custom themes later in the development of the Amarok 2.x series.

Will Amarok 2.0 support multiple database backends, like in the 1.x series?

No, we plan to use MySQL embedded only, for sake of source code simplicity, maintenance cost and efficiency. Less bugs for everyone!

Why MySQL embedded?

Because there is nothing to configure from the user side, as it was with SQLite, but at the same time we get the performance of MySQL.

That sucks. I use custom MySQL/PostgreSQL server to share my Amarok 1.x collection (statistics, covers) on multiple machines

It was nothing more than a hack. But thanks to the new Web Service infrastructure in Amarok, you will be able to set up an Ampache server, access it from Amarok, and enjoy the benefits of having a real home multimedia server.

I have problems compiling Amarok trunk with MySQl Embedded support

Have a look at Development/MySQL Embedded, where we try to provide help until packaging issues are sorted out.

Does Amarok 2.0 support multiple audio backends, xine, gstreamer, etc?

Yes, but not the way Amarok 1 did. From now on Amarok only supports Phonon, which can in turn, use the aforementioned libraries. As a result the amount of supported media types will likely increase as more Phonon backends become available. To change the backend you should open KDE's System Settings and choose Multimedia; in the Backend tab there is the list of installed backends from which the user can choose from. Changing the backend will affect all the applications using Phonon (mostly, but not limited to, KDE applications).

... Video support. Yes or no?

Yes. Amarok will support video files display in the not too distant future. Which only means it will show any video files it happens to find on the playlist, nothing more. No video file management, collection support, DVD playback, subtitles, or any other sophisticated features are planned.

Will Amarok 2.0 allow dragging Plasma applets from the main window to the Desktop?

No, due to technical limitations this is not possible yet. But by the time Amarok 2.0 gets released there will probably be many Desktop plasmoids available anyway which will let you display information provided by Amarok as well as control Amarok. For the whole 2.x series, we have not decided yet. Let's see how thing roll up.

Will Amarok 2.0 be able to use my old collection? Will my tags, rating and statistic be lost?

A database importer is available. You will be able to keep your ratings and statistics just fine.

Will the old scripts work with Amarok 2.0?

Nope. We are creating a new and powerful scripting API. While a vast improvement, it comes at the cost of compatibility with the old scripts. The new scripting system is based on QtScript and will significantly reduce Amarok's dependencies, (a huge problem for non-technical and cross-platform users), and will greatly reduce the amount of external processes launched at runtime. Who really likes having Python, Ruby and possibly other interpreters sitting in the memory and eating precious resources while listening to music? QtScript has the advantages of being available to all Qt applications at no additional cost. Another advantage is that the new API will allow much deeper integration with Amarok than the old scripting system. Read more about scripting on Peter's blog, our Google SoC student who is doing the bulk of the work with the scripting API.

Will Amarok 2.0 support media devices like 1.x?

For Amarok 2 we are planing a greatly improved support for the media devices. With the use of Solid, the KDE hardware layer, much less configuration is needed, and you should be able to just plug in your device and access it within Amarok. Also, thanks to the Dynamic Collections, your media devices could become part of your music collection, and be searchable and accessible within the Collection Browser when it's connected. However some of this will not be ready for the 2.0 release, but rest assured that all the planned features will catch up at some point in the 2.x series. To find out more about reworked media devices support, read the 11th issue of the Amarok Insider.

Will every feature from Amarok 1.4 be included in 2.0.0?

We are sorry, but not every single feature will make it into Amarok 2.0.0. Please remember that Amarok 2 is a nearly complete rewrite. Also we of course want to release something useable to our users as soon as possible. So some features might not yet be in the first Amarok 2 releases.

This does NOT mean that those features will never come back, we just have to set priorities so that we can finally have a release. "Release early, release often", you know. We are also working on a list of features that are not yet implemented, so you can decide easily if an upgrade is the right thing for you to do.

So, what cool features is Amarok 2.0 bringing to the table anyway?

Finally, I thought you'll never ask! Well, we have lots of shiny new goodies for you.

Maybe the biggest new feature is the Service Framework, which integrates networked music sources directly into Amarok. This includes online music stores, media servers, Web music lockers, and more. Thanks to it you'll get easy access to music provided by Magnatune, Jamendo, Last.fm, MP3Tunes Locker, Ampache and many others. Expect more big (and small) names to join during the 2.x lifecycle.

Another biggie is the Context View, occupying the central place of the Amarok's window, replacing the old Context Browser from the 1.x series. It displays contextual information about the music you play, like the album cover, track rating, labels, lyrics, artist information, related songs and artists, track mood and others. Thanks to the Plasma technology it uses, Context View can provide very rich content, like AJAX, video and animations, all in eye catching fashion.

To accompany the Context View, we developed new, space efficient playlist. In order to preserve the horizontal space it groups the track name, artist, album name and cover art together, and allows further grouping by album names. It works great in practice! But for the nostalgic users amongst you we left the possibility to use the old playlist system. However, it's in a very unfinished state, and surely won't make for the 2.0 without additional help (hint! hint!).

Another great gem is the video support. Watching your music videos inside Amarok feels great! An you can watch your video podcasts too.

When talking about gems, we can't forget the Biased Playlists, which extends the old Dynamic Playlists. They allow you to define an automatically populated playlist, based on specific probability driven criteria called "biases". For an illustration of Biased Playlists at work head on to Daniel's blog where he explains his latest developments.

There are many more great features which will await you in the Amarok 2.0, like the new SVG-based scalable theme, advanced scripting, dynamic collections, usability improvements, improved media devices handling, new podcast manager, support for more software platforms, and others. And think of it as just a tip of an iceberg.

Collection importer fails with 'Driver not loaded' error

Make sure you have install the Qt4 database backend drivers for your distribution. On ubuntu, you would install one of the following packages, depending on your configuration:

  • libqt4-sql-sqlite
  • libqt4-sql-mysql
  • libqt4-sql-psql

If unsure, install the sqlite binding, as this is the default configuration of Amarok 1.4