web-dev-qa-db-fra.com

Clementine ne joue pas les fichiers avec certains caractères dans le nom

La semaine dernière, j’ai déchiré des cds à Morituri et à Rhythmbox. Tout semblait bien sauf un cd. Après quelques morceaux, j'ai eu une erreur bizarre en déchirant (au format FLAC) avec morituri, donc j'ai déchiré le reste de ce cd avec du Rhythmbox.

Après cela, Clémentine ne pouvait plus jouer les pistes que j’avais extraites du CD (aussi bien celles déchirées avec du morituri que celles déchirées de la boîte à rythmes). Clémentine agit comme si elles n'étaient pas présentes dans ma bibliothèque. Avec Rhythmbox cependant, je peux parfaitement jouer toutes les pistes.

J'ai le même problème avec certains fichiers MP3 que j'ai reçus d'un ami. Je peux les jouer dans Rhythmbox, mais Clementine agit comme si elles n'existaient pas.

Comment puis-je le faire fonctionner normalement à nouveau? J'ai déjà essayé de le réinstaller, en supprimant les fichiers de configuration, en supprimant celui installé du dépôt et en installant la dernière version à partir de www.clementine-player.org

remarque: Clémentine peut parfaitement lire les autres CD que j'ai extraits, ainsi que le reste de ma bibliothèque musicale (principalement au format FLAC, avec certains fichiers au format MP3).

Je ne sais pas quelles informations supplémentaires je peux fournir, mais n'hésitez pas à demander.

edit: Lorsque je lance clémentine dans un terminal et que je tente ensuite de lire une des pistes "problématiques", le message suivant s'affiche:

11:36:48.542 INFO  MoodbarLoader:144                Creating moodbar data for "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" 
11:36:48.546 ERROR MoodbarPipeline:134              Error processing  QUrl( "file:///home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" )  : "Resource not found." 
11:36:48.546 ERROR MoodbarPipeline:134              Error processing  QUrl( "file:///home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac" )  : "Resource not found." 
11:36:48.571 ERROR GstEnginePipeline:563            2 "gstfilesrc.c(1042): gst_file_src_start (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-15/GstFileSrc:source:
No such file "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac"" 
11:36:48.572 ERROR GstEnginePipeline:563            2 "gstfilesrc.c(1042): gst_file_src_start (): /GstPipeline:pipeline/GstURIDecodeBin:uridecodebin-15/GstFileSrc:source:
No such file "/home/user138784/Music/Stromae/Racine Carrée/01.Ta fête.flac"" 
11:36:48.681 WARN  GstEngine:572                    Gstreamer error: "Resource not found." 
11:36:48.684 WARN  unknown                          QTimeLine::start: already running 

Je pense que le problème pourrait être lié à certains caractères utilisés dans le chemin du fichier. Par exemple, l'album "Racine Carrée" ne peut pas être lu, ainsi que les chansons de "Goran Bregović". Comme j'utilise Beets pour organiser ma musique, ce chemin est créé automatiquement. Peut-être que je peux éditer mon fichier de configuration Beets pour exclure les caractères spéciaux.

J'utilise Ubuntu 13.10

edit: la commande locale renvoie le résultat suivant:

LANG=en_US
LANGUAGE=en_GB
LC_CTYPE="en_US"
LC_NUMERIC="en_US"
LC_TIME="en_US"
LC_COLLATE="en_US"
LC_MONETARY="en_US"
LC_MESSAGES="en_US"
LC_PAPER="en_US"
LC_NAME="en_US"
LC_ADDRESS="en_US"
LC_TELEPHONE="en_US"
LC_MEASUREMENT="en_US"
LC_IDENTIFICATION="en_US"
LC_ALL=
7
user138784

C'est bizarre. "Ta fête" ou "Ta fête" , un système de paramètres régionaux UTF-8 devrait pouvoir les ouvrir sans problèmes. Je viens d'installer Clementine sur une nouvelle copie d'Ubuntu 13.10 et de tester les fichiers audio, quelle que soit la façon dont j'ai modifié leur chemin.
Je sais que cela semble stupide, mais pourriez-vous vérifier vos paramètres régionaux en tapant locale dans le terminal? Je doute que ce soit le problème mais je n'ai pas mal à vérifier.

