Skip to content

Commit 6be8570

Browse files
author
Greg Smith
committed
Fixed issues with GP5 Reverb parameters on LCD UI.
1 parent 1817330 commit 6be8570

File tree

3 files changed

+296
-50
lines changed

3 files changed

+296
-50
lines changed

build_distrib/build_distrib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
dirname = Path.cwd()
1010

1111
# set version
12-
version = '2.0.2.2_beta_3'
12+
version = '2.0.2.2_beta_4'
1313

1414
def delete_files_in_folder(directory):
1515
for filename in os.listdir(directory):

source/main/display_valeton.c

Lines changed: 254 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -368,9 +368,18 @@ void valeton_action_parameter_changed(lv_event_t * e)
368368
#if CONFIG_TONEX_CONTROLLER_DISPLAY_FULL_UI
369369
// get the object that was changed
370370
lv_obj_t* obj = lv_event_get_current_target(e);
371+
tModellerParameter* param_ptr;
372+
uint16_t reverb_mode = 0;
371373

372374
ESP_LOGI(TAG, "Valeton Parameter changed");
373375

376+
if (valeton_params_get_locked_access(&param_ptr) == ESP_OK)
377+
{
378+
// get reverb model in case we need it
379+
reverb_mode = ((int)param_ptr[VALETON_PARAM_RVB_TYPE].Value);
380+
valeton_params_release_locked_access();
381+
}
382+
374383
// Block Switches
375384
if (obj == objects.ui_val_nr_block_switch)
376385
{
@@ -628,19 +637,95 @@ void valeton_action_parameter_changed(lv_event_t * e)
628637
}
629638
else if (obj == objects.ui_val_rvb_param1_slider)
630639
{
631-
usb_modify_parameter(VALETON_PARAM_RVB_PARAM_1, ((float)lv_slider_get_value(obj)));
640+
switch (reverb_mode)
641+
{
642+
case VALETON_EFFECT_RVB_AIR: // fallthrough
643+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
644+
case VALETON_EFFECT_RVB_PLATE: // fallthrough
645+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
646+
case VALETON_EFFECT_RVB_HALL: // fallthrough
647+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
648+
case VALETON_EFFECT_RVB_SWEET_SPACE:
649+
{
650+
// param 2
651+
usb_modify_parameter(VALETON_PARAM_RVB_PARAM_2, ((float)lv_slider_get_value(obj)));
652+
} break;
653+
654+
case VALETON_EFFECT_RVB_SPRING: // fallthrough
655+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
656+
case VALETON_EFFECT_RVB_DEEPSEA:
657+
{
658+
// param 1
659+
usb_modify_parameter(VALETON_PARAM_RVB_PARAM_1, ((float)lv_slider_get_value(obj)));
660+
} break;
661+
}
632662
}
633663
else if (obj == objects.ui_val_rvb_param2_slider)
634664
{
635-
usb_modify_parameter(VALETON_PARAM_RVB_PARAM_2, ((float)lv_slider_get_value(obj)));
665+
switch (reverb_mode)
666+
{
667+
case VALETON_EFFECT_RVB_AIR: // fallthrough
668+
case VALETON_EFFECT_RVB_PLATE: // fallthrough
669+
case VALETON_EFFECT_RVB_SWEET_SPACE:
670+
{
671+
// param 4
672+
usb_modify_parameter(VALETON_PARAM_RVB_PARAM_4, ((float)lv_slider_get_value(obj)));
673+
} break;
674+
675+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
676+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
677+
case VALETON_EFFECT_RVB_DEEPSEA: // fallthrough
678+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
679+
case VALETON_EFFECT_RVB_HALL: // fallthrough
680+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
681+
case VALETON_EFFECT_RVB_SPRING:
682+
{
683+
// not used
684+
} break;
685+
}
636686
}
637687
else if (obj == objects.ui_val_rvb_param3_slider)
638688
{
639-
usb_modify_parameter(VALETON_PARAM_RVB_PARAM_3, ((float)lv_slider_get_value(obj)));
689+
switch (reverb_mode)
690+
{
691+
case VALETON_EFFECT_RVB_AIR: // fallthrough
692+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
693+
case VALETON_EFFECT_RVB_PLATE: // fallthrough
694+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
695+
case VALETON_EFFECT_RVB_DEEPSEA: // fallthrough
696+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
697+
case VALETON_EFFECT_RVB_HALL: // fallthrough
698+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
699+
case VALETON_EFFECT_RVB_SPRING:
700+
{
701+
// not used
702+
} break;
703+
704+
case VALETON_EFFECT_RVB_SWEET_SPACE:
705+
{
706+
// Param 5
707+
usb_modify_parameter(VALETON_PARAM_RVB_PARAM_5, ((float)lv_slider_get_value(obj)));
708+
} break;
709+
}
640710
}
641711
else if (obj == objects.ui_val_rvb_param4_slider)
642712
{
643-
usb_modify_parameter(VALETON_PARAM_RVB_PARAM_4, ((float)lv_slider_get_value(obj)));
713+
switch (reverb_mode)
714+
{
715+
case VALETON_EFFECT_RVB_AIR: // fallthrough
716+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
717+
case VALETON_EFFECT_RVB_PLATE: // fallthrough
718+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
719+
case VALETON_EFFECT_RVB_DEEPSEA: // fallthrough
720+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
721+
case VALETON_EFFECT_RVB_HALL: // fallthrough
722+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
723+
case VALETON_EFFECT_RVB_SPRING: // fallthrough
724+
case VALETON_EFFECT_RVB_SWEET_SPACE:
725+
{
726+
// not used
727+
} break;
728+
}
644729
}
645730
// NS block
646731
else if (obj == objects.ui_val_ns_param0_slider)
@@ -3007,50 +3092,185 @@ uint8_t valeton_update_ui_parameters(void)
30073092

