Kassen wrote:
I wrote MIDI and OSC looper libraries for Processing, so I am familiar with the necessary functionality.
Base functionality isn't that hard, I think. What is hard about looping and what makes some pedals worth the money is a really good interface.
Right, I would agree. SooperLooper works well on its own for interactive use, with e.g. a guitar and MIDI foot pedal. When I'm trying to play along to a song driven by ChucK, the whole setup becomes a royal mess, MIDI/OSC sync, mixing audio streams via jack, etc. etc. The interface I'm looking for is an API within ChucK with just those four methods, record/overdub/undo/redo. That way I can just use ChucK's internal timing, run the looper programatically, and keep all the audio within ChucK.
I'm not sure how to push LiSa's buttons though.
Fortunately "LiSa's buttons" are quite well documented in the /special/ directory of the ChucK examples. LiSa is absolutely wonderful, as far as UGens go.
So I've heard. ;) Thanks, I will peruse those examples again.
And has anyone written a Stack data structure for ChucK? That would be useful for the undo/redo bits.
I think I'd use a array of arrays with two pointers. I've never done this and am not sure about how this would fare performance-wise. I could imagine a "sample" data-type that SndBuf and LiSa could read from and write to, with memory buffering.
Hmm, yes, those would be the devil(s) in the details. michael