El software per a la rockola va prenent forma

He avançat bastant en la part software de la Rockola. Consta de dues parts: la primera és un menú, i la segona és el front-end pròpiament dit.
En el menú es pot escollir la col·lecció de música que es vol escoltar (Rock, Pop, Salsa, etc.), i es pot filtrar per dècada (70s, 80s, etc) i per llicència (tota la música o només la de domini públic). En cada moment pots veure el número de cançons que seran seleccionades.
A més, hi ha diferents opcions relacionades amb la màquina hardware que s’està construïnt. Per exemple: Coin Acceptor habilita o deshabilita haver de ficar les monedes per escoltar les cançons; Piped music habilita el fet de què soni un fil musical si fa estona que no hi ha música a la cua de la playlist; Efectes de llum habilita o deshabilita els leds que faran pampallugues amb motius decoratius; Enable Exit habilita o no que l’usuari pugui tornar al menú des del frontend.
Un cop seleccionada una col·lecció podem anar a la Rockola, que llença el front-end pròpiament dit. El front-end intenta ser fidel als models clàssics de Rockola. Es tracta d’anar omplint les etiquetes de paper de les cançons. Cada etiqueta consta d’un grup i de dues cançons. La distribució de les etiquetes es fa de manera que els grups quedin bastant barrejats i que hi hagi algunes etiquetes mig buides amb una sola cançó. A cada pantalla hi caben 64 cançons, i es pot navegar per les diferents pantalles.
El front-end gestiona els crèdits de què es disposa (una moneda són dos crèdits, que donen dret a dues cançons). La manera de seleccionar una cançó és bastant intuïtiva. Es disposa d’una petita pantalla amb informació de la cançó seleccionada, i evidentment es gestiona la playlist que controla les cançons que estan a l’espera de sonar. Tal com està ara d’avançat el projecte ja es poden escoltar les cançons. Funciona!
En definitiva, el software, format pel menú i el front-end, està pensat per integrar-se en una màquina amb només tres botons (esquerra, dreta i Enter), que ha de complir amb el requisit de què sigui fàcil i clar d’operar, sense manteniment.
El que de moment no és tan fàcil és ficar tots els fitxers MP3 en el sistema. És bastant laboriós. Primer de tot s’ha de disposar de fitxers mp3 que tinguin els tags ID3 omplerts i amb informació correcta. Si no és el cas, s’ha d’actualitzar aquesta informació. S’han de llegir els tags dels fitxers mp3 i actualitzar la base de dades. S’ha de decidir, per a les cançons que es vol incorporar, en quines col·leccions sortiran. Es genera un fitxer master amb totes les cançons de la base de dades i un fitxer de configuració que porta el compte del número de cançons classificat per col·lecció i per dècada. Hi ha una sèrie de scripts que ajuden i automatitzen tot el procés, però en definitiva si es vol tenir una base de dades de qualitat el procés no és fàcil, tot i que hi ha marge per millorar i automatitzar.
Un tema a destacar d’aquestes dues peces de software és que la geometria resideix en fitxers de configuració, de manera que ha de ser fàcilment adaptable a diferents formats de monitor. A més, el codi s’ha compilat tant en un portàtil com en la Raspberry Pi (doncs aquesta plataforma serà el motor de la Rockola real que s’està construïnt).
En resum, la part software ja va prenent forma i no trigaré gaire a fer un video demostratiu. Paral·lelament el moble també va prenent forma, i espero no trigar massa en veure aquest el projecte de la Rockola acomplert.
Quan tingui el software acabat publicaré un enllaç per descarregar el codi font. De totes maneres aquest projecte, programat amb C++, s’ha escrit bastant a raig i de moment no quedarà massa ben documentat.