From 3f194c5f0953b9176e888d8bb892f281019f1ed9 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Fri, 9 Sep 2011 11:18:29 +0200 Subject: [PATCH] cleaned up interface --- README | 3 +++ encode.c | 16 +++++++++++----- wav.c | 2 +- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/README b/README index dac06c0..6a7e719 100644 --- a/README +++ b/README @@ -27,3 +27,6 @@ read from wav file input.wav and write out to ppm image output.ppm: encode ppm image input.ppm to output.wav using rate of 40000Hz # ./encode input.ppm output.wav 40000 +encode ppm image input.ppm and write out to default alsa device +# ./encode input.ppm + diff --git a/encode.c b/encode.c index 4121559..de798b3 100644 --- a/encode.c +++ b/encode.c @@ -35,8 +35,8 @@ void add_freq(float freq) { int main(int argc, char **argv) { - if (argc != 4) { - fprintf(stderr, "usage: %s \n", argv[0]); + if (argc < 2) { + fprintf(stderr, "usage: %s \n", argv[0]); return 1; } @@ -57,12 +57,18 @@ int main(int argc, char **argv) uint8_t *pixel = (uint8_t *)ppm_p + strlen(ppm_head); - if (!open_pcm_write(&pcm, argv[2], atoi(argv[3]), 1, 37.5)) { - fprintf(stderr, "couldnt open output %s\n", argv[2]); + char *pcm_name = "default"; + float rate = 48000; + if (argc > 2) + pcm_name = argv[2]; + if (argc > 3) + rate = atoi(argv[3]); + if (!open_pcm_write(&pcm, pcm_name, rate, 1, 37.5)) { + fprintf(stderr, "couldnt open output %s\n", pcm_name); return 1; } - float rate = rate_pcm(pcm); + rate = rate_pcm(pcm); channels = channels_pcm(pcm); buff = (short *)malloc(sizeof(short)*channels); diff --git a/wav.c b/wav.c index b0d4366..bba1c87 100644 --- a/wav.c +++ b/wav.c @@ -53,7 +53,7 @@ void close_wav(pcm_t *pcm) void info_wav(pcm_t *pcm) { wav_t *wav = (wav_t *)pcm; - fprintf(stderr, "%d channel(s), %d rate, %d frames\n", wav->c, wav->r, wav->frames); + fprintf(stderr, "%d channel(s), %d rate, %.2f seconds\n", wav->c, wav->r, (float)wav->frames / (float)wav->r); } int rate_wav(pcm_t *pcm) {