aboutsummaryrefslogtreecommitdiff
path: root/sound/mpu401.h
diff options
context:
space:
mode:
Diffstat (limited to 'sound/mpu401.h')
-rw-r--r--sound/mpu401.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/sound/mpu401.h b/sound/mpu401.h
index ecf8cd0919..a85bb6af0c 100644
--- a/sound/mpu401.h
+++ b/sound/mpu401.h
@@ -30,8 +30,6 @@
//
////////////////////////////////////////
-typedef void TimerCallback (void *);
-
class MidiDriver_MPU401;
class MidiChannel_MPU401 : public MidiChannel {
@@ -78,8 +76,9 @@ public:
class MidiDriver_MPU401 : public MidiDriver {
private:
MidiChannel_MPU401 _midi_channels [16];
- bool _started_thread;
- TimerCallback *_timer_proc;
+ volatile bool _started_thread;
+ void *_mutex; // Concurrent shutdown barrier
+ volatile void *_timer_proc;
void *_timer_param;
static int midi_driver_thread (void *param);
@@ -87,8 +86,9 @@ private:
public:
MidiDriver_MPU401();
+ virtual void close();
void setTimerCallback(void *timer_param, void (*timer_proc) (void *));
- uint32 getBaseTempo(void) { return 10000; } // 0x4A0000; } // Now referenced in microseconds between callbacks
+ uint32 getBaseTempo(void) { return 10000; }
MidiChannel *allocateChannel();
MidiChannel *getPercussionChannel() { return &_midi_channels [9]; }