diff options
Diffstat (limited to 'sam_player.c')
| -rw-r--r-- | sam_player.c | 26 |
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; } |
