É um bug conhecido que foi corrigido nas versões mais recentes do Banshee.
Você pode usar a última versão do Banshee a partir do Banshee PPA :
sudo add-apt-repository ppa:banshee-team/ppa
sudo apt-get update && sudo apt-get upgrade
Como remover faixas duplicadas do Banshee?
É um bug conhecido que foi corrigido nas versões mais recentes do Banshee.
Você pode usar a última versão do Banshee a partir do Banshee PPA :
sudo add-apt-repository ppa:banshee-team/ppa
sudo apt-get update && sudo apt-get upgrade
Localize o banco de dados sqlite3 (~ / .config / banshee-1 / banshee.db) e execute a seguinte consulta:
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 Use o comando "sqlite3" para abrir o banco de dados, e não apenas "sqlite".
PPS Eu tive que executar a consulta várias vezes, cada execução apenas exclui uma duplicata adicional. Isso acontece porque a seleção interna apenas retorna o ID de uma faixa excedente para cada combinação de Título / Artista / Álbum.
Esta resposta usa python para acessar o banco de dados do banshee e, em seguida, executa a ação sql que o donbicca lista com uma diferença. Em vez de ter que executar o código sql muitas vezes, pedi ao python para fazer o loop do código sql sobre o número de instâncias que existem no código sql. Você só precisa executar esse código uma vez. Você precisa substituir o caminho da sua casa (substitua "/ home / JONDOE" pelo caminho da sua casa).
#!/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()
Outra alternativa para remover a música duplicqtes do banco de dados sqlite do banshee:
cd /home/youruser/.config/banshee-1/
Feche o Banshee PRIMEIRO! Faça o backup do seu banco de dados:
cp banshee.db banshee.db.bck
Caso você não tenha o sqlite instalado:
sudo apt-get install sqlite3
Open DB:
sqlite3 banshee.db
Digite esta consulta:
DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN(TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID,AlbumID,Title);
sair:
.q
Você está pronto, abra o Banshee e verifique o resultado.
Tags banshee duplicate-files