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

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

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

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

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

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

12
задан 5 November 2011 в 15:18

7 ответов

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

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

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

10
ответ дан 25 May 2018 в 17:11
  • 1
    Ну, это очень полно. Большое спасибо! – Rafał Cieślak 20 January 2012 в 02:04
  • 2
    @rafalcieslak Добро пожаловать :). Мне также очень нравится Rhythmbox, а 2.95 - действительно обнадеживающий шаг вперед! – Ronan Jouchet 20 January 2012 в 08:32
  • 3
    Это отстой. Нет легкого импорта / экспорта для плейлистов, подсчета очков или обложки, а также других. Это блокирует меня от обновления до 12.04, потому что, насколько я понимаю, обновление будет удалять banshee, поэтому все вышеперечисленное будет потеряно при обновлении. Я также только понял, что у banshee нет функции воспроизведения плейлистов (множественное число). Вам нужно экспортировать каждый плейлист отдельно! Я должен был сбросить банши в начале и использовать ритмбокс. (Я начал с Ubuntu с v11.10) – Gerard Roche 28 April 2012 в 21:25
  • 4
    @BullfrogBlues: Вы ошибаетесь. Обновление до 12.04 будет not удалять Banshee, поэтому вы можете продолжить! :) Кроме того, имейте в виду, что даже если вы удалили Banshee, после переустановки все ваши данные будут там, нетронутыми! Удивительно, не так ли? Но в любом случае вы можете продолжать использовать Banshee в 12.04, не нужно переходить в Rhythmbox, если вы предпочитаете свой текущий музыкальный плеер. Так что вперед, до 12.04! – Rafał Cieślak 28 April 2012 в 21:42
  • 5
    Я не предпочитаю банши. Я уже попытался выполнить обновление и был запрошен, что некоторые пакеты будут удалены, на них было банши. Теперь, возможно, я неправильно понял приглашение, но он сказал, что банши будет удалено, потому что это не поддерживаемый пакет в 12.04. В любом случае, это не внушало мне уверенности в продолжении обновления. Но вы должны быть правы в том, что файлы конфигурации banshee ~/username/.config/banshee-1/*, которые содержат banshee db, должны быть в порядке и обновляться. – Gerard Roche 28 April 2012 в 21:59

В скрипте rhythmbox-banshee-import будет мигрировать подсчеты и рейтинги. Благодаря @xiphosurus. Тем не менее, для работы скрипта вам нужно указать, где находятся базы данных banshee и rhythmbox.

Подготовка скрипта

Найдите файлы ритм-бокса и banshee 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'

вставить файл path / to / your / rhythmboxdb.xml, например:

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

Now (! d10)

Устранение неполадок

Нет модуля с именем lxml Если вы получили сообщение об ошибке ... ImportError: No module named lxml ..., вам нужно установить Python Xml Parsers:
sudo apt-get install python-lxml
Permission denied Если вы получили «Permission denied», это либо потому, что у вас недостаточно прав для доступа к файлу в каталоге других пользователей, либо потому, что файл не является исполняемым. Чтобы сделать его исполняемым, запустите:
chmod +x /path/to/your/rhythmbox-banshee-import-script

Приложение

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)
3
ответ дан 25 May 2018 в 17:11

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

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

2
ответ дан 25 May 2018 в 17:11
  • 1
    У меня были большие надежды на это, когда я взглянул на код, но, увы, у меня появилась ошибка ImportError: No module named lxml. Если решить это так же просто, как apt-get install lxml, это были бы счастливые дни, но вот руководство по установке lxml.de/installation.html . Мне не нравится устанавливать вещи, когда я не знаю, что я на самом деле устанавливаю или делаю. Это часто. Я часто не знаю, что делаю. – Gerard Roche 28 April 2012 в 22:07

Некоторые общие идеи без фактического исследования Rhythmbox & amp; Banshee пока еще:

Импорт музыкальной базы данных должен быть таким же простым, как позволить Rhythmbox снова проверять все файлы. Если вы настроили Banshee для хранения playcounts & amp; рейтинги в тегах аудиофайла, а Rhythmbox поддерживает импорт рейтингов Banshee (многие приложения хранят рейтинги в более или менее «стандартизованном» формате, которые легко конвертировать или даже работать без преобразования по сравнению с музыкальными проигрывателями, и я знаю, что Banshee поддерживает это, но я «Не уверен, что Rhythmbox делает), тогда это не должно быть проблемой при повторном сканировании. Обложки часто хранятся вместе с музыкальными файлами, и они также должны быть обнаружены при повторном сканировании. Я не уверен, что Банши также хранит обложки в другом месте? Я ожидаю, что Banshee сможет экспортировать плейлисты в какой-то стандартный формат плейлиста (например, файлы .m3u / .pls), которые Rhythmbox может импортировать?

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

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

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

1
ответ дан 25 May 2018 в 17:11
  • 1
    Я сказал Banshee, чтобы хранить подсчеты и рейтинги в медиафайлах, но он не импортировал их в ритм-бокс. В настоящее время я смотрю на сценарий импорта. Banshee - версия: 2.9.0 + really2.6.2-2ubuntu2.1 – isaaclw 16 January 2015 в 07:40

Некоторые общие идеи без фактического изучения Rhythmbox & amp; Banshee еще:

  1. Импорт музыкальной базы данных должен быть таким же простым, как позволить Rhythmbox снова проверять все файлы.
  2. Если вы сконфигурировали Banshee для хранения playcounts & amp; рейтинги в тегах аудиофайла, а Rhythmbox поддерживает импорт рейтингов Banshee (многие приложения хранят рейтинги в более или менее «стандартизованном» формате, которые легко конвертировать или даже работать без преобразования по сравнению с музыкальными проигрывателями, и я знаю, что Banshee поддерживает это, но я «Не уверен, что Rhythmbox делает), тогда это не должно быть проблемой при повторном сканировании.
  3. Фотографии обложки часто хранятся вместе с музыкальными файлами, и они также должны быть обнаружены при повторном сканировании , Я не уверен, что Banshee также хранит обложки в другом месте?
  4. Я ожидаю, что Banshee может экспортировать плейлисты в какой-то стандартный формат плейлиста (например, файлы .m3u / .pls), которые Rhythmbox может импортировать?

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


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


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

1
ответ дан 25 July 2018 в 20:51

Сценарий rhythmbox-banshee-import будет мигрировать количество просмотров и рейтинги. Благодаря @xiphosurus. Тем не менее, для работы сценария вам нужно указать, где находятся базы данных banshee и rhythmbox.

Подготовка скрипта

Найдите файлы ритм-бокса и banshee 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'

вставить файл path / to / your / rhythmboxdb.xml, например:

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

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

Устранение неполадок

  • Нет модуля с именем lxml Если вы получили сообщение об ошибке ... ImportError: No module named lxml ..., вам нужно установить Python Xml Parsers :
    sudo apt-get install python-lxml
    
  • Разрешение отклонено Если вы получаете «Permission denied», это либо потому, что у вас недостаточно прав для доступа к файлу в каталоге других пользователей, либо потому, что файл не является исполняемым. Чтобы сделать его исполняемым, запустите:
    chmod +x /path/to/your/rhythmbox-banshee-import-script
    

Приложение

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)
3
ответ дан 7 August 2018 в 20:28

Некоторые общие идеи без фактического изучения Rhythmbox & amp; Banshee еще:

  1. Импорт музыкальной базы данных должен быть таким же простым, как позволить Rhythmbox снова проверять все файлы.
  2. Если вы сконфигурировали Banshee для хранения playcounts & amp; рейтинги в тегах аудиофайла, а Rhythmbox поддерживает импорт рейтингов Banshee (многие приложения хранят рейтинги в более или менее «стандартизованном» формате, которые легко конвертировать или даже работать без преобразования по сравнению с музыкальными проигрывателями, и я знаю, что Banshee поддерживает это, но я «Не уверен, что Rhythmbox делает), тогда это не должно быть проблемой при повторном сканировании.
  3. Фотографии обложки часто хранятся вместе с музыкальными файлами, и они также должны быть обнаружены при повторном сканировании , Я не уверен, что Banshee также хранит обложки в другом месте?
  4. Я ожидаю, что Banshee может экспортировать плейлисты в какой-то стандартный формат плейлиста (например, файлы .m3u / .pls), которые Rhythmbox может импортировать?

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


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


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

1
ответ дан 10 August 2018 в 08:50

Другие вопросы по тегам:

Похожие вопросы: