Hiya, *** Note: There's a lot of words here - don't be put off. If you just want the Plugins and don't care about my ramble, find the URL below, download the Plugins and read the comments in them. ***
In a fit of madness, and at the request of a friend who owns a hardware player, I've written a Plugin for Amiga tracker files. It uses mikmod for the conversion to raw output and converts this to MP3 - I had problems getting wav output to work properly. This was the first plugin I'd written so if, when you see it, you think "oh my god that's not the way to do things" then let me know and I'll tweak things. Pleased by the fact that the Tracker support worked, I then wrote a MIDI file plugin, which uses Timidity to convert to raw data. This was a little less sucessful as Timidity is somewhat more processor hungry and my 500Mhz PIII struggles a little. And then finally, I was feeling silly, so wrote an ABC Plugin as well. For those who don't know, ABC is a textual-based music description format designed for traditional and folk music. The conversion uses abc2midi and Timidity to play the files. I had hoped that SlimServer would infer the conversion if I told it how to do 'abc' -> 'mid'; it could have infered 'mid' -> 'wav' or 'mid' -> 'mp3'. But this didn't seem to work, so I added the extra stage manually. Anyhow. The plugins themselves can be found at : http://usenet.gerph.org/SlimServer/ They should be copied into the Plugins directory. If you read the comments at the top of the source, it will tell you what is necessary to install the Plugins and make them work. I've tried to make it as painless as possible - I don't know if there's an installation convention or process so I've settled on something that seems sane - the script itself adds to the custom configuration files in a manner that is (hopefully) non-destructive and can be upgraded in the future. To summarise the installation process... ... you will require lame for encoding to MP3, mikmod for MOD playback, abc2midi for ABC playback, and Timidity (and patches) for MIDI and ABC playback. ... you should copy install the above (the source comments tell you where to get them) in the system path ... you should run 'perl -M<name> -e Plugins::<name>::AddTypes' to add the necessary types to the configuration files. ... you should restart the server I have *only* tested this - and only have access to test this - on Linux. I honestly do not know what is necessary on Windows, but the general principles should be the same. Now for some Caveats and concerns... ... The plugins don't provide duration information. This is because I've not actually processed the files to produce that information. I don't know of any mod information tools (for example) that might give that information, and I'm not going to write another mod parser just to get out the duration. In order to allow the files to be processed, the plugins return -1 seconds as the duration. This seems to appear as 0:59 in the display, and the duration bar never increases whilst streaming. ... There's a long delay when MODs start. This is due to mikmod sleeping between outputting data, even when it's piping to stdout. Nothing I can do about that short of changing its source - however it does have the advantage of keeping the server load down. ... The 'Comment' tag is supplied with the type of tracker file that has been recognised. Not all types of tracker are recognised, but it does try a little to get the most common ones right. The extensions supported are those that I have commonly seen on the files. ... NO artist, or album tags are ever supplied. This means that the files will always be stored under 'No artist', 'No album'. I'm personally opposed to this, but I'm not sure of a solution - it might be sensible to label them with artist set to '_Tracker' so that they all sort together, out of the way of your main music collection, maybe with the variant in the album tag. ... MOD files and ABC files will be given title tags based on the titles present within the file. Many mods are titled oddly so this is not always useful. Ok, now for the support thing... ... I don't have a hardware player; I was just doing this for the fun, 'cos I can, and because a friend suggested it as a silly idea (which it is, but it's silly in a cool retro way). I've only tested this with the SoftSqueeze 2 player. It works. I've heard it working down the phone on my friends machine, so it definately worked on the hardware system. ... I don't have a lot of time to expend on this sort of thing, but I'm happy to take suggestions, fix bugs and maybe add (simple) features, if it doesn't take too long. ... I will get around to doing a little information page about the plugins, rather than a regular Apache file listing on the page :-) It probably goes without saying, but the fact that I picked up the server and updated it to support these things within a day, without paying out any money is pretty a pretty impressive feat, so Kudos to Slim Devices for good design and a good model. Now all of you with the even more cool hardware can (well, if I've done it all right and got the installation instructions sensible) listen to your 10 year old MOD files and silly MIDI ringtones on your very expensive hifi kit around your house. Yeah, I shouldn't write announcements this late at night. Enjoy. Hopefully. -- gerph _______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/lists/listinfo/plugins
