Re: [Bluemusic-devel] classes of FlowGraphInstrument
Brought to you by:
kunstmusik
From: Steven Yi <ste...@gm...> - 2006-02-08 04:07:36
|
Hi Ugur, > # We've exchanged our ideas :-) I liked the idea of having an > expression object. As you know, at start, I considered the Unit as an > editable object too. But after making an Unit Library this will be > unnecessary, because one will have all opcodes at hand, and can write > its own Units. > # However, expressions are somewhat different. Its not possible to > prepare all mathematical expressions :-) of course. > # Two solutions have been mentioned and both of them can be applied. I > think, the one of the superiorities of Csound over other moduler music > softwares is its basis on text. Writing mathematical expressions with > keyboard, by typing, is easier than creating constant units, operator > units and connecting them with cables. > # We can prepare both an expression unit, and math units. The user can > choose s/he's own preference. > # And to reducing possible errors, expression unit can be constructed > so that it gets disabled when an uncorrect expression is written. > (like the disabled Units in the .jar file I first sent.) > # Certainly, we need a parser for the expression object. I can try to > write one, or we can you the parser you want to implement in the > Mixer. I think we can do an expression object that works like this (and requires no expression parser! =3D) ): -the expression object can be any code that is typed, something like this: (ival *45) + (kenv * 4) -the above, when the editing is done and the user presses enter, can be parsed to read what are the variables, then create input boxes depending on the values found. The output value rate can be intuited from the inputs (i.e. the case above, output would be k-rate because the expression is krate). -when the above goes to compile, the values can be replaced with the i- and k- values from the cables that hook up to it, and the following can be generated in the orch code: ktemp =3D (ival *45) + (kenv * 4) and the output value is the ktemp. That should work for expression ideas I think. > # Oww... When I started my Java project, I supposed that I'm the only > one who wants to write an GUI for Csound instruments. Then I heared > Cabel. And today I learned CSBlocks, and am suspicious about the > existenz of other interfaces :-) I feel very useless :-( Hardly! There was another modular java project donated to work with blue already, JavaOrc, but it was not easy for me to modify so I never got around to using it really (it is in the blue CVS in the plugins module, by the way, and may have good ideas to use). CSBlocks and Cabel both are not in Java and therefore unable to get hooked into blue; they are useful in themselves, but really for blue, it will be a very useful thing to have this in Java and to work within the blue environment. So I think your project will be very valuable and useful. =3D) > # Ok, Unit Library Editor should control wheter the arguments starts > with a, k, i, S, w or f. And these will be the types of a Port. Sounds good! steven |