Skip to main content

convert banshee "favorites" to xmms playlist

Issue:  Xmms is the only media player that I am currently able to configure to play mp3s.  So.. what I have done, is to install a Fedora 16 VM and run banshee with my RHEL ~/Music directory NFS mounted in my VM.  Banshee is where I manage my playlists, etc..  My logout script then copies the banshee.db to my ~/Music directory (as opposed to .config/banshee-1/banshee.db)

I then run the following script to create a "default" Xmms playlist.
I replace the default XMMS .m3u file, then I create a ~/Music/xmms.pls file (optional to use).

Resolution:


[jradtke@neo bin]$ cat banshee-to-xmms.sh 
#!/bin/bash

BANSHEEMINRATING=3
BANSHEEDBFILE=~/Music/banshee.db
TMPSYNC=/tmp/banshee2xmms.tmp
PLSOUT=~/Music/xmms.pls

echo "select Uri from CoreTracks where rating > ${BANSHEEMINRATING};" | sqlite3 $BANSHEEDBFILE > ${TMPSYNC}

sed -i -e 's/file:\/\///g' ${TMPSYNC}

# MORE GENERIC FILE CLEANUP TYPE STUFF
# THEN... REPLACE/REMOVE SOME OF THE SPECIAL CHARACTERS THAT RSYNC WON'T LIKE
# MOSTLY BANSHEE 
# http://www.degraeve.com/reference/urlencoding.php
sed -i -e 's/%20/ /g' ${TMPSYNC}
sed -i -e 's/%23/\#/g' ${TMPSYNC}
sed -i -e 's/%26/\&/g' ${TMPSYNC}
sed -i -e 's/%2B/\+/g' ${TMPSYNC}
sed -i -e 's/%2C/\,/g' ${TMPSYNC}
sed -i -e 's/%5B/\[/g' ${TMPSYNC}
sed -i -e 's/%5D/\]/g' ${TMPSYNC}
# easy way out of Poliça
sed -i -e 's/%CC%A7/?/g' ${TMPSYNC}

# replace the default XMMS playlist with your list
cat ${TMPSYNC} > ~/.xmms/xmms.m3u

# create a default .pls file
NOE=`cat ${TMPSYNC} | wc -l` 
cat << EOF > ${PLSOUT}
[playlist]
NumberOfEntries=$NOE
EOF

x=0
while read LINE
do 
  x=`expr ${x} + 1`
  echo "file${x}=${LINE}" >> ${PLSOUT}
done < ${TMPSYNC}

exit 0





Comments

Popular posts from this blog

P2V using dd for KVM-QEMU guest

Preface: I have certainly not exhaustively tested this process.  I had a specific need and found a specific solution that worked. Situation:  I was issued a shiny new laptop running Red Hat Enterprise Linux 7 (with Corp VPN, certs, Authentication configuration, etc...)  The image was great, but I needed more flexibility on my bare metal.  So, my goal was to P2V the corporate image so I could just run it as a VM. * Remove corporate drive and install new SSD * install corp drive in external USB-3 case * Install RHEL 7 on new SSD * dd old drive to a disk-image file in a temp location which will be an image which is the same size as your actual drive (unless you have enough space in your destination to contain a temp and converted image) * convert the raw disk-image to a qcow file while pushing it to the final location - this step should reduce the disk size - however, I believe it will only reduce/collapse zero-byte blocks (not just free space - i.e. if you de...

Sun USS 7100 foo

TIP: put ALL of your LUNs into a designated TARGET and INITIATOR group when you create them.  If you leave them in the "default" group, then everything that does an discovery against the array will find them :-( I'm struggling to recognize a reason that a default should even be present on the array. Also - who, exactly, is Sun trying to kid.  The USS is simply a box.. running Solaris .. with IPMP and ZFS.  Great.  If you have ever attempted to "break-in" or "p0wn" your IBM HMC, you know that there are people out there that can harden a box - then.. there's Sun.  After a recent meltdown at the office I had to get quite intimate with my USS 7110 and learned quite a bit.  Namely: there's a shell ;-) My current irritation is how they attempt to "warn you" away from using the shell (my coverage expired a long time ago to worry about that) and then how they try to hide things, poorly. I was curious as to what version of SunOS it ...

"Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)"

"Error getting authority: Error initializing authority: Could not connect: No such file or directory (g-io-error-quark, 1)" One issue that may cause this to arise is if you managed to break your /etc/fstab We had an engineer add a line with the intended options of "nfsvers=3" but instead added "-onfsvers=3" and it broke the system fairly catastrophically.