implemented volume control, and restructured slightly
[dos_auplay] / src / main.c
index f62fdac..c88aa3b 100644 (file)
@@ -22,7 +22,8 @@ int main(int argc, char **argv)
        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
@@ -47,7 +48,7 @@ static int dbg_cur_offs;
 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
@@ -92,17 +93,26 @@ static int play_file(const char *fname)
                        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