KlugyTools/Ecoute/README.md
2023-12-14 16:56:38 +01:00

78 lines
2.5 KiB
Markdown

# Écoute, un player...
Écoute n'est pas un player comme les autres.
Vous êtes prévenus.
Certaines fonctionalités que l'on nomme *classiques*, comme
le support des *playlists* ou la recherche de pochette
de disque ne sont pas là.
En fait, j'ai commencé à écrire ce logiciel il y a très
longtemps pour découvrir
[libsndfile](https://en.wikipedia.org/wiki/Libsndfile).
Ensuite, je l'ai un peu oublié dans son coin.
Il manque même pas mal de formats de base (ex, le .ogg) dans
ce qu'il connait. Mais je
viens de lui trouver une nouvelle utilité, il va m'aider
à trier les fichiers de mon [Tascam](https://www.thomann.de/intl/tascam_dr_05x.htm). Il faut juste rajouter les fonctions
qui manquent.
## Compilation
Il faut installer les paquets
`libao-dev`, `libogg-dev`, et `libsndfile-dev` avoir de
pouvoir générer le moindre exécutable.
Les machins *ncurses* sont censé être là, sinon
c'est `ncurses-dev` qui manque.
Ensuite, un tout simple
run de `make` fera le travail.
Dans le [Makefile](Makefile), vous avez quelques options à
régler, genre le `DEBUG_LEVEL` si vous ne voulez pas
submerger votre stderr.
Mais si vous avez activé cette friture, vous
lancer le logiciel par `./ecoute 2> tracelog` dans un xterm,
puis vous lancez `tail -f tracelog` dans un autre xterm
pour le voir raconter sa vie. *Astuce !*
## Utilisation
Une fois lancé, le logiciel vous affiche la liste des
fichiers sons dans le répertoire courant. Parfois il
en manque.
La touche **`?`** affiche une petite fenêtre d'aide.
La touche **`Q`** (*:q!*) sort de ce machin.
Il y a des fonctions de tri (nom, taille, ...) par
les touches dédiées (voir l'aide).
En pressant **`I`** des informations diverses et
souvent inutiles sur le fichier pointé.
Le **`D`** propose un dump hexadécimal et ascii qui
va être grandement amélioré dans les jours qui viennent.
Et enfin avec **`$`**, vous aurez quelques informations techniques
sur les trucs techniques.
## Pour la suite ?
Première étape : Prévoir la possibilité de faire un *abort*
pendant la lecture d'un fichier son. Ça ne va pas être simple, il
faut d'abord factoriser la fonction de scrutation du clavier
pendant la lecture du son, et ensuite la brancher dans les
différents modules.
Deuxième étape : Implémenter une fonction bien *molly-guarded* pour pouvoir
effacer un fichier sans le moindre risque d'erreur.
Troisième étape : Ajouter un controle du volume sonore, ce qui implique
de replonger dans `alsa` ou la doc de la libao...
tTh.