Compare commits
2 Commits
fe1de97f37
...
eb74809d59
Author | SHA1 | Date | |
---|---|---|---|
|
eb74809d59 | ||
|
7e38e55e3a |
@ -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
|
||||||
|
|
||||||
|
@ -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*
|
||||||
|
@ -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>
|
|
@ -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);
|
||||||
|
@ -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();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user