summaryrefslogtreecommitdiff
path: root/src/mdaPiano.cpp
diff options
context:
space:
mode:
authorrekado <rekado@elephly.net>2013-01-14 21:36:55 +0800
committerrekado <rekado@elephly.net>2013-01-14 21:42:14 +0800
commita05e7ee521b3273f67bfea530cbaadf1f1b0fa3d (patch)
tree901f5cd59c2346d7af4e79a8faf20d9d8c335136 /src/mdaPiano.cpp
parenta5c1fa43261a7ce246a92c6ffd1c339b4cb1b613 (diff)
implement muffling setter
Diffstat (limited to 'src/mdaPiano.cpp')
-rw-r--r--src/mdaPiano.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mdaPiano.cpp b/src/mdaPiano.cpp
index 9912c75..a015439 100644
--- a/src/mdaPiano.cpp
+++ b/src/mdaPiano.cpp
@@ -98,8 +98,13 @@ void mdaPiano::handle_midi(uint32_t size, unsigned char* data) {
{
case 0x01: //mod wheel
case 0x43: //soft pedal
- muff = 0.01f * (float)((127 - data[2]) * (127 - data[2]));
- break;
+ {
+ float muff = 0.01f * (float)((127 - data[2]) * (127 - data[2]));
+ for (unsigned i = 0; i < NVOICES; ++i) {
+ voices[i]->set_muff(muff);
+ }
+ break;
+ }
case 0x07: //volume
setVolume(0.00002f * (float)(data[2] * data[2]));