Potrebbe essere un po 'strano.
Ho una raccolta di brani in iTunes e mi piacerebbe copiarla su un SDCARD per riprodurla sulla radio della mia auto, insieme alle playlist che devo ascoltare la musica in "ordine corretto".
La copia della struttura delle cartelle in $HOME/Music/iTunes/iTunes Media/Music/
funziona correttamente e il lettore può leggere i file.
Come per le playlist, iTunes consente di esportare le playlist in formato .m3u
o .m3u8
. I percorsi nella playlist sono in formato "OSX", ma uno one-liner veloce cambia i percorsi a quelli relativi e lo mette in formato DOS:
sed -i.bak -e 's:/Users/jjarava/Music/iTunes/iTunes Media/Music:..:g' -e 's:/:\:g' "$1";
(la SDCARD nell'autoradio è identificata come SDCARD:\
)
Riesco a vedere i file delle playlist nella radio dell'auto, ma solo alcuni dei file sono "visibili" / vengono riprodotti dalla playlist.
Dato che tutti i file "mancanti" contengono alcuni caratteri estesi (come á
, é
, í
, ó
o ú
in spagnolo). Sono stato morso dal modo diverso di codificare i nomi in passato (vedi Linus Torvalds e il filesystem OS X per il contesto), quindi sospetto che il problema potrebbe essere dovuto alla codifica dei nomi dei file nella SDCARD. Quando "sfoglio" la SDCARD posso vedere correttamente gli autori / percorsi e tutti i file sono disponibili, quindi penso che sia un problema del modo in cui i percorsi vengono letti dal file .m3u e (non) risolti nei file appropriati.
La mia prima idea è stata scrivere un altro script per cercare i percorsi "offendenti" e rinominarli entrambi nel filesystem e nelle playlist, ma sto colpendo un muro dato che find / grep etc sembra avere problemi con i file con caratteri estesi su di loro. Qualcosa che "dovrebbe" funzionare come:
find /Volumes/MUSICA_VW/ -iname '*.mp3' | grep -e '[áéíóú]'
per ottenere i brani / percorsi offensivi, restituisce ogni singola canzone (vale a dire, gli stessi risultati che find
solo)
L'opzione di rinominare i file in iTunes non è davvero un'opzione, in quanto ogni volta che aggiungo musica deve essere "elaborata". Non mi interessa molto di avere i percorsi appropriati etc nel player, ecco perché non mi dispiacerebbe fare rinominare in massa ecc come parte dell'esportazione, ma le informazioni su iTunes dovrebbero essere quelle giuste ...
Quindi, prima di scavare nei segreti arcani di bash
e findutils
, o semplicemente sottoponendo il proiettile e codificando qualcosa in Python, qualche suggerimento? Sono sicuro di non essere il primo ad aver raggiunto questo specifico problema, ne sono sicuro.
E a tutti quelli che hanno avuto il tempo di leggere fino ad ora, GRAZIE !