Dear list,<div><br></div><div>This morning I was experimenting with animating things from Fluxa's "seq". This is potentially useful as frequency analysis can only get us so far with regard to transients and we might like to have visual counter-rhythms to the audio ones. Because (draw-foo) only lasts a frame I was experimenting with building objects every beat (and sequencing transformations), then clearing the scene-graph every 16th beat. As a strategy I believe this holds promise, however there are issues;</div>
<div><br></div><div>(clear), when called from inside seq's function gives a error about being unable to pop. IMHO this should work, at least from a usability point of view, but fixing it is beyond me. Maybe (seq ) is outside of the scene-graph's scope exactly because it (seq ) shouldn't be cleared by (clear)? That should stay as it is, because one buffer for Fluxa and one for Fluxus is great fun with Jack sending Fluxa's audio out to the Fluxus in and to the speakers. Maybe this is inherently unfixable because of that?</div>
<div><br></div><div>I then tried to instead delete all children of primitive "1", the scene graph's root; that'd do the trick too. For this I wrote a "(flush)" function, reconstructed here;</div>
<div><br></div><div><div>(define (flush) </div><div>    (for-each </div><div>        (ë (child) </div><div>            (destroy child)) </div><div>        (with-primitive 1 (get-children))))</div></div><div><br></div><div>
This works and is probably closer to what I need too, however it also gets a error that primitive 1 can't be found. That's clearly wrong; when primitive 1 can't be found there is something very weird going on and clearly it can indeed be found as we can destroy all scene-graph objects in this way. As this error seems harmless I can write a "lazy" error-handler around the operation, one that doesn't even report it, but that doesn't sound like the proper thing to do long-term.</div>
<div><br></div><div>Yours,</div><div>Kas.</div>