2 #ifndef __BSE_MIDI_RECEIVER_H__
3 #define __BSE_MIDI_RECEIVER_H__
12 #define BSE_MIDI_CONTROL_MODULE_N_CHANNELS (4)
13 #define BSE_MIDI_VOICE_MODULE_N_CHANNELS (4)
14 #define BSE_MIDI_VOICE_N_CHANNELS (3)
15 typedef void (*BseMidiControlHandler) (gpointer handler_data,
17 Bse::MidiSignal signal_type,
20 BseModule *
const *modules,
23 BseMidiReceiver* bse_midi_receiver_new (
const gchar *receiver_name);
24 BseMidiReceiver* bse_midi_receiver_ref (BseMidiReceiver *
self);
25 void bse_midi_receiver_unref (BseMidiReceiver *
self);
26 void bse_midi_receiver_push_event (BseMidiReceiver *
self,
28 void bse_midi_receiver_process_events (BseMidiReceiver *
self,
29 guint64 max_tick_stamp);
30 BseModule* bse_midi_receiver_retrieve_control_module (BseMidiReceiver *
self,
32 Bse::MidiSignal signals[BSE_MIDI_CONTROL_MODULE_N_CHANNELS],
34 void bse_midi_receiver_discard_control_module (BseMidiReceiver *
self,
37 gboolean bse_midi_receiver_add_control_handler (BseMidiReceiver *
self,
39 Bse::MidiSignal signal_type,
40 BseMidiControlHandler handler_func,
41 gpointer handler_data,
43 void bse_midi_receiver_set_control_handler_data(BseMidiReceiver *
self,
45 Bse::MidiSignal signal_type,
46 BseMidiControlHandler handler_func,
47 gpointer handler_data,
49 BseFreeFunc extra_free);
50 void bse_midi_receiver_remove_control_handler (BseMidiReceiver *
self,
52 Bse::MidiSignal signal_type,
53 BseMidiControlHandler handler_func,
54 gpointer handler_data,
56 BseModule* bse_midi_receiver_retrieve_mono_voice (BseMidiReceiver *
self,
59 void bse_midi_receiver_discard_mono_voice (BseMidiReceiver *
self,
63 void bse_midi_receiver_channel_enable_poly (BseMidiReceiver *
self,
65 void bse_midi_receiver_channel_disable_poly (BseMidiReceiver *
self,
67 guint bse_midi_receiver_create_poly_voice (BseMidiReceiver *
self,
70 void bse_midi_receiver_discard_poly_voice (BseMidiReceiver *
self,
74 BseModule* bse_midi_receiver_get_poly_voice_input (BseMidiReceiver *
self,
77 BseModule* bse_midi_receiver_get_poly_voice_output (BseMidiReceiver *
self,
80 BseModule* bse_midi_receiver_create_sub_voice (BseMidiReceiver *
self,
84 void bse_midi_receiver_discard_sub_voice (BseMidiReceiver *
self,
89 void bse_midi_receiver_set_notifier (BseMidiReceiver *
self,
91 gboolean bse_midi_receiver_has_notify_events (BseMidiReceiver *
self);
92 SfiRing* bse_midi_receiver_fetch_notify_events (BseMidiReceiver *
self);
93 gboolean bse_midi_receiver_voices_pending (BseMidiReceiver *
self,
95 void bse_midi_receiver_enter_farm (BseMidiReceiver *
self);
96 void bse_midi_receiver_farm_distribute_event (
BseMidiEvent *event);
97 void bse_midi_receiver_farm_process_events (guint64 max_tick_stamp);
98 void bse_midi_receiver_leave_farm (BseMidiReceiver *
self);
Definition: sfiring.hh:23
Definition: bsemidinotifier.hh:19
Definition: bsemidievent.hh:74