Làm thế nào để di chuyển từ Banshee sang Rhybeatbox?


13

Như đã được quyết định, Ubuntu Precise 12.04 sẽ có Rhybeatbox làm trình phát nhạc mặc định. Tôi biết rằng điều đó không có nghĩa là tôi sẽ không thể sử dụng Banshee, tuy nhiên tôi muốn chuyển sang nó.

Tôi đã là một người hâm mộ Rhybeatbox trong một thời gian dài, nhưng sau khi chuyển sang Banshee trong Natty, tôi quyết định thử nó và hoàn toàn di chuyển đến nó. Tuy nhiên, tôi không hài lòng lắm với nó, nó chậm đối với tôi rất nhiều và có một số vấn đề khác.

Tôi muốn xuất tất cả dữ liệu Banshee sang Rhybeatbox . Điều đó bao gồm:

  • Thư viện âm nhạc
  • Danh sách phát
  • Tốt nhất là số lượt chơi và xếp hạng
  • Đài phát thanh
  • Ảnh bìa

Tôi nên làm gì để chuyển tất cả dữ liệu này sang Rhybeatbox, để nó hoạt động như trình phát nhạc mặc định và chuyển hoàn toàn sang dữ liệu đó?

Câu trả lời:


12

Hai xu của tôi, áp dụng cho Banshee 2.3.3 / Nhịp điệu 2,95:

  1. Thư viện nhạc : chỉ cần chỉ định thư mục Âm nhạc của bạn vào Nhịp điệu và nó sẽ được nhập
  2. Danh sách phát :
    • Danh sách phát động : theo như tôi biết, bạn sẽ phải tạo lại chúng. Không vui, với sự phức tạp thêm do các bộ tính năng khác nhau của mỗi người chơi.
    • Danh sách phát tĩnh : chỉ cần xuất chúng dưới dạng .m3u trong Banshee và nhập lại chúng trong Rhybeatbox
  3. Số lượt chơi và xếp hạng
  4. Đài phát thanh : Tôi không biết
  5. Ảnh bìa : mặc dù không phải là tùy chọn "di chuyển", Rhybeatbox 2.9x / 3 thực hiện công việc tốt hơn trong việc xử lý ảnh bìa . Hãy thử nó bằng cách kích hoạt Cover ArtCover Art Searchbổ sung Edit / Plugins. Trong trường hợp của tôi (ảnh bìa được lưu trữ dưới dạng .jpg trong thư mục hoặc ID3), chúng được nhận dạng tốt

Mong rằng sẽ giúp! Chúc may mắn :)


@rafalcieslak Chào mừng :). Tôi cũng thích Rhybeatbox rất nhiều, và 2,95 thực sự là một bước tiến đáng khích lệ!
Ronan Jouchet

Điều này thật tệ Không dễ dàng nhập / xuất cho danh sách phát, số lần chơi hoặc ảnh bìa và những thứ khác. Điều này ngăn tôi cập nhật lên 12.04, vì theo tôi hiểu, việc nâng cấp sẽ loại bỏ banshee, vì vậy tất cả những điều trên sẽ bị mất trong một bản nâng cấp. Bây giờ tôi cũng chỉ nhận ra rằng banshee không có tính năng xuất danh sách phát (số nhiều). Bạn cần xuất từng danh sách phát! Tôi nên đã bỏ banshee ngay từ đầu và sử dụng nhịp điệu. (Tôi bắt đầu trên Ubuntu với v11.10)
Gerard Roche

@BullfrogBlues: Bạn sai rồi. Nâng cấp lên 12.04 sẽ không xóa Banshee, vì vậy bạn an toàn để tiếp tục! :) Ngoài ra, hãy nhớ rằng ngay cả khi bạn đã xóa Banshee, sau khi cài đặt lại, tất cả dữ liệu của bạn sẽ ở đó, không bị ảnh hưởng! Tuyệt vời phải không? Nhưng dù sao đi nữa, bạn có thể tiếp tục sử dụng Banshee trong 12.04, không cần phải chuyển sang Rhybeatbox, nếu bạn thích trình phát nhạc hiện tại của mình. Vì vậy, đi trước, nâng cấp lên 12.04!
Rafał Cieślak

