Как я могу экспортировать все mp3-файлы из плейлиста в Banshee?

У меня есть вся моя музыка, несортированная в / home / blah / Music /. Это в случайных папках, что не имеет значения для меня, так как Banshee заботится обо всем. У меня есть большой плейлист, содержащий 2/3 моей музыки. Как я могу скопировать все файлы mp3, перечисленные в списке воспроизведения, в новую папку?

Примечание. Я не пытаюсь экспортировать список воспроизведения, но копирую файлы mp3, указанные в списке воспроизведения.

13
задан 31 January 2014 в 21:30

7 ответов

Я сделал это с помощью rhythmbox, сделайте папку на рабочем столе и дайте ей имя. Теперь найдите список воспроизведения, который вам нравится, когда список музыки показывает, нажмите на одну из песен и удерживайте Ctrl +, чтобы выделить список отверстий, перетащите его в папку на рабочем столе. это должно сделать копию вашей музыки. Вы также можете попробовать музыкальный проигрыватель Clementine, в котором есть некоторые инструменты, которые помогут вам экспортировать.

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

0
ответ дан 31 January 2014 в 21:30

Вот скрипт, который я использую для копирования файлов из файла /home/user/playlist.m3u в папку / home / user / export / до тех пор, пока вы действительно файлы находятся в / home / user / Music / , если не просто изменить одну строку в скрипте.

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

Разница с перетаскиванием записей банши в папку состоит в том, что этот скрипт будет сохранять иерархию вашего /artists/albums/track.mp3 или любую другую иерархию, которая вам нужна, чтобы точно отражать любой созданный вами список воспроизведения m3u. Таким образом, дублирование невозможно, и каждый трек находится на прежнем месте.

Я сделал это, потому что на моем телефоне есть только MTP, а в Ubuntu он немного мутный. Плюс банши будет очень хаотично синхронизировать мой андроид. Поэтому я почти ДОЛЖЕН использовать это для передачи моей папки экспорта по wifi.

0
ответ дан 31 January 2014 в 21:30

Хороший вопрос, это очень нужная функция. Странно, как мало медиаплееров.

Вот способ, который вы можете попробовать, у него могут быть ограничения в вашем случае, особенно если ваш список воспроизведения очень большой, запишите компакт-диск с данными с файлами из списка воспроизведения, сохраните полученное изображение .iso там, где вы хотите, и затем извлеките это.

Вот шаги:

  • Выберите список воспроизведения слева. Убедитесь, что в верхней правой панели выбраны все исполнители.

  • выберите все дорожки в списке воспроизведения в нижней правой панели.

  • Щелкните правой кнопкой мыши и выберите «Запись компакт-диска».

Brasero должен начинаться со всех треков, готовых для записи на CD, по умолчанию он захочет записать аудио CD, теперь, вероятно, будет так много треков, которые не поместятся на аудио CD, поэтому Следующим шагом является изменение проекта Brasero.

  • Щелкните меню проекта в brasero, затем выберите «Новый проект данных» во всплывающем меню.

Вас спросят: «Вы хотите отменить выбор файла или добавить его в новый проект?»

  • Нажмите кнопку «Сохранить выбор файла».

Теперь Brasero готов записать образ Iso со всеми файлами вашего плейлиста в любое выбранное вами место.

  • Нажмите кнопку записи в правом нижнем углу, выберите свое местоположение и назовите ISO-изображение, процесс записи будет довольно быстрым, поскольку не выполняется перекодировка или нормализация.

  • Щелкните правой кнопкой мыши по образу .iso и извлеките его, это создаст папку с файлами.

Если хотите, можете пойти дальше и просто записать компакт-диск в качестве резервной копии, или если вам нужно дать кому-то копию.

См. Скриншоты:

Main Banshee window

Banshee write CD  menu

Меню записи Banshee на CD

[ 1128] Brasero Audio CD project Window

Проект Brasero Audio CD, замените его на проект данных

Brasero project selection

[ 1137] Меню Brasero, показывающее, как изменить тип проекта

Brasero data cd project

Проект данных, который может обрабатывать достаточное количество mp3-файлов [ 1133]

0
ответ дан 31 January 2014 в 21:30

Нашел решение, работает с любым медиаплеером.

  1. Экспортируйте список воспроизведения в файл m3u. Я назвал его playlist.m3u

  2. Откройте терминал в папке, где вы сохранили файл.

  3. Копировать и вставьте это:

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

Не забудьте изменить путь к нужной выходной папке.

Примечание. Терминал не будет выдавать выходных данных во время копирования файлов, просто наберитесь терпения;)

0
ответ дан 31 January 2014 в 21:30

Я также оставлю свой сценарий, так как он может быть полезен для кого-то. 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)

Это чистый Python и не копирует песни дважды при многократном запуске. Надеюсь, это кому-нибудь поможет =)

0
ответ дан 31 January 2014 в 21:30

Я улучшил скрипт python, предоставленный пользователем: «Арсений Пичугин», чтобы он сохранял структуру каталогов при копировании файлов в новое место. Это позволяет вам затем скопировать файл .m3u и целевые музыкальные файлы на новое устройство, и ссылки не будут разорваны, поэтому плейлист действительно будет воспроизводиться, как на вашем mp3-плеере или телефоне. В сценарии предполагается, что он находится в папке верхнего уровня, где находятся музыкальные файлы и где находится файл .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)

наслаждайтесь!

0
ответ дан 31 January 2014 в 21:30

Спасибо, Negative Shape за это отличное решение! Я изменил его так, чтобы файлы переименовывались в соответствии с их положением в списке воспроизведения.

sed "s/#.*//g" < playlist.m3u | sed "/^$/d" | while read line; do (( COUNTER++ )); filename="${line##*/}"; cp "${line}" "/path/to/output/folder/$COUNTER - $filename"; done
0
ответ дан 31 January 2014 в 21:30

Другие вопросы по тегам:

Похожие вопросы: