bang to snapshot~ supposed to be after float update, but snapshot is outputting before signal operations to its input finish


    Aug 24 2017 | 4:21 pm
    Working on a sequencer driven by hostphasor~ to rate~ but I'm coming up against a message order behavior that I can't quite understand when mixing control and signal messages.
    I want to be able to reset the sequence length at any point in the sequence and have the rate~ object goto the place where the beat would be from the previous seq length.
    at 0.5 through a 4 beat sequence, switch to an 8 bar sequence. The 4 beat sequence would've been on beat 2, which is 0.25 through a 2 bar sequence
    goto 0.25 and set the rate~ object rate to 8 (from 4 previously)
    The attached patch has two main parts: one which I currently have working on the left, and one on the right which seems like it would be a tighter solution (but is maybe too tight, because the output is triggered before the signal vector can be re-calculated)
    To test it, pick an arbitrary phase with the number~ at the top, set an initial hypothetical sequence length with the int at the top, and then change the sequence length, you should see the new sequence output at the bottom, along with the new point in phase to cary on from the previous sequence.
    Could someone please explain what's going on with the right part of this patch, why snapshot is triggered before the new value is ready?
    Max Patcher
    In Max, select New From Clipboard.

    • Aug 24 2017 | 5:13 pm
      Here's one idea:
      Max Patcher
      In Max, select New From Clipboard.
      I'm not entirely clear what the issue is in practice, or even if this solution solves it.
    • Aug 24 2017 | 11:17 pm
      Thanks Evan. I tried your patch, and it was actually giving me the same behavior as before, but the edge~ was in the right timing, and then I realized that my scheduler was set to overdrive.
      setting it in the Max preferences to Overdrive off fixed it.
    • Aug 25 2017 | 4:23 pm
      Yeah you're right - I could've sworn it wasn't yesterday. Interesting. Glad you got it sorted!