Reimposta la libreria di iTunes
Apri la cartella musicale di iTunes nel Finder (si trova nella cartella Home / Musica / iTunes) e trascina iTunes Music Library.xml e iTunes Library.itl sul desktop. Ciò ripristinerà iTunes la prossima volta che lo avvii, ma non lo avvii ancora. Lavoreremo sul file xml, mentre il file itl è lì solo per il backup.
Modifica la posizione in cui iTunes conserva la musica
Nelle preferenze di iTunes > Avanzate, fai clic su "cambia" accanto a "Posizione della cartella musicale iTunes" e seleziona il tuo disco rigido.
Cerca all'interno della libreria di iTunes per vedere qual è il problema
Se la tua libreria di iTunes è enorme, è una buona idea usare Terminal per guardare le prime poche righe, che puoi fare facilmente con
head -n100 /Users/ME/Desktop/iTunes\ Music\ Library.xml
(puoi semplicemente digitare "head -n100" e trascinare il file su Terminal per consentire a OS X di digitare il nome per te)
L'output sarà qualcosa sulla falsariga di
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Major Version</key><integer>1</integer>
<key>Minor Version</key><integer>1</integer>
<key>Date</key><date>2012-08-13T21:09:21Z</date>
<key>Application Version</key><string>10.6.3</string>
<key>Features</key><integer>5</integer>
<key>Music Folder</key><string>file://localhost/Volumes/HD1T/Music/</string>
<key>Library Persistent ID</key><string>C326B89DCF4457DF</string>
<key>Tracks</key>
<dict>
<key>41557</key>
<dict>
<key>Track ID</key><integer>41557</integer>
<key>Name</key><string>Fifths (Jazzanova 6 Sickth Mix)</string>
<key>Artist</key><string>Ski</string>
<key>Album</key><string>Jazzanova: The Remixes, 1997-2000</string>
<key>Grouping</key><string>where:de</string>
<key>Genre</key><string>ambient-synth-90s</string>
<key>Kind</key><string>MPEG audio file</string>
<key>Size</key><integer>19718194</integer>
<key>Total Time</key><integer>482925</integer>
<key>Disc Number</key><integer>2</integer>
<key>Disc Count</key><integer>2</integer>
<key>Track Number</key><integer>1</integer>
<key>Track Count</key><integer>10</integer>
<key>Year</key><integer>2000</integer>
<key>Date Modified</key><date>2008-12-05T14:26:06Z</date>
<key>Date Added</key><date>2012-07-14T07:42:37Z</date>
<key>Bit Rate</key><integer>320</integer>
<key>Sample Rate</key><integer>44100</integer>
<key>Play Count</key><integer>12</integer>
<key>Play Date</key><integer>3321087305</integer>
<key>Play Date UTC</key><date>2009-03-28T10:15:05Z</date>
<key>Rating</key><integer>80</integer>
<key>Album Rating</key><integer>80</integer>
<key>Album Rating Computed</key><true/>
<key>Artwork Count</key><integer>1</integer>
<key>Persistent ID</key><string>E5B52C3DE807B7DC</string>
<key>Track Type</key><string>File</string>
<key>File Type</key><integer>1297106739</integer>
<key>Location</key><string>file://localhost/Users/ME/Music/iTunes/iTunes%20Media/Music/Ski/Jazzanova_%20The%20Remixes,%201997-2000/Fifths%20(Jazzanova%206%20Sickth%20Mix).mp3</string>
Devi cercare il file: // bit di xml. Qui mi sta dicendo che sta cercando in / Users / ME / Music /, cioè la mia cartella home invece del mio disco rigido esterno.
Usa sed per correggere il percorso e crea un nuovo file xml
sed è un'utile utility unix che puoi usare da Terminal. Può aprire un file, visualizzarlo riga per riga, modificare le cose su ogni riga e quindi inserire il risultato in un altro file.
sed 's/file:\/\/localhost\/Users\/ME\/Music\/iTunes\/iTunes%20Media\//file:\/\/localhost\/Volumes\/HD1T\//' < /Users/ME/Desktop/iTunes\ Music\ Library.xml > /Users/ME/Music/iTunes/iTunes\ Music\ Library.xml
Ecco una ripartizione di ciò che fa il comando.
sed
chiama il comando sed - sta per Stream Editor
’s/…/…./’
sed avrà di per sé bisogno di istruzioni, che sono quindi stringhe '(apostrofo). s / a / b / significa "se trovi un a, sostituiscilo con b"
file:\/\/localhost\/Users\/ME…
questa è la stringa che stiamo cercando. Nota che dato che le barre in avanti sono usate da sed per s / ... / ... /, se ne hai bisogno nella stringa devi sfuggirle con barre indietro
file:\/\/localhost\/Volumes\/HD1T\/
la stringa che stiamo sostituendo con
< /Users/ME/Desktop/iTunes\ Music\ Library.xml
Il segno meno che significa "usa questo file come input" - in questo caso, il file xml che avevo trascinato sul desktop
> /Users/ME/Music/iTunes/iTunes\ Music\ Library.xml
e questo significa "crea questo file come output". Stiamo chiedendo a sed di ricreare il file della libreria xml da quello sul desktop, ma cambiando alcuni bit mentre lo fa
Crea una libreria iTunes rotta
Ora questo è importante - se avessi appena avviato iTunes ora, con il nuovo file .xml lì e nessun file .itl lì, non succederà nulla. iTunes ignorerà il file xml e si reimposterà su una libreria vuota. Ma se iTunes trova un file .itl danneggiato, userà il file .xml con cui abbiamo appena giocato per ricreare il file .itl. Il modo più semplice per creare un file .itl danneggiato è dal terminale:
touch ~/Music/iTunes/iTunes\ Library.itl
che creerà un file vuoto - rotto abbastanza per iTunes.
Riavvia iTunes
Ora iTunes farà finalmente attenzione al file xml - mostrerà una finestra di dialogo che dice "Importazione" di iTunes Music Library.xml "..." Questo potrebbe richiedere del tempo, anche se in realtà non copia i file mp3.
Fonte: link