Как перейти с Banshee на Rhythmbox?

13

Как было решено, в Ubuntu Precise 12.04 появится Rhythmbox в качестве музыкального проигрывателя по умолчанию. Я знаю, что это не значит, что я не смогу использовать Banshee, но я бы хотел перейти на него.

Я был поклонником Rhythmbox в течение долгого времени, но после перехода на Banshee в Natty я решил попробовать и полностью перешел на него. Однако я не очень доволен этим, он сильно отстает от меня и имеет некоторые другие проблемы.

Я хотел бы экспортировать все данные Banshee в Rhythmbox . Это включает:

  • Музыкальная библиотека
  • Плейлисты
  • Желательно игровые приставки и рейтинги
  • Радиостанция
  • Обложка картинки

Что я должен сделать, чтобы переместить все эти данные в Rhythmbox, заставить его работать в качестве музыкального проигрывателя по умолчанию и полностью переключиться на него?

Рафал Цеслак
источник

Ответы:

12

Мои два цента, применимые к Banshee 2.3.3 / Rhythmbox 2.95:

  1. Музыкальная библиотека : просто укажите свою папку Музыка в Rhythmbox, и она будет импортирована
  2. Плейлисты :
    • Динамические плейлисты : насколько я знаю, вам придется их заново создавать. Не весело, с дополнительным усложнением из-за различных наборов функций каждого игрока.
    • Статические плейлисты : просто экспортируйте их как .m3u в Banshee и повторно импортируйте их в Rhythmbox
  3. Playcounts и рейтинги
    • Playcounts : я не знаю
    • Рейтинги : создайте динамический плейлист для каждой из звезд (то есть создайте динамические плейлисты «rating1, rating2, rating3, rating4, rating5», затем экспортируйте их как .m3u, затем импортируйте их в Rhythmbox. Я только что протестировал, оба игрока используют имена файлов по отношению к ~, так что вы будете в порядке.
    • Одним из решений для обоих было бы внедрение # 538549 - Использование ID3v2 Popularimeter для рейтинга (может быть, Play Count)
  4. Радиостанции : я не знаю
  5. Изображения на обложке : хотя Rhythmbox 2.9x / 3 не является опцией «миграции», он лучше справляется с обложкой . Попробуйте, включив Cover Artи Cover Art Searchплагины в Edit / Plugins. В моем случае (обложка хранится как .jpg в папке или как ID3), они распознаются просто отлично

Надеюсь, это поможет! Удачи :)

