summaryrefslogtreecommitdiff
path: root/synth/channel.h
diff options
context:
space:
mode:
authorFlorian Jung <flo@thinkpad.(none)>2011-01-08 14:43:26 +0100
committerFlorian Jung <flo@thinkpad.(none)>2011-01-08 14:50:49 +0100
commit43510e6fb436b7f4926c69e584861ec6f4936dc3 (patch)
tree724e2a0c1ef27a9070f2b0f6a5126af6d1766de7 /synth/channel.h
parentae8c1183ac4f9a3e3c54ac7fb57fe7d1631d1740 (diff)
Added support for hold- and sostenuto pedals
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