Applescript per aggiornare il tag year per i file audio

0

Ho molte tracce in iTunes in cui i file sono denominati "music-NNNN.mp3" con NNNN che rappresenta l'anno in cui la traccia è stata registrata. Come posso utilizzare Applescript per impostare automaticamente il tag anno per questi file basato su NNNN?

    
posta Garazd 19.12.2012 - 15:53
fonte

2 risposte

2

Ho creato per te un AppleScript che analizzerà i nomi file di tutte le tracce iTunes selezionate e imposterà il tag dell'anno di conseguenza.

Incolla questo in AppleScript Editor ed eseguilo (o salvalo come applicazione):

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

Alcune note:

  • Non passa attraverso l'intera libreria, ma solo i brani attualmente selezionati (puoi ovviamente selezionare l'intera libreria).
  • Corrisponde solo ai nomi di file con quella fine con una - seguita da un numero (e facoltativamente un'estensione).

    • Corrisponde a questi:

      songname-1946.mp3
      anothersong-1977
      songname-1965.someextention
      
    • Ma non questi:

      songnoyear.mp3
      song123
      song-1232-someothertext
      
  • Sovrascrive qualsiasi anno già inserito nei metadati.
risposta data 20.12.2012 - 04:38
fonte
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 differenza di molte altre riga di comando utilità per la modifica dei tag ID3 , mid3v2 supporta sia Unicode che 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

Puoi anche utilizzare TriTag per modificare i tag in base ai nomi dei file o viceversa.

    
risposta data 20.12.2012 - 07:59
fonte

Leggi altre domande sui tag