parent
04d41dc4e1
commit
8487a7516d
|
@ -1853,8 +1853,8 @@ void DivEngine::nextBuf(float** in, float** out, int inChans, int outChans, unsi
|
||||||
int chan=msg.type&15;
|
int chan=msg.type&15;
|
||||||
switch (msg.type&0xf0) {
|
switch (msg.type&0xf0) {
|
||||||
case TA_MIDI_NOTE_OFF: {
|
case TA_MIDI_NOTE_OFF: {
|
||||||
if (chan<0 || chan>=chans) break;
|
|
||||||
if (midiIsDirect) {
|
if (midiIsDirect) {
|
||||||
|
if (chan<0 || chan>=chans) break;
|
||||||
pendingNotes.push_back(DivNoteEvent(chan,-1,-1,-1,false,false,true));
|
pendingNotes.push_back(DivNoteEvent(chan,-1,-1,-1,false,false,true));
|
||||||
} else {
|
} else {
|
||||||
autoNoteOff(msg.type&15,msg.data[0]-12,msg.data[1]);
|
autoNoteOff(msg.type&15,msg.data[0]-12,msg.data[1]);
|
||||||
|
@ -1867,15 +1867,16 @@ void DivEngine::nextBuf(float** in, float** out, int inChans, int outChans, unsi
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TA_MIDI_NOTE_ON: {
|
case TA_MIDI_NOTE_ON: {
|
||||||
if (chan<0 || chan>=chans) break;
|
|
||||||
if (msg.data[1]==0) {
|
if (msg.data[1]==0) {
|
||||||
if (midiIsDirect) {
|
if (midiIsDirect) {
|
||||||
|
if (chan<0 || chan>=chans) break;
|
||||||
pendingNotes.push_back(DivNoteEvent(chan,-1,-1,-1,false,false,true));
|
pendingNotes.push_back(DivNoteEvent(chan,-1,-1,-1,false,false,true));
|
||||||
} else {
|
} else {
|
||||||
autoNoteOff(msg.type&15,msg.data[0]-12,msg.data[1]);
|
autoNoteOff(msg.type&15,msg.data[0]-12,msg.data[1]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (midiIsDirect) {
|
if (midiIsDirect) {
|
||||||
|
if (chan<0 || chan>=chans) break;
|
||||||
pendingNotes.push_back(DivNoteEvent(chan,ins,msg.data[0]-12,msg.data[1],true,false,true));
|
pendingNotes.push_back(DivNoteEvent(chan,ins,msg.data[0]-12,msg.data[1],true,false,true));
|
||||||
} else {
|
} else {
|
||||||
autoNoteOn(msg.type&15,ins,msg.data[0]-12,msg.data[1]);
|
autoNoteOn(msg.type&15,ins,msg.data[0]-12,msg.data[1]);
|
||||||
|
@ -1890,6 +1891,8 @@ void DivEngine::nextBuf(float** in, float** out, int inChans, int outChans, unsi
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (midiDebug) {
|
||||||
|
logD("callback wants ignore");
|
||||||
}
|
}
|
||||||
//logD("%.2x",msg.type);
|
//logD("%.2x",msg.type);
|
||||||
output->midiIn->queue.pop();
|
output->midiIn->queue.pop();
|
||||||
|
|
Loading…
Reference in a new issue