Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
bsemidivoice.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_VOICE_H__
3 #define __BSE_MIDI_VOICE_H__
4 
5 #include <bse/bsesource.hh>
6 #include <bse/bsesnet.hh>
7 
8 /* --- object type macros --- */
9 #define BSE_TYPE_MIDI_VOICE_INPUT (BSE_TYPE_ID (BseMidiVoiceInput))
10 #define BSE_MIDI_VOICE_INPUT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_MIDI_VOICE_INPUT, BseMidiVoiceInput))
11 #define BSE_MIDI_VOICE_INPUT_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_MIDI_VOICE_INPUT, BseMidiVoiceInputClass))
12 #define BSE_IS_MIDI_VOICE_INPUT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MIDI_VOICE_INPUT))
13 #define BSE_IS_MIDI_VOICE_INPUT_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIDI_VOICE_INPUT))
14 #define BSE_MIDI_VOICE_INPUT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIDI_VOICE_INPUT, BseMidiVoiceInputClass))
15 #define BSE_TYPE_MIDI_VOICE_SWITCH (BSE_TYPE_ID (BseMidiVoiceSwitch))
16 #define BSE_MIDI_VOICE_SWITCH(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_MIDI_VOICE_SWITCH, BseMidiVoiceSwitch))
17 #define BSE_MIDI_VOICE_SWITCH_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_MIDI_VOICE_SWITCH, BseMidiVoiceSwitchClass))
18 #define BSE_IS_MIDI_VOICE_SWITCH(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_MIDI_VOICE_SWITCH))
19 #define BSE_IS_MIDI_VOICE_SWITCH_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_MIDI_VOICE_SWITCH))
20 #define BSE_MIDI_VOICE_SWITCH_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_MIDI_VOICE_SWITCH, BseMidiVoiceSwitchClass))
21 
23  guint midi_channel;
24  GSList *midi_voices;
25 };
27 {};
29  BseMidiVoiceSwitch *voice_switch;
30 };
32 {};
33 
34 void bse_midi_voice_switch_set_midi_channel (BseMidiVoiceSwitch *self,
35  guint midi_channel);
36 BseMidiContext bse_midi_voice_switch_ref_poly_voice (BseMidiVoiceSwitch *self,
37  guint context_handle,
38  BseTrans *trans);
39 BseMidiContext bse_midi_voice_switch_peek_poly_voice (BseMidiVoiceSwitch *self,
40  guint context_handle);
41 void bse_midi_voice_switch_unref_poly_voice (BseMidiVoiceSwitch *self,
42  guint context_handle,
43  BseTrans *trans);
44 void bse_midi_voice_input_set_voice_switch (BseMidiVoiceInput *self,
45  BseMidiVoiceSwitch *voice_switch);
46 
47 
48 /* --- channels --- */
49 enum
50 {
51  BSE_MIDI_VOICE_INPUT_OCHANNEL_FREQUENCY,
52  BSE_MIDI_VOICE_INPUT_OCHANNEL_GATE,
53  BSE_MIDI_VOICE_INPUT_OCHANNEL_VELOCITY,
54  BSE_MIDI_VOICE_INPUT_OCHANNEL_AFTERTOUCH
55 };
56 enum
57 {
58  BSE_MIDI_VOICE_SWITCH_ICHANNEL_LEFT,
59  BSE_MIDI_VOICE_SWITCH_ICHANNEL_RIGHT,
60  BSE_MIDI_VOICE_SWITCH_ICHANNEL_DISCONNECT
61 };
62 enum
63 {
64  BSE_MIDI_VOICE_SWITCH_OCHANNEL_LEFT,
65  BSE_MIDI_VOICE_SWITCH_OCHANNEL_RIGHT,
66  BSE_MIDI_VOICE_SWITCH_OCHANNEL_DISCONNECT
67 };
68 
69 #endif /* __BSE_MIDI_VOICE_H__ */
Definition: bsesnet.hh:46
Definition: bsemidivoice.hh:26
Definition: bsemidivoice.hh:22
Definition: bsemidivoice.hh:31
Definition: bsemidivoice.hh:28
Definition: bsesource.hh:82
Definition: bsesource.hh:90