Banshee'den Rhythmbox'a nasıl taşınır?


13

Karar verildiği gibi, Ubuntu Precise 12.04 , varsayılan müzik çalar olarak Rhythmbox'a sahip olacak . Biliyorum, bunun Banshee'yi kullanamayacağım anlamına gelmiyor, yine de buna geçmek istiyorum.

Uzun zamandır bir Rhythmbox hayranıyım, ancak Natty'de Banshee'ye geçtikten sonra denemeye karar verdim ve tamamen göç ettim. Ancak, bundan çok memnun değilim, benim için çok gecikiyor ve başka sorunları var.

Tüm Banshee verilerini Rhythmbox'a aktarmak istiyorum . Bu aşağıdakileri içerir:

  • Müzik kütüphanesi
  • Çalma listeleri
  • Tercihen oyun sayıları ve derecelendirmeler
  • Radyo istasyonları
  • Kapak resimleri

Tüm bu verileri Rhythmbox'a taşımak, varsayılan müzik çalar olarak çalışmak ve sorunsuz bir şekilde tamamen değiştirmek için ne yapmalıyım?

Yanıtlar:


12

Banshee 2.3.3 / Rhythmbox 2.95 için geçerli olan iki sentim:

  1. Müzik kütüphanesi : Müzik klasörünüzü Rhythmbox olarak belirtmeniz yeterlidir.
  2. Çalma listeleri :
    • Dinamik Oynatma Listeleri : bildiğim kadarıyla bunları yeniden oluşturmanız gerekecek. Eğlenceli değil, her oyuncunun farklı özellik setleri nedeniyle ek komplikasyon ile.
    • Statik Oynatma Listeleri : Banshee'de bunları .m3u olarak dışa aktarın ve Rhythmbox'a tekrar içe aktarın
  3. Oyun sayıları ve derecelendirmeler
    • Playcounts : Bilmiyorum
    • Derecelendirmeler : yıldızların her biri için dinamik bir çalma listesi oluşturun (yani "derecelendirme1, derecelendirme2, derecelendirme3, derecelendirme4, derecelendirme5" dinamik çalma listeleri oluşturun, sonra bunları .m3u olarak dışa aktarın, sonra bunları Rhythmbox'a aktarın. Sadece test ettim, her iki oyuncu da dosya adları kullanıyor ~ göre, iyi olacak.
    • Her ikisine de bir çözüm uygulamak olacaktır # 538549 - Derecelendirme için ID3v2 Popularimetre Kullanımı (belki Play Count)
  4. Radyo istasyonları : Bilmiyorum
  5. Kapak resimleri : "geçiş" seçeneği olmasa da, Rhythmbox 2.9x / 3 kapak resminin işlenmesinde daha iyi bir iş çıkarır . Cover ArtVe Cover Art Searcheklentilerini etkinleştirerek deneyin Edit / Plugins. Benim durumumda (klasörde .jpg veya ID3 olarak depolanan kapak resmi), bunlar iyi tanınır

Umarım yardımcı olur! İyi şanslar :)


@rafalcieslak Hoşgeldiniz :). Ayrıca Rhythmbox'ı da çok seviyorum ve 2.95 gerçekten cesaret verici bir adım.
Ronan JOUCHET

Bu berbat. Oynatma listeleri, oyun sayıları veya kapak resmi ve diğerleri için kolay içe / dışa aktarma yok. Bu, 12.04 sürümüne güncellenmemi engelliyor, çünkü anladığım gibi, yükseltme banshee'yi kaldıracak , bu yüzden yukarıdakilerin tümü bir yükseltme sırasında kaybolacak. Ayrıca sadece banshee'nin oynatma listesi (çoğul) dışa aktarma özelliği olmadığını fark ettim. Her oynatma listesini ayrı ayrı dışa aktarmanız gerekir! Başlangıçta banshee'yi terk etmeli ve ritim kutusu kullanmalıydım. (Ubuntu'da v11.10 ile başladım)
Gerard Roche

@BullfrogBlues: Yanılıyorsun. 12.04 yükseltme olacak değil Banshee kaldırmak, bu yüzden devam etmek güvenli! :) Ayrıca, Banshee'yi kaldırsanız bile, yeniden yükledikten sonra tüm verilerinizin el değmeden olacağını unutmayın! Harika, değil mi? Ama her neyse, mevcut müzik çalarınızı tercih ederseniz, Banshee'yi 12.04'te kullanmaya devam edebilirsiniz, Rhythmbox'a taşınmanıza gerek yok. Öyleyse devam edin, 12.04'e yükseltin!
Rafał Cieślak

