Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bsemidisynth.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BSE_MIDI_SYNTH_H__
3 #define __BSE_MIDI_SYNTH_H__
4 
5 #include <bse/bsesnet.hh>
6 #include <bse/bsesubsynth.hh>
7 
8 /* --- object type macros --- */
9 #define BSE_TYPE_MIDI_SYNTH (BSE_TYPE_ID (BseMidiSynth))
10 #define BSE_MIDI_SYNTH(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_MIDI_SYNTH, BseMidiSynth))
11 #define BSE_MIDI_SYNTH_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_MIDI_SYNTH, BseMidiSynthClass))
12 #define BSE_IS_MIDI_SYNTH(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MIDI_SYNTH))
13 #define BSE_IS_MIDI_SYNTH_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIDI_SYNTH))
14 #define BSE_MIDI_SYNTH_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIDI_SYNTH, BseMidiSynthClass))
15 
17  guint midi_channel_id;
18  guint n_voices;
19  gfloat volume_factor; /* 1-based factor */
20  BseSNet *snet;
21  BseSNet *pnet;
22  BseSource *voice_input;
23  BseSource *voice_switch;
24  BseSource *context_merger;
25  BseSource *postprocess;
26  BseSource *output;
27  BseSource *sub_synth;
28 };
30 {};
31 
32 namespace Bse {
33 
34 class MidiSynthImpl : public SNetImpl, public virtual MidiSynthIface {
35 protected:
36  virtual ~MidiSynthImpl ();
37 public:
38  explicit MidiSynthImpl (BseObject*);
39 };
40 
41 } // Bse
42 
43 #endif /* __BSE_MIDI_SYNTH_H__ */
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:91
Definition: bsesnet.hh:105
Definition: bsesnet.hh:34
Definition: bsemidisynth.hh:34
Definition: bseobject.hh:57
Definition: bsesource.hh:82
Definition: bsemidisynth.hh:16
Definition: bsemidisynth.hh:29
Definition: bsesnet.hh:43