cleaned up interface

master
Ahmet Inan 2011-09-09 11:18:29 +02:00
rodzic 2ceabe4081
commit 3f194c5f09
3 zmienionych plików z 15 dodań i 6 usunięć

3
README
Wyświetl plik

@ -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 ppm image input.ppm to output.wav using rate of 40000Hz
# ./encode input.ppm output.wav 40000 # ./encode input.ppm output.wav 40000
encode ppm image input.ppm and write out to default alsa device
# ./encode input.ppm

Wyświetl plik

@ -35,8 +35,8 @@ void add_freq(float freq) {
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
if (argc != 4) { if (argc < 2) {
fprintf(stderr, "usage: %s <input.ppm> <output.wav> <rate>\n", argv[0]); fprintf(stderr, "usage: %s <input.ppm> <output.wav|default|hw:?,?> <rate>\n", argv[0]);
return 1; return 1;
} }
@ -57,12 +57,18 @@ int main(int argc, char **argv)
uint8_t *pixel = (uint8_t *)ppm_p + strlen(ppm_head); uint8_t *pixel = (uint8_t *)ppm_p + strlen(ppm_head);
if (!open_pcm_write(&pcm, argv[2], atoi(argv[3]), 1, 37.5)) { char *pcm_name = "default";
fprintf(stderr, "couldnt open output %s\n", argv[2]); 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; return 1;
} }
float rate = rate_pcm(pcm); rate = rate_pcm(pcm);
channels = channels_pcm(pcm); channels = channels_pcm(pcm);
buff = (short *)malloc(sizeof(short)*channels); buff = (short *)malloc(sizeof(short)*channels);

2
wav.c
Wyświetl plik

@ -53,7 +53,7 @@ void close_wav(pcm_t *pcm)
void info_wav(pcm_t *pcm) void info_wav(pcm_t *pcm)
{ {
wav_t *wav = (wav_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) int rate_wav(pcm_t *pcm)
{ {