State Transition Algorithm #7
Pinned
meganindya
started this conversation in
Ideas
Replies: 4 comments 1 reply
-
and it will make all of the logic around clamp blocks more consistent and easier to maintain. Very nice. |
Beta Was this translation helpful? Give feedback.
1 reply
-
We needed a meeting. I sent a thread on slack. Sometime later today would be possible? |
Beta Was this translation helpful? Give feedback.
0 replies
-
in a couple of hours? (My 10:30 AM ?) |
Beta Was this translation helpful? Give feedback.
0 replies
-
works for me. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
A state is basically an exhaustive set of all fundamental properties, e.g. ADSR properties (pitch, sustain, synth, etc.), pen properties (pen color, thickness, etc.), etc. There is a global state which are the defaults, and each "mouse" gets a copy of the global state which it overrides as it executes instructions.
Every clamp block saves a copy of the contextual state (transitory state) before it, so that its nested instructions can override that, and the "mouse" can return back to the contextual state after the nested blocks have been executed. An instruction which executes a callback (action) does the same. There need not be special cases for start and action blocks as they are clamp blocks too. The start blocks just begins with the global state and the action blocks receive its context from the caller.
State Transition Diagram (NFA)
View Lucidchart Diagram
@walterbender this should be way faster than evaluating each property every single time there is a note block.
Beta Was this translation helpful? Give feedback.
All reactions