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_DEVICE_H__ 00003 #define __BSE_MIDI_DEVICE_H__ 00004 00005 #include <bse/bsedevice.hh> 00006 #include <bse/bsemidievent.hh> 00007 00008 G_BEGIN_DECLS 00009 00010 /* --- object type macros --- */ 00011 #define BSE_TYPE_MIDI_DEVICE (BSE_TYPE_ID (BseMidiDevice)) 00012 #define BSE_MIDI_DEVICE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_MIDI_DEVICE, BseMidiDevice)) 00013 #define BSE_MIDI_DEVICE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_MIDI_DEVICE, BseMidiDeviceClass)) 00014 #define BSE_IS_MIDI_DEVICE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MIDI_DEVICE)) 00015 #define BSE_IS_MIDI_DEVICE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIDI_DEVICE)) 00016 #define BSE_MIDI_DEVICE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIDI_DEVICE, BseMidiDeviceClass)) 00017 00018 struct BseMidiHandle /* this should be nuked, it's useless */ 00019 { 00020 guint readable : 1; 00021 guint writable : 1; 00022 guint running_thread : 1; 00023 BseMidiDecoder *midi_decoder; 00024 }; 00025 struct BseMidiDevice : BseDevice { 00026 BseMidiDecoder *midi_decoder; 00027 /* operational handle */ 00028 BseMidiHandle *handle; 00029 }; 00030 struct BseMidiDeviceClass : BseDeviceClass 00031 {}; 00032 00033 void bse_midi_handle_init (BseMidiHandle *handle); 00034 G_END_DECLS 00035 #endif /* __BSE_MIDI_DEVICE_H__ */