mercoledì 14 agosto 2013

Il "database" di Winamp - parte prima: cercare e trovare le informazioni necessarie

Quando uno "smanettone" come me ha bisogno di qualche software per qualche utilizzo particolare sa che il WWW è la fonte dove cercare (e come potrebbe essere altrimenti?). Stessa cosa vale per le informazioni: alle volte non bisogna solo sapere esattamente cosa cercare, ma anche utilizzare nella maniera giusta le corrette parole da cercare. Ovviamente in inglese, perchè in italiano sarà alquanto difficile trovare qualcosa!
Ma arriviamo al nocciolo del problema: avevo bisogno di esportare alcuni dati dalla mia libreria musicale gestita dal sempreverde Winamp, tuttavia c'era qualche problema. Esiste infatti un plugin che permette di esportare in formato XML compatibile con iTunes, il che lo rendeva abbastanza facile da leggere per i miei scopi. Qui sotto si può trovare l'esempio di un "nodo" del file XML che riporta i dati relativi ad una canzone.

        Track ID27331
        NameParallax
        ArtistAbstract Deviation
        AlbumLayers
        KindMPEG audio file
        Total Time208000
        Track Number8
        Year2013
        Play Date1376083209
        Play Date UTCFri Aug 09 23:20:09 2013
        Bitrate320
        Play Count1
        Rating40
        Locationfile://localhost/H:/Nuova%20cartella/MUSIC/Abstract%20Deviation%20-%20Layers%20(2013)/08%20-%20Parallax.mp3/
        File Folder Count-1
        Library Folder Count-1
     
 Come si può notare l'XML in questione è molto descrittivo (pure troppo, in quanto ci dice vita, morte e miracoli della canzone in questione!). Purtroppo mi sono accorto presto che solo metà delle canzoni con votazione venivano esportate sul file XML (o meglio, le canzoni c'erano, ma il voto no!). Da notare che il "rating" è espresso in CENTESIMI, scelta necessaria per poter esprimere anche votazioni intermedie (su Winamp e molti altri player ormai si utilizzano le STELLE, da uno a 5, su altri, come Media Monkey, di utilizzano anche le mezze stelle!). Da notare anche che nel file XML sia indicata la posizione fisica del file, cosa che invece quando si esportano tali informazioni da un altro player (come ad esempio Songbird), ciò non accade! I pro e contro di queste scelte sono facilmente immaginabili, diciamo che io preferisco una gestione più snella di questi file XML, poi il parser XML dell'applicazione specifica magari potrebbe anche scartare alcune informazioni (come in questo caso la "track ID", che poi viene rigenerata automaticamente dall'applicazione stessa). In ogni caso mi era evidente che il plugin di Winamp che doveva esportare i dati che mi interessavano non funzionava in maniera ottimale, per ragioni a me sconosciute...

Questo invece è un estratto del file XML esportato da Songbird tramite l'apposito plugin:

   
    1376143516647    Jeff Loomis    A Liar's Chain   
    284000000    0   
   
 
Come si può vedere è molto più compatto, in quanto tralascia alcune informazioni più o meno inutili!

Cercando un pò sul web altri plugin mi trovo ad un punto morto: sul sito di Winamp non se ne trovano altri, mentre l'unico plugin che prometteva di funzionare è stato, ahimè, rimosso. Dunque non rimaneva che cercare programmi che riuscissero a leggere il file in cui sono registrate le informazioni che cercavo, il fantomatico "Winamp.dat". Per ora mi limiterò a citare questo file, in quanto i suoi "segreti" verranno portati alla luce in seguito! Ad ogni modo ho scoperto che esistono almeno due programmi in grado di leggere in maniera completa il database di Winamp: uno è Mp3 Rating Friend, di uno sviluppatore tedesco, che permette di aprire il database di Winamp (oltre a quello di iTunes), ed importare le votazioni presenti nel database direttamente nel file mp3 (in cui, forse non è molto noto, è presente anche un tag apposito per le votazioni delle canzoni). Personalmente ritengo che inserire queste informazioni nel file possa essere utile nel caso si voglia rendere la sincronizzazione dei file il più semplice possibile, ma per ragioni di semplicità è meglio a mio parere tenere separati questi dati dal file vero e proprio. Anche perchè, per ora, non esiste nessun tag che tenga il conteggio delle riproduzioni o la data dell'ultima riproduzione.
Tuttavia Mp3 Rating Friend legge le informazioni presenti nel database di Winamp, ma non ha nessuna funzione di esportazione: in pratica non è utile al mio caso, che volevo un tool in grado di esportare le informazioni contenute nel database. Cercando in tutto il web sono incappato in questa pagina, in cui veniva riportato il codice di un'applicazione in Delphi, ma non avendo sottomano nè un compilatore nè la voglia di imparare il Delphi alla fine ho trovato una versione già compilata dallo stesso autore, denominata Winamp Database Reader, che permette di visualizzare le informazioni e di esportarle in un foglio Excel! La ricerca era dunque finita? Non proprio, ma di questo ne parlerò nella seconda parte!

**FINE PRIMA PUNTATA**
Prossimamente: la ricerca del bandolo della matassa - un osso più duro del previsto!

Nessun commento: