{"id":271,"date":"2015-04-16T09:36:35","date_gmt":"2015-04-16T07:36:35","guid":{"rendered":"http:\/\/www.joanillo.org\/?p=271"},"modified":"2020-09-16T12:25:35","modified_gmt":"2020-09-16T10:25:35","slug":"el-software-para-la-rockola-va-tomando-forma","status":"publish","type":"post","link":"https:\/\/www.joanillo.org\/?p=271&lang=es","title":{"rendered":"El software para la rockola va tomando forma"},"content":{"rendered":"\n<p><a href=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2015\/04\/rockola_menu.jpg\"><\/a>He avanzado bastante en la parte software de la <strong>Rockola<\/strong>. Consta de os partes: la primera es un men\u00fa, y la segunda es el front-end propiamente dicho.<br>En el men\u00fa se puede escoger la colecci\u00f3n de m\u00fasica que se quiere escuchar (Rock, Pop, Salsa, etc.), y se puede filtrar por <strong>d\u00e9cada<\/strong> (70s, 80s, etc) y por licencia (toda la m\u00fasica o s\u00f3lo la de dominio p\u00fablico). En cada momento puedes ver el n\u00famero de canciones que ser\u00e1n seleccionadas.<br>Adem\u00e1s, hay diferentes opciones relacionadas con la m\u00e1quina hardware que se est\u00e1 construyendo. Por ejemplo: <strong>Coin Acceptor<\/strong> habilita o deshabilita tener que poner las monedas para escuchar las canciones; <strong>Piped music<\/strong> habilita el hecho de que suene un hilo musical si hace rato que no hay m\u00fasica en la cola de la playlist; <strong>Efectos de luz<\/strong> habilita o deshabilita los leds que har\u00e1n efectos con motivos decorativos; <strong>Enable Exit<\/strong> habilita o no que el usuario pueda volver al men\u00fa desd el front-end.<br>Una vez seleccionada una colecci\u00f3n podemos ir a la Rockola, que lanza el <em>front-end<\/em> propiamente dicho. El front-end intenta ser fiel a los modelos cl\u00e1sics de Rockola. Se trata de ir rellenando las etiquetas de papel con las canciones. Cada etiqueta consta de un grupo y de dos canciones. La distribuci\u00f3n de las etiquetas es de manera que los grupos queden bastante mezclados y que haya algunas etiquetas medio vac\u00edas con una sola canci\u00f3n. En cada pantalla caben 64 canciones, y se puede navegar por las diferentes pantallas.<br><a href=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2015\/04\/rockola_frontend.jpg\"><\/a>El front-end gestiona los cr\u00e9ditos de que se dispone (una moneda son dos cr\u00e9ditos, que dan derecho a dos canciones). La manera de seleccionar una canci\u00f3n es bastante intuitiva. Se dispone de una peque\u00f1a pantalla con informaci\u00f3n de la canci\u00f3n seleccionada, y evidentmente se gestiona la playlist que controla las canciones que est\u00e1n a la espera de ser escuchadas. Tal como est\u00e1 avanzado ahora el proyecto ya se pueden escuchar las canciones. Funciona!<br>En definitiva, el software, formado por el men\u00fa y el front-end, est\u00e1 pensado para integrarse en una m\u00e1quina con tan solo tres botones (izquierda, derecha y Enter), que ha de cumplir con el requisito de que sea f\u00e1cil y claro de operar, sin mantenimiento.<br>Lo que de moment no resulta tan f\u00e1cil es meter todos los ficheros MP3 en el sistema. Es bastante laborioso. Primero de todo hemos de disponer de unos ficheros mp3 que tengan los tags ID3 rellenados y con la informaci\u00f3n correcta. Si no es el caso, se ha de actualizar esta informaci\u00f3n. Se han de leer los tags de los ficheros mp3 y actualizar la base de datos. Se ha de decidir, para las canciones que se quiere incorporar, en qu\u00e9 colecciones saldr\u00e1n. Se genera un fichero m\u00e1ster con todas las canciones de la base de datos y un fichero de configuraci\u00f3n que lleva el recuento del n\u00famero de canciones clasificado por colecci\u00f3n y por d\u00e9cada. Hay una serie de scripts que ayudan y automatizan todo el proceso, pero en definitiva si se quiere tener una base de datos de calidad el proceso no es f\u00e1cil, aunque hay margen para mejorar y automatizar.<br>Un tema a destacar de estas dos piezas de software es que la geometr\u00eda reside en ficheros de configuraci\u00f3n, de manera que ha de ser f\u00e1cilmente adaptable a diferentes formatos de monitor. Adem\u00e1s, el c\u00f3digo se ha compilado tanto en un port\u00e1til como en la Raspberry Pi (pues esta plataforma ser\u00e1 el motor de la Rockola real que se est\u00e1 construyendo).<br>En resumen, la parte software ya va tomando forma y no tardar\u00e9 mucho en hacer un video demostrativo. Paralelamente el mueble tambi\u00e9n va tomando forma, y espero no tardar demasiado en ver este proyecto de la Rockola finalizado.<br>Cuando tenga el software acabado publicar\u00e9 un enlace para descargar el c\u00f3digo fuente. De todas maneras este proyecto, programado en C++, se ha escrito de un tir\u00f3n y de momento no quedar\u00e1 muy bien documentado.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>He avanzado bastante en la parte software de la Rockola. Consta de os partes: la primera es un men\u00fa, y la segunda es el front-end propiamente dicho.En el men\u00fa se puede escoger la colecci\u00f3n de m\u00fasica que se quiere escuchar (Rock, Pop, Salsa, etc.), y se puede filtrar por d\u00e9cada (70s, 80s, etc) y por [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[290,324,320,326,348],"tags":[270],"_links":{"self":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/271"}],"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=271"}],"version-history":[{"count":1,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/271\/revisions"}],"predecessor-version":[{"id":272,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/271\/revisions\/272"}],"wp:attachment":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}