iTunes: mueva archivos de una unidad de red

3

De alguna manera he jodido mi base de datos de iTunes de modo que iTunes/iTunes Music Library.xml contiene rutas de red:

<key>Location</key><string>file://localhost/Volumes/media/Music/iTunes/iTunes%20Media/Music/Unknown%20Artist/Unknown%20Album...</string>

La mayoría de de los archivos están donde pertenecen, en file://localhost/Users/Shared/... , pero no todos. Además, todos los archivos están ubicados en el disco local, por ejemplo. /Volumes/media/Music/iTunes/iTunes Media/Music/Artis/Album/Track.mp3 se ha copiado en el directorio local /Users/Shared/Music/iTunes/iTunes Media/Music/Artis/Album/Track.mp3 .

Utilicé Archivo > Biblioteca > Organizar biblioteca ... , y habilitó la casilla de verificación Consolidar archivos (junto con Reorganizar archivos en la carpeta "iTunes Media" ), pero esto sí no mueva todos los archivos ubicados en la red al disco local.

iTunes/iTunes Music Library.xml en sí mismo parece ser un archivo de solo escritura, basado en el contenido del archivo binario iTunes/iTunes Library.itl , así que cerrar iTunes, editar iTunes/iTunes Music Library.xml para corregir las rutas y reiniciar iTunes no soluciona el problema .

¿Hay alguna forma de actualizar la base de datos de iTunes para que use rutas de archivos locales en lugar de rutas de red para algunos de los archivos? (Esto afecta a 9888 entradas de las 11449 entradas de iTunes).

Tengo un problema similar / idéntico con iPhoto , en el que algunos archivos están ubicados en la red y otros no, y no sé cómo consolidarlos para que estén todos en la red local. máquina ...

    
pregunta jonp 22.11.2014 - 16:24

2 respuestas

4

Restablecer la biblioteca de iTunes

Abra la carpeta de música de iTunes en Finder (está en la carpeta de inicio / Música / iTunes) y arrastre iTunes Music Library.xml y iTunes Library.itl hacia afuera en el escritorio. Esto reiniciará iTunes la próxima vez que lo inicie, pero no lo inicie todavía. Estaremos trabajando en el archivo xml, mientras que el archivo itl solo está allí para hacer una copia de seguridad.

Cambia la ubicación donde iTunes guarda la música

En las preferencias de iTunes > Avanzado, haga clic en "cambiar" junto a "ubicación de la carpeta de música de iTunes" y seleccione su disco duro.

Mire dentro de la Biblioteca de iTunes para ver cuál es el problema

Si su biblioteca de iTunes es enorme, es una buena idea usar Terminal para ver las primeras líneas, lo que puede hacer fácilmente con

  

head -n100 /Users/ME/Desktop/iTunes\ Music\ Library.xml

(puedes simplemente escribir "head -n100" y arrastrar el archivo a la Terminal para que OS X escriba el nombre por ti) La salida será algo a lo largo de las líneas de

  <?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>

Debes buscar el archivo: // bit del xml. Aquí me dice que está buscando en / Users / ME / Music /, es decir, mi carpeta de inicio en lugar de mi disco duro externo.

Use sed para corregir la ruta y crear un nuevo archivo xml

sed es una utilidad de Unix ingeniosa que puedes usar desde Terminal. Puede abrir un archivo, recorrerlo línea por línea, cambiar las cosas en cada línea y luego colocar el resultado en otro archivo.

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

Aquí hay un desglose de lo que hace el comando.

sed llama al comando sed - significa Stream Editor

’s/…/…./’ sed necesitará instrucciones, que son cadenas, por lo tanto, ’(apóstrofe). s / a / b / significa "si encuentra una a, sustitúyala por b"

file:\/\/localhost\/Users\/ME… esta es la cadena que estamos buscando. Tenga en cuenta que dado que las barras diagonales hacia adelante se utilizan para sed para s /… /… /, si las necesita en la cadena, tiene que escapar de ellas con barras diagonales hacia atrás

file:\/\/localhost\/Volumes\/HD1T\/ la cadena con la que estamos reemplazando

< /Users/ME/Desktop/iTunes\ Music\ Library.xml El signo menos que significa "usar este archivo como entrada", en este caso, el archivo xml que arrastré al escritorio

> /Users/ME/Music/iTunes/iTunes\ Music\ Library.xml y esto significa "crear este archivo como salida". Le pedimos a sed que vuelva a crear el archivo de biblioteca xml del que está en el escritorio, pero cambiando algunos bits a medida que lo hace

