You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Easily reproduceable with the MidiRecordingDemo on Windows with current develop branch:
Just use the audio setup setting and change the combox box to another asio driver -> the previous ASIO driver selection will get saved instead of the current freshly selected one, and never saved again ; resulting in improper driver selection saved and restored on next run in the Settings.xml file for the MidiRecordingDemo app (in C:\Users<user>\AppData\Roaming\MidiRecordingDemo)
This happens because the asynchronous call indirectly call the saving before the new configuration setup is set in combo box:
More precisely:
updateOutputsComboBox() calls indirectly saveSettings() too early when device is about to start, but not after changing the device, resulting in the saveSettings() call to call the the audio setup before the combo new item has changed to the new config.
In order to reproduce and see the stack easily and the problem just set a breakpoint in void DeviceManager::saveSettings()
line 704:
*storage.setXmlProperty (SettingID::audio_device_setup, audioXml);
It will be called 2 times: once at startup, then once after the combo box is changed but too early ....
Hope this helps
PS: I checked that the save/restore code for the device manager works fine on waveform pro 11.0.26 and also 11.1.0 , so the lib code seems to be different / not reusing traktion engine API to handle the DeviceManager? Surprised.
The text was updated successfully, but these errors were encountered:
Easily reproduceable with the MidiRecordingDemo on Windows with current develop branch:
Just use the audio setup setting and change the combox box to another asio driver -> the previous ASIO driver selection will get saved instead of the current freshly selected one, and never saved again ; resulting in improper driver selection saved and restored on next run in the Settings.xml file for the MidiRecordingDemo app (in C:\Users<user>\AppData\Roaming\MidiRecordingDemo)
This happens because the asynchronous call indirectly call the saving before the new configuration setup is set in combo box:
More precisely:
updateOutputsComboBox() calls indirectly saveSettings() too early when device is about to start, but not after changing the device, resulting in the saveSettings() call to call the the audio setup before the combo new item has changed to the new config.
In order to reproduce and see the stack easily and the problem just set a breakpoint in void DeviceManager::saveSettings()
line 704:
*storage.setXmlProperty (SettingID::audio_device_setup, audioXml);
It will be called 2 times: once at startup, then once after the combo box is changed but too early ....
Hope this helps
PS: I checked that the save/restore code for the device manager works fine on waveform pro 11.0.26 and also 11.1.0 , so the lib code seems to be different / not reusing traktion engine API to handle the DeviceManager? Surprised.
The text was updated successfully, but these errors were encountered: