BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __BSE_MIDI_NOTIFIER_H__ 00003 #define __BSE_MIDI_NOTIFIER_H__ 00004 00005 #include <bse/bseitem.hh> 00006 #include <bse/bsemidireceiver.hh> 00007 00008 00009 G_BEGIN_DECLS 00010 00011 /* --- object type macros --- */ 00012 #define BSE_TYPE_MIDI_NOTIFIER (BSE_TYPE_ID (BseMidiNotifier)) 00013 #define BSE_MIDI_NOTIFIER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_MIDI_NOTIFIER, BseMidiNotifier)) 00014 #define BSE_MIDI_NOTIFIER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_MIDI_NOTIFIER, BseMidiNotifierClass)) 00015 #define BSE_IS_MIDI_NOTIFIER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MIDI_NOTIFIER)) 00016 #define BSE_IS_MIDI_NOTIFIER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIDI_NOTIFIER)) 00017 #define BSE_MIDI_NOTIFIER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIDI_NOTIFIER, BseMidiNotifierClass)) 00018 00019 struct BseMidiNotifier : BseItem { 00020 BseMidiReceiver *midi_receiver; 00021 }; 00022 struct BseMidiNotifierClass : BseItemClass { 00023 void (*midi_event) (BseMidiNotifier *self, BseMidiEvent *event); 00024 }; 00025 00026 void bse_midi_notifier_set_receiver (BseMidiNotifier *self, 00027 BseMidiReceiver *midi_receiver); 00028 void bse_midi_notifier_dispatch (BseMidiNotifier *self); 00029 void bse_midi_notifiers_attach_source (void); 00030 void bse_midi_notifiers_wakeup (void); 00031 G_END_DECLS 00032 #endif /* __BSE_MIDI_NOTIFIER_H__ */