Come migrare da Banshee a Rhythmbox?


13

Come è stato deciso, Ubuntu Precise 12.04 includerà Rhythmbox come lettore musicale predefinito. Sono consapevole che ciò non significa che non sarò in grado di utilizzare Banshee, tuttavia vorrei passare ad esso.

Sono un fan di Rhythmbox da molto tempo, ma dopo il passaggio a Banshee a Natty ho deciso di provarlo e ci sono migrato completamente. Tuttavia, non ne sono molto contento, è molto in ritardo per me e presenta altri problemi.

Vorrei esportare tutti i dati Banshee su Rhythmbox . Quello include:

  • Biblioteca musicale
  • playlist
  • Preferibilmente conteggi e valutazioni
  • Stazioni radio
  • Foto di copertina

Cosa devo fare per spostare tutti questi dati su Rhythmbox, farlo funzionare come lettore musicale predefinito e passare senza problemi completamente ad esso?

Risposte:


12

I miei due centesimi, applicabili a Banshee 2.3.3 / Rhythmbox 2.95:

  1. Libreria musicale : basta specificare la cartella Music su Rhythmbox e verrà importata
  2. Playlist :
    • Playlist dinamiche : per quanto ne so, dovrai ricrearle. Non è divertente, con ulteriori complicazioni dovute alle diverse funzionalità di ciascun giocatore.
    • Playlist statiche : basta esportarle come .m3u in Banshee e reimportarle in Rhythmbox
  3. Conteggi e valutazioni
    • Playcounts : non lo so
    • Classificazioni : crea una playlist dinamica per ciascuna delle star (ovvero crea playlist "rating1, rating2, rating3, rating4, rating5", quindi esportale come .m3u, quindi importale in Rhythmbox. Ho appena provato, entrambi i giocatori usano i nomi dei file rispetto a ~, quindi starai bene.
    • Una soluzione per entrambi sarebbe implementare # 538549 - Uso del Popularimeter ID3v2 per il Rating (forse Play Count)
  4. Stazioni radio : non lo so
  5. Immagini di copertina : pur non essendo un'opzione di "migrazione", Rhythmbox 2.9x / 3 fa un lavoro migliore nella gestione delle copertine . Provalo consentendo l' Cover Arte Cover Art Searchplug-in Edit / Plugins. Nel mio caso (copertina memorizzata come .jpg nella cartella o come ID3), sono riconosciuti bene

Spero possa aiutare! In bocca al lupo :)


@rafalcieslak Welcome :). Mi piace anche molto Rhythmbox e 2.95 è davvero un incoraggiante passo avanti!
Ronan Jouchet,

Questo fa schifo. Nessuna semplice importazione / esportazione per playlist, conteggi di giochi o copertine e altro. Questo mi blocca dall'aggiornamento alla 12.04, perché a quanto ho capito, l'aggiornamento rimuoverà il banshee, quindi tutto quanto sopra andrà perso in un aggiornamento. Ho anche capito solo ora che banshee non ha funzionalità di esportazione playlist (plurale). Devi esportare ogni playlist singolarmente! Avrei dovuto scaricare banshee all'inizio e usare rhythmbox. (Ho iniziato su Ubuntu con v11.10)
Gerard Roche,

@BullfrogBlues: ti sbagli. L'aggiornamento a 12.04 non rimuoverà Banshee, quindi sei sicuro di procedere! :) Inoltre, tieni presente che anche se hai rimosso Banshee, dopo averlo reinstallato tutti i tuoi dati sarebbero lì, intatti! Fantastico, vero? Tuttavia, puoi continuare a usare Banshee in 12.04, senza bisogno di passare a Rhythmbox, se preferisci il tuo attuale lettore musicale. Quindi vai avanti, aggiorna a 12.04!
Rafał Cieślak,

Non preferisco la banshee. Ho già tentato un aggiornamento e mi è stato richiesto che alcuni pacchetti fossero rimossi, banshee era su di essi. Ora, forse ho frainteso il messaggio di conferma, ma diceva che banshee sarebbe stato rimosso perché non era un pacchetto supportato in 12.04. Ad ogni modo, non è stato instillato con me la sicurezza di procedere con l'aggiornamento. Ma dovresti avere ragione nel dire che i file di configurazione di banshee ~/username/.config/banshee-1/*che contengono il db di banshee dovrebbero essere a posto durante e aggiornare.
Gerard Roche,

@rafalcieslak FYI Alcune applicazioni vengono rimosse, banshee è una di queste askubuntu.com/questions/111163/…
Gerard Roche

3

Lo script rhythmbox-banshee-import eseguirà la migrazione dei conteggi e delle valutazioni di gioco . Grazie a @xiphosurus. Tuttavia, affinché lo script funzioni, devi dire dove si trovano i database banshee e rhythmbox.

Preparare la sceneggiatura

Individua i file db rhythmbox e banshee. Le posizioni predefinite saranno:

/home/YOUR_USERNAME/.local/share/rhythmbox/rhythmdb.xml
/home/YOUR_USERNAME/.config/banshee-1/banshee.db

Esegui il backup! Lo dirò di nuovo. Fai un backup.

Ora copia il file banshee.db nella stessa cartella dello script rhythmbox-banshee-import. E poi modifica lo script rhythmbox-banshee-import dove line dice:

