Applescript para actualizar la etiqueta del año para archivos de audio

0

Tengo muchas pistas en iTunes donde los archivos se denominan "music-NNNN.mp3" y NNNN es el año en que se grabó la pista. ¿Cómo puedo usar Applescript para establecer automáticamente la etiqueta del año para estos archivos basados en NNNN?

    
pregunta Garazd 19.12.2012 - 15:53

2 respuestas

2

Creé un AppleScript para ti que analizará los nombres de los archivos de las pistas de iTunes seleccionadas y establecerá la etiqueta del año en consecuencia.

Pegue esto en Editor de AppleScript y ejecútelo (o guárdelo como una aplicación):

tell application "iTunes"
    repeat with theTrack in selection
        set theFile to location of theTrack
        tell application "Finder" to set theName to name of theFile
        set theYear to my parse_year(theName)
        if theYear is not "" then
            set the year of theTrack to theYear
        end if
    end repeat
end tell

on parse_year(filenameText)
    -- returns the year if it exists in filename with form song-1965.mp3, else returns empty string
    try
        set yearResult to do shell script "echo " & quoted form of filenameText & " | perl -ne 'print $1 if s/(?<=-)(\d+)(?=(\..*|$))/$1/'"
    on error
        set yearResult to ""
    end try
    return yearResult
end parse_year

Algunas notas:

  • No pasa por toda la biblioteca, solo las canciones seleccionadas actualmente (por supuesto, puede seleccionar toda su biblioteca).
  • Solo hace coincidir los nombres de archivo con ese final con un - seguido de un número (y opcionalmente una extensión).

    • Coincidirá con estos:

      songname-1946.mp3
      anothersong-1977
      songname-1965.someextention
      
    • Pero no estas:

      songnoyear.mp3
      song123
      song-1232-someothertext
      
  • Se sobrescribirá cualquier año ya ingresado en los metadatos.
respondido por el robmathers 20.12.2012 - 04:38
0
set text item delimiters to {"-", "."}
tell application "iTunes"
    repeat with t in selection
        set year of t to text item -2 of (location of t as text)
    end repeat
end tell

A diferencia de muchos otros línea de comando utilidades para cambiar las etiquetas ID3 , mid3v2 admite tanto Unicode como ID3v2.

sudo easy_install pip
sudo pip install mutagen
for f in */*.mp3; do y=${f%##*/}; y=${y%.mp3}; /usr/local/bin/mid3v2 -y ${y#*-} "$f"; done

También puede usar TriTag para cambiar las etiquetas según los nombres de los archivos o viceversa.

    
respondido por el user495470 20.12.2012 - 07:59

Lea otras preguntas en las etiquetas