{"id":269,"date":"2015-04-16T09:32:03","date_gmt":"2015-04-16T07:32:03","guid":{"rendered":"http:\/\/www.joanillo.org\/?p=269"},"modified":"2020-09-16T09:34:10","modified_gmt":"2020-09-16T07:34:10","slug":"el-software-per-a-la-rockola-va-prenent-forma","status":"publish","type":"post","link":"https:\/\/www.joanillo.org\/?p=269","title":{"rendered":"El software per a la rockola va prenent forma"},"content":{"rendered":"\n<p><a href=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2015\/04\/rockola_menu.jpg\"><\/a>He avan\u00e7at bastant en la part software de la <strong>Rockola<\/strong>. Consta de dues parts: la primera \u00e9s un men\u00fa, i la segona \u00e9s el front-end pr\u00f2piament dit.<br>En el men\u00fa es pot escollir la col\u00b7lecci\u00f3 de m\u00fasica que es vol escoltar (Rock, Pop, Salsa, etc.), i es pot filtrar per <strong>d\u00e8cada<\/strong> (70s, 80s, etc) i per llic\u00e8ncia (tota la m\u00fasica o nom\u00e9s la de domini p\u00fablic). En cada moment pots veure el n\u00famero de can\u00e7ons que seran seleccionades.<br>A m\u00e9s, hi ha diferents opcions relacionades amb la m\u00e0quina hardware que s&#8217;est\u00e0 constru\u00efnt. Per exemple: <strong>Coin Acceptor<\/strong> habilita o deshabilita haver de ficar les monedes per escoltar les can\u00e7ons; <strong>Piped music<\/strong> habilita el fet de qu\u00e8 soni un fil musical si fa estona que no hi ha m\u00fasica a la cua de la playlist; <strong>Efectes de llum<\/strong> habilita o deshabilita els leds que faran pampallugues amb motius decoratius; <strong>Enable Exit<\/strong> habilita o no que l&#8217;usuari pugui tornar al men\u00fa des del frontend.<br>Un cop seleccionada una col\u00b7lecci\u00f3 podem anar a la Rockola, que llen\u00e7a el <em>front-end<\/em> pr\u00f2piament dit. El front-end intenta ser fidel als models cl\u00e0ssics de Rockola. Es tracta d&#8217;anar omplint les etiquetes de paper de les can\u00e7ons. Cada etiqueta consta d&#8217;un grup i de dues can\u00e7ons. La distribuci\u00f3 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\u00e7\u00f3. A cada pantalla hi caben 64 can\u00e7ons, i es pot navegar per les diferents pantalles.<br><a href=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2015\/04\/rockola_frontend.jpg\"><\/a>El front-end gestiona els cr\u00e8dits de qu\u00e8 es disposa (una moneda s\u00f3n dos cr\u00e8dits, que donen dret a dues can\u00e7ons). La manera de seleccionar una can\u00e7\u00f3 \u00e9s bastant intu\u00eftiva. Es disposa d&#8217;una petita pantalla amb informaci\u00f3 de la can\u00e7\u00f3 seleccionada, i evidentment es gestiona la playlist que controla les can\u00e7ons que estan a l&#8217;espera de sonar. Tal com est\u00e0 ara d&#8217;avan\u00e7at el projecte ja es poden escoltar les can\u00e7ons. Funciona!<br>En definitiva, el software, format pel men\u00fa i el front-end, est\u00e0 pensat per integrar-se en una m\u00e0quina amb nom\u00e9s tres botons (esquerra, dreta i Enter), que ha de complir amb el requisit de qu\u00e8 sigui f\u00e0cil i clar d&#8217;operar, sense manteniment.<br>El que de moment no \u00e9s tan f\u00e0cil \u00e9s ficar tots els fitxers MP3 en el sistema. \u00c9s bastant labori\u00f3s. Primer de tot s&#8217;ha de disposar de fitxers mp3 que tinguin els tags ID3 omplerts i amb informaci\u00f3 correcta. Si no \u00e9s el cas, s&#8217;ha d&#8217;actualitzar aquesta informaci\u00f3. S&#8217;han de llegir els tags dels fitxers mp3 i actualitzar la base de dades. S&#8217;ha de decidir, per a les can\u00e7ons que es vol incorporar, en quines col\u00b7leccions sortiran. Es genera un fitxer master amb totes les can\u00e7ons de la base de dades i un fitxer de configuraci\u00f3 que porta el compte del n\u00famero de can\u00e7ons classificat per col\u00b7lecci\u00f3 i per d\u00e8cada. Hi ha una s\u00e8rie de scripts que ajuden i automatitzen tot el proc\u00e9s, per\u00f2 en definitiva si es vol tenir una base de dades de qualitat el proc\u00e9s no \u00e9s f\u00e0cil, tot i que hi ha marge per millorar i automatitzar.<br>Un tema a destacar d&#8217;aquestes dues peces de software \u00e9s que la geometria resideix en fitxers de configuraci\u00f3, de manera que ha de ser f\u00e0cilment adaptable a diferents formats de monitor. A m\u00e9s, el codi s&#8217;ha compilat tant en un port\u00e0til com en la Raspberry Pi (doncs aquesta plataforma ser\u00e0 el motor de la Rockola real que s&#8217;est\u00e0 constru\u00efnt).<br>En resum, la part software ja va prenent forma i no trigar\u00e9 gaire a fer un video demostratiu. Paral\u00b7lelament el moble tamb\u00e9 va prenent forma, i espero no trigar massa en veure aquest el projecte de la Rockola acomplert.<br>Quan tingui el software acabat publicar\u00e9 un enlla\u00e7 per descarregar el codi font. De totes maneres aquest projecte, programat amb C++, s&#8217;ha escrit bastant a raig i de moment no quedar\u00e0 massa ben documentat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>He avan\u00e7at bastant en la part software de la Rockola. Consta de dues parts: la primera \u00e9s un men\u00fa, i la segona \u00e9s el front-end pr\u00f2piament dit.En el men\u00fa es pot escollir la col\u00b7lecci\u00f3 de m\u00fasica que es vol escoltar (Rock, Pop, Salsa, etc.), i es pot filtrar per d\u00e8cada (70s, 80s, etc) i per [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,18,16,12,212,10],"tags":[270,52,53,51],"_links":{"self":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/269"}],"collection":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=269"}],"version-history":[{"count":1,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/269\/revisions"}],"predecessor-version":[{"id":270,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/269\/revisions\/270"}],"wp:attachment":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=269"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=269"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}