RB_DB = 'rhythmdb.xml'

inserisci il file path / to / your / rhythmboxdb.xml, ad esempio:

RB_DB = '/home/YOUR_USERNAME/.local/share/rhythmbox/rhythmdb.xml'

Ora esegui lo script e tutti i conteggi e le playlist verranno aggiornati.

Risoluzione dei problemi

  • Nessun modulo chiamato lxml

    Se ricevi un errore, ... ImportError: No module named lxml ...devi installare Python Xml Parser :

    sudo apt-get install python-lxml
    
  • Permesso negato

    Se ricevi "Autorizzazione negata", è perché non hai autorizzazioni sufficienti per accedere al file nella directory di altri utenti o perché il file non è eseguibile. Per renderlo eseguibile, esegui:

    chmod +x /path/to/your/rhythmbox-banshee-import-script
    

Appendice

rhythmbox-banshee-import Script
#!/usr/bin/python

"""
Copyright (c) 2009 Wolfgang Steitz

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA

"""

import sys
import sqlite3
from lxml import etree

RB_DB = 'rhythmdb.xml'
BA_DB = 'banshee.db'

class banshee_db():
    def __init__(self, file):
        self.con = sqlite3.connect(file)

    def get_song_info(self, url):
        try:
            res = self.con.execute('select Rating, Playcount from CoreTracks where uri = ?', (url,) ).fetchone()
            if res is None:
                return None, None
            else:
                return res
        except:
            return None, None


banshee = banshee_db(BA_DB)

tree = etree.parse(RB_DB)
root = tree.getroot()
for song in root:
    if song.get("type") == 'song':
        rating = None
        playcount = None
        for attr in song:
            if attr.tag == 'location':
                location = attr.text
            if attr.tag == 'rating':
                rating = attr.text
            if attr.tag == 'play-count':
                playcount = int(attr.text)
                song.remove(attr)

        rating_banshee, playcount_banshee = banshee.get_song_info(location)
        if rating is None:# noch kein rating in db
            if not (rating_banshee == 0 or rating_banshee is None):
                rating = rating_banshee

        if not (playcount_banshee == 0 or playcount_banshee is None):
            if playcount is None:
                playcount = playcount_banshee
            else:
                playcount += playcount_banshee

        #insert rating into rb db
        if rating is not None:
            element = etree.Element('rating')
            element.text = str(rating)
            song.append( element)
        #update playcount
        if playcount is not None:
            element = etree.Element('play-count')
            element.text = str(playcount)
            song.append( element)


tree.write(RB_DB)

2

Per importare valutazioni e giocare conteggio, usa questo script! Ha funzionato per me!

http://code.google.com/p/rhythmbox-banshee-import/


Avevo grandi speranze in questo quando ho dato un'occhiata al codice, ma purtroppo ho avuto un errore ImportError: No module named lxml. Se la soluzione a questo è facile come apt-get install lxmlsarebbe giorni felici, ma ecco la guida all'installazione lxml.de/installation.html . Non mi piace installare cose quando non ho idea di cosa sto effettivamente installando o facendo. Che è spesso. Spesso non so cosa sto facendo.
Gerard Roche,

1

Alcune idee generali senza indagare sui dettagli di Rhythmbox e Banshee:

  1. L'importazione del database musicale dovrebbe essere semplice come consentire a Rhythmbox di scansionare nuovamente tutti i file.

  2. Se hai configurato Banshee per memorizzare i conteggi e le classificazioni nei tag del file audio e Rhythmbox supporta l'importazione delle classificazioni Banshee (molte app memorizzano le classificazioni in un formato più o meno "standardizzato" che è facile da convertire o funziona anche senza conversione attraverso i lettori musicali e so che Banshee lo supporta, ma non sono sicuro che Rhythmbox lo faccia), anche questi non dovrebbero essere un problema durante la nuova scansione.

  3. Le immagini di copertina vengono spesso archiviate insieme a file musicali e anche queste devono essere rilevate durante la nuova scansione. Non sono sicuro che Banshee memorizzi anche copertine altrove?

  4. Mi aspetto che Banshee possa esportare playlist in un formato di playlist standard (ad es. File .m3u / .pls), che Rhythmbox può importare?


Ho appena trovato un plug-in per salvare / leggere le classificazioni compatibili con FMPS in Rhythmbox (quelle sono le classificazioni poiché anche Banshee le utilizza). L'articolo è in francese, ma il plugin stesso sembra essere in inglese. E forse qualcuno può impacchettarlo ...


C'è un'estensione di Banshee banshee-extension-albumartwriterche scrive le copertine degli album scaricati nella directory che contiene la musica (per impostazione predefinita è salvata solo in una directory della cache), che dovrebbe aiutare anche a inserirli in Rhythmbox.


Banshee può esportare playlist in .m3u, .plse .xspf, Rhythmbox può importare tali playlist (ma se ne hai molte, potrebbe essere molto lavoro ...).


Ho detto a Banshee di memorizzare i conteggi e le classifiche nei file multimediali, ma non li ha importati in rhythmbox. Sto guardando lo script di importazione attualmente. Banshee è la versione: 2.9.0 + davvero2.6.2-2ubuntu2.1
isaaclw,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.