zynaddsubfx

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

commit 6ec286840dceeec9e84b8b78322ed4832c469e0a
parent 91692211404172dfd9d1e210c1f7cf1c3b064f27
Author: Friedolino <mkirchn@freenet.de>
Date:   Tue, 26 May 2020 16:49:10 +0200

add nprn controllers for part insert effects

master insert effects on midi channel 0
part insert effects on channels 1 and above

Diffstat:
Mdoc/nrpn.txt | 5+++--
Msrc/Misc/Master.cpp | 4+++-
Msrc/Nio/MidiIn.cpp | 2+-
3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/doc/nrpn.txt b/doc/nrpn.txt @@ -6,8 +6,9 @@ For example, you may change the reverb time when playing to keyboard or flanger's lfo frequency. You can disable the NRPN receiving by deselecting the "NRPN" checkbox from the main window (near "Master Keyshift" counter). -The controls can be sent on any midi channel -(the midi channels numbers are ignored). +The controls for system effects can be sent on any midi channel +The controls for insertion effects on channel 0 are for system insertion effects +the controls on channels 1 .. 15 are for the corresponding part insertion effects The parameters are: diff --git a/src/Misc/Master.cpp b/src/Misc/Master.cpp @@ -999,8 +999,10 @@ void Master::setController(char chan, int type, int par) sysefx[parlo]->seteffectparrt(valhi, vallo); break; case 0x08: //Insertion Effects - if(parlo < NUM_INS_EFX) + if(chan == 0 && parlo < NUM_INS_EFX) insefx[parlo]->seteffectparrt(valhi, vallo); + else if (chan < NUM_MIDI_PARTS && parlo < NUM_PART_EFX) + part[chan-1]->partefx[parlo]->seteffectparrt(valhi, vallo); break; } } diff --git a/src/Nio/MidiIn.cpp b/src/Nio/MidiIn.cpp @@ -28,7 +28,7 @@ uint8_t MidiIn::midiSysEx(unsigned char data) { if (data & 0x80) { if (data == 0xF0) { - sysex_offset = 0; /* begin */ + sysex_offset = 0; /* begin */ } else if (data == 0xF7) { return (2); /* end */ } else {