I was spending my afternoon building an AV Looper component for use in my projects when I stumbled upon a relatively wacky hurdle which I am having a hard time resolving using either the trail CHOP or record CHOP, both of which have their pros and cons (although the record chop has way more cons in my opinion)
When recording CHOP channels into a trail CHOP, the new values will append themselves at the end of the maximum index range and effectively push out the old values to the lowest index until they are out of range. This is a feature that can be exploited for building delay lines and (as the wiki puts it) snakes but makes it difficult to overdub and read values back from the buffer as it will cause all values in the buffer to change per frame.
The record CHOP operates differently in this regard and updates the values cyclicly from the lowest index to the highest which would suit my purpose just fine except for a few unhelpful quirks such as having the buffer size be strictly restricted by the length of the timeline.
One way you’d think to get around this is either by cranking up the length of the time-line and outputting only a segment using the record output parameter but this suddenly gets extremely expensive CPU wise for some reason and makes it unusable. (windows 10, build 12330)
Another is by modifying the length of your project’s timeline… but that’s a pretty unsatisfactory solution if it needs to be modulated and adding it’s own independant component time makes it difficult to work with timesliced CHOPS coming in from outside that component.
The auto-range parameter is also a bit strange in that it begins with negative index values and also caps off at the max length of the time-line.
All in all, the way that the record CHOP and the timeline interacts is kind of weird and seems like it needs an update. I would rather it had the same ‘grow length’ and ‘window length’ parameters as the Trail CHOP which I’m a big fan of. It might also be nice to find a way to be to specify the indeces at which it should be recording.
Alternatively, I would like it if the trail CHOP could overwrite its channels in the same way as the record CHOP (although it would cease to be a trail at that point I suppose!)
The file I’ve attached is maybe only a bit helpful. Please let me know if anything needs clarification of if I’m overlooking some other potential CHOPs or techniques for this use. :mrgreen:
recordchop demonstration.4.toe (21.1 MB)