Notes: amaroK - the audio player for KDE =================================== There are many media players around these days, true. What's missing from most players is a user interface, that doesn't get in the way of the user. How many buttons do you have to press for simply adding some new tracks to the playlist? amaroK tries to be a little different, providing a simple drag and drop interface, that really makes playlist handling easy. FEATURES ========== * Quick and simple drag and drop playlist creation * Music library (built-in sqlite, MySQL or PostgreSQL ) * Multiple backends supported (GStreamer, xine, NMM, Helix, MAS and aRts) * Plays all audio formats known to man * 10 band equalizer * Automatic cover art download using Amazon services * The unique and powerful stylable context browser * Automatic play-statistics generation (iRate style) * Full lyrics download * Learn about your music with integrated Wikipedia * Full last.fm support * Visualisations with libvisual * Streaming from any KIO source * Crossfading * Fully configurable OSD for track changes * K3B (CD-burning) integration * Podcast support * Powerful scripting interface * Complete DCOP Access * KDE integration -------------------------------------------------------------------------------- DEPENDENCIES ============== Required * KDE-Libs 3.3 http://www.kde.org * TagLib 1.4 (metadata tagging library) http://freshmeat.net/projects/taglib * One of the multimedia frameworks listed below Recommended * xine 1.0.0 (multimedia framework) http://xinehq.de/ OR * GStreamer-0.8.6 + GStreamer-Plugins-0.8.6 (multimedia framework) http://gstreamer.net (Note: GStreamer 0.9.x is incompatible with amaroK) Optional * aRts 1.3 + KDE-Multimedia 3.3 (multimedia framework) http://www.kde.org * RealPlayer 10 or HelixPlayer 1.0 (multimedia framework) http://www.real.com (Note: only HelixPlayer is exactly RealPlayer without MP3 support) * MAS 0.6.3 (multimedia framework) http://www.mediaapplicationserver.net * NMM 0.7.0 (multimedia framework) http://www.networkmultimedia.org * KDE-Base 3.3 (needed for Konqueror Sidebar) http://www.kde.org * MySQL 4 (faster database support) http://www.mysql.com * OpenGL accelerated X-Server (visualization rendering) * Libvisual 0.2.0 + SDL 1.2 (visualization framework) http://libvisual.sf.net http://www.libsdl.org * ProjectM 0.96 (visualization plugins for Libvisual or XMMS) http://xmms-projectm.sourceforge.net/ * libtunepimp 0.3 (automatic tagging support) http://www.musicbrainz.org/ * XMMS 1.2 + XMMS visualization plugins (visualization plugins) http://xmms.org * K3B 0.11 (CD burning support) http://www.k3b.org Please note, if compiling from source you must also install the devel versions of these packages. -------------------------------------------------------------------------------- IMPORTANT INSTALL INSTRUCTIONS ================================ In order to compile and install amaroK on your system, type the following in the base directory of the amaroK distribution: % ./configure --prefix=`kde-config --prefix` % make % make install Note: --enable-final is not guaranteed to work Note: amaroK-1.3 will not compile on Mandriva LE2005 with KDE 3.3.2. This is not an amaroK related problem, and unfortunately we are powerless to help. Mandriva has backported fvisibility to their GCC which breaks compilation. Alternatives are either using the 1.2.x amaroK branch, or upgrading to KDE 3.4. Packages for popular distributions are available at http://amarok.kde.org -------------------------------------------------------------------------------- INSTALLATION-FAQ ================== Q: I have the required version of GStreamer installed but configure doesn't find it! Q: I have pkg-config problems. A: Here's an extract from the PKG-CONFIG man page: pkg-config retrieves information about packages from special metadata files. These files are named after the package, with the extension .pc. By default, pkg-config looks in the directory prefix/lib/pkgconfig for these files; it will also look in the colon-separated list of directories specified by the PKG_CONFIG_PATH environment variable. So, do export PKG_CONFIG_PATH="/path/to/gstreamer-0.x.y.pc" and reconfigure. Q: Can I improve amaroK's startup time? A: The aRts engine is the slowest to load, using an alternative will help. Prelinking amaroK has spectacular results; however if you have binary openGL drivers (eg Nvidia drivers), you will need to compile amaroK --without-opengl in order to get the amarokapp binary to prelink (the amarok binary is not important here). -------------------------------------------------------------------------------- OTHER-FAQS ============ For answers to problems like "amaroK won't play any MP3s!" and "My MP3s skip and stutter!" please visit: http://amarok.kde.org/ -------------------------------------------------------------------------------- INFORMATION FOR PACKAGERS =========================== For amaroK packages we suggest you build: % ./configure --disable-debug There is a special option for packagers who wish to use the version of sqlite that is distributed with their operating system: % ./configure --without-included-sqlite It is also possible to build amaroK to use MySQL as the database backend. Using MySQL makes the amaroK collection faster. We suggest not building sqlite into amaroK if you plan to ship amaroK with a MySQL dependency. However, the sqlite you ship MUST be threadsafe! Also amaroK will take longer to start with this option since sqlite is not statically linked into the amarok binary. The amaroK binary will be approximately 200kB smaller. We suggest compiling Os, there is no particular part of amaroK that would benefit from optimisation, so the smallest binary is probably the best route. In order to limit the dependencies the amaroK package demands we suggest splitting amaroK into the following packages: 1. amaroK + one backend 2. GStreamer-engine 3. xine-engine 4. aRts-engine 5. amarok_xmmswrapper + amarok_libvisual amaroK is modular and will be fully functional as long as one of 2, 3, or 4 is also installed. Hence we suggest amaroK + one backend. Feel free to include the helix, MAS and NMM engines if you can satisfy their dependencies. amaroK ships with two binaries: amarok and amarokapp. The amarok binary is a wrapper designed to speed up command line argument passing. amarokapp is the real amaroK. If you make packages for amaroK please let us know and we'll link to you on the homepage (as long as you don't object). -------------------------------------------------------------------------------- CONTRIBUTING ============== If you wish to contribute to amaroK, you should build it from SVN and subscribe to the amarok-devel mailing list. The IRC channel is also a place where it's nice to be, since you can talk to other developers much easier, and get instant notification of commits to the SVN. For instant email notification of commits, visit http://commitfilter.kde.org/. -------------------------------------------------------------------------------- WWW : http://amarok.kde.org MAIL: amarok-devel@lists.sourceforge.net IRC : irc.freenode.net, #amarok #amarok.de