Fix values from pots being always passed on to the processor

This commit is contained in:
Jan-Henrik 2020-05-09 15:02:51 +02:00
parent f741f25f93
commit 8557960572
3 changed files with 8 additions and 6 deletions

View file

@ -55,7 +55,7 @@ class PotController {
PotController() { } PotController() { }
~PotController() { } ~PotController() { }
inline void Init( void Init(
uint16_t* main_parameter, uint16_t* main_parameter,
uint16_t* hidden_parameters[hidden_parameter_count]) // this pot controller always works on values between 0 and 65535 uint16_t* hidden_parameters[hidden_parameter_count]) // this pot controller always works on values between 0 and 65535
{ {

View file

@ -48,10 +48,9 @@ void UI::Poll()
} }
for (size_t i = 0; i < kNumChannels * 2; i++) { for (size_t i = 0; i < kNumChannels * 2; i++) {
if (i >= kNumChannels) { if (i < kNumChannels) {
processors[i - kNumChannels].set_pan_offset(adc->value(ADC_GROUP_POT + i) - 32767L); processors[i].set_pan_offset(pan_pots[i] - 32767);
} else { processors[i].set_volume_offset(volume_pots[i]);
processors[i].set_volume_offset(adc->value(ADC_GROUP_POT + i));
} }
if (abs(previous_pot_values[i] - adc->value(ADC_GROUP_POT + i)) > 1900) { if (abs(previous_pot_values[i] - adc->value(ADC_GROUP_POT + i)) > 1900) {
previous_pot_values[i] = adc->value(ADC_GROUP_POT + i); previous_pot_values[i] = adc->value(ADC_GROUP_POT + i);

View file

@ -21,6 +21,8 @@ class UI {
{ {
queue.Init(); queue.Init();
};
void Init() {
for (size_t i = 0; i < kNumChannels; i++) { for (size_t i = 0; i < kNumChannels; i++) {
uint16_t* volume_hidden_params[kNumChannels] = {&volume_att_pots[i], &volume_att_pots[i], &volume_att_pots[i], &volume_att_pots[i]}; uint16_t* volume_hidden_params[kNumChannels] = {&volume_att_pots[i], &volume_att_pots[i], &volume_att_pots[i], &volume_att_pots[i]};
potControllers[i].Init(&volume_pots[i], volume_hidden_params); potControllers[i].Init(&volume_pots[i], volume_hidden_params);
@ -29,7 +31,8 @@ class UI {
volume_att_pots[i] = pan_att_pots[i] = 65535; volume_att_pots[i] = pan_att_pots[i] = 65535;
} }
};
}
void Poll(); void Poll();
void DoEvents(); void DoEvents();