Corrigir metadados de números de discos e títulos de álbuns no iTunes

0

Eu tenho muitos CDs que foram marcados e depois importados para o iTunes no seguinte formato:

  • Cream Classics (disco 1)
  • Cream Classics (disco 2)
  • Cream Classics (disco 3)

O que eu gostaria de fazer é definir o número do disco de cada um dos álbuns (como o iTunes tem meta-dados para isso) e depois renomear o álbum para apenas "Cream Classics".

Dado o número de álbuns que tenho, este é um processo manual horrivelmente laborioso.

Embora eu pudesse criar algo em vbscript para fazer isso automaticamente, espero que esse seja um problema bastante comum para alguém já ter resolvido o problema.

Alguma sugestão?

    
por Richard 15.12.2013 / 20:01

1 resposta

0

Acontece que escrever vbscript para consertar não foi nada difícil.

Crie um novo arquivo de texto com o nome fixdisc.vbs e coloque o seguinte:

Option Explicit
Dim oiTunes : Set oiTunes = CreateObject("iTunes.Application")
Dim oLibrary : Set oLibrary = oiTunes.LibraryPlaylist
Dim oTracks : Set oTracks = oLibrary.Tracks
Dim i, oSong, p, sDisk, sNewTitle, iTotal
iTotal = oTracks.Count
For i = 1 To iTotal
    Set oSong = oTracks.Item(i) 
    For p = 1 To 4
        sDisk = " (disc " & p & ")"
        If Instr(1, oSong.Album, sDisk, vbTextCompare) > 0 Then
            sNewTitle = Replace(oSong.Album, sDisk, "", 1, -1, vbTextCompare)
            WScript.Echo i & "/" & iTotal & ": Setting '" & oSong.Album & "' to '" & sNewTitle & "' and disk number to " & p
            ' Remove the ' prefix on the next two lines to actually update the data!
            ' oSong.DiscNumber = p
            ' oSong.Album = sNewTitle
            Exit For
        End If
    Next
Next
Set oSong = Nothing
Set oTracks = Nothing
Set oLibrary = Nothing
Set oiTunes = Nothing

Chame um prompt de comando (usando cmd ), navegue até o local do script e digite:

cscript fixdisc.vbs

O script informará quais álbuns serão alterados , mas não farão as alterações . Quando estiver satisfeito, edite o script e remova o ' das duas linhas para que o código seja assim:

            ' Remove the ' prefix on the next two lines to actually update the data!
            oSong.DiscNumber = p
            oSong.Album = sNewTitle
            Exit For
        End If

Agora, execute novamente o script e todas as faixas contendo (disc x) (onde x é 1 a 4) terão os metadados apropriados de "Número do disco" preenchidos e o título do álbum será atualizado para remover essa sequência.

Advertências / advertências

  • Se você clicar duas vezes no Windows, receberá spams com pop-ups. Então, sempre execute a partir da linha de comando.
  • Eu não testei totalmente, use por sua conta e risco! (faça backup da sua biblioteca primeiro)
  • Apenas o "disco x" funcionará, você pode facilmente ajustá-lo para suportar "disco x" se quiser.
  • Apenas os números de disco de 1 a 4 funcionarão, você pode facilmente ajustá-lo para fazer mais.
  • Números de discos complexos (por exemplo, "Exposição do Norte (disco 1: 0 graus, norte)") não serão corrigidos.
  • Demora bastante tempo para fazer e sua biblioteca do iTunes vai saltar erraticamente conforme os dados são corrigidos. Seu PC fica um pouco atolado também.

Aproveite.

    
por 15.12.2013 / 20:43