Як я можу експортувати всі mp3-файли зі списку відтворення в Banshee?


13

У мене вся музика, несорті в / дома / бла / музика /. Це у випадкових папках, для мене це не має значення, оскільки Banshee піклується про все. У мене є великий список відтворення, який містить 2/3 моєї музики. Як я можу скопіювати всі файли mp3, перелічені у списку відтворення, у нову папку?

Примітка. Я не намагаюся експортувати список відтворення, але копіюю mp3, перелічені у списку відтворення.

Відповіді:


13

Я зробив це з ритмбоком, зробіть папку на робочому столі, дайте йому ім’я. тепер знайдіть список відтворення, який вам сподобався, коли в списку музики відображається натисніть на одну з пісень і утримуйте клавішу ctrl + сильне освітлення. Список перегорнути зараз перетягніть її в папку на робочому столі. це має зробити копію вашої музики. Ви також можете спробувати музичний плеєр Клементина, він має деякі інструменти, які допоможуть вам експортувати.

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


4
+1 Це також працює з Banshee.
— Сабакон

1
Здогадайтесь, це не стає більш інтуїтивно зрозумілим. У Banshee ви можете створювати розумні списки відтворення, що дозволяє копіювати саме те, що ви хочете.
— Негативна форма

Дякую, добре працюю, найкраще, що використовують сценарії (я багато шукав). Ти мій герой
— Indacochea Wachín

15

Знайшов рішення, працює з будь-яким медіаплеєром.

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

  2. Відкрийте термінал у папці, де ви зберегли файл.

  3. Скопіюйте та вставте це:

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

Не забудьте змінити шлях до потрібної папки виводу.

Примітка: Термінал не видасть жодного виводу під час копіювання файлів, будьте терплячі;)


1
Дивовижно! Я б хотів, щоб я міг поставити +1 цій тисячі разів.
— Пратюш

Це найпростіший спосіб, якщо ваш гравець Banshee. Спасибі!
— нитини

4

Добре запитання, це добре потрібна функція. Дивно, як так мало медіаплеєрів.

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

Ось такі кроки:

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

  • виберіть усі треки зі списку відтворення в правій нижній частині.

  • Клацніть правою кнопкою миші та натисніть Write CD.

Brasero повинен почати з усіх композицій, готових до запису на компакт-диск, він за замовчуванням захоче написати Написати аудіо компакт-диск, тепер, ймовірно, буде так багато треків, які, можливо, не вмістяться на аудіо компакт-диску, тому наступним кроком є ​​зміна проект brasero.

  • Клацніть меню проекту в розділі "brasero", а потім виберіть "New Data project" у меню "flyout".

Вам буде запропоновано "Ви хочете скасувати вибір файлу або додати його до нового проекту?"

  • Натисніть кнопку Зберегти файл вибору.

Тепер Brasero готовий написати зображення Iso з усіма файлами списку відтворення у будь-яке обране вами місце.

  • Клацніть кнопку запису в нижньому правому куті, виберіть своє місцезнаходження та назвіть ізо-зображення, процес запису буде досить швидким, оскільки не буде зроблено перекодування чи нормалізація.

  • Клацніть правою кнопкою миші зображення .iso і витягніть його, це створить папку з файлами.

Якщо ви хочете, ви можете продовжити і просто записати Cd як резервну копію або якщо вам потрібно надати копію комусь.

Дивіться скріншоти:

Головне вікно Banshee

Banshee написати меню компакт-дисків

Banshee написати меню компакт-дисків

Вікно проекту Brasero Audio CD

Проект Brasero Audio CD, змініть це на проект «Дані»

Вибір проекту Brasero

Меню Brasero показує, як змінити тип проекту

CD-проект Brasero data

Проект даних, який може обробляти неабияку кількість mp3-файлів


3

Дякуємо негативній формі за це чудове рішення! Я змінив це так, щоб файли перейменовували відповідно до їх місця в списку відтворення.

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

2

Я також залишу свій сценарій, оскільки хтось може бути корисним. 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

Ось сценарій, який я використовую для копіювання файлів з файлу /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;

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

Я зробив це через те, що в моєму телефоні є лише MTP, і він трохи не туманний під Ubuntu. Плюс banshee синхронізує мій андроїд дуже хаотично. Тож я майже мав використовувати це для перенесення Wi-Fi у свою експортну папку.


0

Я вдосконалив сценарій 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)

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.