30083093
case VALETON_PARAM_RVB_PARAM_1:
30093094
{
3010-
lv_slider_set_range(objects.ui_val_rvb_param1_slider, param_entry->Min, param_entry->Max);
3011-
lv_slider_set_value(objects.ui_val_rvb_param1_slider, round(param_entry->Value), LV_ANIM_OFF);
3012-
sprintf(value_string, "%d", (int)round(param_entry->Value));
3013-
lv_label_set_text(objects.ui_val_rvb_param1_value, value_string);
3095+
switch ((int)param_ptr[VALETON_PARAM_RVB_TYPE].Value)
3096+
{
3097+
case VALETON_EFFECT_RVB_SPRING: // fallthrough
3098+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
3099+
case VALETON_EFFECT_RVB_DEEPSEA:
3100+
{
3101+
// Decay parameter
3102+
lv_slider_set_range(objects.ui_val_rvb_param1_slider, param_entry->Min, param_entry->Max);
3103+
lv_slider_set_value(objects.ui_val_rvb_param1_slider, round(param_entry->Value), LV_ANIM_OFF);
3104+
sprintf(value_string, "%d", (int)round(param_entry->Value));
3105+
lv_label_set_text(objects.ui_val_rvb_param1_value, value_string);
3106+
3107+
// set user data for later use
3108+
lv_obj_set_user_data(objects.ui_val_rvb_param1_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_1);
3109+
} break;
3110+
3111+
default:
3112+
{
3113+
// param not used
3114+
} break;
3115+
}
3116+
} break;
30143117

