Changeset 192:5956b24ab8be in roaraudio
- Timestamp:
- 07/20/08 18:32:23 (16 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- roard
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/include/midi.h
r190 r192 17 17 18 18 uint32_t g_midi_cb_stoptime; 19 int g_midi_cb_playing; 20 19 21 20 22 int midi_init (void); -
roard/midi.c
r191 r192 14 14 }; 15 15 16 g_console = -1;16 g_console = -1; 17 17 g_midi_cb_stoptime = 0; 18 g_midi_cb_playing = 0; 18 19 19 20 for (i = 0; files[i] != NULL; i++) { … … 42 43 #define MIDI_CB_OVERRIDE 1 43 44 */ 44 if ( g_midi_cb_ stoptime&& override != MIDI_CB_OVERRIDE )45 if ( g_midi_cb_playing && override != MIDI_CB_OVERRIDE ) 45 46 return -1; 46 47 47 48 g_midi_cb_stoptime = ROAR_MATH_OVERFLOW_ADD(g_pos, samples_per_sec*t); 48 49 midi_cb_start(freq); 50 g_midi_cb_playing = 1; 49 51 50 52 return 0; … … 52 54 53 55 int midi_cb_update (void) { 56 if ( !g_midi_cb_playing ) 57 return 0; 58 54 59 if ( g_midi_cb_stoptime <= g_pos ) 55 60 midi_cb_stop(); … … 64 69 return -1; 65 70 66 if ( ioctl(g_console, KIOCSOUND, (int)(1193180.0/freq)) == -1 )71 if ( ioctl(g_console, KIOCSOUND, freq == 0 ? 0 : (int)(1193180.0/freq)) == -1 ) 67 72 return -1; 68 73 … … 75 80 int midi_cb_stop (void) { 76 81 #ifdef __linux__ 82 g_midi_cb_playing = 0; 77 83 return midi_cb_start(0); 78 84 #else
Note: See TracChangeset
for help on using the changeset viewer.