3 #ifndef SPECTMORPH_MIDI_SYNTH_HH 4 #define SPECTMORPH_MIDI_SYNTH_HH 6 #include "smmorphplansynth.hh" 42 std::vector<Voice> voices;
43 std::vector<Voice *> idle_voices;
44 std::vector<Voice *> active_voices;
51 void free_unused_voices();
52 float freq_from_note (
float note);
54 void process_audio (
float *output,
size_t n_values);
55 void process_note_on (
int midi_note,
int midi_velocity);
56 void process_note_off (
int midi_note);
57 void process_midi_controller (
int controller,
int value);
64 bool is_note_on()
const;
65 bool is_note_off()
const;
66 bool is_controller()
const;
68 std::vector<MidiEvent> midi_events;
71 MidiSynth (
double mix_freq,
size_t n_voices);
73 void add_midi_event (
size_t offset,
const unsigned char *midi_data);
74 void process (
float *output,
size_t n_values);
76 void set_control_input (
int i,
float value);
79 size_t active_voice_count()
const;
Definition: smmorphplansynth.hh:15
Definition: smmorphplanvoice.hh:14
Definition: smaudio.hh:15
Definition: smmidisynth.hh:10