Current Snd contains code which is able to run the examples in the paper without using a minute to compile:
http://www.notam02.no/arkiv/doc/snd-rt/icmc2008_examples.txt [The reason it's so much faster now is that I've added some non-cps call/cc removal algorithms to the stalin preprocessor in snd since call/cc and cps-ed code takes a very long time to compile with stalin. (((The stalin preprocessor knows about some functions which are continuations, and the Stalin compiler itself doesn't know about those.))) Some code with call/cc will of course still have to be translated to cps code, but most of the most important ones (those who are added by wait, spawn, block, etc) are removed.] Here is an extended version of the midi softsynth w/adsr envelope: (<rt-stalin> (while #t (wait-midi :command note-on (define adsr (make-adsr :a 20:-ms :d 20:-ms :s 0.2 :r 50:-ms)) (define osc (make-oscil :freq (midi-to-freq (midi-note)))) (spawn (block (define vol (adsr)) (if vol (out (* 0.2 vol (midi-vol) (oscil osc))) (stop)))) (spawn (wait-midi :command note-off :note (midi-note) (-> adsr stop)))))) I have also added stack checks, cpu checks and a very simple backtrace to stalin code. This makes developing very convenient, but the code also takes xx (maybe xxx) times longer to execute. To remove those checks, do: (<rt-stalin> :runtime-checks #f ...) _______________________________________________ Cmdist mailing list [email protected] http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
