aboutsummaryrefslogtreecommitdiff
path: root/sam_player.c
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2012-02-11 19:10:29 +0100
committerReiner Herrmann <reiner@reiner-h.de>2012-02-11 19:10:29 +0100
commita33518b5353b33935a255680ba8c7ad40c9980cc (patch)
tree8e9dbf584d2d40402eb6bd853a6506631267f18f /sam_player.c
parenta24097ba8118181886a9f0765e76d5fac99f6056 (diff)
specify filename as argument
Diffstat (limited to 'sam_player.c')
-rw-r--r--sam_player.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/sam_player.c b/sam_player.c
index ee604e7..9b2292c 100644
--- a/sam_player.c
+++ b/sam_player.c
@@ -12,35 +12,23 @@ static wave_t wave = { 1, 44100, 8, 0, 1, wave_buffer };
int main(int argc, char **argv)
{
- int argi;
- char *arg, c, buf[200], *p;
unsigned int wave_length;
- p = buf;
- for(argi = 1;argi < argc;argi++)
+
+ if(argc != 3)
{
- arg = argv[argi];
- do
- {
- c = *(arg++);
- if(c >= 'a' && c <= 'z')
- c = (c - 'a') + 'A';
- if(c != '\"')
- {
- if(p < &buf[sizeof(buf) - 1])
- *(p++) = (c != '\0') ? c : ' ';
- }
- }while(c != '\0');
+ printf("Usage: %s <filename.wav> <text>\n", argv[0]);
+ return 1;
}
- *p = '\0';
+
sam_init();
wave_length = sizeof(wave_buffer);
- sam_recite(buf, wave.samples_per_sec, wave_buffer, &wave_length);
+ sam_recite(argv[2], wave.samples_per_sec, wave_buffer, &wave_length);
if(wave_length > 0)
{
if(wave_length > sizeof(wave_buffer))
wave_length = sizeof(wave_buffer);
wave.frame_size = wave_length;
- (void)wave_out(&wave);
+ wave_out(&wave, argv[1]);
}
return 0;
}