Il y a quelques mois, j’avais bricolé un Raspberry Pi pour réaliser une maquette interactive. Mais faute de temps, je n’avais pas réussi à gérer convenablement le parallélisme : contrôler en même temps 10 lecteurs mp3 en python, tout en assurant du « temps réel » pour la détection de la pression sur les boutons, ça marchait mal. Il faut dire que le choix du python avait été guidé par l’envie d’un prototypage rapide, mais sans plus de motivation.
Alors ces dernières nuits, j’ai pris le parti de tout reprendre à zéro, en utilisant cette fois-ci le C++. J’aime Qt, alors j’ai fait du Qt. Et pour le contrôle des entrées sorties de la petite machine, les GPIO, j’ai choisi la bibliothèque wiringPI. Tout de suite, tout marche beaucoup mieux !
À noter qu’il faut penser à installer libqt5multimedia5-plugins, qtmultimedia5-dev, ou encore gstreamer-pulseaudio pour pouvoir utiliser QMediaPlayer. Étrangement d’ailleurs, sans le support de gstreamer dans pulseaudio, la lecture des mp3 est très très grésillante…
Bon par contre, le projet est encore sur github.