I’ve finally found the time to setup my web-based music player on the new (virtual) Ubuntu server. At the same time, I took the opportunity to make it all unicode compliant. Actually, I had to do that, since the music is actually on the Vista box, and accessed via a CIFS mountpoint setup in /etc/fstab.
I had a few issues that got in the way:
- Getting the correct options in /etc/fstab to mount the share and make sense of the accented characters. This was solved by following this article on the Ubuntu forums. It would have been even quicker to sort, had I not forgotten that my SSH session wasn’t set to display unicode – so I still couldn’t actually see the right characters even when the fstab was correctly configured!
- The current version of LAME in the Ubuntu repositories (3.97) is not the latest stable one (3.98). This probably isn’t crucial, but my transcoding makes use of some of the new features (such as embedding album-art). This was easily fixed by downloading and compiling the latest release.
- The GD graphics library that is installed with the php5-gd package under Ubuntu is missing a lot of the features that the bundled PHP version includes (such as rotation). The proper fix for this is to compile PHP with the library. I took the cheat’s route, and simply extracted the bundled library from the Fedora distribution’s RPM file (note that that link is to the 64-bit version).
After a few tweaks to the PHP code to make sure unicode text was treated as such (and changing the collation type of the database tables to match) it’s all working properly. Or rather, it’s working as well as can be expected considering that it’s not actually finished yet!