ReLyX e il formato RLP

Le specifiche RLP

Come si può vedere, un file RLP è un file di testo puro, i cui contenuti vengono interpretati in base alla loro posizione. Per certi versi è un formato un pò "rigido", ma facilita molto il ruolo di un'applicazione che debba organizzare i testi in tempi brevi. Qui di seguito le poche regole necessarie a creare un file RLP:

Il ruolo della terza e quarta regola, è più importante di quello che sembra, soprattutto ai fini di gestione dell'archivio. Durante il caricamento (leggi oltre) viene creata una tabella artisti. A volte i nomi degli artisti vengono scritti in modo diverso e questo provoca la mancata individuazione di duplicati: ad esempio, a parità di titolo, "Toots & The Maytals", "Toots and the Maytals", "Toots & Maytals" verrebbero interpretati come 3 artisti differenti, rendendo più faticosa la manutenzione.

Approccio generale alla lettura dei testi

Le specifiche permettono di raccogliere le informazioni importanti in breve tempo. Un'applicazione che debba interpretare un file RLP, dovrà soltanto aprirlo, leggere le prime due righe e chiudere il file. Ovviamente, la prima riga verrà interpretata come titolo della canzone, e la seconda come artista (o gruppo). Queste informazioni, poi, associate al nome del file, possono essere inserite in una tabella, associate al nome del file, come a dire "questo file contiene la canzone X dell'artista Y".

Dettagli sul funzionamento di ReLyX

Ogni file analizzato, viene descritto tramite una stringa "artista-titolo-nomefile", che chiameremo stringa di identificazione, in cui il nome del file diventa una specie di codice di identificazione (di qui le regole sul nome del file). Una volta lette, queste informazioni vengono sottoposte a un processo che potremmo definire di "parsing".

Prima di tutto alcune operazioni preliminari, effettuate sia sul titolo che sull'artista

I dati dell'artista, invece subiscono una ulteriore analisi e modifica. Infatti il nome dell'artista viene inserito in una tabella artisti (che altro non è se non un array di stringhe di testo). Questa tabella verrà poi inserita ad esempio in un combobox per facilitare le operazioni di filtraggio.

Nel caso di una combination, il simbolo "&" viene usato come separatore di campo. In ReLyX i nomi degli artisti vengono aggiunti nella tabella artisti. Alla fine dell'analisi della cartella contenente i file, vengono rimossi i duplicati.

Nota: questa fase diventa molto più semplice da programmare con un linguaggio che supporti le espressioni regolari.

Tutti i dati ottenuti, poi, vanno a comporre la stringa di identificazione, che attualmente usa come separatore di campo il carattere "§". Quindi per ogni file si avrà una stringa del tipo

ARTISTA§TITOLO§nomefile.rlp

A questo punto i tre valori devono solo essere inseriti in un controllo di tipo "listview", che risponda al doppio click con l'apertura del file.

Tecnologia Smartload

Sui computer più recenti non ci sono problemi per quanto riguarda i tempi di attesa, ma su quelli più datati la velocità era di circa 50 testi/secondo. L'introduzione della dll in C ha ridotto l'attesa del 30-40%, ma i tempi di attesa erano ancora abbastanza lunghi.

Dal momento che la fase di lettura sembrava essere fortemente condizionata dalla fase di caricamento (e solo per un 10-15% dall'elaborazione delle stringhe), tentammo questa strada

Per un archivio di 2000 testi significa leggere un file di 120 kb, piuttosto che aprire, "scandagliare" e chiudere tutti i files. Questo permette di aumentare la velocità di caricamento di 7-8 volte, passando da tempi superiori al minuto a tempi dell'ordine di 7-8 secondi.

Questa tecnologia ha come unico inconveniente il fatto che se aggiungi o togli files alla cartella, le modifiche non vengono rilevate. In ReLyX, però, se si clicca sul pulsante aggiorna, viene attivato il caricamento "classico" e di conseguenza viene riaggiornato il file-indice.

Nella forma attuale la tecnologia smartload entra in funzione solo per cartelle che contengono più di 500 testi.

Apertura del file - via classica

Quando viene fatto doppio click sul nome di una canzone, ReLyX apre una finestra ulteriore in cui viene visualizzato il testo. Viste le specifiche RLP, basta caricare tutto il contenuto del file in un "editbox" o analogo.

Apertura del file - HTML e CSS

La versione 1.2 di ReLyX è in grado di visualizzare pagine HTML. Questo è reso possibile dalla incorporazione OLE di una finestra di explorer. Pertanto all'apertura del testo, i dati devono essere formattati come una pagina Web. La struttura è la seguente:

<HTML>
<HEAD>
<link rel="stylesheet" href="{PATH DEL FOGLIO DI STILE}" type="text/css">
<TITLE>{TITOLO}</TITLE>
</HEAD>
<BODY>
<H1>{TITOLO}</H1>
<H2>{ARTISTA}</H2>
<P>{TESTO DELLA CANZONE}</P>
</BODY>
</HTML>
Questi dati, poi, vengono messi in un file temporaneo, che viene visualizzato nella finestra incorporata di explorer. Il vantaggio di questo, non è solamente estetico. Infatti permette a ReLyX di avere anche capacità di minibrowser (analogo a quello di programmi come Winamp).