Jak mogę wyeksportować wszystkie pliki mp3 z listy odtwarzania w Banshee?

13

Mam całą moją muzykę, nieposortowaną w / home / blah / Music /. Jest w losowych folderach, co nie ma dla mnie znaczenia, ponieważ Banshee dba o wszystko. Mam dużą listę odtwarzania zawierającą dobre 2/3 mojej muzyki. Jak mogę skopiować wszystkie pliki mp3 wymienione na liście odtwarzania do nowego folderu?

Uwaga: nie próbuję eksportować listy odtwarzania, ale kopiuję pliki MP3 wymienione na liście odtwarzania.

Negatywny kształt
źródło

Odpowiedzi:

13

Zrobiłem to z rhythmbox, nadaj folderowi na pulpicie nazwę. teraz znajdź listę odtwarzania, którą lubisz, gdy lista muzyki pokazuje, kliknij jeden z utworów i przytrzymaj ctrl + wysokie światło, lista dziur teraz przeciągnij i upuść w folderze na pulpicie. to powinno zrobić kopię twojej muzyki. możesz także wypróbować odtwarzacz muzyki clementine, który ma narzędzia ułatwiające eksport.

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

MrMassiveManMeat
źródło
4
+1 Działa to również z Banshee.
Sabacon
1
Chyba nie robi się bardziej intuicyjnie. W Banshee możesz tworzyć inteligentne listy odtwarzania, co pozwala kopiować dokładnie to, co chcesz.
Negatywny kształt
Dzięki, działam dobrze, najlepiej używam skryptów (przeszukałem wiele). Jesteś moim bohaterem
Indacochea Wachín
15

Znalazłem rozwiązanie, współpracuje z dowolnym odtwarzaczem multimedialnym.

  1. Wyeksportuj listę odtwarzania do pliku m3u. Nazwałem to playlist.m3u

  2. Otwórz terminal w folderze, w którym zapisałeś plik.

  3. Skopiuj i wklej to:

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

Pamiętaj, aby zmienić ścieżkę do żądanego folderu wyjściowego.

Uwaga: Terminal nie da żadnych wyników podczas kopiowania plików, po prostu bądź cierpliwy;)

Negatywny kształt
źródło
1
Niesamowite! Chciałbym dać +1 tysiąc razy.
Pratyush
Jest to najprostszy sposób, jeśli Twój gracz Banshee. Dzięki!
nitiny
4

Dobre pytanie, jest to bardzo potrzebna funkcja. Dziwne, jak mało jest w niej odtwarzaczy multimedialnych.

Oto metoda, którą możesz wypróbować, może mieć ograniczenia w twoim przypadku, szczególnie jeśli twoja lista odtwarzania jest bardzo duża, zapisz płytę CD z danymi na dysku z plikami z listy odtwarzania, zapisz wynikowy obraz .iso w dowolnym miejscu, a następnie wypakuj go.

Oto kroki:

  • Wybierz listę odtwarzania po lewej stronie. Upewnij się, że wszyscy artyści są wybrani w prawym górnym panelu.

  • zaznacz wszystkie utwory na liście odtwarzania w prawym dolnym okienku.

  • Kliknij prawym przyciskiem myszy i kliknij opcję Zapisz dysk CD.

Brasero powinien zacząć od wszystkich ścieżek gotowych do nagrania na CD, domyślnie będzie chciał napisać płytę audio CD, teraz prawdopodobnie będzie tak wiele ścieżek, które prawdopodobnie nie zmieszczą się na płycie audio CD, więc następnym krokiem jest zmiana projekt brasero.

  • Kliknij menu projektu w brasero, a następnie wybierz projekt Nowy dane z menu wysuwanego.

Zostaniesz zapytany „Czy chcesz odrzucić wybór pliku lub dodać go do nowego projektu?”

  • Kliknij przycisk Zachowaj wybór pliku.

Brasero jest teraz gotowy do napisania obrazu ISO ze wszystkimi plikami listy odtwarzania do dowolnej wybranej lokalizacji.

  • Kliknij przycisk nagrywania w prawym dolnym rogu, wybierz lokalizację i nazwij obraz ISO, proces zapisu będzie dość szybki, ponieważ nie zostanie wykonane transkodowanie ani normalizacja.

  • Kliknij obraz .iso prawym przyciskiem myszy i wyodrębnij go, spowoduje to utworzenie folderu z plikami.

Jeśli chcesz, możesz iść dalej i po prostu nagrać Cd jako kopię zapasową lub jeśli chcesz przekazać komuś kopię.

Zobacz zrzuty ekranu:

Główne okno Banshee

Banshee pisze menu CD

Banshee pisze menu CD

Okno projektu Brasero Audio CD

Projekt Brasero Audio CD, zmień go na projekt Data

Wybór projektu Brasero

Menu Brasero pokazujące, jak zmienić typ projektu

Projekt danych Brasero cd

Projekt danych, który może obsłużyć sporo plików MP3

Sabacon
źródło
3

Dzięki Negative Shape za to świetne rozwiązanie! Zmodyfikowałem go, aby nazwy plików były zmieniane zgodnie z ich pozycją na liście odtwarzania.

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

Zostawię też skrypt, ponieważ może być przydatny dla kogoś. 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)

Jest to czysty Python i nie kopiuje utworów dwa razy, gdy jest uruchamiany wiele razy. Mam nadzieję, że to pomoże komuś =)

Арсений Пичугин
źródło
0

Oto skrypt, którego używam do kopiowania plików z pliku /home/user/playlist.m3u do folderu / home / user / export / tak długo, jak rzeczywiste pliki znajdują się w / home / user / Music /, jeśli nie tylko zmień jedna linia w skrypcie.

#!/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;

Różnica w przeciąganiu pozycji banshee do folderu polega na tym, że ten skrypt zachowa hierarchię twojego /artists/albums/track.mp3 lub dowolnej innej hierarchii, aby dokładnie odzwierciedlać utworzoną przez Ciebie playlistę m3u. W ten sposób żadne duplikaty nie są możliwe i każdy utwór jest na swoim miejscu.

Zrobiłem to, ponieważ mój telefon ma tylko MTP i jest trochę mglisty pod Ubuntu. Plus banshee zsynchronizuje mojego Androida bardzo chaotycznie. Więc prawie MUSISZ użyć tego do wifi, aby przenieść mój folder eksportu.

sinekonata
źródło
0

Poprawiłem skrypt Pythona podany przez użytkownika: „Арсений Пичугин”, aby zachował strukturę katalogów podczas kopiowania plików do nowej lokalizacji. Pozwala to następnie skopiować plik .m3u i docelowe pliki muzyczne na nowe urządzenie, a linki nie zostaną zerwane, więc lista odtwarzania będzie faktycznie ODTWARZANA, tak jak na odtwarzaczu mp3 lub telefonie. Skrypt zakłada, że ​​znajduje się w folderze najwyższego poziomu, w którym znajdują się pliki muzyczne i gdzie znajduje się plik .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)

cieszyć się!

Guy Smiley
źródło