@@ -68,8 +68,8 @@ class SessionSettings {
6868 int fftSmoothingSave;
6969 int fftFilterSave;
7070 // Analog Read settings
71- int arVertScaleSave; // updates in VertScale_AR()
72- int arHorizScaleSave; // updates in Duration_AR()
71+ int arVertScaleSave;
72+ int arHorizScaleSave;
7373 // Headplot settings
7474 int hpIntensitySave;
7575 int hpPolaritySave;
@@ -194,6 +194,7 @@ class SessionSettings {
194194
195195 // EMG Joystick Widget
196196 int loadEmgJoystickSmoothing;
197+ List<Integer > loadEmgJoystickInputs = new ArrayList<Integer > ();
197198
198199 // Primary JSON objects for saving and loading data
199200 private JSONObject saveSettingsJSONData;
@@ -477,6 +478,12 @@ class SessionSettings {
477478 // /////////////////////////////////////////////Setup new JSON object to save EMG Joystick Settings
478479 JSONObject saveEmgJoystickSettings = new JSONObject ();
479480 saveEmgJoystickSettings. setInt(" smoothing" , w_emgJoystick. joystickSmoothing. getIndex());
481+ JSONArray saveEmgJoystickInputs = new JSONArray ();
482+ int numEmgJoystickInputs = w_emgJoystick. emgJoystickInputs. length;
483+ for (int i = 0 ; i < numEmgJoystickInputs; i++ ) {
484+ saveEmgJoystickInputs. setInt(i, w_emgJoystick. emgJoystickInputs[i]. getIndex());
485+ }
486+ saveEmgJoystickSettings. setJSONArray(" joystickInputs" , saveEmgJoystickInputs);
480487 saveSettingsJSONData. setJSONObject(kJSONKeyEmgJoystick, saveEmgJoystickSettings);
481488
482489 // /////////////////////////////////////////////Setup new JSON object to save Widgets Active in respective Containers
@@ -662,6 +669,11 @@ class SessionSettings {
662669 // Get EMG Joystick widget settings
663670 JSONObject loadEmgJoystickSettings = loadSettingsJSONData. getJSONObject(kJSONKeyEmgJoystick);
664671 loadEmgJoystickSmoothing = loadEmgJoystickSettings. getInt(" smoothing" );
672+ loadEmgJoystickInputs. clear();
673+ JSONArray loadJoystickInputsJson = loadEmgJoystickSettings. getJSONArray(" joystickInputs" );
674+ for (int i = 0 ; i < loadJoystickInputsJson. size(); i++ ) {
675+ loadEmgJoystickInputs. add(loadJoystickInputsJson. getInt(i));
676+ }
665677
666678 // get the Widget/Container settings
667679 JSONObject loadWidgetSettings = loadSettingsJSONData. getJSONObject(kJSONKeyWidget);
@@ -913,6 +925,13 @@ class SessionSettings {
913925 w_emgJoystick. setJoystickSmoothing(loadEmgJoystickSmoothing);
914926 w_emgJoystick. cp5_widget. getController(" emgJoystickSmoothingDropdown" ). getCaptionLabel()
915927 .setText(EmgJoystickSmoothing . getEnumStringsAsList(). get(loadEmgJoystickSmoothing));
928+ try {
929+ for (int i = 0 ; i < loadEmgJoystickInputs. size(); i++ ) {
930+ w_emgJoystick. updateJoystickInput(i, loadEmgJoystickInputs. get(i));
931+ }
932+ } catch (Exception e) {
933+ println (" Settings: Exception caught applying EMG Joystick settings " + e);
934+ }
916935
917936 // //////////////////////////////////////////////////////////
918937 // Apply more loaded widget settings above this line //
0 commit comments