Як перейти з Banshee до Rhythmbox?


13

Як було вирішено, Ubuntu Precision 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. Побачення та рейтинги
    • П'єси : Я не знаю
    • Рейтинги : створіть динамічний список відтворення для кожної зірки (тобто створіть "рейтинг1, рейтинг2, рейтинг3, рейтинг4", рейтинг5 "динамічні списки відтворення, потім експортуйте їх як .m3u, потім імпортуйте їх у Rhythmbox. Я просто перевірив це, обидва гравці використовують імена файлів відносно ~, тож вам буде добре.
    • Одним з рішень для обох буде реалізація # 538549 - Використання Популярногометра для рейтингу ID3v2 (можливо, кількість ігор)
  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 db, повинні бути в порядку під час оновлення.
Джерард Рош

@rafalcieslak FYI Деякі додатки будуть видалені, банши є один з них askubuntu.com/questions/111163 / ...
Gerard Roche

3

Скрипт Rhythmbox-баньши-імпорт буде мігрувати зараховуються гри і рейтинги . Завдяки @xiphosurus. Однак, щоб сценарій працював, вам потрібно повідомити, де знаходяться бази даних banshee та ritbox.

Підготовка сценарію

Знайдіть файли ритмбокса та файли danshee db. Типовими місцями розташування будуть:

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

Завантажте їх! Я ще раз це скажу. Зробіть резервну копію.

Тепер скопіюйте файл banshee.db у ту саму папку, що і сценарій ritbox-banshee-import. А потім змініть сценарій ritbox-banshee-import де рядок говорить:

RB_DB = 'rhythmdb.xml'

вставте файл / до / ваш /hythboxdb.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
    

Додаток

scriptbox-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

Щоб імпортувати рейтинги та кількість ігор, використовуйте цей сценарій! Працювали для мене!

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


Я покладав на це великі надії, коли я поглянув на код, але, на жаль, я отримав помилку 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. Зображення на обкладинці часто зберігаються разом із музичними файлами, і їх слід виявити і при повторному скануванні. Я не впевнений, чи Banshee також зберігає обкладинки в інших місцях?

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


Щойно я знайшов плагін для збереження / читання FMPS-сумісних рейтингів у Rhythmbox (це рейтинги, оскільки Banshee їх також використовує). Стаття французькою мовою, але сам плагін, здається, англійською. І, можливо, хтось може це упакувати ...


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


Banshee може експортувати списки відтворення .m3u, .plsі .xspf, Rhythmbox може імпортувати такі списки відтворення (але якщо у вас є багато з них, які могли б бути багато роботи ...).


Я сказав Banshee зберігати підрахунки та рейтинги у медіафайлах, але він не імпортував їх у ритмбокс. Зараз я переглядаю сценарій імпорту. Banshee - версія: 2.9.0 + дійсно2.6.2-2ubuntu2.1
isaaclw
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.