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_SUB_SYNTH_H__ 00003 #define __BSE_SUB_SYNTH_H__ 00004 #include <bse/bsesource.hh> 00005 G_BEGIN_DECLS 00006 00007 #define BSE_TYPE_SUB_SYNTH (BSE_TYPE_ID (BseSubSynth)) 00008 #define BSE_SUB_SYNTH(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_SUB_SYNTH, BseSubSynth)) 00009 #define BSE_SUB_SYNTH_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_SUB_SYNTH, BseSubSynthClass)) 00010 #define BSE_IS_SUB_SYNTH(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_SUB_SYNTH)) 00011 #define BSE_IS_SUB_SYNTH_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_SUB_SYNTH)) 00012 #define BSE_SUB_SYNTH_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_SUB_SYNTH, BseSubSynthClass)) 00013 00014 struct BseSubSynth : BseSource { 00015 BseSNet *snet; 00016 gchar **input_ports; 00017 gchar **output_ports; 00018 guint midi_channel; 00019 guint null_shortcut : 1; 00020 }; 00021 struct BseSubSynthClass : BseSourceClass 00022 {}; 00023 00024 /* whether to shortcut inputs with outputs for snet==NULL */ 00025 void bse_sub_synth_set_null_shortcut (BseSubSynth *self, 00026 gboolean enabled); 00027 /* override midi_channel for snet, or if midi_channel==0 inherit from parent */ 00028 void bse_sub_synth_set_midi_channel (BseSubSynth *self, 00029 guint midi_channel); 00030 00031 00032 G_END_DECLS 00033 00034 #endif /* __BSE_SUB_SYNTH_H__ */