@@ -60,11 +60,11 @@ public BitwigApiFacade(ControllerHost host, Logger logger) {
6060 // Initialize device control - use CursorTrack.createCursorDevice() instead of deprecated host.createCursorDevice()
6161 this .cursorTrack = host .createCursorTrack (0 , 0 );
6262 this .cursorDevice = cursorTrack .createCursorDevice ();
63- this .deviceParameterBank = cursorDevice .createCursorRemoteControlsPage (128 );
63+ this .deviceParameterBank = cursorDevice .createCursorRemoteControlsPage (8 );
6464
6565 // Initialize project parameter access via MasterTrack (project parameters)
6666 MasterTrack masterTrack = host .createMasterTrack (0 );
67- this .projectParameterBank = masterTrack .createCursorRemoteControlsPage (128 );
67+ this .projectParameterBank = masterTrack .createCursorRemoteControlsPage (8 );
6868
6969 // Initialize track bank for clip launching (support up to 128 tracks and 128 scenes for full functionality)
7070 this .trackBank = host .createTrackBank (128 , 0 , 128 );
@@ -86,6 +86,7 @@ public BitwigApiFacade(ControllerHost host, Logger logger) {
8686 // Mark interest in all device parameter properties to enable value access
8787 for (int i = 0 ; i < deviceParameterBank .getParameterCount (); i ++) {
8888 RemoteControl parameter = deviceParameterBank .getParameter (i );
89+ parameter .exists ().markInterested ();
8990 parameter .name ().markInterested ();
9091 parameter .value ().markInterested ();
9192 parameter .displayedValue ().markInterested ();
@@ -270,16 +271,20 @@ public List<ParameterInfo> getSelectedDeviceParameters() {
270271
271272 for (int i = 0 ; i < deviceParameterBank .getParameterCount (); i ++) {
272273 RemoteControl parameter = deviceParameterBank .getParameter (i );
273- String name = parameter .name ().get ();
274- double value = parameter .value ().get ();
275- String displayValue = parameter .displayedValue ().get ();
274+ boolean exists = parameter .exists ().get ();
276275
277- // Handle null or empty names
278- if ( name != null && name . trim ().isEmpty ()) {
279- name = null ;
280- }
276+ if ( exists ) {
277+ String name = parameter . name ().get ();
278+ double value = parameter . value (). get () ;
279+ String displayValue = parameter . displayedValue (). get ();
281280
282- parameters .add (new ParameterInfo (i , name , value , displayValue ));
281+ // Handle null or empty names
282+ if (name != null && name .trim ().isEmpty ()) {
283+ name = null ;
284+ }
285+
286+ parameters .add (new ParameterInfo (i , name , value , displayValue ));
287+ }
283288 }
284289
285290 logger .info ("BitwigApiFacade: Retrieved " + parameters .size () + " parameters" );
0 commit comments