\r
int main(int argc, char **argv)\r
{\r
- int i;\r
+ int i, vol;\r
\r
if(audio_init() == -1) {\r
return 1;\r
}\r
- audio_volume(vol);\r
+ audio_setvolume(AUDIO_MASTER, 255);\r
+ audio_setvolume(AUDIO_PCM, 255);\r
\r
for(i=1; i<argc; i++) {\r
if(argv[i][0] == '-') {\r
- if(strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "-help") == 0) {\r
+ if(strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "-volume") == 0) {\r
+ if(!argv[++i] || (vol = atoi(argv[i])) <= 0 || vol > 100) {\r
+ fprintf(stderr, "%s must be followed by a number 1-100\n", argv[-1]);\r
+ return 1;\r
+ }\r
+ audio_setvolume(AUDIO_MASTER, vol * 255 / 100);\r
+\r
+ } else if(strcmp(argv[i], "-h") == 0 || strcmp(argv[i], "-help") == 0) {\r
print_usage(argv[0]);\r
return 0;\r
} else {\r
static int play_file(const char *fname)\r
{\r
struct au_file *au;\r
- int paused = 0;\r
+ int paused = 0, muted = 0;\r
unsigned long prev;\r
\r
if(!(au = au_open(fname))) {\r
case '=':\r
vol += 32;\r
if(vol > 255) vol = 255;\r
- audio_volume(vol);\r
+ audio_setvolume(AUDIO_DEFAULT, vol);\r
printf("volume: %d%%\n", 101 * vol / 256);\r
break;\r
\r
case '-':\r
vol -= 32;\r
if(vol < 0) vol = 0;\r
- audio_volume(vol);\r
+ audio_setvolume(AUDIO_DEFAULT, vol);\r
printf("volume: %d%%\n", 101 * vol / 256);\r
break;\r
\r
+ case 'm':\r
+ muted = !muted;\r
+ if(muted) {\r
+ audio_setvolume(AUDIO_DEFAULT, 0);\r
+ } else {\r
+ audio_setvolume(AUDIO_DEFAULT, vol);\r
+ }\r
+ break;\r
+\r
default:\r
break;\r
}\r
{\r
printf("Usage: %s [options] <file1> <file2> ... <filen>\n", argv0);\r
printf("options:\n");\r
+ printf(" -v,-volume <percent>: set audio volume (1-100)\n");\r
printf(" -h,-help: print usage and exit\n");\r
}\r