applet icône RadioTray est assez soigné et est livré avec une variété de stations de radio prédéfinies classées par catégories. À ceux-ci, j'ai également ajouté quelques stations de radio locales (israéliennes) supplémentaires et je me suis retrouvé avec quelques dizaines.
En prévision du prochain Precise et de la nécessité d'avoir un joueur pour tous, je voudrais migrer cette liste vers Rhythmbox.
La seule chose que j'ai compris jusqu'à présent est que les stations de radio de Radio Tray sont conservées dans un fichier XML à @ HOME/.local/share/radiotray/bookmarks.xml .
Des idées sur la façon d'importer des stations RadioTray dans Rhythmbox?
L'image montre les stations de radio RadioTray par défaut importées dans Rhythmbox
Comment ai-je fait ça?
RadioTray conserve ses stations de radio dans un fichier XML situé dans:
~/.local/share/radiotray/bookmarks.xml
Rhythmbox conserve toutes ses données de manière similaire dans un fichier XML situé dans:
~/.local/share/rhythmbox/rhythmdb.xml
Si vous examinez les deux fichiers, il est assez évident que le format XML (sa structure définie) est très différent.
Une solution consiste à transformer le format XML Radiotray en quelque chose que Rhythmbox peut comprendre.
XSLT
Vous pouvez utiliser le langage de traduction XML structuré XSLT pour effectuer cette conversion.
À installer:
Sudo apt-get install python-4suite-xml
Copiez ensuite le contenu ci-dessous dans un nouveau fichier gedit
Enregistrez dans un fichier (créez le dossier xml
si nécessaire) appelé ~/xml/style
Ensuite, copiez le fichier XML RadioTray dans le même dossier ~/xml
Enfin, copiez le fichier XML Rhythmbox dans le même dossier ~/xml
Passer à un terminal:
cd ~/xml
4xslt bookmarks.xml style > test.xml
Cela reformatera le RadioTray dans le XML qui peut être lu par RhythmBox
Ensuite, nous devons ajouter ces nouvelles données à Rhythmbox.
Ouvrez maintenant les deux test.xml
et rhythmdb.xml
Copiez le contenu de test.xml
SAUF pour la première ligne dans le rhythmdb.xml
fichier. Remarque - vous collez le contenu à la fin du fichier, c'est-à-dire.
</entry>
*****paste test.xml here*****
</rhythmdb>
Sauvegarder.
Sauvegardez l'ancien rhythmdb.xml
fichier, puis copiez sur le nouveau rhythmdb.xml
fichier.
Lancez Rhythmbox
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="bookmarks/group/group/bookmark">
<entry type="iradio">
<title><xsl:value-of select="@name"/></title>
<genre><xsl:value-of select="translate(../@name,'','')"/></genre>
<artist></artist>
<album></album>
<location><xsl:value-of select="@url"/></location>
<date>0</date>
<media-type>application/octet-stream</media-type>
</entry>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Eh bien, c'est possible. Mais ce ne sera pas un processus rapide ni amusant.
Vous voudrez ouvrir bookmarks.xml avec n'importe quel programme que vous voulez (j'utiliserais personnellement gedit) et ouvrir aussi Rhythmbox. Avec Rhythmbox ouvert, vous voudrez faire un clic droit sur "Radio" sur le panneau de gauche et "Nouvelle station de radio Internet". Vous voudrez copier et coller l'URL de chaque station de radio que vous souhaitez mettre dans Rhythmbox. Ensuite, vous pouvez les renommer comme vous le souhaitez.
Vous devrez le faire pour chacune des URL. Cela ne prendra pas trop de temps, mais c'est fastidieux. :(