zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit c09c73551618b5cc2322b4d7065639b1aa05f6e0
parent e0c0d1c2e5c4db4a944bb346a955de871cf16c15
Author: fundamental <mark.d.mccurry@gmail.com>
Date:   Mon,  1 Aug 2016 09:42:26 -0400

Middleware: Eliminate Returning Unlearned MIDI CCs

Diffstat:
Msrc/Misc/MiddleWare.cpp | 20++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/src/Misc/MiddleWare.cpp b/src/Misc/MiddleWare.cpp @@ -1321,16 +1321,20 @@ static rtosc::Ports middwareSnoopPorts = { #define MAX_MIDI 32 rtosc_arg_t args[MAX_MIDI*4]; char argt[MAX_MIDI*4+1] = {0}; + int j=0; for(unsigned i=0; i<key.size() && i<MAX_MIDI; ++i) { auto val = midi.inv_map[key[i]]; - argt[4*i+0] = 'i'; - args[4*i+0].i = std::get<1>(val); - argt[4*i+1] = 's'; - args[4*i+1].s = key[i].c_str(); - argt[4*i+2] = 'i'; - args[4*i+2].i = 0; - argt[4*i+3] = 'i'; - args[4*i+3].i = 127; + if(std::get<1>(val) == -1) + continue; + argt[4*j+0] = 'i'; + args[4*j+0].i = std::get<1>(val); + argt[4*j+1] = 's'; + args[4*j+1].s = key[i].c_str(); + argt[4*j+2] = 'i'; + args[4*j+2].i = 0; + argt[4*j+3] = 'i'; + args[4*j+3].i = 127; + j++; } d.replyArray(d.loc, argt, args);