Salut les GTK,
je vous annonce de part ce message la publications d'un programme (pour Linux) écrit en C++ utilisant GTK comme HMI.
Le programme MicroMusicPlayer est un lecteur de fichiers audio pouvant lire les formats de fichiers musique suivant:
+) *.mp3
+) *.wav
+) *.flac
+ *.ogg
MicroMusicPlayer est basé pour le rendus sonore sur la bibliothèque connexe de la SDL2: SDL2_mixer ce qui pose un problème mineure que je vous détaillerai par la suite.
Sinon la partie GUI est du GTK+3.0 et non du gtkmm3 et le programme est court, conçis, et j'estime écrit correctement (sinon je l'aurai pas publier a cause du bug).
Je dirai du "C++ C-Like"...???
C'est un lecteur audio aussi simple que possible:
Les fonctions
+) play
+) pause
+) next
+) previous
+) shuffle
+) repeat
+) Volume
sont présent et c'est tout pour les contrôles.
Concernant les fichier audio:
Vous définissez votre racine de fichiers audio dans le panneau de configuration afin de faciliter la sélection et vous pouvez choisir un dossier contenant des fichiers audio supportés. $HOME par défaut.
Dont la musique sera jouer séquentiellement ou aléatoirement selon les réglages, de manière répétitive ou pas.
Les autres fichiers du dossier seront ignorés a part les images de types *.jpg, *.jpe, *.jpeg, *.png, *.bmp, *.dib or *.tif, *.tiff contenus dans le dossier dont après une sélection la plus grande sera afficher comme image cover de l'album dans l'interface si présent.
Sinon il y a l'option de ne jouer qu'un seule chanson si l'envie vous enchante.
Ont peut également visualiser la playlist actuelle et cliquer sur le morceau de votre choix afin de le jouer immédiatement.
Toutes vos options préférentielles du programme sont directement appliquer a l'interface et stocker si vous le voulez afin de les retrouver ultérieurement.
Comme par exemple le jeu d'icônes que vous préférez.
L'on en vient au problème: la bibliothèque SDL2_mixer est conçus pour le son des jeux vidéos et non pour implémenter un lecteur audio je pense.
Et a cause d'une unique fonction non négligeable nommer Mix_HookMusicFinished le programme peut éventuellement crasher: pour plus d'infos rendez vous sur mon site c'est expliqué.
Je n'ai pas d'excuses mais je ne connais que cette bibliothèque pour jouer des fichiers sonores et apprendre a utiliser une bibliothèque pour un projet aussi petit que MicroMusicPlayer n'est pas une chose aussi aisé que de se familiariser avec un module python aux fonctions analogues.
MicroMusicPlayer est partie d'une idée personnel (organisation d'album de musiques ordonnées dans des dossiers avec image cover) et non d'un choix de projet (pour cette ordre d'idée voyez le programme de traitement d'images Edip écrit en parallèle de MicroMusicPlayer).
Je vous serai reconnaissant de bien vouloir, si vous le désirez bien, vous intéresser au code car c'est mon premier programme écrit en C++ avec le programme de traitement d'images Edip en parallèle...
Toutes critique de toutes sortes est la bienvenue, merci pour vos réponses éclairées.
PS: j'ai évidemment tester le programme dans la durée et il ne crashe pas si souvent que ça sur mon OS. Devrai je le retirez de mon site pour ça ?
Le système de build autotools dépends de la lourde library opencv-3.0.0 qui est fournis avec le tarball d'ou la taille.
Mais dans ce cas je n'ai d'autre choix car mon packages manager m'installe opencv-2.4 précompiler avec GTK+2 au lieu de GTK+3 ce qui ne fonctionne pas avec une application GTK+3.0...
J'ai laisser libre choix a l'utilisateur d'installer opencv-3.0.0 par un raccourçis ou pas et même mis a disposition un programme de test de compatibilité au cas opencv-3.0.0 serai déjà installé.
Merci, c'est raté, je sais.
Partager