Migrating From mserv To XMMS2 Using Cluck

For general discussion of Cluck see the main Cluck page; Cluck is a TUI client for XMMS2. This page is about how to get some of mserv's functionality out of cluck.

Ratings Import

I've made a script called convert_mserv.sh that uses the xmms2 cli to import the ratings data from mserv into xmms2's media library. You'll likely want to edit the ARJ|D|daltong|rj|root section; that's a list of users whose data I didn't want to import. It takes two arguments: the absolute path of the directory where mserv's track info lives, and the absolute path of the directory where the corresponding music lives. All the music needs to already be in xmms2's media library. Sample command:

~/music/convert_mserv.sh ~/music/.mserv/trackinfo/ ~/music/

Useful mserv-like Playlists

For general information on CLI usage, and collection queries in particular, see Collection Usage With CLI.

Here's how to create playlists that will work like some of my favorite mserv commands.

Unrated List

xmms2 playlist create unrated
xmms2 playlist type unrated pshuffle

"pshuffle" is "party shuffle"; it means "when you're done with a song, drop it from the playlist and move on to the next song in [the given collection]". pshuffle playlists must always have a backing collection, so this command barfs:

ERROR: Give the source collection for the party shuffle

So we make the collection first:

xmms2 coll save unrated NOT +rating.rlpowell
xmms2 playlist type unrated pshuffle unrated
mms2 coll attr Playlists/unrated

The only useful attribute of a playlist of this type is the upcoming, which is how many songs to show at once:

Note that "position" and "size" are for internal use only; "upcoming" isn't show by default because it's, well, at the default.

[position] -1
[size] 11

I like bigger, so I tend to do:

xmms2 coll attr Playlists/unrated upcoming 30

Good Stuff List

High-rated songs, this time without the ordering problem.

xmms2 coll save "Good Stuff" rating.rlpowell \> 300       
xmms2 playlist create "Good Stuff"                        
xmms2 playlist type "Good Stuff" pshuffle "Good Stuff"    
xmms2 coll attr Playlists/"Good Stuff"                    
xmms2 coll attr Playlists/"Good Stuff" upcoming 30                 

The "\>" bit is because you have to pass each element of a collection query as seperate CLI arguments, but ">" by itself redirects to a file, so we escape it.