Tomahawk Player is a next generation music player. It features custom stations (building upon the beatuiful Echo Nest), a playlist importer, social connection to Twitter, Google Chat, and Jabber. Maybe most important of all: It's able to find and pull music from different sources like YouTube, last.fm, SoundCloud, Skreemr, Spotify, and more using the Playdar approach. Of course, it can also play songs from your local library. Make sure to check out the video if you like to know more.
First a word of warning: Tomahawk is still beta, version 0.1.0 is the most current release
, but there's no PPA yet for Ubuntu systems. The instructions in the wiki are for Maverick and didn't work for me. That's why I thought I write a short tutorial on how to compile Tomahawk Player on Ubuntu 11.04 (Natty Narwhal).
Update: No need to build version 0.1.0 yourself anymore if you are on Ubuntu 11.04, because the PPA has been updated! Just add ppa:paulo-miguel-dias/tomahawk to your sources, update, and install. In more detail:
sudo add-apt-repository ppa:paulo-miguel-dias/tomahawk sudo aptitude update sudo aptitude install tomahawk
Meet the dependencies
First of all, make sure you have all the dependencies installed. I am not 100% sure if the following list is complete because I might have already had some of the necessary libs on my system. Anyway:
sudo apt-get install build-essential cmake libtag1c2a libtag1-dev libqt4-dev libqt4-sql-sqlite \ libphonon-dev libboost-dev zlib1g-dev libqjson-dev libz-dev \ libqca2-dev pkg-config git-core phonon-backend-gstreamer
This should install all required packages. More experienced users could als try a different backend for phonon.
Furthermore, libechonest and Clucene are prerequesites for Tomahawk, so download the latest tarball from https://projects.kde.org/projects/playground/libs/libechonest/ and extract it. Step into the new directory
libechonest-* and run these commands:
mkdir build && cd build cmake .. make sudo make install
Now, clone CLucene from their git repository and install it:
git clone git://clucene.git.sourceforge.net/gitroot/clucene/clucene cd clucene && mkdir build && cd build cmake .. make sudo make install
Resolvers are small plugins to Tomahawk that enable the player to search and stream music from differen sources. There's already a collection of resolvers for a number of third-party services which can be used.
git clone https://github.com/tomahawk-player/tomahawk-resolvers.git
That's it for now, I show you how to enable various resolvers once we got the player up and running.
Optional Spotify support
If you live in a country where you have access to Spotify, you might want Tomahawk Player be able to stream music directly from this wonderful service. In order to do so, download the archive for your architecture from http://developer.spotify.com/en/libspotify/overview/ and extract it.
cd libspotify-*-linux* sudo make install prefix=/usr/local
cd into the
tomahawk-resolvers directory that was created in the last step.
cd spotify mkdir build && cd build cmake .. make
there should be an executable
spotify_tomahawkresolver in the build directory. You can leave it there for the time being.
Build the actual player
Let's compile the Tomahawk Player itself alreaddy:
git clone https://github.com/tomahawk-player/tomahawk.git cd tomahawk git submodule init && git submodule update mkdir build && cd build cmake -DINTERNAL_JREEN=ON -DINTERNAL_QTWEETLIB=ON .. make
You can probably go and drink a cup of coffee because the process takes a while
After this has finished, it's time to run the player for the first time:
./tomahawk. You can set up the location of your local music collection, you can enter various accounts, and you can add resolvers. In order to do so from the Tomahawk settings dialog, klick and the add button, navigate into the respective directory beneath
tomahawk-resolvers, and select the *.js/*.py/*.php file or the above-mentioned
spotify_tomahawkresolver executable. Play around with your new player a little to get to know all of its features.
Enjoy the future of music listening today!
Update: According to domme's comment,
libgnutls-dev libgloox-dev are not required anymore, so I removed them from the instructions.