Compare commits

...

2 Commits

Author SHA1 Message Date
tTh
eb74809d59 un commit offert par la maison 2023-11-29 22:00:54 +01:00
tTh
7e38e55e3a Kill, Kill It ! 2023-11-29 21:46:24 +01:00
5 changed files with 24 additions and 53 deletions

View File

@ -10,7 +10,7 @@
VERSION=0.0036 VERSION=0.0036
TEKFLAG= -DDEBUG_LEVEL=1 -g TEKFLAG= -DDEBUG_LEVEL=0 -g
CFLAGS=-Wall -Wextra -ansi $(TEKFLAG) -DVERSION=\"$(VERSION)\" CFLAGS=-Wall -Wextra -ansi $(TEKFLAG) -DVERSION=\"$(VERSION)\"
BIBS=-lncurses -lao -lsndfile -logg BIBS=-lncurses -lao -lsndfile -logg

View File

@ -19,17 +19,30 @@ qui manquent.
Il faut installer les paquets Il faut installer les paquets
`libao-dev` et `libsndfile-dev` avoir de pouvoir `libao-dev` et `libsndfile-dev` avoir de pouvoir
générer le moindre exécutable. Ensuite, un tout simple générer le moindre exécutable.
Les machins *ncurses* sont censé être là.
Ensuite, un tout simple
run de `make` fera le travail. 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.
## Utilisation ## Utilisation
Une fois lancé, le logiciel vous affiche la liste des Une fois lancé, le logiciel vous affiche la liste des
fichiers sons dans le répertoire courant. Parfois il fichiers sons dans le répertoire courant. Parfois il
en manque. en manque.
La touche **`?`** affiche une petite fenêtre d'aide. La touche **`?`** affiche une petite fenêtre d'aide.
La touche **`Q`** (*:q!*) sort de ce machin. 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é.
Et le **`D`** propose un dump hexadécimal et ascii.
Il y a de quoi faire.
## Pour la suite ? ## Pour la suite ?
Première étape : Prévoir la possibilité de faire un *abort* Première étape : Prévoir la possibilité de faire un *abort*

View File

@ -1,49 +0,0 @@
<html>
<head>
<title>Ecoute, c'est du Tonton Th</title>
</head>
<body>
<h1 align=center>Ecoute</h1>
<p>
Le tinyware <tt>ecoute</tt> est un embryon de <i>player</i> de fichiers
son, destiné à un usage <i>one-shoot</i>: vous le lancez, il démarre
en moins d'une seconde, vous choisissez le fichier à écouter, et
voilà, c'est fini...
</p>
<p>
Pour le moment, il sait lire les <tt>.wav</tt>, les <tt>.au</tt>
et un format étrange que j'utilise pour mes diverses expériences
sonores. Vous êtes prévenus, c'est un bricolage.
</p>
<h2 align=center><a href="ecoute.tar.gz">download</a></h2>
<p align="center"><img src="ecoute-help.gif" alt="capture fenetre aide"></p>
<p align="center"><img src="ecoute-dump.gif" alt="capture fenetre dump"></p>
<p>
La prochaine étape sera la lecture des <tt>.ogg</tt>, suivie de peu
par les <tt>.speex</tt>. Quand ces deux formats seront assimilés,
je me pencherais volontiers sur des améliorations de l'interface
utilisateur, afin d'en faire un truc encore plus <i>one-shoot</i>,
tout en conservant l'aspect glamour de l'interface ncurses.
</p>
<p>
C'est fait sur, et pour, du Linux. Il faut avoir les bibliothèques
<tt>libsndfile</tt>, <tt>libogg</tt> et <tt>libao</tt> installées.
A priori, c'est
portable vers d'autres variantes d'Unix. D'ailleurs, je vais
essayer de le faire tourner dans OpenBSD un de ces soirs, parce
que bon, ya pas de raisons que ça ne marche pas.
Enfin, si il y en a, on va bientôt savoir lesquelles...
</p>
</body>
</html>

View File

@ -143,7 +143,9 @@ while ( (de=readdir(dir)) != NULL)
/* use the magic system (new 13 mai, may be bugged) */ /* use the magic system (new 13 mai, may be bugged) */
devine = magic_detect(de->d_name, &magicbits); devine = magic_detect(de->d_name, &magicbits);
#if DEBUG_LEVEL
fprintf(stderr, "%s %s %d\n", __func__, de->d_name, devine); fprintf(stderr, "%s %s %d\n", __func__, de->d_name, devine);
#endif
/* strdup is a 'non-portable' function ? */ /* strdup is a 'non-portable' function ? */
liste[nombre].nom = strdup(de->d_name); liste[nombre].nom = strdup(de->d_name);

View File

@ -28,7 +28,7 @@ static char *about_texte[] =
}; };
static char *help_texte[] = static char *help_texte[] =
{ {
"{{ Help me }}", "{ Help me }",
"<enter> Play the selected file", "<enter> Play the selected file",
"A About this software...", "A About this software...",
"D Dump begin of file in hexadecimal", "D Dump begin of file in hexadecimal",
@ -124,6 +124,9 @@ while ((opt = getopt(argc, argv, "d:hx")) != -1) {
break; break;
case 'h': case 'h':
help_cli(argv[0]); break; help_cli(argv[0]); break;
case 'x':
fprintf(stderr, "no crash available\n");
exit(0);
default: default:
fprintf(stderr, "gni %c ?\n", opt); fprintf(stderr, "gni %c ?\n", opt);
break; break;
@ -138,7 +141,9 @@ if (foo) {
exit(1); exit(1);
} }
#if DEBUG_LEVEL
infos_sound_output("dans main"); infos_sound_output("dans main");
#endif
prepare_ecran(); prepare_ecran();