lunedì 14 gennaio 2008

Karaoke per tutti!

Tra le varie feature dell'Ipod sicuramente sapete che è possibile caricare anche i testi dei nostri brani.
Non entro nel merito sul dove cercare i testi, dico solo che googlando qualcosa del tipo
lyrics ligabue ballando
troverete tutto quello che vi serve.
Ci sono anche strumenti che lo fanno per voi in automatico, ma lo fanno in modo indistriminato.
Io invece lo faccio solo per brani particolari e quindi preferisco farmelo a mano.

Fatto questo, ho pensato di prepararmi una playlist con tutti i brani di cui avevo i testi (karaoke party!) e ho scoperto con mia grande sorpresa che non potevo. Infatti iTunes permette di generare le smartlist con tutte le informazioni importanti di un brano eccetto i Testi e le Cover.

Questa inspiegabile mancanza di iTunes, mi ha aperto il mondo dello scripting.
Infatti sotto Windows, iTunes si comporta come un ActiveX e quindi rende disponibili metodi che possono essere chiamati da altre applicazioni (anche su Mac esiste qualcosa di simile, incompatibile).
E' quindi possibile scrivere defli script (vbs o js) che chiamano tali metodi.
Sempre googlando, qui ho trovato uno script che faceva il caso mio.
Peccato che non funzionava.
Tuttavia è bastato poco a capire l'inghippo e qui potete trovare la versione funzionante.

var iTunesApp = WScript.CreateObject("iTunes.Application");
var tracks = iTunesApp.LibraryPlaylist.Tracks;
var numTracks = tracks.Count;
var i; Lyricslist = iTunesApp.CreatePlaylist("Karaoke");
for (i = 1; i <= numTracks; i++)

{ try
{

var currTrack = tracks.Item(i);

if ( currTrack.Lyrics != "" )
Lyricslist.AddTrack(currTrack);
}
catch(err){
WScript.Echo("Il brano " + currTrack.Name + " di " + currTrack.Artist + " ha un problema!")
}

}
WScript.Echo("Ho completato la creazione della playlist!");


(copiate il testo, salvate con estensione .js e lanciate)

Fate attenzione:
- ogni volta crea la lista, quindi dovete cancellare quella vecchia (altrimenti ne trovate multiple)
- evidenzia i brani per cui non riesce a verificare (tipicamente quelli per cui non esiste il file sul PC)
- il processo è lungo (cerca in tutta la libreria).




Nessun commento: