I'm sure this exists already.... only output new value when the changes are done

Basvlk's icon

Been months since I've patching, glad to be back!
I'm controlling LEDs and there's lots of things I can control So I need to set, say, 10 parameters, and then I send a new command to my Arduino.

I don't like the solution with a 'go' button (you set all the settings, form a list, and then click a button to output the result'

But also I can't have every slider move send out a new value - too much update traffic while I haven't got everything set yet.

I'm sure this is a very common UI problem, how is it solved normally? Here's the best I could come up with: only send out an update when there has been a 'pause' in input updates for xx ms.

Max Patch
Copy patch and select New From Clipboard in Max.

see below

There must be a more elegant way though?

Sebastian Lexer's icon
Max Patch
Copy patch and select New From Clipboard in Max.

not sure if you're after the value only being sent after 250ms of inactivity, or limit the data stream to one value every 250 ms.

do.while's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Use of [Timer] might be helpful

Stephane Morisse's icon

Gosh, I had never seent that [past] object. It would have been quite handy yesterday...

Basvlk's icon

Thanks all for chipping in!

@Sebastian - I was thinking about that as an alternative. Not sure which works best in an actual application: update only once all the changes are made, or update every so often during the setting process. How do 'professional applications (or say, the knobs on a synth) do it?

@Do..While - good suggestion, more elegant. But - it doesn't always work, if you move the input slider a lot and then stop moving it, the output slider does not take on the last set value (I suppose because 'timer' needs one more bang to output a value)

@Stephane .. :-)

Rick's icon
Max Patch
Copy patch and select New From Clipboard in Max.

What about [mousefilter]

Basvlk's icon

Very cool! but I plan to remote control the parameters. Great suggestion though - for example touch OSC can also send a signal for each controller whether the finger is on the control or not.