5 #include <Application.h>
6 #include <MidiEndpoint.h>
16 B_MIDI_CHANGED_LATENCY
,
17 B_MIDI_CHANGED_PROPERTIES
20 #define B_MIDI_EVENT 'MIDI'
27 class BMidiRosterLooper
;
28 struct BMidiRosterKiller
;
35 static BMidiEndpoint
*NextEndpoint(int32
*id
);
36 static BMidiProducer
*NextProducer(int32
*id
);
37 static BMidiConsumer
*NextConsumer(int32
*id
);
39 static BMidiEndpoint
*FindEndpoint(int32 id
, bool localOnly
= false);
40 static BMidiProducer
*FindProducer(int32 id
, bool localOnly
= false);
41 static BMidiConsumer
*FindConsumer(int32 id
, bool localOnly
= false);
43 static void StartWatching(const BMessenger
*msngr
);
44 static void StopWatching();
46 static status_t
Register(BMidiEndpoint
*endp
);
47 static status_t
Unregister(BMidiEndpoint
*endp
);
49 static BMidiRoster
*MidiRoster();
53 friend class BMidiConsumer
;
54 friend class BMidiEndpoint
;
55 friend class BMidiLocalProducer
;
56 friend class BMidiLocalConsumer
;
57 friend class BMidiProducer
;
58 friend class BPrivate::BMidiRosterLooper
;
59 friend struct BPrivate::BMidiRosterKiller
;
62 virtual ~BMidiRoster();
64 virtual void _Reserved1();
65 virtual void _Reserved2();
66 virtual void _Reserved3();
67 virtual void _Reserved4();
68 virtual void _Reserved5();
69 virtual void _Reserved6();
70 virtual void _Reserved7();
71 virtual void _Reserved8();
73 void CreateLocal(BMidiEndpoint
*);
74 void DeleteLocal(BMidiEndpoint
*);
76 status_t
SendRequest(BMessage
*, BMessage
*);
78 BPrivate::BMidiRosterLooper
* fLooper
;
84 #endif // _MIDI_ROSTER_H