First time here? Check out the FAQ!
x

Is there a way to "freeze" or stop the cycle triggers using CapyTalk?

0 votes
414 views
If I am using the an expression like "6 s tick" for repeated triggers, is there a way to "freeze" or stop the triggers using CapyTalk? I'm using the repeated triggers (among other things) to trigger recording into a MemoryWriter, but I would like to be able to stop the process at certain points and "freeze" the current contents.

I would imagine I could use and LFO with a 6" duty cycle and then switch the frequency to "0" ... but I betting there is a better way that does not involve adding an Oscillator (which might be important, since I am already getting the warning message that I have exceeded realtime capacity).

FYI - when I look up "tick" in CapyTalk Reference I get the following message:

"Please let Symbolic Sound know that this description is missing. Thanks!"
asked Mar 8, 2015 in Capytalk & Smalltalk by mark-phillips (Adept) (1,220 points)
edited Mar 8, 2015 by mark-phillips
Thanks for letting us know about the missing Capytalk documentation; it's now been documented (and will show up in the next software update).

2 Answers

+1 vote
Hi Mark,

I think what you are looking for is trackAndHold. The output is the expression (track) but when triggered the current value gets "freezed" (hold). have a look for it in the CapyTalk reference for examples.

Best,

Gustav
answered Mar 8, 2015 by kymaguy (Virtuoso) (10,580 points)
+1 vote
As another alternative, you could use something like:

6 s tick + !Freeze

This would hold the gate on while the value of !Freeze is 1, and when the value of !Freeze is 0, it would have no effect and your repeated gates would pass through unchanged.
answered Mar 8, 2015 by ssc (Savant) (128,200 points)
Thanks! I've used that concept (+ !Freeze) in combination with other more traditional gates and triggers ... should have realized it would work with 'tick' too, since it basically functions that way. Both solutions work fine in the simple situations I first tried, but neither worked in the context of what I was trying to do ... so I guess I have some more work to do.
...