| >I did embark on just this some while back, adding in lots of init
functions, and
>indeed got Csound running re-entrantly for most of the main opcodes, but I
ran
>out of steam after a while (local statics are a particular problem!). Also,
John
>Fitch told me a few months ago that
> a few of the things I had done weren't quite right (but I don't yet know
what
>those are!); however, most of what I did is still in the published sources,
>commented out. I have a lot of other work on at the moment, but I do want
to go
>back to this exercise at some point. Once it is done, there is the chance
for
>some ~very~ snappy user interfaces - and it would benefit all platforms.
>
>It would help if people adding new opcodes gave a moment to add init
functions
>(and preferably memory de-allocation functions too), avoided local statics,
and
>so on. Once the modules are re-entrant, there is a sporting chance the
framework
>code can be made so too.
>
>Perhaps we could co-ordinate?
Again, I'd be very willing to do this. As some of you may know, I have a
front end for Csound, WCSound.dll, that already is a COM server.
Here are some features I'd like to see in a COM server version of Csound:
It would be an in-process, apartment-threaded COM server with a dual
interface. This would make it easy to use both from C++ and from Visual
Basic and it could also be used with Microsoft's J++ version of Java, which
can automatically generate a Java proxy for most COM objects.
It would have no self-contained GUI.
It would have plugin opcodes and plugin function tables. These would use
their own COM interfaces. This would allow Csound to be extended without
having to relink it.
Csound would work with standard COM interfaces to MIDI and audio drivers,
i.e. DirectSound or ActiveMovie (I need to do some research about what is
possible).
As far as I know, Csound contains the deepest and broadest library of
synthesis and signal processing code in any cross-platform software
synthesizer. Doing these things would extend the useful life of Csound for
another five or ten years, probably. It would enable Csound to fit into
other music systems the same way the current generation of MIDI software
synthesizers and signal processing plugins does, only of course it would so
much more useful!
|