3015-
// set user data for later use
3016-
lv_obj_set_user_data(objects.ui_val_rvb_param1_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_1);
3017-
} break;
3018-
30193118
case VALETON_PARAM_RVB_PARAM_2:
30203119
{
3021-
lv_slider_set_range(objects.ui_val_rvb_param2_slider, param_entry->Min, param_entry->Max);
3022-
lv_slider_set_value(objects.ui_val_rvb_param2_slider, round(param_entry->Value), LV_ANIM_OFF);
3023-
sprintf(value_string, "%d", (int)round(param_entry->Value));
3024-
lv_label_set_text(objects.ui_val_rvb_param2_value, value_string);
3120+
switch ((int)param_ptr[VALETON_PARAM_RVB_TYPE].Value)
3121+
{
3122+
case VALETON_EFFECT_RVB_AIR: // fallthrough
3123+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
3124+
case VALETON_EFFECT_RVB_HALL: // fallthrough
3125+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
3126+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
3127+
case VALETON_EFFECT_RVB_PLATE:
3128+
{
3129+
// Decay parameter
3130+
lv_slider_set_range(objects.ui_val_rvb_param1_slider, param_entry->Min, param_entry->Max);
3131+
lv_slider_set_value(objects.ui_val_rvb_param1_slider, round(param_entry->Value), LV_ANIM_OFF);
3132+
sprintf(value_string, "%d", (int)round(param_entry->Value));
3133+
lv_label_set_text(objects.ui_val_rvb_param1_value, value_string);
3134+
3135+
// set user data for later use
3136+
lv_obj_set_user_data(objects.ui_val_rvb_param1_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_2);
3137+
} break;
30253138

3026-
// set user data for later use
3027-
lv_obj_set_user_data(objects.ui_val_rvb_param2_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_2);
3028-
} break;
3139+
case VALETON_EFFECT_RVB_SPRING:
3140+
{
3141+
// not used
3142+
} break;
3143+
3144+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
3145+
case VALETON_EFFECT_RVB_DEEPSEA:
3146+
{
3147+
// trail parameter - to do
3148+
} break;
3149+
3150+
case VALETON_EFFECT_RVB_SWEET_SPACE:
3151+
{
3152+
// decay parameter
3153+
lv_slider_set_range(objects.ui_val_rvb_param1_slider, param_entry->Min, param_entry->Max);
3154+
lv_slider_set_value(objects.ui_val_rvb_param1_slider, round(param_entry->Value), LV_ANIM_OFF);
3155+
sprintf(value_string, "%d", (int)round(param_entry->Value));
3156+
lv_label_set_text(objects.ui_val_rvb_param1_value, value_string);
3157+
3158+
// set user data for later use
3159+
lv_obj_set_user_data(objects.ui_val_rvb_param1_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_2);
3160+
} break;
3161+
}
3162+
} break;
30293163