Ронан Жуче
источник
@rafalcieslak Добро пожаловать :). Мне также очень нравится Rhythmbox, и 2.95 - действительно обнадеживающий шаг вперед!
Ронан Жушет
Это отстой. Нелегкий импорт / экспорт плейлистов, счетчиков игр, обложек и других материалов. Это блокирует меня от обновления до 12.04, потому что, как я понимаю, обновление удалит банши, поэтому все вышеперечисленное будет потеряно при обновлении. Я также только сейчас понял, что у banshee нет функции экспорта плейлистов (множественное число). Вам необходимо экспортировать каждый плейлист в отдельности! Я должен был сначала бросить банши и использовать ритмбокс. (Я начал в Ubuntu с v11.10)
Жерар Рош
@BullfrogBlues: Вы не правы. Обновление до 12.04 не удалит Banshee, поэтому вы можете продолжить! :) Кроме того, имейте в виду, что даже если вы удалили Banshee, после переустановки все ваши данные будут там, нетронутыми! Круто, не правда ли? Но в любом случае, вы можете продолжать использовать Banshee в 12.04, не нужно переходить на Rhythmbox, если вы предпочитаете текущий музыкальный проигрыватель. Так что давай, обнови до 12.04!
Rafał Cieślak
Я не предпочитаю банши. Я уже предпринял попытку обновления, и мне предложили удалить некоторые пакеты, в том числе и банши. Теперь, может быть, я неправильно понял сообщение с подсказкой, но там говорилось, что банши будут удалены, потому что это не поддерживаемый пакет в 12.04. В любом случае, это не вселяло в меня уверенность, чтобы продолжить обновление. Но вы должны быть правы в том, что файлы конфигурации banshee, ~/username/.config/banshee-1/*которые содержат базу данных banshee, должны быть в порядке во время обновления.
Джерард Рош
@rafalcieslak FYI Некоторые приложения будут удалены, банши является один из них askubuntu.com/questions/111163/...
Gerard Roche
3

Скрипт Rhythmbox-баньши-импорт будет мигрировать рассчитывает играть и рейтинги . Благодаря @xiphosurus. Однако, чтобы скрипт работал, вы должны указать ему, где находятся базы данных Banshee и Rhythmbox.

Подготовка сценария

Найдите свои ритмбоксы и банши db файлы. Местоположения по умолчанию будут:

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

Поддержите их!Я скажу это снова. Сделайте резервную копию.

Теперь скопируйте файл banshee.db в ту же папку, что и скрипт rhythmbox-banshee-import. А затем измените скрипт rhythmbox-banshee-import, где строка говорит:

RB_DB = 'rhythmdb.xml'

вставьте путь к файлу / к / вашему / rhythmboxdb.xml, например:

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

Теперь запустите скрипт, и все счетчики игр и плейлисты будут обновлены.

Исправление проблем

  • Нет модуля с именем lxml

    Если вы получили ошибку, ... ImportError: No module named lxml ...вам нужно установить Python Xml Parsers :

    sudo apt-get install python-lxml
    
  • В доступе отказано

    Если вы получаете «Отказано в доступе», это либо потому, что у вас недостаточно прав для доступа к файлу в каталоге других пользователей, либо потому, что файл не является исполняемым. Чтобы сделать его исполняемым, запустите:

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

аппендикс

rhythmbox-banshee-import скрипт
#!/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

Чтобы импортировать рейтинги и количество игр, используйте этот скрипт! Работал на меня!

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

xiphosurus
источник
Я возлагал большие надежды на это, когда взглянул на код, но, увы, я получил ошибку ImportError: No module named lxml. Если решение этой проблемы так же просто, как apt-get install lxmlи в счастливые дни, но вот руководство по установке lxml.de/installation.html . Я не люблю устанавливать вещи, когда не имею понятия, что я на самом деле устанавливаю или делаю. Что часто. Я часто не знаю, что я делаю.
Жерар Рош
1

Некоторые общие идеи, не изучая детали Rhythmbox & Banshee:

  1. Импортировать музыкальную базу данных так же просто, как позволить Rhythmbox снова сканировать все файлы.

  2. Если вы настроили Banshee для хранения учетных записей и рейтингов в тегах аудиофайла, а Rhythmbox поддерживает импорт рейтингов Banshee (многие приложения хранят рейтинги в более или менее «стандартизированном» формате, который легко конвертировать или даже работает без конвертации в музыкальные проигрыватели. и я знаю, что Banshee поддерживает это, но я не уверен, что Rhythmbox поддерживает), тогда это не должно быть проблемой при повторном сканировании.

  3. Снимки обложек часто хранятся вместе с музыкальными файлами, и они также должны обнаруживаться при повторном сканировании. Я не уверен, что Банши также хранит обложки в других местах?

  4. Я ожидаю, что Banshee может экспортировать списки воспроизведения в некоторый стандартный формат списка воспроизведения (например, файлы .m3u / .pls), который может импортировать Rhythmbox?


Я только что нашел плагин для сохранения / чтения FMPS-совместимых рейтингов в Rhythmbox (это рейтинги, поскольку Banshee также использует их). Статья на французском языке, но сам плагин, кажется, на английском языке. И, может быть, кто-то может упаковать это ...


Существует расширение Banshee, banshee-extension-albumartwriterкоторое записывает загруженные обложки альбомов в каталог, содержащий музыку (по умолчанию она сохраняется только в каталоге кэша), что также должно помочь перенести их в Rhythmbox.


Banshee может экспортировать плейлисты в .m3u, .pls& .xspf, Rhythmbox может импортировать такие плейлисты (но если у вас их много, это может быть много работы ...).

Janc
источник
Я сказал Banshee хранить счетчики и рейтинги в медиа-файлах, но он не импортировал их в ритмбокс. Я смотрю на сценарий импорта в настоящее время. Banshee - версия: 2.9.0 + действительно2.6.2-2ubuntu2.1
isaaclw