DSL Ideas and Suggestions :: XMMS Improvements



Thanks for your further post, mikshaw.

Acting on your first post, when I changed the XMMS output plugin to "disk writer", I got, as you'd foreshadowed, a .wav file added to my existing .wma file. I then used lame.dsl on the .wav file, which produced a third file, which was an .mp3. So I got what I'd hoped for, but in a labour- and space-intensive way.

As to using mplayer instead of XMMS for the conversion, while I've found bash scripts using mplayer to convert .wmas to .mp3s, I couldn't get mplayer.dsl to work. Everything I tried returned the message "illegal instruction". In a way, my not being able to use mplayer is a good thing, since I'm pretty pressed for space anyway.

The only disadvantage of using XMMS is that no one's written a bash script using it in the conversion process.

I looked at the documentation for XMMS and there seems no way to change the output plugin from the command line in XMMS. I did, however, discover, in ~/.xmms/config, a line naming the current output plugin.

What I know about bash scripting could be written on the back of a postage stamp with lots of room to spare, but I'm wondering whether one can, in a bash script, search the config file and, if the named output plugin isn't disk writer, change it to that and, only then, run XMMS. That would overcome the absence of an output plugin option internal to XMMS. If that can be done and then reversed afterwards, then it seems to me that the process could be automated satisfactorily.

I'd welcome your further advice.

Thanks again,

Leslie

Xmms seems to be one of those applications that is not really built for automation.  Of course you can do what you're suggesting, but to me it sounds very messy.
For scripting and batch processing, it's usually better to stick with applications that can be fully controlled from the commandline. In this case mplayer really is the most appropriate tool....the problems you had with it can most likely be tracked down by examining the script and checking what features are supported by mplayer.dsl

Another possible option is Sox, although I'm pretty sure the one made for DSL does not support wma.

Thanks yet again, mikshaw.

At least for me, it wasn't a case of the wma to mp3 conversion script I was trying not working because some feature of mplayer required by the script was not present in mplayer.dsl. Instead, it was a case of mplayer not working at all.

After my last post (gee, that sounds ominous, doesn't it?), I kept searching for further information about this and finally came across  http://wiki.ltsp.org/twiki/bin/view/Ltsp/ManagingUserConfiguration. At that page is a part of a login script which changes the output plugin of xmms from OSS to ESD.

Before I start to bang my head against the wall trying to get mplayer.dsl to work for me (I know already that sox won't do the job), I'm going to try to integrate the bit of script I just referred to into the conversion script I already have and see if that'll work for me.

If I do get it to work, I'd be happy to post it here, just in case it could help someone else trying to do the same thing as me, but I don't know the etiquette about such things. Would that be appropriate?

Best wishes,

Leslie

That script looks like it's pretty much exactly what you described earlier. It simply replaces the string "libOSS.so" with the string "libesdout.so".  The "-i" parameter of sed allows you to edit the file directly rather than first making a temp file.  I forgot about that parameter, which is one reason I was thinking it'd be messy.  The main reason, though, is that you still need to reverse the process when you want to just play music.  Perhaps a script could be written that makes the change, runs the conversion, and then returns the config file to its original state.
Thank you for telling me what the -i option for sed does! When I found that script and noticed the crucial sed command, I started looking for a beginner's sed tutorial, since pretty much all I know about bash scripts is at the "Hello world" level. I found some, but none of them that I saw mentioned -i. I suppose the information is in a man or info page about sed, but I was trying to get myself spoon-fed.

As to automatically changing the output plugin back to the original OSS after the .wav file is or the .wav files are created, I already had that in mind, as I'd mentioned earlier.

Thank you for all your help over this.

Next Page...
original here.