Digicted

Herstel missende bestanden in iTunes met Applescript

Al mijn mp3’s staan op een server, zodat ik er makkelijk bij welke computer ik ook gebruik op dat moment. Ook vanaf het internet kan ik de mp3 zo bereiken op verschillende manieren. Ondanks deze, en andere, voordelen zijn er ook nadelen aan deze oplossing. Als ik geen verbinding heb met het netwerk of het internet kan ik niet bij mijn geliefde muziekbestandjes. Dit introduceert ook gelijk een ander probleem…

Als ik mijn iPod aansluit wordt iTunes geopend die daarna gelijk synchroniseert met het speeltje. Omdat ik de mp3speler meestal direct aansluit op de MacBook Pro als ik thuiskom betekent dit soms dat ik nog geen verbinding heb met de shares van de server.

Nu zou dit geen probleem zijn als het gedrag van iTunes altijd hetzelfde was. Helaas is dat niet het geval: bij het afspelen van een liedje wat op de share staat waar geen verbinding mee is maakt het muziekprogramma automatisch verbinding. Bij het synchroniseren met de iPod is dit echter niet het geval: alle liedjes die overgezet moesten worden worden gemarkeerd als “niet gevonden”, ook al bestaan ze wel. Als zo’n track vervolgens wordt afgespeeld valt het programma terug in haar normale doen: het omcirkelde uitroepteken verdwijnt. Een simpele “oplossing” is dan ook het aanklikken van de verschillende items (op next drukken zal deze bestanden overslaan), maar dat is geen leuk werk als het gaat om honderden nummers. Wat dat betreft heb ik geluk met dat ik een iPod nano heb waar maar 8GB op kan. ;)

Vandaag gebeurde het me weer en was ik het zat, dus ben ik op zoek gegaan naar een oplossing. Uiteindelijk vond ik dit Apple Script:

tell application "iTunes"
  set thePlaylist to library playlist 1
  set musicFiles to the file tracks of thePlaylist

  repeat with mf in musicFiles
    --the name of mf as string
    set hasLoc to ""
    if (the location of mf as string ¬
     is equal to "missing value") then
      try
        set comment of mf to the comment of mf & ""
      on error number errNum
        delete mf
      end try

    end if
  end repeat
end

De regel waarin de bestanden weggegooid worden als ze *echt* niet bestaan heb ik er uit gehaald, omdat ik die liever handmatig nog eens nakijk. Het script werd bij mij dan ook uiteindelijk als volgt:

tell application "iTunes"
  set thePlaylist to library playlist 1
  set musicFiles to the file tracks of thePlaylist

  repeat with mf in musicFiles
    --the name of mf as string
    set hasLoc to ""
    if (the location of mf as string ¬
     is equal to "missing value") then
      try
        set comment of mf to the comment of mf & ""
      end try
    end if
  end repeat
end

Door te navigeren naar “Applications”=>”Applescript”=>”Script Editor” en daar de code in te plakken was het genoeg dit op te slaan in mijn Applications-map en daarna te runnen. Tá dá! Alle rondjes weg!

Voor mij dus een geweldige uitkomst voor dit vervelende probleem!

Eén reactie to “Herstel missende bestanden in iTunes met Applescript”

  1. Een iPod die niet meer uitgaat… | Digicted:

    [...] Schreef ik gisteren nog aardig positief over mijn geliefde gadget, vandaag dacht ik even dat ze me in de steek liet. Terwijl ik mij vanochtend klaarmaakte om op weg te gaan (ik loop ’s morgens altijd even een straatje naar één van de partners van Silverware waarna we dan met één auto naar het kantoor vertrekken) had ik gezellig mijn iPod aanstaan. ’s Morgens springt het dingetje automatisch aan om ongeveer half zes, zodat ik een poosje later wel eens een beetje wakker ben en van speakers switch naar de “iPod-oortjes”. [...]

Reageer