Crear una biblioteca de iTunes dañada

Ahora esto es importante: si recién inicia iTunes ahora, con el nuevo archivo .xml allí y sin un archivo .itl allí, no ocurrirá nada. iTunes ignorará el archivo xml y simplemente se restablecerá a una biblioteca vacía. Pero si iTunes encuentra un archivo .itl roto, utilizará el archivo .xml con el que acabamos de tocar para recrear el archivo .itl. La forma más fácil de crear un archivo .itl roto es desde la terminal:

  

touch ~/Music/iTunes/iTunes\ Library.itl

que creará un archivo vacío, lo suficientemente roto para iTunes.

Reiniciar iTunes

Ahora iTunes finalmente prestará atención al archivo xml; mostrará un cuadro de diálogo que dice 'Importando' iTunes Music Library.xml '... ”Esto puede llevar un tiempo, aunque en realidad no está copiando archivos mp3.

Fuente: enlace

    
respondido por el Tetsujin 22.11.2014 - 17:07
1

No he probado la mejor respuesta de sonido de @Tesujin. Estoy seguro de que él es mucho más rápido de lo que hice.

Esta "solución" funcionó para mí. también consume mucho espacio en disco. Sin embargo, como un "beneficio" agregado, encontró varios archivos que se pasaron por alto ...

  1. Haz clic en iTunes > Preferencias ...
  2. Haz clic en la pestaña Avanzado .
  3. Cambia la ubicación de la carpeta multimedia de iTunes, por ejemplo, a otro disco. Algo con un nombre de ruta que no será muy similar a la ruta actual, para que grep (1) sea más fácil más adelante.
  4. Haz clic en Aceptar y cierra la ventana de Preferencias.
  5. Haz clic en Archivo > Biblioteca > Organizar biblioteca ... , habilitó la casilla de verificación Consolidar archivos y haga clic en Aceptar .

    Esto hará que copie sobre su biblioteca en la nueva ubicación, "arreglando" las rutas a medida que avanzan. A su vez, esto significa que necesita suficiente espacio libre en el disco para almacenar dos copias completas de su biblioteca de música.

  6. Salir de iTunes.
  7. Verifique el contenido de iTunes/iTunes Music Library.xml , indicando que no contiene la (s) ruta (s) anterior (es):

    $ grep Users/Shared 'iTunes Music Library.xml'
    $ grep Volumes/media 'iTunes Music Library.xml'
    

    Lo que quieres es sin coincidencias . Lo que en realidad obtuve fueron varias coincidencias; el montaje en red todavía se estaba utilizando para ~ 10 archivos, mientras que la ubicación anterior tenía ~ 5 coincidencias.

En este punto, se justificó más investigación. Como It Turns Out ™, mi recurso compartido de red tenía un sistema de archivos que distingue entre mayúsculas y minúsculas, por lo que los archivos que no se copiaron se debieron a cambios en los casos, por ejemplo, la canción estaba en realidad en 'ArTist / Album / Song.mp3' mientras que también había un archivo 'Artist / Album / Another Song.mp3'; Al parecer, a iTunes no le gustan los artistas / álbumes que difieren solo en el caso, y hubo ~ 10 de estos.

Solucionar estos problemas restantes fue simple, aunque extraño:

  1. Encuentra el archivo fuente en Finder. (Esto puede requerir copiar el archivo a través del shell raíz en el NAS ... ;-)
  2. Encuentra la entrada "mala" en iTunes.
  3. Archivo > Obtener información la entrada.
  4. iTunes puede quejarse de que no puede encontrar el archivo. Consulte a iTunes al archivo en (1).
  5. Vaya a la pestaña Archivo y verifique la entrada ubicación . Por ejemplo, la ubicación estaba en mi NAS.
  6. Haz clic en Aceptar
  7. Arrastra el archivo en (1) a iTunes. iTunes ahora copiará el archivo, eliminando así la necesidad de mi NAS para este archivo en particular.
  8. Verifique que la ubicación esté fija a través de (4) y (5).

Lo que es divertido es que si omití los pasos iniciales (2) - (5), iTunes copiaría el archivo pero habría dos de las canciones en iTunes , una en el NAS / ubicación incorrecta, y otra que se acaba de agregar. Necesitaba Obtener información el archivo primero para "actualizar" la ubicación del archivo.

    
respondido por el jonp 23.11.2014 - 02:45

Lea otras preguntas en las etiquetas