14 votes

Comment puis-je exporter tous les mp3 d'une liste de lecture dans Banshee ?

J'ai toute ma musique, non triée dans /home/blah/Music/. Elle est dans des dossiers aléatoires, ce qui n'a pas d'importance pour moi puisque Banshee s'occupe de tout. J'ai une grande liste de lecture contenant un bon 2/3 de ma musique. Comment puis-je copier tous les fichiers mp3 répertoriés dans la liste de lecture dans un nouveau dossier ?

Note : Je n'essaie pas d'exporter une liste de lecture, mais de copier les mp3s listés dans la liste de lecture.

15voto

Ryan Bright Points 2593

J'ai trouvé la solution, elle fonctionne avec n'importe quel lecteur multimédia.

  1. Exportez votre liste de lecture vers un fichier m3u. Je l'ai appelé playlist.m3u

  2. Ouvrez un terminal dans le dossier où vous avez enregistré le fichier.

  3. Copie et colle ça :

    sed "s/#.*//g" < playlist.m3u | sed "/^$/d" | while read line; do cp "${line}" '/path/to/output/folder/'; done

N'oubliez pas de modifier le chemin d'accès au dossier de sortie de votre choix.

Note : Le terminal ne donnera aucune sortie pendant que les fichiers sont copiés, soyez patient ;)

14voto

JRobert Points 403

Je l'ai fait avec rhythmbox, créez un dossier sur votre bureau et donnez-lui un nom. Maintenant, trouvez la liste de lecture que vous aimez lorsque la liste de musique s'affiche, cliquez sur l'une des chansons et maintenez la touche ctrl+a enfoncée pour faire ressortir la liste de lecture.

http://www.clementine-player.org/

4voto

Sabacon Points 36458

Bonne question, il s'agit d'une fonctionnalité bien nécessaire. Il est étrange que si peu de lecteurs multimédias en disposent.

Voici une méthode que vous pouvez essayer, elle peut avoir des limites dans votre cas, surtout si votre liste de lecture est très grande, écrivez un CD de données sur le disque avec les fichiers de la liste de lecture, enregistrez l'image .iso résultante où vous voulez, puis extrayez-la.

Voici les étapes :

  • Sélectionnez votre liste de lecture sur la gauche. Assurez-vous que tous les artistes sont sélectionnés dans le volet supérieur droit.

  • sélectionnez toutes les pistes de la liste de lecture dans le volet inférieur droit.

  • Faites un clic droit et cliquez sur Write CD.

Brasero devrait commencer avec toutes les pistes prêtes à être gravées sur CD, il voudra par défaut graver un CD audio, maintenant il y aura probablement beaucoup de pistes qui ne tiendront pas sur un CD audio donc l'étape suivante est de changer le projet brasero.

  • Cliquez sur le menu projet dans brasero, puis sélectionnez Nouveau projet de données dans le menu déroulant.

Il vous sera demandé "Voulez-vous rejeter la sélection de fichiers ou l'ajouter au nouveau projet ?".

  • Cliquez sur le bouton Conserver la sélection de fichiers.

Brasero est maintenant prêt à écrire une image Iso avec tous les fichiers de votre liste de lecture à l'emplacement de votre choix.

  • Cliquez sur le bouton de gravure en bas à droite, choisissez votre emplacement et nommez l'image iso, le processus de gravure sera assez rapide car aucun transcodage ou normalisation n'est effectué.

  • Cliquez à droite sur l'image .iso et extrayez-la, ce qui créera un dossier avec les fichiers.

Si vous le souhaitez, vous pouvez graver le CD en tant que sauvegarde ou si vous devez en donner une copie à quelqu'un.

Voir les captures d'écran :

Main Banshee window

Banshee write CD  menu

Menu du CD d'écriture Banshee

Brasero Audio CD project Window

Projet Brasero Audio CD, changez-le en projet Data

Brasero project selection

Les Menus Brasero montrant comment changer le type de projet

Brasero data cd project

Le projet de données qui peut gérer une bonne quantité de mp3s

4voto

sdl Points 41

Merci à The Negative Shape pour cette excellente solution ! Je l'ai modifiée pour que les fichiers soient renommés en fonction de leur position dans la liste de lecture.

sed "s/#.*//g" < playlist.m3u | sed "/^$/d" | while read line; do (( COUNTER++ )); filename="${line##*/}"; cp "${line}" "/path/to/output/folder/$COUNTER - $filename"; done

2voto

Je vais également laisser mon script car il peut être utile à quelqu'un. https://gist.github.com/CRImier/9777606

import os
import shutil

directory_name = "playlist/"
playlist_name = "playlist.m3u"

f = open(playlist_name, "r")
files = []
for line in f:
    line = line.strip().strip("\n").strip("\r")
    if line and not line.startswith("#"):
        files.append(line)
dir_contents = os.listdir(directory_name)
for file in files:
    try:
        filename = os.path.basename(file)
        if filename not in dir_contents:
            shutil.copy(file, "playlist/")
            print filename
        else:
            print ".", #File already there
    except Exception as e:
        print str(e)

C'est du pur Python et il ne copie pas deux fois les chansons lorsqu'il est exécuté plusieurs fois. J'espère que cela aidera quelqu'un =)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X