बंशी से रिदमबॉक्स की ओर कैसे जाएं?


13

जैसा कि यह तय किया गया है, Ubuntu Precise 12.04 डिफॉल्ट म्यूजिक प्लेयर के रूप में रिदमबॉक्स की सुविधा देगा । मैं जानता हूं, इसका मतलब यह नहीं है कि मैं बंशी का उपयोग नहीं कर पाऊंगा, फिर भी मैं इसे स्विच करना चाहूंगा।

मैं एक लंबे समय के लिए एक रिदमबॉक्स प्रशंसक किया गया है, लेकिन में Banshee करने के लिए स्विच के बाद Natty मैं इसे एक कोशिश और पूरी तरह से इसे करने के लिए चले गए देने का फैसला किया। हालांकि, मैं इससे बहुत खुश नहीं हूं, यह मेरे लिए बहुत मायने रखता है और कुछ अन्य मुद्दे हैं।

मैं सभी बंशी डेटा को रिदमबॉक्स में निर्यात करना चाहूंगा । जिसमें शामिल है:

  • संगीत पुस्तकालय
  • प्लेलिस्ट
  • अधिमानतः playcounts और रेटिंग
  • रेडियो स्टेशनों
  • कवर तस्वीरें

मुझे इस सभी डेटा को रिदमबॉक्स में स्थानांतरित करने के लिए क्या करना चाहिए, इसे डिफ़ॉल्ट संगीत खिलाड़ी के रूप में काम करने के लिए मिलता है, और आसानी से इसे पूरी तरह से स्विच करना है?

जवाबों:


12

मेरे दो सेंट, बंशी 2.3.3 / रिदमबॉक्स 2.95 पर लागू होते हैं:

  1. संगीत लाइब्रेरी : बस अपने संगीत फ़ोल्डर को रिदमबॉक्स में निर्दिष्ट करें और इसे आयात किया जाएगा
  2. प्लेलिस्ट :
    • डायनामिक प्लेलिस्ट : जहां तक ​​मुझे पता है कि आपको उन्हें फिर से बनाना होगा। प्रत्येक खिलाड़ी के अलग-अलग फ़ीचर सेट के कारण अतिरिक्त जटिलता के साथ मज़ेदार नहीं।
    • स्टेटिक प्लेलिस्ट : बस उन्हें .M3u के रूप में बंशी में निर्यात करें और रिदमबॉक्स में उन्हें फिर से आयात करें
  3. Playcounts और रेटिंग
    • Playcounts : मुझे नहीं पता
    • रेटिंग : प्रत्येक तारों के लिए एक गतिशील प्लेलिस्ट बनाएं (जैसे "रेटिंग 1, रेटिंग 2, रेटिंग 3, रेटिंग 4, रेटिंग 5" गतिशील प्लेलिस्ट बनाएं, फिर उन्हें .m3u के रूप में निर्यात करें, फिर उन्हें रिदमबॉक्स में आयात करें। मैंने अभी-अभी इसका परीक्षण किया है, दोनों खिलाड़ी फाइलनाम का उपयोग करते हैं। ~ के सापेक्ष, तो तुम ठीक हो जाओगे।
    • दोनों के लिए एक समाधान # 538549 को लागू करना होगा - रेटिंग के लिए ID3v2 पोलीमीटर का उपयोग (शायद प्ले काउंट)
  4. रेडियो स्टेशन : मुझे नहीं पता
  5. कवर तस्वीरें : जबकि "माइग्रेशन" विकल्प नहीं है, रिदमबॉक्स 2.9x / 3 कवर आर्ट को संभालने में बेहतर काम करता हैCover Artऔर Cover Art Searchप्लगइन्स को सक्षम करके इसे आज़माएं Edit / Plugins। मेरे मामले में (कवर फ़ोल्डर में .jpg, या ID3 के रूप में संग्रहीत कला), वे ठीक पहचाने जाते हैं

उम्मीद है की वो मदद करदे! सौभाग्य :)


@rafalcieslak स्वागत :)। मुझे रिदमबॉक्स भी बहुत पसंद है, और 2.95 वास्तव में एक उत्साहजनक कदम है!
रोनेन जौचेत

