mirror of
https://github.com/vbatts/bitorchestra.git
synced 2024-11-30 12:25:44 +00:00
now a main executable that can function as all the sounds, and can write
to stdout and/or a file
This commit is contained in:
parent
4ccc79ed1e
commit
cbea4c53cf
5 changed files with 108 additions and 12 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
.*.swp
|
||||||
|
*~
|
32
audio.c
32
audio.c
|
@ -1,20 +1,36 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
const char* audio_dev = "/dev/audio";
|
#include "audio.h"
|
||||||
FILE* audio;
|
|
||||||
|
|
||||||
void init(char* dev_file_name) {
|
//const char* audio_dev = "/dev/audio";
|
||||||
if (dev_file_name != NULL) {
|
FILE* audio = NULL;
|
||||||
audio = fopen(dev_file_name, "a");
|
int quiet = 0;
|
||||||
|
|
||||||
|
void init(struct s_config s) {
|
||||||
|
if (s.filename != NULL) {
|
||||||
|
audio = fopen(s.filename, "a");
|
||||||
|
}
|
||||||
|
if (s.quiet == 1) {
|
||||||
|
quiet = 1;
|
||||||
} else {
|
} else {
|
||||||
audio = stdout;
|
quiet = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void p(int i) {
|
void p(int i) {
|
||||||
//fputc(i, audio);
|
if (audio != NULL) {
|
||||||
putchar(i);
|
fputc(i, audio);
|
||||||
|
}
|
||||||
|
if (!quiet) {
|
||||||
|
putchar(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void quit() {
|
||||||
|
if (audio != stdout) {
|
||||||
|
fclose(audio);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// vim:set sw=2 sts=2 et ai:
|
// vim:set sw=2 sts=2 et ai:
|
||||||
|
|
14
audio.h
14
audio.h
|
@ -1,4 +1,16 @@
|
||||||
|
|
||||||
void init();
|
#ifndef BITORC_AUDIO_H
|
||||||
|
#define BITORC_AUDIO_H
|
||||||
|
|
||||||
|
struct s_config {
|
||||||
|
int quiet;
|
||||||
|
char* filename;
|
||||||
|
};
|
||||||
|
|
||||||
|
void init(struct s_config s);
|
||||||
void p(int i);
|
void p(int i);
|
||||||
|
void quit();
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// vim:set sw=2 sts=2 et ai:
|
||||||
|
|
67
main.c
67
main.c
|
@ -1,9 +1,70 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
int main(int ac, char** av) {
|
#include "audio.h"
|
||||||
//init();
|
#include "sounds.h"
|
||||||
return 0;
|
|
||||||
|
void usage(char* name, int exit_stat) {
|
||||||
|
fprintf(stderr, "Usage: %s [-f filename] < -s 1-6 >\n", name);
|
||||||
|
exit(exit_stat);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int ac, char* av[]) {
|
||||||
|
int opt;
|
||||||
|
int sound_choice = 0;
|
||||||
|
//int quiet = 0;
|
||||||
|
//char* filename = NULL;
|
||||||
|
struct s_config s;
|
||||||
|
|
||||||
|
while ((opt = getopt(ac, av, "hf:s:q")) != -1) {
|
||||||
|
switch (opt) {
|
||||||
|
case 'q':
|
||||||
|
s.quiet = 1;
|
||||||
|
break;
|
||||||
|
case 's':
|
||||||
|
sound_choice = atoi(optarg);
|
||||||
|
break;
|
||||||
|
case 'f':
|
||||||
|
s.filename = optarg;
|
||||||
|
break;
|
||||||
|
case 'h':
|
||||||
|
usage(av[0], EXIT_SUCCESS);
|
||||||
|
default:
|
||||||
|
usage(av[0], EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sound_choice == 0) {
|
||||||
|
fprintf(stderr, "ERROR: pleaese choice a sound (currently 1-6)\n");
|
||||||
|
usage(av[0], EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
init(s);
|
||||||
|
|
||||||
|
switch (sound_choice) {
|
||||||
|
case 1:
|
||||||
|
sound_loop_1(sound_1, 0);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sound_loop_1(sound_2, 0);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
sound_loop_1(sound_3, 0);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
sound_loop_1(sound_4, 0);
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
sound_loop_1(sound_5, 0);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
sound_loop_1(sound_6, 0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
// vim:set sw=2 sts=2 et ai:
|
// vim:set sw=2 sts=2 et ai:
|
||||||
|
|
5
sounds.h
5
sounds.h
|
@ -1,4 +1,7 @@
|
||||||
|
|
||||||
|
#ifndef BITORC_SOUNDS_H
|
||||||
|
#define BITORC_SOUNDS_H
|
||||||
|
|
||||||
void sound_loop_1(int (*sp)(int i), int t);
|
void sound_loop_1(int (*sp)(int i), int t);
|
||||||
int sound_1(int t);
|
int sound_1(int t);
|
||||||
int sound_2(int t);
|
int sound_2(int t);
|
||||||
|
@ -7,4 +10,6 @@ int sound_4(int t);
|
||||||
int sound_5(int t);
|
int sound_5(int t);
|
||||||
int sound_6(int t);
|
int sound_6(int t);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// vim:set sw=2 sts=2 et ai:
|
// vim:set sw=2 sts=2 et ai:
|
||||||
|
|
Loading…
Reference in a new issue