Essayez locale -a et voyez si en_US.UTF-8 et en_GB.UTF-8 sont disponibles sur votre système. Si tel est le cas, vous voudrez ouvrir vos fichiers de configuration des paramètres régionaux en tapant Sudo gedit /etc/default/locale dans le terminal et changer le tout en utilisant en_US.UTF-8 (et LANG pour en_GB.UTF-8 si vous voulez l'anglais britannique à la place).

Je pense que LANG seul devrait suffire, votre fichier de configuration locale devrait donc ressembler à ceci:

LANG = "en_GB.UTF-8"

Après cela, redémarrez votre système et essayez de lire à nouveau les fichiers.

Regardez ceci pour plus d'informations:
https://help.ubuntu.com/community/Locale#Changing_settings_permanently

Si la modification de/etc/default/locale ne fonctionne pas:

Commencez par essayer de générer et de reconfigurer manuellement vos paquets de paramètres régionaux actuels:

Sudo locale-gen
Sudo dpkg-reconfigure locales

Ensuite, installez le pack de langue afin de vous assurer que les paramètres régionaux existent (pour plus de sécurité):

Sudo apt-get install language-pack-en-base

Ensuite, ouvrez Language Support from System et essayez de faire glisser Anglais (États-Unis) vers le haut, puis appliquez-le à l'ensemble du système. Déconnectez-vous et reconnectez-vous, exécutez locale dans le terminal pour voir si les modifications s'appliquent. Si cela fonctionne, tant mieux. Mais cela ne fonctionnera probablement pas si même la modification manuelle du fichier de paramètres régionaux échoue, essayez donc Sudo gedit /etc/environment dans le terminal et ajoutez-le après PATH:

LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

Enregistrez et redémarrez pour voir si cela prend effet. Vous devriez voir locale vous donner le résultat correct cette fois-ci si cela fonctionne, sinon, votre système utilise les paramètres régionaux à un autre emplacement.

Si le système n’utilise toujours pas UTF-8 pour les paramètres régionaux de votre système,

Sudo gedit etc/bash.bashrc

Ajoutez ceci à la dernière ligne (veillez à ne rien modifier d'autre):

# Forcing locale to en_US.UTF-8
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

Enregistrez et redémarrez.

3
eccentricSam

Comme je le pensais, le problème est en effet causé par des caractères spéciaux dans le nom du fichier ou le chemin. Changer cela résoudra le problème.

Une meilleure solution serait bien sûr de faire en sorte que clémentine lise correctement les caractères spéciaux, mais je n’ai pas encore trouvé comment faire, c’est peut-être un bug.

edit: je pourrais être ce bug .

edit2: En second lieu, je pense que ce n'est pas le cas, car Ubuntu utilise UFT-8 (si je ne me trompe pas, j'ai peu de connaissances à ce sujet)

3
user138784

Il semble que Clementine crée des URI à partir des noms de fichiers. Les espaces ne sont pas autorisés dans les URI, même en utilisant UTF-8. La nécessité d'être échappé par %20. D'autres caractères spéciaux doivent également être évités

Vous pouvez essayer de remplacer les espaces dans les noms de fichiers par des traits de soulignement, des tirets, etc., ainsi que des caractères spéciaux tels que é ou ê par des caractères latins par défaut, par exemple. e.

Si vous faites cela pour les noms de fichier et de dossier, cela n’affectera pas la façon dont les éléments sont affichés dans Clementine - cela est lu à partir des balises ID3, qui autorisent de tels caractères. Alors renommez-le et relancez votre bibliothèque Clementine. Cela devrait résoudre le problème.

Pour expliquer le contenu UTF-8 vs. ASCII:

Ubuntu utilise UTF-8 par défaut (du moins autant que je sache), mais les URI n'utilisent que ASCII, donc chaque caractère Unicode comme é, deux fois plus gros qu'ASCII, est interprété comme deux ASCII caractères: é

0
s3lph