How can I skip certain widgets when Saving/Opening(Loading) States❔

I love the idea of creating 3 or 4 buttons to load States from files, like Presets.
And I've been using this code:
send('', '/STATE/OPEN', 'StateTest.state')

Which is working but it saves also Play and Stop button values which messes up with how they behave.

Is there a way I can skip certain widgets❔

Push / tap / momentary are not supposed to be affected when loading a state file, but there might be a bug here, I'll investigate. Otherwise no you can't skip widgets except by modifying the file, or by going into some scripting I don't have time to unravel right now... (Preset saving to a file - #4 by BillTribble)

Could you please upload your session file ?

Okay, cool.

What about input widgets❔ They are also being affected and probably shouldn't.


Input widgets do hold a value and they should be affected by states. Just in case, make sure you're not giving the same id to multiple widgets, or sync mechanism will come into play.

Okay, that makes sense.
Just checked, not the same id.
The Play button is a toggle but the Stop button is momentary a̶n̶d̶ ̶i̶t̶'̶s̶ ̶b̶e̶i̶n̶g̶ ̶t̶r̶i̶g̶g̶e̶r̶e̶d̶ ̶b̶y̶ ̶t̶h̶e̶ ̶S̶t̶a̶t̶e̶ ̶l̶o̶a̶d̶i̶n̶g̶.̶

So, about this gif, actually that signal is being sent back from Reaper, it's not the loading of the State that's triggering it.
I'll have to do more studying about this problem.

Teste OSC 1.json (48.8 KB)

What about text :grey_question: Should text be updated with State loadings :grey_question: Now they are messing with my markers :sweat_smile::sweat_smile:

I think I'm gonna just edit the .state files. Not that hard to do.

An option/checkbox to "ignore state calls" would be nice but maybe it's just me, so it's fine.

Yes text widgets are supposed to be affected too (everything that has a state value is). I'm bookmarking this, will try to improve the situation in a future release.

1 Like

An update: Weirdly, the "problem" was Reaper... Even after deleting the stop button from the .state file, the stop button would still get a hit from the DAW after a state load. But that was because of the Record button... For some reason, if I send /record 0 (from a state load) it will send back /record 0 and /stop 1 for some reason. So now I'm deleting both from the .state files. I wrote a watcher in AutoHotkey to edit the .state files as soon as they are modified and send a OSC notification**. I might post it here once it's solid.