<div dir="ltr">Hi Bill and colleagues, so further to the spectral-processing-in-Scheme project...<div><br></div><div>To do this, I&#39;m building a scaled down Scheme for Max version that runs in the audio thread. Max normally has two to three threads, messages happen in the high or low priority message threads, audio in the DSP thread. In my normal s4m objects, they only run in one thread. I need to be able to get blocks of scheme code to the DSP thread for evaluation. I have various resources on this kind of thing, but most are for C++. Max does have its own in house thread library, though rather thinly documented.</div><div><br></div><div>Before I start rooting around trying potentially dumb things, I thought I&#39;d ask here to see how others would solve this problem. I have C code that receives string messages, and I what I think I want to be able to do is have the DSP-thread code (where the interpreter is) run on every sample block, check a queue for incoming messages, receive them and eval (or some number), and potentially send message back to the other thread. I am fine with there being a single consumer and single producer (as in, each s4m instance will have it&#39;s own interpreter that has to deal with at most one dsp rendering routine. The message could potentially be large (ie whole files of code). </div><div><br></div><div>Suggestions on the right approach to do this would be most appreciated.</div><div>thanks!</div><div>iain</div></div>