web-dev-qa-db-fra.com

Importer des stations de radio RadioTray dans Rhythmbox

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?

2
yossile

enter image description here

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>
4
fossfreedom

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. :(

0
Ryan McClure