यह बेकार है। प्लेलिस्ट, प्ले काउंट, या कवर आर्ट, और अन्य के लिए कोई आसान आयात / निर्यात नहीं। यह मुझे 12.04 तक अपडेट करने से रोकता है, क्योंकि जैसा कि मैं इसे समझता हूं, अपग्रेड करना बंशी को हटा देगा , इसलिए सभी एक अपग्रेड में खो जाएगा। मैंने भी केवल अब महसूस किया है कि बंशी की कोई प्लेलिस्ट (बहुवचन) निर्यात सुविधा नहीं है। आपको प्रत्येक प्लेलिस्ट को व्यक्तिगत रूप से निर्यात करने की आवश्यकता है! मुझे शुरुआत में बंशी को डंप करना चाहिए था और रिदमबॉक्स का इस्तेमाल करना चाहिए था। (मैंने उबंटू पर v11.10 से शुरुआत की)
गेरार्ड रोशे

@ बूलफ्रॉगब्लूज़: आप गलत हैं। 12.04 में अपग्रेड करने से बंशी नहीं हटेगा, इसलिए आप आगे बढ़ना सुरक्षित हैं! :) इसके अलावा, यह भी ध्यान रखें कि अगर आपने बंशी को हटा दिया है, तो इसे पुनः स्थापित करने के बाद आपका सारा डेटा वहां मौजूद रहेगा, अछूता! बहुत बढ़िया, है ना? लेकिन किसी भी तरह, आप 12.04 में बंशी का उपयोग करना जारी रख सकते हैं, अगर आपको अपने म्यूजिक प्लेयर को पसंद करना है तो रिदमबॉक्स में जाने की कोई आवश्यकता नहीं है। तो आगे बढ़ें, 12.04 पर अपग्रेड करें!
राफेल सिलेक

