On 07/31/2013 11:59 AM, Jamie Bullock wrote:
On 31 Jul 2013, at 16:46, Jonathan Wilkes <jancs...@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.
One thing I'm not crazy about is that when you get rid of the "Connect"
button, or whatever we call it, I then have to make the text entry
widgets (e.g., sample rate) reconnect audio when the entry _loses_
focus. I've never liked that about instantiating Pd objects (for
example, the more objects in the patch the more anxious I get about
finding empty canvas spaces to click for instantiation). Pd patching
solves this by also instantiating with ctrl-enter so there's visual
feedback of the dashed line changing to solid (as well as rectangle
bgcolor changing and xlets appearing). But with a tk entry widget if I
bind to the enter/return key I don't get visual feedback that the audio
reconnection has occurred.
This usually isn't a problem on most of the UIs I tend to use--
GNU/Linux and Windows usually have an "Apply" type button, and text
entries on webpages typically post the form on clicking enter so you get
visual feedback there. The OSX HIG has nothing to say on the matter, or
I can't find it if it does. If OSX folks are used to text entry values
updating upon losing focus I can revise the dialog to do that.
Bigger than the "Apply" issue: I think I need to add a "Refresh" button
for the API because AFAICT pd core does not update the GUI when new
devices are added. Currently you can just select the API again to
trigger an update, but I'd like to make it more obvious to the user that
core pd doesn't report hardware changes unless the GUi asks about them.
-Jonathan
Just my 2¢
All best,
Jamie
_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list