Me he tomado un descanso en los últimos días, los anteriores artículos fueron realmente intensos y necesitaba un relax. El trabajo que supone hacer todo el proceso para añadir un nuevo plugin QML es intenso, y lo cierto es que las dos últimas semanas no hemos parado.

Por eso he elegido esta vez, un plugin light. Por lo menos esa era la teoría.

He partido de QML Recorder (https://github.com/sverzegnassi/qml-recorder).

Este plugin QML, esencialmente nos permite grabar audio desde QML en distintos formatos y fuentes.

image

Como a priori parecía muy simple, compilé el plugin e importé los ejemplos a Velneo. El resultado… no funcionaba.

Revisando código, encontré un par de cosas que podían ser las culpables (tratamiento de las rutas y otro detalle menor). Corregidas, compiladas y a funcionar.

Parecía que ya estaba yo contento… hasta que me dio por leer. Terminé leyendo https://github.com/sverzegnassi/qml-recorder/issues y me día cuenta de que era una versión anticuada (no mucho la verdad). Navegando… encontré unas fuentes más actualizadas. Tal vez era más correcto partir de ellas y olvidarnos de las antiguas https://bazaar.launchpad.net/~verzegnassi-stefano/+junk/recorder-test/files.

Al analizar el código fuente, voy y me encuentro dos problemas .

Primer problema

El código fuente está dividido en dos plugins QML.

image

Vuelta a empezar… no por favor. No quería hacer nada complicado, tengo que leer mucho más sobre de Angular 5 y TypeScript, tengo que revisar el diseño de Arquitectura de otro mega-proyecto, tengo que ofertar un montaje de un CAS, tengo que evitar los rebotes del 4066.

No tengo tiempo para estas cosas…. pufff… dos plugins en vez de uno… pufff…

Pero no lo pude evitar. No quiero que mis compis Velneadores tengan que andar con dos librerías para algo tan sencillo como grabar un audio (conceptualmente están mejor separadas, pero para facilitar el uso, considero que mejor juntas).

El resumen… que he creado un plugin QML que contiene los dos y que hace el trabajo correctamente.

Segundo problema

El ejemplo está desarrollado para Ubuntu…. esto no me lo esperaba.

image

A revisar el ejemplo y retocar las cosas que no son compatibles. Y todo esto para un simple botón que graba audio.

image

Moralejas

“No es oro todo lo que reluce”, “No hay mal que por bien no venga”, “Lo barato sale caro”, “El que corre pronto para”… aplicaros el que más os guste. A mi me da, que aplican todos y alguno más en este caso.

QML es dado a la fragmentación por culpa de los fabricantes (como siempre):

  • BB10
  • Ubuntu
  • V-Play
  • Jolla
  • Nemo
  • Qt5

Muchas formas de hacer lo mismo, un sinsentido para un framework tan genial como Qt.

Descargas

Bueno, es hora de publicarlo. Funcionalmente es una librería simple, pero que resuelve una cuestión interesante. Os dejamos disponible todo lo necesario para que podáis disfrutar de ella en Velneo 7.22.1.

Recuerda que esta librería tendrás que compilarla para la versión adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versión para Windows x32 en un descargable. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde está ubicado el ejecutable del vClient.exe). Asegúrate de que el plugin queda dentro de la carpeta qml del directorio de instalación de Velneo.

También os damos acceso al VIN de todos los ejemplos funcinando en Velneo V7

La verdad es que no se cual es el uso que la vais a dar, ya me contareis. Recuerda respetar la licencia GNU del mismo.

Aún hay más

Si crees que ya has superado todos los problemas es que aún te queda alguno que superar.

Pues eso, que voy a publicar en WordPress y zasca. Ha dicho que hoy no, tal vez mañana.

image

Un abrazo… y espero que tengáis un camino más sencillo con las pruebas de este plugin.

6 Comments

  1. Hola Jorge.

    Impresionante.
    Creo que con estos artículos de integración de la potencia Qt/C++ en Velneo, las acciones de la empresa Velneo S.A. han subido unos cuantos puntos.

    Sabor agridulce es el que tengo.
    Por un lado agradecer estas aportaciones desinteresadas y de altísimo valor.
    Por otro, comprobar cómo tenemos entre manos una herramienta muy desaprovechada, que con un equipo bien organizado podría canalizar todo este potencial y aportarlo de manera permanente a dicha herramienta.

    Un fuerte abrazo
    Paco Satué

    Un comentario sobre el código QML de QtRecorder: la función storage.mkPath(recsFolder) no me funciona en mi Windows 10 64bits. Por lo demás perfecto.

  2. Como siempre una leccion de humildad y entrega hacia la comunidad, otros con mas recursos dedican menos esfuerzos a la mejora del sistema…

    Con gracias no expreso suficiente gratitud…

  3. Gracias chicos…

    La mayor recompensa es que os sean útiles y que sigáis comentando en nuestro blog.

    Estos comentarios nos ayudan mucho. Por un lado visualizamos que son de vuestro interés, por otro mejorar nuestra visibilidad. Gracias.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *