Last.fm msk Patchset
Most of these patches appear in the Debian archive. I'm also hosting them here so folks from other distributions can use them. All of these should be safe no matter what OS you use.
The Last.fm client requires Qt >= 4.3.0.
18.104.22.168091+dfsg1 msk1 patchset (7 May 2012)
- Added patches:
- sidebar-crash-fix: prevent a crash when dragging sidebar items
|The Last.fm 22.214.171.124091+dfsg1 patchset
These are in the Debian package.
|build-fixes.diff||Don't compile portAudio output plugin on Linux.
And fix build on 64bit Fedora 13
|gcc41.diff||Fix compilation with gcc >= 4.1|
|reduce-linkage.diff||Make sure the binaries only link to the libraries that they need|
|no-fingerprint-lib.diff||The Linux client does not do fingerprinting, so don't build it. This reduces the client's package dependencies.|
|alsa-uses-qdebug.diff||With a release build, the ALSA output plugin writes noisy messages to the log file. Only make it noisy in a debug build.|
|check-soundcard-errors.diff||Don't segfault: make sure that the audio device is open before we write to it.|
|tray-icon-size.diff||Use 22x22 icons for Linux system tray.|
|hide-scrobbledir-option.diff||Hide the Scrobble Directories group in the options. It's irrelevant on Linux.|
|tray-volume.diff||Control the volume by spinning the mouse wheel over the system tray icon.|
|set-locale.diff||Correctly sets the language when there is no Last.fm.conf file. If you need to change the language after that, you can do so in Tools | Options | Account. Fixes Debian bug #432232.|
|set-firstrun-status.diff||Don't re-run the setup dialog each time the program starts|
|build-kfreebsd.diff||Non-Linux kernels can use the RtAudio plugin for OSS audio. This should let the client work on FreeBSD and Debian kfreebsd-*|
|qt45.diff||Small style when using Qt >= 4.5|
|qt46.diff||Fix some text/icon display issues with Qt >= 4.6|
|qt47.diff||Fix warnings when compiling with Qt >= 4.7|
|hide-loved-radio.diff||Hide loved radio menu item. It's no longer supported.|
|ipod-scrobble-fix.diff||iPods were identified by a directory timestamp, but it changed each time the ipod was mounted. Instead identify a device by its FirewireGuid.|
|sidebar-crash-fix.diff||Prevent a crash when dragging sidebar items.|
|gcc47.patch||Fix compilation with gcc 4.7.|
|dirpaths.diff||Fix up icon installation path for Linux packages. Only use this if building a Linux package.|
|icons.tar.gz||Application icons from 16x16 to 128x128|
|trayicons22.tar.gz||22x22 icons to use with 02_tray-icon-size.diff|
|Unsupported patches for Last.fm 126.96.36.199091+dfsg
These are not in the Debian archive because I don't want to turn the Debian package into a big ugly fork. Still, I like them and others might too. Note: I reserve the right to stop maintaining these the instant I get tired of them.
|multi-sound.diff||This lets the client switch between different audio output plugins. The patch uses alsa-playback for ALSA and RtAudio for OSS support. It makes it possible for third parties to write their own audio output plugins. Then again, this patch is rather hackish.|
|dbus.diff||İsmail Dönmez and I wrote a D-Bus interface for the Linux client. Upstream might eventually apply this, but I'm leaving it out of the package since the interface may change significantly if/when upstream uses it.|
|tag-cloud.diff||This brings back the tag cloud that was present in 188.8.131.52 and that I greatly miss. I also added a handy slider so you can control the number of matches. Here's Last.fm's explanation for why they got rid of it. I'm happy to see that something better will arrive eventually, but in the meantime I'd rather not lose the ability to search for artists or tags. :(|
|browser-select.diff||Explicitly select which browser to use. Set it in Tools | Options | Connection.|
|no-cruft.diff||A lot is compiled into the Linux client that is only used on Windows and Mac. This cleans that out. Upstream won't be applying this because it would be a maintenance nightmare for them. Frankly, I don't know why I still have this here.|
Building and Running from Source
- Install some dev packages:
- deb-based distros will need libqt4-dev >= 4.3.0, libasound2-dev, libgpod-dev, libmad0-dev
(Also libfftw3-dev and libsamplerate0-dev if you don't apply no-fingerprint.diff.)
- rpm-based distros: same, but I guess you folks have a different package naming scheme.
- Get lastfm-184.108.40.206091+dfsg.tar.gz
- tar -xjf lastfm-220.127.116.11091+dfsg.tar.gz
- cd last.fm-18.104.22.168091+dfsg
- Apply your patches
- qmake-qt4 -config release
- Optional: cd i18n; lrelease-qt4 *.ts; cp *.qm ../bin/data/i18n; cd ..
- cd bin; ./last.fm.sh
If you have problems, please contact me at jstamp at users.sourceforge.net.