URL: https://linuxfr.org/forums/programmation-c/posts/un-micro-lecteur-audio-linux-gtk-3-0-ecrit-en-c Title: un micro lecteur audio Linux GTK+3.0 écrit en C++. Authors: Linuxator Date: 2015年12月08日T05:57:49+01:00 License: CC By-SA Tags: Score: 1 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](http://www.open-source-projects.net/Micro_Music_Player/Micro_Music_Player_presentation.html)** est un lecteur de fichiers audio pouvant lire les formats de fichiers musique suivant: +) _**\*.mp3**_ +) _**\*.wav**_ +) _**\*.flac**_ + _**\*.ogg**_ **[MicroMusicPlayer](http://www.open-source-projects.net/Micro_Music_Player/Micro_Music_Player_presentation.html)** est basé pour le rendus sonore sur la bibliothèque connexe de la **SDL2**: [SDL2_mixer](https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer.html#SEC_Contents) 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](https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer.html#SEC_Contents) 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 [www.open-source-projects.net](http://www.open-source-projects.net/index.html) 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](http://www.open-source-projects.net/Micro_Music_Player/Micro_Music_Player_presentation.html)** n'est pas une chose aussi aisé que de se familiariser avec un module python aux fonctions analogues. **[MicroMusicPlayer](http://www.open-source-projects.net/Micro_Music_Player/Micro_Music_Player_presentation.html)** 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](http://www.open-source-projects.net/Edip/Edip_presentation.html)** écrit en parallèle de **[MicroMusicPlayer](http://www.open-source-projects.net/Micro_Music_Player/Micro_Music_Player_presentation.html)**). 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](http://www.open-source-projects.net/Edip/Edip_presentation.html)** 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.

AltStyle によって変換されたページ (->オリジナル) /