30303164
case VALETON_PARAM_RVB_PARAM_3:
30313165
{
3032-
lv_slider_set_range(objects.ui_val_rvb_param3_slider, param_entry->Min, param_entry->Max);
3033-
lv_slider_set_value(objects.ui_val_rvb_param3_slider, round(param_entry->Value), LV_ANIM_OFF);
3034-
sprintf(value_string, "%d", (int)round(param_entry->Value));
3035-
lv_label_set_text(objects.ui_val_rvb_param3_value, value_string);
3166+
switch ((int)param_ptr[VALETON_PARAM_RVB_TYPE].Value)
3167+
{
3168+
case VALETON_EFFECT_RVB_AIR: // fallthrough
3169+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
3170+
case VALETON_EFFECT_RVB_PLATE: // fallthrough
3171+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
3172+
case VALETON_EFFECT_RVB_DEEPSEA: // fallthrough
3173+
case VALETON_EFFECT_RVB_SWEET_SPACE:
3174+
{
3175+
// not used
3176+
} break;
30363177

3037-
// set user data for later use
3038-
lv_obj_set_user_data(objects.ui_val_rvb_param3_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_3);
3178+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
3179+
case VALETON_EFFECT_RVB_HALL: // fallthrough
3180+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
3181+
case VALETON_EFFECT_RVB_SPRING:
3182+
{
3183+
// trail parameter - to do
3184+
} break;
3185+
}
30393186
} break;
3040-
3187+
30413188
case VALETON_PARAM_RVB_PARAM_4:
30423189
{
3043-
lv_slider_set_range(objects.ui_val_rvb_param4_slider, param_entry->Min, param_entry->Max);
3044-
lv_slider_set_value(objects.ui_val_rvb_param4_slider, round(param_entry->Value), LV_ANIM_OFF);
3045-
sprintf(value_string, "%d", (int)round(param_entry->Value));
3046-
lv_label_set_text(objects.ui_val_rvb_param4_value, value_string);
3190+
switch ((int)param_ptr[VALETON_PARAM_RVB_TYPE].Value)
3191+
{
3192+
case VALETON_EFFECT_RVB_AIR: // fallthrough
3193+
case VALETON_EFFECT_RVB_PLATE: // fallthrough
3194+
case VALETON_EFFECT_RVB_SWEET_SPACE:
3195+
{
3196+
// Dampening
3197+
lv_slider_set_range(objects.ui_val_rvb_param2_slider, param_entry->Min, param_entry->Max);
3198+
lv_slider_set_value(objects.ui_val_rvb_param2_slider, round(param_entry->Value), LV_ANIM_OFF);
3199+
sprintf(value_string, "%d", (int)round(param_entry->Value));
3200+
lv_label_set_text(objects.ui_val_rvb_param2_value, value_string);
3201+
3202+
// set user data for later use
3203+
lv_obj_set_user_data(objects.ui_val_rvb_param2_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_4);
3204+
} break;
30473205

3048-
// set user data for later use
3049-
lv_obj_set_user_data(objects.ui_val_rvb_param4_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_4);
3206+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
3207+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
3208+
case VALETON_EFFECT_RVB_DEEPSEA: // fallthrough
3209+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
3210+
case VALETON_EFFECT_RVB_HALL: // fallthrough
3211+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
3212+
case VALETON_EFFECT_RVB_SPRING:
3213+
{
3214+
// not used
3215+
} break;
3216+
}
3217+
} break;
3218+
3219+
case VALETON_PARAM_RVB_PARAM_5:
3220+
{
3221+
switch ((int)param_ptr[VALETON_PARAM_RVB_TYPE].Value)
3222+
{
3223+
case VALETON_EFFECT_RVB_SWEET_SPACE:
3224+
{
3225+
// Modulation parameter
3226+
lv_slider_set_range(objects.ui_val_rvb_param3_slider, param_entry->Min, param_entry->Max);
3227+
lv_slider_set_value(objects.ui_val_rvb_param3_slider, round(param_entry->Value), LV_ANIM_OFF);
3228+
sprintf(value_string, "%d", (int)round(param_entry->Value));
3229+
lv_label_set_text(objects.ui_val_rvb_param3_value, value_string);
3230+
3231+
// set user data for later use
3232+
lv_obj_set_user_data(objects.ui_val_rvb_param3_value, (void*)(uintptr_t)VALETON_PARAM_RVB_PARAM_5);
3233+
} break;
3234+
3235+
case VALETON_EFFECT_RVB_AIR: // fallthrough
3236+
case VALETON_EFFECT_RVB_PLATE: // fallthrough
3237+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
3238+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
3239+
case VALETON_EFFECT_RVB_DEEPSEA: // fallthrough
3240+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
3241+
case VALETON_EFFECT_RVB_HALL: // fallthrough
3242+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
3243+
case VALETON_EFFECT_RVB_SPRING:
3244+
{
3245+
// not used
3246+
} break;
3247+
}
3248+
} break;
3249+
3250+
case VALETON_PARAM_RVB_PARAM_6:
3251+
{
3252+
switch ((int)param_ptr[VALETON_PARAM_RVB_TYPE].Value)
3253+
{
3254+
case VALETON_EFFECT_RVB_AIR: // fallthrough
3255+
case VALETON_EFFECT_RVB_PLATE_L: // fallthrough
3256+
case VALETON_EFFECT_RVB_PLATE: // fallthrough
3257+
case VALETON_EFFECT_RVB_SWEET_SPACE:
3258+
{
3259+
// trail parameter
3260+
} break;
3261+
3262+
case VALETON_EFFECT_RVB_N_STAR: // fallthrough
3263+
case VALETON_EFFECT_RVB_DEEPSEA: // fallthrough
3264+
case VALETON_EFFECT_RVB_ROOM: // fallthrough
3265+
case VALETON_EFFECT_RVB_HALL: // fallthrough
3266+
case VALETON_EFFECT_RVB_CHURCH: // fallthrough
3267+
case VALETON_EFFECT_RVB_SPRING:
3268+
{
3269+
// not used
3270+
} break;
3271+
}
30503272
} break;
30513273

3052-
case VALETON_PARAM_RVB_PARAM_5: // fallthrough
3053-
case VALETON_PARAM_RVB_PARAM_6: // fallthrough
30543274
case VALETON_PARAM_RVB_PARAM_7:
30553275
{
30563276
// not used

0 commit comments

Comments
 (0)