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

PXE boot a LiveCD image

Summary: I have wanted to build a kickstart environment which hosted a "rescue CD" or LiveCD to allow you to boot over the network after you blew your stuff up and needed to repair a few things.  Today I have worked through a method of doing so, with the help of the people who published a succinct script with the Red Hat Enterprise Virtualization Hypervisor.  (the script will be at the bottom of this post - if I have somehow not followed the GPL, please let me know and I will correct whatever is necessary) NOTE/Warning: The boot will fail due the initrd being too large (645mb).  I'm not sure how to proceed.  This procedure worked for RHEVh, because it is quite a bit smaller.  Hopefully I can report back with progress on this? :-$ Procedure: download your LiveCD image to /export/isos/RESCUE/Fedora-16-i686-Live-Desktop.iso # cd /var/tmp # vi livecd-iso-to-pxeboot (populate the file with the script shown below) # chmod 754 ./livecd-iso-to-pxeb...

"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.

MOTD with colors! (also applies to shell profiles)

I'm not sure why I had never looked into this before, but this evening I became obsessed with discovering how to present different colored text in the /etc/motd. A person had suggested creating a shell script (rather than using special editing modes in vi, or something) and I agree that is the simplest way of getting this accomplished quickly. This most noteworthy portion of this script is the following: RESET="\033[0m" that puts the users shell back to the original color. I typically like a green text on black background. Also - a great reference for the different colors and font-type (underscore, etc...) https://wiki.archlinux.org/index.php/Color_Bash_Prompt I found this example on the web and I wish I could recall where so that I could provide credit to that person. #!/bin/bash #define the filename to use as output motd="/etc/motd" # Collect useful information about your system # $USER is automatically defined HOSTNAME=`uname -n` KERNEL=`un...