@@ -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