@@ -431,6 +431,7 @@ static esp_err_t __attribute__((unused)) usb_tonex_one_set_active_slot(Slot newS
431431 return tonex_common_transmit (cdc_dev , FramedBuffer , framed_length , TONEX_USB_TX_BUFFER_SIZE );
432432}
433433
434+
434435/****************************************************************************
435436* NAME:
436437* DESCRIPTION:
@@ -1316,6 +1317,38 @@ void usb_tonex_one_handle(class_driver_t* driver_obj)
13161317 // failed return to queue?
13171318 }
13181319 }
1320+ } break ;
1321+
1322+ case USB_COMMAND_LOAD_PRESET_TO_SLOT_A :
1323+ {
1324+ if (message .Payload < MAX_PRESETS_TONEX_ONE )
1325+ {
1326+ ESP_LOGI (TAG , "Loading preset %d to Slot A via MIDI CC 120" , (int )message .Payload );
1327+ if (usb_tonex_one_set_preset_in_slot (message .Payload , A , 0 ) != ESP_OK )
1328+ {
1329+ ESP_LOGE (TAG , "Failed to load preset %d to Slot A" , (int )message .Payload );
1330+ }
1331+ }
1332+ else
1333+ {
1334+ ESP_LOGW (TAG , "Invalid preset index %d for Slot A (max %d)" , (int )message .Payload , MAX_PRESETS_TONEX_ONE - 1 );
1335+ }
1336+ } break ;
1337+
1338+ case USB_COMMAND_LOAD_PRESET_TO_SLOT_B :
1339+ {
1340+ if (message .Payload < MAX_PRESETS_TONEX_ONE )
1341+ {
1342+ ESP_LOGI (TAG , "Loading preset %d to Slot B via MIDI CC 121" , (int )message .Payload );
1343+ if (usb_tonex_one_set_preset_in_slot (message .Payload , B , 0 ) != ESP_OK )
1344+ {
1345+ ESP_LOGE (TAG , "Failed to load preset %d to Slot B" , (int )message .Payload );
1346+ }
1347+ }
1348+ else
1349+ {
1350+ ESP_LOGW (TAG , "Invalid preset index %d for Slot B (max %d)" , (int )message .Payload , MAX_PRESETS_TONEX_ONE - 1 );
1351+ }
13191352 } break ;
13201353
13211354 case USB_COMMAND_MODIFY_PARAMETER :
0 commit comments