Skip to content

Commit

Permalink
Fix a skipped event -> stuck note in the CLAP
Browse files Browse the repository at this point in the history
Events at the end of the block still need handling for block sizes
which are not a power of block size. This would often stick notes in
reaper clap
  • Loading branch information
baconpaul committed Dec 22, 2024
1 parent 169245b commit 79716e1
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
1 change: 1 addition & 0 deletions doc/design.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Sunday
- LFO on Mixer Node to level or pan
- LFO mul or plus on consistently on all three nodes
- LFO Level Built In
- AM is somehow not quiet right. Signal to zero seems 'no modulation' not 'no output'
- preset factory set with cmakerc
- preset scan user directory to make tree
- param split for voices and base/top
Expand Down
11 changes: 11 additions & 0 deletions src/clap/six-sines-clap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,16 @@ struct SixSinesClap : public plugHelper_t, sst::clap_juce_shim::EditorProvider
blockPos = 0;
}
}

while (nextEvent)
{
handleEvent(nextEvent);
nextEventIndex++;
if (nextEventIndex < sz)
nextEvent = ev->get(ev, nextEventIndex);
else
nextEvent = nullptr;
}
return CLAP_PROCESS_CONTINUE;
}
bool handleEvent(const clap_event_header_t *nextEvent)
Expand Down Expand Up @@ -192,6 +202,7 @@ struct SixSinesClap : public plugHelper_t, sst::clap_juce_shim::EditorProvider
break;
default:
{
SXSNLOG("Unknown inbound event of type " << nextEvent->type);
}
break;
}
Expand Down

0 comments on commit 79716e1

Please sign in to comment.