mirror of
https://github.com/AquaMorph/Droplets.git
synced 2025-04-29 17:35:33 +00:00
Improved sequencer deadzone
This commit is contained in:
parent
d976d69d27
commit
e46e0f0265
@ -23,13 +23,16 @@ void SequencerDroplet::Control() {
|
||||
Reset();
|
||||
}
|
||||
|
||||
for (size_t chn = GetChannelMin(); chn < GetChannelMax(); chn++) {
|
||||
if (std::abs(control[chn].Process()-last_control_value[chn]) > CONTROL_DEADZONE) {
|
||||
sequence[chn+selected*num_columns] = control[chn].Process();
|
||||
if (control_rate_count == CONTROL_RATE_LIMIT) {
|
||||
for (size_t chn = GetChannelMin(); chn < GetChannelMax(); chn++) {
|
||||
if (std::abs(control[chn].Process()-last_control_value[chn]) > CONTROL_DEADZONE) {
|
||||
sequence[chn+selected*num_columns] = control[chn].Process();
|
||||
}
|
||||
last_control_value[chn] = control[chn].Process();
|
||||
last_control_value[chn] = control[chn].Process();
|
||||
}
|
||||
control_rate_count = 0;
|
||||
}
|
||||
|
||||
control_rate_count++;
|
||||
}
|
||||
|
||||
void SequencerDroplet::Process(AudioHandle::InputBuffer in,
|
||||
|
@ -10,7 +10,8 @@
|
||||
#include "../util.h"
|
||||
|
||||
#define MAX_SEQUENCE_LENGTH 32
|
||||
#define CONTROL_DEADZONE 0.005f
|
||||
#define CONTROL_DEADZONE 0.003f
|
||||
#define CONTROL_RATE_LIMIT 20
|
||||
#define NUM_ROWS 6
|
||||
|
||||
class SequencerDroplet: public Droplet {
|
||||
@ -19,6 +20,7 @@ private:
|
||||
int selected = 0;
|
||||
int sequence_length = 16;
|
||||
int num_columns = 4;
|
||||
int control_rate_count = 0;
|
||||
float sequence[MAX_SEQUENCE_LENGTH] = { 0.0f };
|
||||
Parameter control[4];
|
||||
float last_control_value[4] = { 0.0f };
|
||||
|
Loading…
x
Reference in New Issue
Block a user