¿Cómo puedo exportar todos los mp3 de una lista de reproducción en Banshee?

13

Tengo toda mi música, sin clasificar en / home / blah / Music /. Está en carpetas aleatorias, lo que no me importa, ya que Banshee se encarga de todo. Tengo una gran lista de reproducción que contiene 2/3 de mi música. ¿Cómo puedo copiar todos los archivos mp3 que figuran en la lista de reproducción en una nueva carpeta?

Nota: No estoy tratando de exportar una lista de reproducción, pero copie los mp3 que figuran en la lista de reproducción.

La forma negativa
fuente

Respuestas:

13

Hice esto con rhythmbox, haga que una carpeta en su escritorio le dé un nombre. ahora encuentre la lista de reproducción que le gusta cuando la lista de música muestre, haga clic en una de las canciones y mantenga presionada la tecla Ctrl + una luz alta. La lista de agujeros ahora arrástrela y suéltela en la carpeta de su escritorio. Esto debería hacer copias de tu música. También puedes probar el reproductor de música Clementine, tiene algunas herramientas para ayudarte a exportar.

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

MrMassiveManMeat
fuente
44
+1 Esto también funciona con Banshee.
Sabacon
1
Supongo que no se vuelve más intuitivo. En Banshee puedes crear listas de reproducción inteligentes, esto te permite copiar exactamente lo que quieres.
La forma negativa
Gracias, trabajando bien, mejor que use scripts (busqué muchos). Eres mi héroe
Indacochea Wachín
15

Encontró la solución, funciona con cualquier reproductor multimedia.

  1. Exporte su lista de reproducción a un archivo m3u. Lo llamé playlist.m3u

  2. Abra una terminal en la carpeta donde guardó el archivo.

  3. Copia y pega esto:

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

Recuerde cambiar la ruta a la carpeta de salida deseada.

Nota: El terminal no dará salida mientras se copian los archivos, solo sea paciente;

La forma negativa
fuente
1
¡Increíble! Desearía poder hacer +1 mil veces.
Pratyush
Esta es la forma más fácil, si su jugador Banshee. ¡Gracias!
nitinas
4

Buena pregunta, esta es una característica muy necesaria. Es extraño que tan pocos reproductores multimedia la tengan.

Aquí hay un método que puede probar, puede tener limitaciones en su caso, especialmente si su lista de reproducción es muy grande, escriba un CD de datos en el disco con los archivos de la lista de reproducción, guarde la imagen .iso resultante donde desee y luego extráigala.

Aquí están los pasos:

  • Selecciona tu lista de reproducción a la izquierda. Asegúrese de que todos los artistas estén seleccionados en el panel superior derecho.

  • selecciona todas las pistas en la lista de reproducción en el panel inferior derecho.

  • Haga clic derecho y haga clic en Escribir CD.

Brasero debería comenzar con todas las pistas listas para ser grabadas en un CD, por defecto querrá escribir un CD de audio, ahora es probable que haya tantas pistas que posiblemente no quepan en un CD de audio, por lo que el siguiente paso es cambiar el proyecto brasero.

  • Haga clic en el menú del proyecto en brasero, luego seleccione Nuevo proyecto de datos en el menú desplegable.

Se le preguntará "¿Desea descartar la selección de archivos o agregarla al nuevo proyecto?"

  • Haga clic en el botón Conservar selección de archivo.

Brasero ahora está listo para escribir una imagen Iso con todos los archivos de su lista de reproducción en cualquier ubicación que elija.

  • Haga clic en el botón de grabación en la parte inferior derecha, elija su ubicación y nombre la imagen iso, el proceso de escritura será bastante rápido ya que no se realiza la transcodificación o normalización.

  • Haga clic derecho en la imagen .iso y extráigala, esto creará una carpeta con los archivos.

Si lo desea, puede continuar y grabar el Cd como copia de seguridad o si necesita darle una copia a alguien.

Ver capturas de pantalla:

Ventana principal de Banshee

Banshee escribe el menú del CD

Banshee escribe el menú del CD

Ventana del proyecto de CD de audio de Brasero

Proyecto de CD de audio de Brasero, cámbielo a un proyecto de datos

Selección de proyectos de Brasero

Los menús de Brasero que muestran cómo cambiar el tipo de proyecto

Proyecto de cd de datos de Brasero

El proyecto de datos que puede manejar una buena cantidad de mp3

Sabacon
fuente
3

¡Gracias The Negative Shape por esta gran solución! Lo modifiqué para que los archivos cambien de nombre según su posición en la lista de reproducción.

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

También dejaré mi script, ya que puede ser útil para alguien. 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)

Es Python puro y no copia canciones dos veces cuando se ejecuta varias veces. Espero que esto ayude a alguien =)

Арсений Пичугин
fuente
0

Aquí hay un script que utilizo para copiar archivos del archivo /home/user/playlist.m3u en la carpeta / home / user / export / siempre que sus archivos reales estén en / home / user / Music / si no solo cambie Una línea en el guión.

#!/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 diferencia con arrastrar entradas banshee a una carpeta es que este script mantendrá la jerarquía de sus /artists/albums/track.mp3 o cualquier jerarquía que tenga para reflejar exactamente cualquier lista de reproducción m3u que cree. De esta manera, no hay duplicados posibles y cada pista está en su lugar anterior.

Hice esto porque mi teléfono solo tiene MTP y es un poco confuso en Ubuntu. Además, Banshee sincronizará mi Android de forma muy caótica. Así que casi TENGO que usar esto para transferir wifi mi carpeta de exportación.

sinekonata
fuente
0

Mejoré el script de Python dado por el usuario: "Арсений Пичугин" para que conserve la estructura del directorio al copiar archivos a una nueva ubicación. Esto le permite copiar el archivo .m3u y los archivos de música de destino a un nuevo dispositivo, y los enlaces no se romperán, por lo que la lista de reproducción en realidad JUGARÁ, como en su reproductor de mp3 o teléfono. El script asume que es en la carpeta de nivel superior donde se encuentran los archivos de música y donde se encuentra el archivo .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)

¡disfrutar!

Guy Smiley
fuente