summaryrefslogtreecommitdiff
path: root/synth/channel.h
diff options
context:
space:
mode:
Diffstat (limited to 'synth/channel.h')
-rw-r--r--synth/channel.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/synth/channel.h b/synth/channel.h
index ead3a67..4ddcbb3 100644
--- a/synth/channel.h
+++ b/synth/channel.h
@@ -24,6 +24,7 @@ class Channel
void set_pitch_bend(float val);
void note_on(int note, int vel);
void note_off(int note);
+ void really_do_note_off(int note);
void cleanup();
void release_all();
void panic();
@@ -36,6 +37,10 @@ class Channel
void set_quick_release(int val);
void reset_controllers();
+ void set_hold_pedal(bool newstate);
+ void set_sostenuto_pedal(bool newstate);
+
+
float balL, balR;
private:
void recalc_param(const parameter_t &par, program_t &prg);
@@ -58,6 +63,13 @@ class Channel
int n_voices;
jack_nframes_t quick_release;
+
+ set<int> pressed_keys;
+
+ bool hold_pedal_pressed;
+ set<int> held_keys;
+
+ set<int> sostenuto_keys;
};
#endif