Audioscrobbler is very interesting SNS system. I'm joining into it with XMMS which is a favorite player. However, unfortunately, the official xmms-scrobbler makes my XMMS unstable and it does not support non-Unicode multi-byte environment well. So, I've applied a patch to xmms-scrobbler to solve these problems.

Two patches are downloadable in this page. One provides non-Unicode multi-byte tags supporting for MP3 files. It supports conversion from non-ISO-8859-1 encoding to UTF-8. The conversion method is provided by libiconv or glib2. It also contains several small bug fixes.

Another provides not only multi-byte MP3 tag support but also connectivity and stability improvement, maybe... In the latter patch, some parts of two main functions have been rewritten for the improvement.

If your original xmms-scrobbler plug-in is well stable and you only want to get multi-byte support, you should apply the former patch. Otherwise, if you want to improve your xmms-scrobbler's connectivity, you should try the latter patch.
NOTE: These patches are not tested well and be careful to use it.


2005-02-18: Release the first version


  • Small Bug Fix
    • Fixed segfault when reading long Vorbis tag
    • Fixed lack or break of script to submit
    • Fixed segfault when reading large genre code (over 148)
    • Fixed empty password recording (with BMP)
    • and more...
  • Multi-byte Support
    • Added function which convert non-Unicode character set to UTF-8
      • MP3 files which have non-Unicode multi-byte (such as SJIS or EUC-JP) ID3-tags can be submitted correctly
        NOTE: Except MP3 and Ogg Vorbis, most of formats are not tested because I have no files.
  • Improve Connectivity and Stability
    • Fixed segfault when quitting XMMS
    • Fixed the connectivity
      • Changed the manner of connecting and re-trying
    • and more...?


This plug-in is tested on XMMS-1.2.10, XMMS-1.2.10j_20040415 and BMP-0.9.7. However, this patch can be used with other version of XMMS and BMP which are supported by original xmms-scrobbler, maybe.
NOTE: If you are using this patched plug-in with xmms-crossfade, the song state may be detected incorrectly.
When using this plug-in with XMMS, it converts MP3 tags to UTF-8 by libiconv's functions. Thus, libiconv should be installed on your system.
NOTE: I recommend you to use GNU libiconv library. I've never tested this patch with some other iconv function which are provided by operating system.
When using this plug-in with BMP, it uses g_convert function which is provided by Glib2. So, there is no need to install other libraries.



The following installation methods are describing about the latter patch, though the former (multi-byte support only) patch can be applied with the same way.

  • The patched sourcecode package can be installed as the same way as original version.
    tar jxvf xmms-scrobbler-0.3.7-nsk-20050218.tar.bz2
    cd xmms-scrobbler-0.3.7-nsk-20050218
      If you want to enable debug message, add --enable-debug option
    make install
  • If you want to apply the patch by hand, you should do as follows.
    tar jxvf xmms-scrobbler-0.3.7.tar.bz2
    cd xmms-scrobbler-0.3.7
    patch -p1 < ../xmms-scrobbler-0.3.7-nsk-20050218.patch
    libtoolize --force --copy
    automake --add-missing --foreign --copy
      If you want to enable debug message, add --enable-debug option
    make install


The following figure shows the preference dialog of this patched plug-in.

Preference Dialog

It differs from original version in that patched version has an additional input field.

The additional input field which is labeled "MP3 Tag Code" is used to set the encoding of your MP3 files' tags. You can specify an encoding name here. Also, you can specify several encoding names by separating with delimiters, such as commas or spaces. For example, in above figure, three encodings which are "CP932," "SJIS" and "EUC-JP" are specified as tag encodings.

In this case, the plug-in tries to convert character encoding from CP932 to UTF-8 at first. If the conversion has been completed, the result string of conversion is sent to the server. Otherwise, the plug-in tries to conversion again from the next character encoding, i.e. SJIS to UTF-8. Then, if it has been incomplete, plug-in tries the third one. If all conversion have failed, the original data will be sent to the server.

If the "OK" button is pressed, the value in "MP3 Tag Code" field is enabled immediately.

Encoding names where you can use are listed by "iconv" command.

iconv -l 


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-02-18 (金) 23:41:02 (5118d)