diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/mpu401.cpp | 5 | ||||
-rw-r--r-- | sound/mpu401.h | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/sound/mpu401.cpp b/sound/mpu401.cpp index 39bfdef482..9a139ec1a1 100644 --- a/sound/mpu401.cpp +++ b/sound/mpu401.cpp @@ -115,7 +115,7 @@ MidiChannel *MidiDriver_MPU401::allocateChannel() { return NULL; } -void MidiDriver_MPU401::setTimerCallback (void *timer_param, void (*timer_proc) (void *)) { +void MidiDriver_MPU401::setTimerCallback (void *timer_param, TimerCallback timer_proc) { if (!_timer_proc || !timer_proc) { _timer_proc = timer_proc; _timer_param = timer_param; @@ -132,7 +132,6 @@ void MidiDriver_MPU401::setTimerCallback (void *timer_param, void (*timer_proc) } #if !defined(__MORPHOS__) && !defined(__PALM_OS__) -typedef void (*TimerCallback) (void*); int MidiDriver_MPU401::midi_driver_thread(void *param) { MidiDriver_MPU401 *mid = (MidiDriver_MPU401 *)param; @@ -151,7 +150,7 @@ int MidiDriver_MPU401::midi_driver_thread(void *param) { while (old_time < cur_time) { old_time += 10; if (mid->_timer_proc) - (*(TimerCallback)(mid->_timer_proc)) (mid->_timer_param); + (*(mid->_timer_proc)) (mid->_timer_param); } } diff --git a/sound/mpu401.h b/sound/mpu401.h index a85bb6af0c..592ca67a20 100644 --- a/sound/mpu401.h +++ b/sound/mpu401.h @@ -75,10 +75,12 @@ public: class MidiDriver_MPU401 : public MidiDriver { private: + typedef void (*TimerCallback) (void*); + MidiChannel_MPU401 _midi_channels [16]; volatile bool _started_thread; void *_mutex; // Concurrent shutdown barrier - volatile void *_timer_proc; + volatile TimerCallback _timer_proc; void *_timer_param; static int midi_driver_thread (void *param); @@ -87,7 +89,7 @@ public: MidiDriver_MPU401(); virtual void close(); - void setTimerCallback(void *timer_param, void (*timer_proc) (void *)); + void setTimerCallback(void *timer_param, TimerCallback timer_proc); uint32 getBaseTempo(void) { return 10000; } MidiChannel *allocateChannel(); |