On Sat, 10 Jan 2004, Larry Troxler wrote:
On Monday 05 January 2004 12:10, Michal Seta wrote:
On Mon, 2004-01-05 at 06:15, Kjetil Svalastog Matheussen wrote:
k_guile is a guile PD external.
wow. cool. Common Music within pd is now possible...
Yes, very nice. I think this officially obsoletes my pd_scheme library. (It was built on Scheme In One Day, which isn't a full-featured standard Scheme).
Kjetil, I see you took a different approach than I did, one that is a bit simpler. In my case a single interpreter is loaded as a library, which loads scheme source code that defines various PD objects that can be instantiated. These objects can then communicate with eachother using scheme.
Yes, I looked at your external. And I think your solution is prettier in a way, but also harder to understand, and not very much more powerful, so I did it "my way". ;)
Your approach definitely has the advantage of simplicity though, and in practice it may not be any less powerfull.
For running something like Common Music (Michal, have you tried it yet?) it would probably be nice to be able to run scheme in a seperate thread, so that long computations and garbage collection don't cause dropouts.
When using realtime priority on the audio thread, any non-realtime thread shouldn't cause a dropout... At least in linux. Perhaps it can in macosX? So I'm not too eager to add threads-support. However, guile does support threads (documented in the manual), so perhaps the pd-* functions should be made thread-safe? If there is a demand, it shouldn't be to hard to do.
But I think that running this external in a second PD connected to the primary one with netsend and netreceive should work, right?
Should work.