मैं बंसी पसंद नहीं करता। मैंने पहले से ही एक उन्नयन का प्रयास किया और संकेत दिया गया कि कुछ पैकेज हटा दिए जाएंगे, बंशी उन पर था। अब, हो सकता है कि मैंने शीघ्र संदेश को गलत समझा, लेकिन यह कहा कि बंशी को हटा दिया जाएगा क्योंकि यह 12.04 में समर्थित पैकेज नहीं है। किसी भी तरह से, इसने मुझे आगे बढ़ने के लिए आत्मविश्वास के साथ प्रेरित नहीं किया। लेकिन आप सही होना चाहिए कि banshee config फाइल ~/username/.config/banshee-1/*जिसमें banshee db सम्‍मिलित है और अपग्रेड के दौरान ठीक होनी चाहिए।
गेरार्ड रोशे

@rafalcieslak FYI करें कुछ अनुप्रयोग रहे हैं हटा दिया, banshee उनमें से एक है askubuntu.com/questions/111163/...
जेरार्ड रॉश

3

रिदमबॉक्स-banshee आयात स्क्रिप्ट विस्थापित करेगा चलाए जाने की संख्या और रेटिंग । @Xiphosurus को धन्यवाद। हालाँकि, स्क्रिप्ट को काम करने के लिए आपको यह बताने की आवश्यकता है कि बंशी और रिदमबॉक्स डेटाबेस कहाँ हैं।

स्क्रिप्ट तैयार करना

अपने रिदमबॉक्स और बंशी डीबी फ़ाइलों का पता लगाएँ। डिफ़ॉल्ट स्थान होंगे:

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

उन्हें वापस करो! मैं फिर कहूंगा। एक बैकअप बनाएं।

अब ransbox-banshee-import स्क्रिप्ट के रूप में banshee.db फ़ाइल को उसी फ़ोल्डर में कॉपी करें। और फिर रिदमबॉक्स-बंशी-आयात स्क्रिप्ट को संशोधित करें जहां रेखा कहती है:

RB_DB = 'rhythmdb.xml'

पथ डालें / / to / your / rhythmboxdb.xml फ़ाइल, उदा:

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

अब स्क्रिप्ट चलाएं और सभी प्ले काउंट्स और प्लेलिस्ट को अपडेट किया जाएगा।

समस्या निवारण

  • कोई मॉड्यूल जिसका नाम lxml नहीं है

    आप कोई त्रुटि मिलती है ... ImportError: No module named lxml ...आप की जरूरत है पायथन XML parsers स्थापित :

    sudo apt-get install python-lxml
    
  • अनुमति नहीं मिली

    यदि आपको "अनुमति अस्वीकृत" मिलती है, तो यह या तो है क्योंकि आपके पास फ़ाइल को अन्य उपयोगकर्ताओं की निर्देशिका में एक्सेस करने के लिए पर्याप्त अनुमति नहीं है या क्योंकि फ़ाइल निष्पादन योग्य नहीं है। इसे निष्पादन योग्य बनाने के लिए, चलाएं:

    chmod +x /path/to/your/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)

2

रेटिंग आयात करने और गिनती खेलने के लिए, इस स्क्रिप्ट का उपयोग करें! मेरे लिए काम किया!

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


मुझे इस बात की बहुत उम्मीद थी जब मैंने कोड को देखा, लेकिन अफसोस, मुझे एक त्रुटि मिली ImportError: No module named lxml। यदि इसका समाधान आसान apt-get install lxmlदिनों के रूप में है, तो यह खुशी का दिन होगा, लेकिन यहाँ स्थापित गाइड lxml.de/installation.html है । मैं चीजों को स्थापित करना पसंद नहीं करता जब मुझे कोई सुराग नहीं होता कि मैं वास्तव में क्या स्थापित कर रहा हूं या कर रहा हूं। जो अक्सर होता है। मैं अक्सर नहीं जानता कि मैं क्या कर रहा हूँ।
गेरार्ड रोशे

1

वास्तव में रिदमबॉक्स और बंशी के विवरण की जांच के बिना कुछ सामान्य विचार:

  1. म्यूजिक डेटाबेस को आयात करना उतना ही आसान होना चाहिए जितना कि रिदमबॉक्स को फिर से सभी फाइलों को स्कैन करने देना।

  2. अगर आपने ऑडियो फ़ाइल के टैग में प्लेकाउंट्स और रेटिंग्स को स्टोर करने के लिए बंशी को कॉन्फ़िगर किया है, और रिदमबॉक्स बंशी रेटिंग्स को आयात करने का समर्थन करता है (कई ऐप रेटिंग को अधिक या कम "मानकीकृत" प्रारूप में स्टोर करते हैं जो रूपांतरण संगीत खिलाड़ियों के बिना कन्वर्ट या यहां तक ​​कि आसान है। , और मुझे पता है कि बंशी इसका समर्थन करता है, लेकिन मुझे यकीन नहीं है कि अगर रिदमबॉक्स करता है), तो उन पर फिर से स्कैन नहीं होना चाहिए।

  3. कवर चित्रों को अक्सर संगीत फ़ाइलों के साथ संग्रहीत किया जाता है, और उन्हें फिर से स्कैन पर भी पता लगाया जाना चाहिए। मुझे यकीन नहीं है कि बंशी भी कहीं और कवर करता है?

  4. मुझे उम्मीद है कि बंशी प्लेलिस्ट को कुछ मानक प्लेलिस्ट प्रारूप (जैसे .m3u / .pls फ़ाइलों) में निर्यात कर सकता है, जो कि रिदमबॉक्स आयात कर सकता है?


मुझे बस रिदमबॉक्स में एफएमपीएस-संगत रेटिंग्स को बचाने / पढ़ने के लिए एक प्लगइन मिला (वे रेटिंग्स हैं क्योंकि बंशी उन्हें भी उपयोग करता है)। लेख फ्रेंच में है, लेकिन प्लगइन अंग्रेजी में ही लगता है। और शायद कोई इसे पैकेज कर सकता है ...


एक बंशी एक्सटेंशन है banshee-extension-albumartwriterजो डाउनलोड की गई एल्बम कला को उस निर्देशिका में लिखते हैं जिसमें संगीत होता है (डिफ़ॉल्ट रूप से यह केवल कैश निर्देशिका में सहेजा जाता है), जो उन्हें रिदमबॉक्स में लाने में भी मदद करनी चाहिए।


बंशी प्लेलिस्ट को निर्यात कर सकते हैं .m3u, .plsऔर .xspf, रिदमबॉक्स ऐसे प्लेलिस्ट को आयात कर सकता है (लेकिन यदि आपके पास उनमें से बहुत सारे हैं, तो यह बहुत काम हो सकता है ...)।


मैंने बंशी को मीडिया फ़ाइलों में गिनती और रेटिंग को संग्रहीत करने के लिए कहा, लेकिन इसने उन्हें लयबॉक्स में आयात नहीं किया। मैं वर्तमान में आयात स्क्रिप्ट देख रहा हूँ। बंशी का संस्करण है: 2.9.0 + रियली .2.2.2-2ubuntu2.1
isaaclw
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.