On 31 Jul 2013, at 16:46, Jonathan Wilkes jancsika@yahoo.com wrote:
Actually, I don't think I expressed myself very well as I was arguing the opposite. I think the settings should take effect immediately and there shouldn't be an "apply" or "connect" or anything button — you just change a setting and that's it — done!
Hence my question about when you would want to "not apply" the settings.
I can't find any other application on my Mac that has an "apply" button in the audio prefs dialog, and FWIW, in Integra Live we managed to create an audio prefs without an apply step, based on Pd using IOhannes' [mediasettings] externals, so it's definitely possible.
My question: are all current (and imaginable future) audio APIs able to handle quick changes to the setttings? Say, if a user toggles "Use Callbacks" three times within 500ms and Pd tries to connect to ALSA each time, does ALSA handle that gracefully? (Or whatever backend-- I can't remember if ALSA has that option available atm.)
I think that's a separate issue to whether or not you have an apply button. That is, you could have an apply button, but still be in a situation where the user can change state faster than the backend can respond. In any case, I think adding a UI component the purpose of which is to throttle user input is a bad idea. I don't want to be slowed down ;)
I think you should design what you think is the best UI for humans, and then figure out how to make the business logic robust enough to handle problematic cases like the one you describe above as and when they arise.
Just my 2¢
All best,
Jamie