जवाबों:
यह एक ज्ञात बग है जिसे बंशी के नए संस्करणों में तय किया गया है।
आप बंशी PPA से बंशी के नवीनतम संस्करण का उपयोग कर सकते हैं :
sudo add-apt-repository ppa:banshee-team/ppa
sudo apt-get update && sudo apt-get upgrade
Sqlite3 डेटाबेस का पता लगाएँ (~ / .config / banshee-1 / banshee.db) और निम्नलिखित क्वेरी चलाएँ:
delete from coretracks where TrackID in
(
select trackid from
(
select TrackID as trackid, count(TrackID) as c from coretracks
group by TitleLowered,ArtistID,AlbumID,Title
)
where c > 1
);
PS डेटाबेस को खोलने के लिए "sqlite3" कमांड का उपयोग करें, न कि केवल "sqlite"।
PPS मुझे कई बार क्वेरी चलाना था, प्रत्येक रन केवल एक अतिरिक्त डुप्लिकेट हटाता है। ऐसा इसलिए होता है क्योंकि आंतरिक चयन केवल आपको प्रत्येक शीर्षक / कलाकार / एल्बम संयोजन के लिए एक अधिशेष ट्रैक की आईडी देता है।
यह उत्तर बंशी डेटाबेस तक पहुँचने के लिए अजगर का उपयोग करता है, फिर एक मोड़ के साथ डोनलिक्का सूचियों को प्रदर्शित करता है। कई बार sql कोड चलाने के बजाय, मैंने python को उन sql कोड को लूप करने को कहा है जो sql कोड में मौजूद हैं। आपको केवल एक बार इस कोड को चलाने की आवश्यकता है। आपको अपने घरेलू पथ (अपने घर के रास्ते के साथ "/ घर / जंडो" को बदलने की आवश्यकता है)।
#!/usr/bin/env python
import sqlite3
#open database to determine number of rows to loop over
db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db')
cursor = db.cursor()
a = cursor.execute('SELECT TrackID from coretracks group by TitleLowered,ArtistID,AlbumID,Title')
a_trackid = a.fetchall()
db.close()
#Close database to ensure results do not impact future results. Then reopen database
db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db')
cursor = db.cursor()
sql = ('DELETE from coretracks where TrackID in (SELECT TrackID from (SELECT TrackID as trackid, count(TrackID) as g from coretracks group by TitleLowered,ArtistID,AlbumID,Title) where g > 1)')
for i in a_trackid:
cursor.execute(sql)
db.commit()
db.close()
बंशी साइक्लाइट डेटाबेस से डुप्लिकेट गाने को हटाने का अन्य विकल्प:
cd /home/youruser/.config/banshee-1/
बंद करें बंशी FIRST! अपने DB का बैकअप लें:
cp banshee.db banshee.db.bck
यदि आपके पास साइक्लाइट स्थापित नहीं है तो:
sudo apt-get install sqlite3
DB खोलें:
sqlite3 banshee.db
यह क्वेरी टाइप करें:
DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN(TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID,AlbumID,Title);
बाहर जाएं:
.q
आप कर रहे हैं, Banshee खोलें और परिणाम की जांच करें।