Réinitialiser la bibliothèque iTunes
Ouvrez le dossier de musique iTunes dans le Finder (situé dans votre dossier de base / Musique / iTunes) et faites glisser iTunes Music Library.xml et iTunes Library.itl sur le bureau. Cela réinitialisera iTunes la prochaine fois que vous le lancerez, mais ne le démarrez pas encore. Nous allons travailler sur le fichier xml, alors que le fichier itl n'est là que pour la sauvegarde.
Modifier l'emplacement où iTunes conserve la musique
Dans les préférences iTunes> Avancé, cliquez sur «changer» en regard de «l'emplacement du dossier iTunes Music», puis sélectionnez votre disque dur.
Regardez à l'intérieur de la bibliothèque iTunes pour voir quel est le problème
Si votre bibliothèque iTunes est immense, utilisez Terminal pour examiner les premières lignes, ce que vous pouvez facilement faire avec
head -n100 /Users/ME/Desktop/iTunes\ Music\ Library.xml
(vous pouvez simplement taper "head -n100" et faire glisser le fichier sur Terminal pour laisser OS X saisir le nom à votre place).
<?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>
Vous devez rechercher le fichier: // bit du xml. Ici, il me dit qu'il cherche dans / Users / ME / Music /, c'est-à-dire mon dossier personnel au lieu de mon disque dur externe.
Utilisez sed pour corriger le chemin et créer un nouveau fichier xml
sed est un utilitaire Unif astucieux que vous pouvez utiliser à partir de Terminal. Il peut ouvrir un fichier, le parcourir ligne par ligne, modifier les éléments d’une ligne à l’autre, puis placer le résultat dans un autre fichier.
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
Voici une ventilation de ce que la commande fait.
sed
appelle la commande sed - il s'agit de l'éditeur de flux
’s/…/…./’
sed aura lui-même besoin d’instructions, qui sont des chaînes d’où l’apostrophe. s / a / b / signifie "si vous trouvez un a, remplacez-le par b"
file:\/\/localhost\/Users\/ME…
c'est la chaîne que nous recherchons. Sed étant donné que sed est utilisé pour s /… /… /, si vous en avez besoin dans la chaîne, vous devez les échapper avec des slashs en arrière
file:\/\/localhost\/Volumes\/HD1T\/
la chaîne que nous remplaçons par
< /Users/ME/Desktop/iTunes\ Music\ Library.xml
Le signe inférieur à signifie "utiliser ce fichier en tant qu'entrée" - dans ce cas, le fichier xml que j'avais fait glisser sur le bureau
> /Users/ME/Music/iTunes/iTunes\ Music\ Library.xml
et cela signifie «créer ce fichier en sortie». Nous demandons à sed de recréer le fichier de bibliothèque xml à partir de celui du bureau, mais en modifiant quelques bits comme il le fait
Créer une bibliothèque iTunes cassée
Maintenant, c'est important - si vous démarrez iTunes maintenant, avec le nouveau fichier .xml et l'absence de fichier .itl, rien ne se passera. iTunes ignorera le fichier XML et reviendra à une bibliothèque vide. Mais si iTunes trouve un fichier .itl cassé, il utilisera le fichier .xml que nous venons de manipuler pour recréer le fichier .itl. Le moyen le plus simple de créer un fichier .itl cassé est depuis un terminal:
touch ~/Music/iTunes/iTunes\ Library.itl
ce qui créera un fichier vide - suffisamment cassé pour iTunes.
Redémarrer iTunes
Maintenant, iTunes va enfin faire attention au fichier xml - il montrera une boîte de dialogue disant «Importer 'iTunes Music Library.xml'…». Cela peut prendre un certain temps, même s'il ne s'agit pas de copier des fichiers MP3.
Source: http://gotofritz.net/blog/howto/fixing-itunes-cannot-find-music/