Come posso esportare tutti gli mp3 da una playlist in Banshee?


13

Ho tutta la mia musica, non ordinata in / home / blah / Music /. È in cartelle casuali, il che non ha importanza per me, dato che Banshee si occupa di tutto. Ho una playlist di grandi dimensioni contenente ben 2/3 della mia musica. Come posso copiare tutti i file mp3 elencati nella playlist in una nuova cartella?

Nota: non sto cercando di esportare una playlist, ma di copiare gli mp3 elencati nella playlist.

Risposte:


13

L'ho fatto con rhythmbox, ho creato un nome sul tuo desktop. ora trova l'elenco di riproduzione che ti piace quando l'elenco di musica mostra fai clic su uno dei brani e tieni premuto ctrl + una luce alta l'elenco dei fori ora trascinalo e rilascialo nella cartella sul desktop. questo dovrebbe fare una copia della tua musica. puoi anche provare il lettore musicale clementine che ha alcuni strumenti per aiutarti a esportare.

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


4
+1 Funziona anche con Banshee.
Sabacon,

1
Immagino che non sia più intuitivo. In Banshee puoi creare playlist intelligenti, questo ti consente di copiare esattamente ciò che desideri.
The Negative Shape,

Grazie, funziona bene, è meglio usare gli script (ne ho cercati molti). Sei il mio eroe
Indacochea Wachín,

15

Trovato la soluzione, funziona con qualsiasi lettore multimediale.

  1. Esporta la tua playlist in un file m3u. L'ho chiamato playlist.m3u

  2. Apri un terminale nella cartella in cui hai salvato il file.

  3. Copia e incolla questo:

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

Ricorda di cambiare il percorso della cartella di output desiderata.

Nota: il terminale non darà alcun output mentre i file vengono copiati, sii paziente;)


1
Eccezionale! Vorrei poterlo fare +1 mille volte.
Pratyush,

Questo è il modo più semplice, se il tuo giocatore Banshee. Grazie!
nitine

4

Bella domanda, questa è una funzione ben necessaria, è strano come ce ne siano così pochi lettori multimediali.

Ecco un metodo che puoi provare, potrebbe avere dei limiti nel tuo caso, specialmente se la tua playlist è molto grande, scrivi un CD di dati su disco con i file della playlist, salva l'immagine .iso risultante dove vuoi e poi estraila.

Ecco i passaggi:

  • Seleziona la tua playlist a sinistra. Assicurati che tutti gli artisti siano selezionati nel riquadro in alto a destra.

  • seleziona tutte le tracce nella playlist nel riquadro in basso a destra.

  • Fare clic con il tasto destro e fare clic su Scrivi CD.

Brasero dovrebbe iniziare con tutte le tracce pronte per essere masterizzate su CD, per impostazione predefinita vorrà scrivere un CD audio, ora ci saranno probabilmente così tante tracce che non si adatteranno su un CD audio, quindi il passo successivo è cambiare il progetto brasero.

  • Fai clic sul menu progetto in brasero, quindi seleziona Progetto nuovi dati nel menu a comparsa.

Ti verrà chiesto "Vuoi scartare la selezione di file o aggiungerla al nuovo progetto?"

  • Fai clic sul pulsante Mantieni selezione file.

Brasero è ora pronto per scrivere un'immagine ISO con tutti i file della playlist in qualsiasi posizione tu scelga.

  • Fai clic sul pulsante Scrivi in ​​basso a destra, scegli la tua posizione e dai un nome all'immagine iso, il processo di scrittura sarà abbastanza veloce poiché non viene eseguita alcuna transcodifica o normalizzazione.

  • Fare clic con il tasto destro del mouse sull'immagine .iso ed estrarla, questo creerà una cartella con i file.

Se lo desideri, puoi andare avanti e semplicemente masterizzare il Cd come backup o se devi consegnarne una copia a qualcuno.

Vedi schermate:

Finestra principale di Banshee

Banshee scrive il menu del CD

Banshee scrive il menu del CD

Finestra del progetto CD audio Brasero

Progetto CD audio Brasero, cambialo in un progetto dati

Selezione del progetto Brasero

I menu Brasero che mostrano come modificare il tipo di progetto

Progetto cd dati Brasero

Il progetto di dati in grado di gestire una buona quantità di mp3


3

Grazie a The Negative Shape per questa ottima soluzione! L'ho modificato in modo che i file vengano rinominati in base alla loro posizione nella playlist.

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

2

Lascerò anche la mia sceneggiatura in quanto potrebbe essere utile per qualcuno. 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)

È puro Python e non copia le canzoni due volte quando viene eseguito più volte. Spero che questo aiuti qualcuno =)


0

Ecco uno script che uso per copiare i file dal file /home/user/playlist.m3u nel file / home / user / export / fintanto che i tuoi file attuali sono in / home / user / Music / se non cambi semplicemente una riga nella sceneggiatura.

#!/bin/bash
m3u=$(sed /#.*/d "/home/user/playlist.m3u"|sed 's/\.\.\/\.\./\/home\/user/g');

echo "$m3u" | while read line; do
    newFile=$(echo $line| sed 's/\/home\/user\/Music\//\/home\/user\/export\//');
    newPath=$(echo "$newFile" | grep -o .*\\/);

    mkdir -p "$newPath";
    cp "$line" "$newFile";  
done;
exit 0;

La differenza con il trascinamento di voci banshee in una cartella è che questo script manterrà la gerarchia del tuo /artists/albums/track.mp3 o qualunque gerarchia devi riflettere esattamente qualunque playlist m3u che crei. Quindi in questo modo non è possibile duplicare e ogni traccia è al suo posto precedente.

L'ho fatto perché il mio telefono ha solo MTP ed è un po 'confuso con Ubuntu. Inoltre Banshee sincronizzerà il mio androide in modo molto caotico. Quindi quasi DEVO usare questo per trasferire wifi la mia cartella di esportazione.


0

Ho migliorato lo script python fornito dall'utente: "Арсений Пичугин" in modo da preservare la struttura delle directory durante la copia dei file in una nuova posizione. Ciò ti consente quindi di copiare il file .m3u e i file musicali di destinazione su un nuovo dispositivo e i collegamenti non verranno interrotti, quindi la playlist verrà effettivamente riprodotta, come sul tuo lettore mp3 o telefono. Lo script presuppone che si trovi nella cartella di livello superiore in cui si trovano i file musicali e dove si trova il file .m3u.

import os
import shutil

#here, add the name of the dir where the playlist files will be copied
directory_name = "/home/username/Desktop/Music/"
playlist_name = "Test_Favorites.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)
#print dir_contents
for file in files:
    try:
        filename = os.path.basename(file)
        filepath = os.path.dirname(file)
        newpath = directory_name + "" + filepath
        newname = newpath + "/" + filename
        if os.path.exists(newname):
          print filename + " already existed, not copied."
        else:
          if not os.path.exists(newpath):
            os.makedirs(newpath)
          shutil.copy(file,newpath)
          print newname
    except Exception as e:
        print str(e)

godere!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.