Tôi không thích banshee. Tôi đã thử nâng cấp và được nhắc rằng một số gói nhất định sẽ bị xóa, banshee đã thuộc về chúng. Bây giờ, có thể tôi đã hiểu nhầm thông báo nhắc nhở, nhưng nó nói rằng banshee sẽ bị xóa vì nó không phải là gói được hỗ trợ trong 12.04. Dù bằng cách nào, nó cũng không giúp tôi tự tin đi trước với việc nâng cấp. Nhưng bạn nên đúng ở chỗ các tệp cấu hình banshee ~/username/.config/banshee-1/*chứa db banshee sẽ ổn trong quá trình nâng cấp.
Gerard Roche

@rafalcieslak FYI Một số ứng dụng được gỡ bỏ, nữ thần báo tử là một trong số họ askubuntu.com/questions/111163/...
Gerard Roche

3

Tập lệnh nhập hộp nhịp điệu-banshee sẽ di chuyển số lần chơixếp hạng . Cảm ơn @xiphosurus. Tuy nhiên, để kịch bản hoạt động, bạn cần cho nó biết cơ sở dữ liệu banshee và nhịp điệu.

Chuẩn bị kịch bản

Xác định vị trí các tệp db của bạn và banshee. Các vị trí mặc định sẽ là:

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

Sao lưu chúng lên! Tôi sẽ nói lại lần nữa. Tạo một bản sao lưu.

Bây giờ sao chép tệp banshee.db vào cùng thư mục với tập lệnh nhịp điệu-banshee-import. Và sau đó sửa đổi tập lệnh nhịp điệu-banshee-nhập trong đó dòng nói:

RB_DB = 'rhythmdb.xml'

chèn tệp đường dẫn / đến / your / nhịpboxdb.xml, vd:

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

Bây giờ hãy chạy tập lệnh và tất cả số lần phát và danh sách phát sẽ được cập nhật.

Xử lý sự cố

  • Không có mô-đun có tên lxml

    Nếu bạn gặp lỗi, ... ImportError: No module named lxml ...bạn cần cài đặt Trình phân tích cú pháp Python Xml :

    sudo apt-get install python-lxml
    
  • Quyền bị từ chối

    Nếu bạn nhận được "Quyền bị từ chối", thì đó là do bạn không có đủ quyền truy cập tệp trong thư mục của người dùng khác hoặc do tệp không được thực thi. Để làm cho nó có thể thực thi được, hãy chạy:

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

ruột thừa

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

Để nhập xếp hạng và số lần chơi, hãy sử dụng tập lệnh này! Đã làm cho tôi!

http://code.google.com.vn/p/rardibox-banshee-import/


Tôi đã có hy vọng cao cho điều này khi tôi nhìn vào mã, nhưng than ôi, tôi đã gặp một lỗi ImportError: No module named lxml. Nếu giải pháp cho việc này dễ dàng như apt-get install lxmlngày hạnh phúc, nhưng đây là hướng dẫn cài đặt lxml.de/installation.html . Tôi không thích cài đặt mọi thứ khi tôi không biết tôi thực sự đang cài đặt hay làm gì. Mà thường. Tôi thường không biết mình đang làm gì.
Gerard Roche

1

Một số ý tưởng chung mà không thực sự điều tra chi tiết về Rhybeatbox & Banshee:

  1. Việc nhập cơ sở dữ liệu âm nhạc phải dễ dàng như để Rhybeatbox quét lại tất cả các tệp.

  2. Nếu bạn đã định cấu hình Banshee để lưu trữ số lần phát và xếp hạng vào thẻ của tệp âm thanh và Rhybeatbox hỗ trợ nhập xếp hạng Banshee (nhiều ứng dụng lưu trữ xếp hạng ở định dạng "chuẩn" hơn hoặc dễ dàng chuyển đổi hoặc thậm chí hoạt động mà không cần chuyển đổi qua trình phát nhạc và tôi biết Banshee hỗ trợ điều đó, nhưng tôi không chắc liệu Rhybeatbox có làm không), thì đó cũng không phải là vấn đề khi quét lại.

  3. Ảnh bìa thường được lưu trữ cùng với các tệp nhạc và chúng cũng được phát hiện khi quét lại. Tôi không chắc chắn nếu Banshee cũng lưu trữ bìa ở nơi khác?

  4. Tôi hy vọng Banshee có thể xuất danh sách phát sang một số định dạng danh sách phát tiêu chuẩn (ví dụ: tệp .m3u / .pls), mà Rhybeatbox có thể nhập?


Tôi vừa tìm thấy một plugin để lưu / đọc các xếp hạng tương thích FMPS trong Rhybeatbox (đó là các xếp hạng vì Banshee cũng sử dụng chúng). Bài viết bằng tiếng Pháp, nhưng bản thân plugin dường như bằng tiếng Anh. Và có lẽ ai đó có thể gói nó ...


Có một phần mở rộng Banshee banshee-extension-albumartwriterghi album nghệ thuật đã tải xuống vào thư mục chứa nhạc (theo mặc định, nó chỉ được lưu trong thư mục bộ đệm), điều đó cũng giúp đưa chúng vào Rhybeatbox.


Banshee có thể xuất danh sách phát sang .m3u, .pls& .xspf, Rhybeatbox có thể nhập danh sách phát đó (nhưng nếu bạn có nhiều danh sách phát, đó có thể là rất nhiều công việc ...).


Tôi đã bảo Banshee lưu trữ số lượng và xếp hạng trong các tệp phương tiện, nhưng nó không nhập chúng vào nhịp điệu. Tôi đang xem tập lệnh nhập hiện tại. Banshee là phiên bản: 2.9.0 + really2.6.2-2ubfox2.1
isaaclw 16/1/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.