#include <stdio.h>\r
#include <stdlib.h>\r
#include <string.h>\r
+#include <dos.h>\r
+#include <conio.h>\r
#include "aufile.h"\r
#include "audio.h"\r
\r
static int cbfunc(void *buf, int size, void *cls);\r
static void print_usage(const char *argv0);\r
\r
+static int vol = 220;\r
+static int quit;\r
+\r
int main(int argc, char **argv)\r
{\r
int i;\r
if(audio_init() == -1) {\r
return 1;\r
}\r
+ audio_volume(vol);\r
\r
for(i=1; i<argc; i++) {\r
if(argv[i][0] == '-') {\r
}\r
} else {\r
play_file(argv[i]);\r
+ if(quit) break;\r
}\r
}\r
return 0;\r
static int play_file(const char *fname)\r
{\r
struct au_file *au;\r
+ int paused = 0;\r
+ unsigned long prev;\r
\r
if(!(au = au_open(fname))) {\r
return -1;\r
#endif\r
\r
audio_play(au->rate, au->bits, au->chan);\r
- while(audio_isplaying());\r
+ while(audio_isplaying()) {\r
+ if(kbhit()) {\r
+ int c = getch();\r
+ switch(c) {\r
+ case 27:\r
+ audio_stop();\r
+ quit = 1;\r
+ goto end;\r
+\r
+ case ' ':\r
+ paused = !paused;\r
+ if(paused) {\r
+ audio_pause();\r
+ printf("pause\n");\r
+ } else {\r
+ audio_resume();\r
+ printf("resume\n");\r
+ }\r
+ break;\r
+\r
+ case '=':\r
+ vol += 32;\r
+ if(vol > 255) vol = 255;\r
+ audio_volume(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
+ printf("volume: %d%%\n", 101 * vol / 256);\r
+ break;\r
+\r
+ default:\r
+ break;\r
+ }\r
+ }\r
+\r
+ _disable();\r
+ if(dbg_cur_offs != prev) {\r
+ prev = dbg_cur_offs;\r
+ _enable();\r
+\r
+ printf("%3d%% - offs: %lu/%lu\n", 100 * prev / au->size, prev, au->size);\r
+ } else {\r
+ _enable();\r
+ }\r
+\r
+ }\r
\r
+end:\r
au_close(au);\r
#ifdef DBG_PRELOAD\r
free(dbg_samples);\r