BEAST - Free Software Audio Synthesizer and Tracker  0.10.0
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 G_BEGIN_DECLS
9 
10 /* --- object type macros --- */
11 #define BSE_TYPE_MIDI_SYNTH (BSE_TYPE_ID (BseMidiSynth))
12 #define BSE_MIDI_SYNTH(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_MIDI_SYNTH, BseMidiSynth))
13 #define BSE_MIDI_SYNTH_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_MIDI_SYNTH, BseMidiSynthClass))
14 #define BSE_IS_MIDI_SYNTH(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MIDI_SYNTH))
15 #define BSE_IS_MIDI_SYNTH_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIDI_SYNTH))
16 #define BSE_MIDI_SYNTH_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIDI_SYNTH, BseMidiSynthClass))
17 
19  guint midi_channel_id;
20  guint n_voices;
21  gfloat volume_factor; /* 1-based factor */
22  BseSNet *snet;
23  BseSNet *pnet;
24  BseSource *voice_input;
25  BseSource *voice_switch;
26  BseSource *context_merger;
27  BseSource *postprocess;
28  BseSource *output;
29  BseSource *sub_synth;
30 };
32 {};
33 
34 G_END_DECLS
35 
36 namespace Bse {
37 
38 class MidiSynthImpl : public SNetImpl, public virtual MidiSynthIface {
39 protected:
40  virtual ~MidiSynthImpl ();
41 public:
42  explicit MidiSynthImpl (BseObject*);
43 };
44 
45 } // Bse
46 
47 #endif /* __BSE_MIDI_SYNTH_H__ */
The Bse namespace contains all functions of the synthesis engine.
Definition: bstbseutils.cc:88
Definition: bsesnet.hh:109
Definition: bsesnet.hh:36
See also the corresponding IDL class MidiSynth.
Definition: bseserverapi.hh:1453
Definition: bsemidisynth.hh:38
Definition: bseobject.hh:61
Definition: bsesource.hh:84
Definition: bsemidisynth.hh:18
Definition: bsemidisynth.hh:31
Definition: bsesnet.hh:45