Banshee'yi tercih etmiyorum. Zaten bir yükseltme girişiminde bulundum ve bazı paketlerin kaldırılması istendi, banshee onlardan oldu. Şimdi, belki istem mesajını yanlış anladım, ancak 12.04'te desteklenen bir paket olmadığı için banshee'nin kaldırılacağını söyledi. Her iki durumda da, yükseltmeye devam etmek bana güven vermedi. Ancak, banshee db'yi ~/username/.config/banshee-1/*içeren banshee yapılandırma dosyalarının yükseltme ve yükseltme sırasında tamam olması gerektiği konusunda doğru olmalısınız.
Gerard Roche

@rafalcieslak Bilginize Bazı uygulamalar vardır kaldırıldı, banshee bunlardan biridir askubuntu.com/questions/111163/...
Gerard Roche

3

Rhythmbox-banshee-ithalat komut göç edecek oyun sayar ve derecelendirmeleri . @Xiphosurus'a teşekkürler. Ancak, komut dosyasının çalışması için ona banshee ve ritim kutusu veritabanlarının nerede olduğunu söylemeniz gerekir.

Komut dosyasını hazırlama

Ritim kutunuzu ve banshee db dosyalarınızı bulun. Varsayılan konumlar:

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

Onları yedekleyin! Bunu tekrar söyleyeceğim. Yedekleme yapmak.

Şimdi banshee.db dosyasını ritim kutusu-banshee-import komut dosyası ile aynı klasöre kopyalayın. Ve sonra satırın söylediği yerde ritim kutusu-banshee-import komut dosyasını değiştirin:

RB_DB = 'rhythmdb.xml'

/ rhythmboxdb.xml dosyasının yolunu ekleyin, örn:

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

Şimdi betiği çalıştırın ve tüm çalma sayıları ve çalma listeleri güncellenecektir.

Sorun giderme

  • Lxml adlı modül yok

    Bir hata ... ImportError: No module named lxml ...alırsanız Python Xml Parsers yüklemeniz gerekir :

    sudo apt-get install python-lxml
    
  • İzin reddedildi

    "İzin reddedildi" iletisini alırsanız, bunun nedeni ya diğer kullanıcıların dizinindeki dosyaya erişmek için yeterli izninizin olmaması ya da dosyanın yürütülebilir olmamasıdır. Yürütülebilir yapmak için şunu çalıştırın:

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

apandis

rhythmbox-banshee-import Komut Dosyası
#!/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

Derecelendirmeleri ve oynatma sayısını içe aktarmak için bu komut dosyasını kullanın! Benim için çalıştı!

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


Ben koda bakarken bunun için yüksek umutları vardı, ama ne yazık ki, bir hata var ImportError: No module named lxml. Bunun çözümü apt-get install lxmlmutlu günler kadar kolaysa, lxml.de/installation.html kurulum kılavuzu . Aslında yüklediğim veya yaptığım hakkında bir fikrim olmadığında bir şeyler yüklemekten hoşlanmıyorum. Hangi sık sık. Ne yaptığımı sık sık bilmiyorum.
Gerard Roche

1

Rhythmbox & Banshee ayrıntılarını henüz incelemeden bazı genel fikirler:

  1. Müzik veritabanını içe aktarmak, Rhythmbox'ın tüm dosyaları tekrar taramasına izin vermek kadar kolay olmalıdır.

  2. Banshee'yi çalma sayılarını ve derecelendirmelerini ses dosyasının etiketlerine depolayacak şekilde yapılandırdıysanız ve Rhythmbox, Banshee derecelendirmelerini içe aktarmayı destekliyorsa (birçok uygulama derecelendirmeleri, müzik çalarlar arasında dönüştürülmesi kolay, hatta dönüştürülmeden kolayca veya daha az "standartlaştırılmış" biçimde depolar ve Banshee'nin bunu desteklediğini biliyorum, ancak Rhythmbox'ın destekleyip desteklemediğinden emin değilim), o zaman bunlar da yeniden tarama konusunda bir sorun olmamalı.

  3. Kapak resimleri genellikle müzik dosyalarıyla birlikte saklanır ve yeniden taramada da algılanmalıdır. Banshee'nin başka yerlerde de kapakları saklayıp saklamadığından emin değilim?

  4. Banshee'nin çalma listelerini Rhythmbox'ın içe aktarabileceği bazı standart çalma listesi formatına (örneğin .m3u / .pls dosyaları) aktarabileceğini umuyorum?


Rhythmbox'ta FMPS uyumlu derecelendirmeleri kaydetmek / okumak için bir eklenti buldum (bunlar Banshee'nin de kullandığı derecelendirmelerdir). Makale Fransızca, ancak eklentinin kendisi İngilizce gibi görünüyor. Ve belki birisi onu paketleyebilir ...


banshee-extension-albumartwriterİndirilen albüm resimlerini müziği içeren dizine yazan (varsayılan olarak yalnızca önbellek dizinine kaydedilen) bir Banshee uzantısı vardır, bu da onları Rhythmbox'a almanıza yardımcı olacaktır.


Banshee için çalma listeleri aktarabilir .m3u, .pls& .xspf(... bir sürü iş ancak bunlardan çok var ise, bu olabilir), Rhythmbox böyle çalma listelerini alabilirsiniz.


Banshee'ye sayıları ve derecelendirmeleri medya dosyalarında saklamasını söyledim, ancak bunları ritim kutusuna aktarmadı. Şu anda ithalat komut dosyasına bakıyorum. Banshee versiyonu: 2.9.0 + gerçekten2.6.2-2ubuntu2.1
isaaclw
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.