BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
bsemidisynth.hh
Go to the documentation of this file.
00001  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
00002 #ifndef __BSE_MIDI_SYNTH_H__
00003 #define __BSE_MIDI_SYNTH_H__
00004 
00005 #include        <bse/bsesnet.hh>
00006 #include        <bse/bsesubsynth.hh>
00007 
00008 G_BEGIN_DECLS
00009 
00010 /* --- object type macros --- */
00011 #define BSE_TYPE_MIDI_SYNTH              (BSE_TYPE_ID (BseMidiSynth))
00012 #define BSE_MIDI_SYNTH(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_MIDI_SYNTH, BseMidiSynth))
00013 #define BSE_MIDI_SYNTH_CLASS(class)      (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_MIDI_SYNTH, BseMidiSynthClass))
00014 #define BSE_IS_MIDI_SYNTH(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MIDI_SYNTH))
00015 #define BSE_IS_MIDI_SYNTH_CLASS(class)   (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIDI_SYNTH))
00016 #define BSE_MIDI_SYNTH_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIDI_SYNTH, BseMidiSynthClass))
00017 
00018 struct BseMidiSynth : BseSNet {
00019   guint          midi_channel_id;
00020   guint          n_voices;
00021   gfloat         volume_factor;         /* 1-based factor */
00022   BseSNet       *snet;
00023   BseSNet       *pnet;
00024   BseSource     *voice_input;
00025   BseSource     *voice_switch;
00026   BseSource     *context_merger;
00027   BseSource     *postprocess;
00028   BseSource     *output;
00029   BseSource     *sub_synth;
00030 };
00031 struct BseMidiSynthClass : BseSNetClass
00032 {};
00033 
00034 G_END_DECLS
00035 #endif /* __BSE_MIDI_SYNTH_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines