Importando estações de rádio RadioTray para o Rhythmbox

2

O miniaplicativo de ícones do RadioTray é bem legal e vem com uma variedade de estações de rádio pré-definidas, ordenadas por categorias. Para aqueles eu também adicionei algumas estações de rádio adicionais (israelenses) e acabei com poucas dúzias.

Em preparação para a chegada do Precise e a necessidade de ter um jogador para todos, gostaria de migrar essa lista para o Rhythmbox.

A única coisa que descobri até agora é que as estações de rádio da Radio Tray estão sendo mantidas em um arquivo XML em @ HOME / .local / share / radiotray / bookmarks.xml .

Alguma idéia de como importar estações RadioTray para o Rhythmbox?

    
por yossile 13.03.2012 / 10:58

2 respostas

4

A imagem mostra as estações de rádio RadioTray padrão importadas para o Rhythmbox

Como eu fiz isso?

O RadioTray mantém suas estações de rádio em um arquivo XML localizado em:

~/.local/share/radiotray/bookmarks.xml

O Rhythmbox contém todos os seus dados de maneira semelhante em um arquivo XML localizado em:

~/.local/share/rhythmbox/rhythmdb.xml

Se você examinar ambos os arquivos, é bastante óbvio que o formato XML (sua estrutura definida) é muito diferente.

Uma solução é transformar o formato XML do Radiotray em algo que o Rhythmbox possa entender.

XSLT

Você pode usar a linguagem de tradução XML estruturada XSLT para realizar essa conversão.

Para instalar:

sudo apt-get install python-4suite-xml

Em seguida, copie o conteúdo abaixo em um novo arquivo gedit

Salve em um arquivo (crie a pasta xml , se necessário) chamado ~/xml/style

Em seguida, copie o arquivo XML RadioTray para a mesma pasta ~/xml

Por fim, copie o arquivo XML do Rhythmbox para a mesma pasta ~/xml

Ir para um terminal:

cd ~/xml
4xslt bookmarks.xml style > test.xml

Isso irá reformatar o RadioTray no XML que pode ser lido pelo RhythmBox

Em seguida, precisamos adicionar esses novos dados ao Rhythmbox.

Agora abra os dois test.xml e rhythmdb.xml

Copie o conteúdo de test.xml EXCEPT para a primeira linha no arquivo rhythmdb.xml . Nota - cole o conteúdo no final do ficheiro, por exemplo

</entry>

*****paste test.xml here*****

</rhythmdb>

Salvar.

Faça o backup do antigo arquivo rhythmdb.xml e copie o novo arquivo rhythmdb.xml .

Acione o 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>
    
por fossfreedom 29.03.2012 / 00:14
0

Bem, isso é possível. Mas não será um processo rápido nem divertido.

Você vai querer abrir bookmarks.xml com qualquer programa que quiser (eu pessoalmente usaria o gedit) e abrir o Rhythmbox também. Com o Rhythmbox aberto, você deverá clicar com o botão direito do mouse em "Radio" no painel esquerdo e em "New Internet Radio Station". Você vai querer copiar e colar o URL de cada estação de rádio que você deseja colocar no Rhythmbox. Então, você pode renomeá-los como quiser.

Você terá que fazer isso para cada um dos URLs. Não vai demorar muito, mas é tedioso. : (

    
por Ryan McClure 25.03.2012 / 07:39