Re: Software design for QOrchestra

From: Bert Schiettecatte (bschiett@vub.ac.be)
Date: Thu Jan 20 2000 - 07:07:49 EST


On Thu, 20 Jan 2000, Michel Jullian wrote:

> Bert Schiettecatte wrote:
> ...
> > Qt also has support for openGL.
>
> but fltk is free :-)

Qt is also free for GPL software.

> > I think it might be better the other way round: define a set of primitive
> > building blocks in the SML standard, which a code generating plugin must
> > support, or it is not a code generating plugin. That way, the library is
> > not strongly connected to code generation. It's just a tree of SML tags.
> >
> > The standard could advance to 2.0, 3.0, ... as more primitives are
> > proposed and accepted.
>
> I'm not sure I understand what you mean (example ?), but obviously SAOL and
> CSound don't have the same opcode sets, so the module libraries must be
> different imho.

No, not really. I can introduce a set of primitive synthesis blocks (an
extreme example: a block for '*', a block for exp(x), etc etc), and the
generators for SAOL and CSound would then provide support for this set of
synthesis blocks. This would make the library totally independent of any
language. Note that i'm not really defining a new language this way. I'm
only providing a way to store a synthesis circuit.

Some generators will not have a simple statement for such a primitive
synthesis block, while other generators might have such a simple
statement. The set of blocks I'll introduce will be close to what SAOL
offers as primitive constructs, because that way, I will have less trouble
building the SAOL generator.

Note that this philosophy does not dictate how a certain synthesis block
is defined in a language. It might become a simple statement, or a block
of statements, ...

If the set of primitives is too small afterwards, additions could be made
to the standard which introduce new primitives, much like HTML started
with 1.0 and became 4.01 today.

You could also compare this to UML: the primitive blocks in an UML class
diagram are classes (this is ofcourse my opinion. I might be wrong).

> - for a pin, Label = "F", tooltip = "cutoff frequency, range such and such"
> appears as a floating "post-it note" only when your mouse pointer wanders over
> the pin (see Reaktor demo).

Indeed. You're right, i'll make sure this is also in the application.

> - for a module, Label = "Buzz" and tooltip = what buzz does (abstract of
> reference manual), again cf Reaktor.

Indeed.

Thanks,

Bert.
____________________________________________________
Bert Schiettecatte (1e lic. Inf)
Vrije Universiteit Brussel

E-Mail: bschiett@vub.ac.be
WWW: http://wendy.vub.ac.be/~bschiett/

-- To be a popular composer, what is it you must do?
Perhaps to learn enough tricks that cause people to
have pleasant sensations without too much stress.
What are the tricks for making that catches on in
a listener's mind, and keeps repeating long after
the performance? -- M. Minsky



This archive was generated by hypermail 2b29 : Mon Jan 28 2002 - 12:03:51 EST