Audacious scroll-wheel volume control

23 April 2013
One of the biggest irritations I got when I changed my main desktop to Ubuntu 12.04 (64-bit) is that using the mouse scroll wheel to change the volume in Audacious no longer works. As far as I can tell GTK v3 does something new with the SCROLL_WHEEL_SMOOTH event which breaks volume control in Audacious, which is fixed in Audacious v3.3.x. Problem is that Ubuntu 12.04 uses the v3.2.x branch of Audacious, so it is stuck on v3.2.1-2. If like me you are using 12.04 because you are somewhat conservative and hence are loathed to add the more experimental software repositories to your apt-get configuration, you basically have to recompile Audacious from source.

Third-party libraries

Before you start, make sure you have the MPG123 development libraries installed. If you don't, you will get 'no decoder found' errors when you try to play MP3 files:

sudo apt-get install libmpg123-dev

You might want to also add others such as Ogg Vorbes (libalogg-dev), FLAC (libflac++-dev), Wavpack (libwavpack-dev), and Module player (modplug), but this is upto personal taste/requirements/patience.

Grab the sources

I used v3.3.4, and you will need to download both the player itself and the plugins as Audacious is quite modular. Untar them into a temporary directory (think you'll need around 70MB):

mkdir src cd src tar -xjvf ~/Downloads/audacious-plugins-3.3.4.tar.bz2 tar -xjvf ~/Downloads/audacious-3.3.4.tar.bz

Build the player

cd audacious-3.3.4 ./configure --prefix=/usr/local/audacious-3.3.4 make sudo make install

Build the plugins

The trick here is how the plugin build links to the player itself, as it is done via Package Config rather than binary locations:

export PKG_CONFIG_PATH=/usr/local/audacious-3.3.4/lib/pkgconfig/

Then do the usual configuration:

cd ../audacious-plugins-3.3.4/ ./configure --prefix=/usr/local/audacious-3.3.4

Make sure that the MPEG-1 decoder plugin in built, by checking which input plugins are scheduled for building (see above if it says no in your case):

Input Plugins ------------- MPEG-1 Layer I/II/III (mpg123): yes MPEG-2/4 AAC (aac): no FFaudio (ffaudio): no

And finally, build & install:

make sudo make install

Remove plugin registry

This one is another major catch. If you already have Audacious installed, it will likely have stale paths to existing plugins, which will result in some version mismatch-related error. Just delete the existing registry, as it will be regenerated.

rm ~/.config/audacious/plugin-registry

If you use skinned interfaces you'll be sent back to the GTK-based interface, but as far as I can tell preferences related to skinned interfaces are retained, so you just need to switch interfaces.

Start listening

/usr/local/audacious-3.3.4/bin/audacious