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_CONTROLLER_H__ 00003 #define __BSE_MIDI_CONTROLLER_H__ 00004 00005 #include <bse/bsesource.hh> 00006 #include <bse/bsemidievent.hh> 00007 00008 G_BEGIN_DECLS 00009 00010 00011 /* --- object type macros --- */ 00012 #define BSE_TYPE_MIDI_CONTROLLER (BSE_TYPE_ID (BseMidiController)) 00013 #define BSE_MIDI_CONTROLLER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_MIDI_CONTROLLER, BseMidiController)) 00014 #define BSE_MIDI_CONTROLLER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_MIDI_CONTROLLER, BseMidiControllerClass)) 00015 #define BSE_IS_CONTROLLER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MIDI_CONTROLLER)) 00016 #define BSE_IS_CONTROLLER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIDI_CONTROLLER)) 00017 #define BSE_MIDI_CONTROLLER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIDI_CONTROLLER, BseMidiControllerClassOut)) 00018 00019 struct BseMidiController : BseSource { 00020 guint midi_channel; 00021 BseMidiSignalType controls[4]; 00022 }; 00023 struct BseMidiControllerClass : BseSourceClass 00024 {}; 00025 00026 enum 00027 { 00028 BSE_MIDI_CONTROLLER_OCHANNEL_CONTROL1, 00029 BSE_MIDI_CONTROLLER_OCHANNEL_CONTROL2, 00030 BSE_MIDI_CONTROLLER_OCHANNEL_CONTROL3, 00031 BSE_MIDI_CONTROLLER_OCHANNEL_CONTROL4, 00032 BSE_MIDI_CONTROLLER_N_OCHANNELS 00033 }; 00034 00035 00036 G_END_DECLS 00037 00038 #endif /* __BSE_MIDI_CONTROLLER_H__ */