Difference between parameters and slots? / Csound

Larry Troxler lt@westnet.com
Tue, 12 Nov 1996 19:40:05 -0500 (EST)


I have two questions, first an easy one, and then a more involved one.

First, after looking over the kernel code for a while, I'm still not sure
what the real difference is between the "note" class slots, and parameters.
In particular, when subclassing notes, in what cases would you want slots
that are not in the parameter list? The documentation describes parameters
as slots that directly contribute to an event's output, but what does this
mean in practice?

I have another question which comes up because I would like to define
classes for the Csound function "GEN" routines. (The distribution has a base
class for instrument statements (csound-note), but not for the GEN calls).
As a quick hack, I could simply inherit the "gen" classes from
"csound-note", using "f1", etc, as the name, but the problem is that the
GENs can take a large and variable number of parameters, which are typically
x/y data pairs or something similar.  So from CM's point of view, these
parameter lists would IMO best be represented as single parameters whose
value is a LISP list. Then, when the object is written, then the list would
be flattened to individual output fields.

So, can anyone suggest in general terms, a good way to do this?  I can
probably figure out the details if I just know what generic functions I need
to look at. I also would like to know if the use of lists as parameters (or
would they be slots - see above), would be usefull at a more general level
in the inheritance tree - If so please advise.

Thanks!

Larry Troxler
lt@westnet.com