Csound Csound-dev Csound-tekno Search About

Re: troy's rant

Date1999-01-22 00:27
FromMichael Gogins
SubjectRe: troy's rant
For anyone interested in programming Csound, my advice, which I implement
myself when I get a chance:

Define Csound primarily as a re-entrant C++ class in a static C++ library,
to define an encapsulated public interface. In this coding, use no macros
and use only the ANSI C runtime library. To make a Csound executable, define
a main.cpp with void main(int argc, char **argv) {Csound csound;
csound.command(argc, argv); csound.render();} The library part is in all my
versons.
Make all inputs and outputs, audio and MIDI and runtime messages, virtual
plugins so that the different platforms can implement them separately. Still
needs to be done, though it's implicit in the public sources.
Enable Csound to get all inputs from a single XML file (this part is in the
public version).
Make all opcodes and GENs virtual plugins, to be loaded at run time, so that
different developers can implement new ones without having to relink Csound
(a preliminary form of the opcode plugins is in the Maldonado version).
Enable low-latency realtime rendering and control (Maldonado has done this
on Windows, but it's not in the public sources).
Make a Java csound class where the Csound static library is turned into a
JCsound_Csound.so shared library and used to implement native Java methods,
with a Java Bean GUI. (This part is done in my version.)

If these things aren't done, in 5 years Csound will be gone; if these things
are done, developers can use Csound as a component in other software and
write opcodes of any sort as plugins to Csound, which will remain the most
powerful sound processing system, with a deep library of tested patches, if
it's that good, who'd bother to write another?

My sources are on my web page in AXCsoundAll.zip at
http://www.pipeline.com/~gogins, under the GNU General Public License.

-----Original Message-----
From: Richard Dobson 
To: csound@maths.ex.ac.uk 
Date: Monday, January 18, 1999 9:22 PM
Subject: Re: troy's rant


>The impression I got from the way your post reads is that
>csound-unix-dev is the ~only~ place where ~the~ 'coding action' is. I
>think the double negative has a lot to do with that - it can so easily
>read as a put-down, even though that wasn't your intention.
>
>While developments on the Mac version and on the various Windows
>versions are reported to this list in detail (with frequent discussions
>at C-code level), somehow the csound-unix-dev list has given the
>impression of being somewhat aloof, as if to say 'hey, ~we~ are the real
>programmers here'. On the other hand, I am very conscious of the
>remarkable work that has been done for Csound on the PC and Mac
>platforms, over the last few years, familiar to everyone on this list,
>so it seems to me there is a whole lot of important and advanced
>programming going on for Csound that is not unix-specific. There is a
>lot of C-coding action out here too!
>
>I've even contributed a few bits myself to Csound, here and there, such
>as the reentrancy code which Michael Gogins developed to create his
>re-entrant Csound ActiveX control - a remarkable piece of programming,
>even if it is mere Windows, that favourite target of so many unix
>programmers (please don't take that personally!). My code is available
>in the sources (covered by an ifdef, and certainly in need of extending
>now) for the unix people to play with too, if they are interested. I
>would be pleased to death to have what I've contributed to Csound
>incorporated into the unix source, if considered worthy. But I am
>prepared to be patient... :-)
>
>
>I am glad you find the multi-channel stuff useful. Now that I have a
>Pulsar with the multi-channel WAVE drivers I can play m/c files myself
>now, though I can't hear more than four channels together until I attach
>something to the ADAT port. Now I can try out the quad opcodes in
>real-time!
>
>Richard Dobson
>
>
>Fred Floberg wrote:
>>
>[snip]
>> Hold on now. Are you directing this comment at me? When did I ever
>> even imply that Csound users were second class citizens below
programmers?
>>
>> My point was, and I think it was pretty clearly made, that
csound-unix-dev
>> is where the "C coding action", so to speak, was to be found, and that
that
>> was something I was interested in.
>>
>
>
>--
>Test your DAW with my Soundcard Attrition Page!
>http://wkweb5.cableinet.co.uk/rwd
>CDP homepage: http://www.bath.ac.uk/~masjpf/CDP/CDP.htm