Eric Dantan Rzewnicki:
On Mon, Mar 19, 2007 at 06:55:53PM -0500, Jack O'Quin wrote:
> On 3/19/07, Atte André Jensen <atte.jensen(a)gmail.com> wrote:
> You could code those parts of the program in C or C++ to avoid
> memory management in the "harder" realtime portions of your
> application. With sufficiently large ringbuffers (or the like), the
> other parts can probably be written in python with some higher
> latency.
Well, Python is not so bad for realtime use, since the garbage collector
is referencial. Its not optimal or realtime safe in any way, but in
practice it works a lot better than other languages.
An option to consider is controlling ecasound from python. I've had a
good deal of fun building things this way in the past and hope to get
back to it this year.
It works fairly well. The logic and configuration of your program is
fine in python ... it just sends control information to ecasound while
ecasound handles all the details of communicating with jackd.
Other python alternatives are RTcmix:
http://music.columbia.edu/cmc/RTcmix/use/python.html
Or SuperCollider:
(Couldn't find link, but I think I remember hearing about some
stuff somewhere)
Or PD:
http://grrrr.org/ext/py/
I'm sure there are other ways too. CSound for example.