[Faudiostream-users] Fwd: Question re. Fauck and faust2ck

2022-03-14 Thread Daniel Chapiro
Thanks, Romain! In that case I'll stick to faust2ck for now.
However, for those who may want to use FaucK, I found a problems with
Faust.chug (I had posted it in the ChucK forum, since Faust.chug is in the
ChucK chugins release, but I'll cc it below).
Cheers!
Daniel
---
1. I downloaded the pre-compiled Faust.chug binary per the install script in
https://ccrma.stanford.edu/~rmichon/fauck/
However, OSX (Big Sur) complains that it's from an unsigned developer,
whether I use it w/ chuck from the term, or from the miniaudicle. I know
how to enable OSX apps from unsigned developers - is there a way to have
OSX let me do likewise for .chugs (i.e., .o) files?

2. Also, I tried to make Faust.chug from sources (cloned
*https://github.com/ccrma/chugins
<https://github.com/ccrma/chugins>*), but got fatal compile errors:
>>> cd chugins/Faust/; make osx

clang++ -c -o Faust.o Faust.cpp -mmacosx-version-min=10.9 -D__MACOSX_CORE__
-I../chuck/include -arch x86_64 -fPIC -I/usr/local/include -O3

In file included from Faust.cpp:35:

In file included from /usr/local/include/faust/dsp/llvm-dsp.h:37:

*/usr/local/include/faust/dsp/dsp.h:246:52: **error: **expected ';' at end
of declaration list*

void setFpStatusRegister(intptr_t fpsr_aux) noexcept

*^*

;

In file included from Faust.cpp:37:

*/usr/local/include/faust/gui/PathBuilder.h:69:31: **error: **non-aggregate
type 'std::vector' cannot be initialized with an initializer list*

std::vector rep = {' ', '#', '*', ',', '/', '?', '[', ']', '{', '}',
'(', ')'};

*^ *

2 errors generated.

make: *** [Faust.o] Error 1

On Mon, Mar 14, 2022 at 3:15 AM Romain Michon  wrote:

> Hi Daniel,
>
> Beside the fact that FaucK allows you to do on-the-fly compilation of
> Faust programs directly in ChucK, there's no real benefit in terms of using
> it vs. faust2ck. It's just more convenient if you need to prototype Faust
> programs directly in ChucK. If your Faust program is always the same, using
> faust2ck might be a better option.
>
> Cheers,
>
> Romain
>
> On Sun, Mar 13, 2022 at 10:18 PM Daniel Chapiro 
> wrote:
>
>> Thanks, Stéphane! Also, do you know if there any advantage in using FaucK
>> (Faust.chug) instead of faust2ck? (I don't do on-the-fly Chuck programming)
>>
>
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


Re: [Faudiostream-users] Question re. Fauck and faust2ck

2022-03-13 Thread Daniel Chapiro
Thanks, Stéphane! Also, do you know if there any advantage in using FaucK
(Faust.chug) instead of faust2ck? (I don't do on-the-fly Chuck
programming)

On Sun, Mar 13, 2022 at 1:05 PM Stéphane Letz  wrote:

> faust2ck  is not deprecated AFAICS, but is not automatically installed for
> now, see: https://github.com/grame-cncm/faust/tree/master-dev/tools
>
> Stéphane
>
> > Le 12 mars 2022 à 05:26, Daniel Chapiro  a écrit :
> >
> > Hi - I have a question for people familiar w/using Faust+Chuck:
> >
> > In the past I had used faust2ck to combine ChucK and Faust code.
> > Given I don't do any "on the fly" coding, is there any benefit in using
> FaucK instead?
> >
> > Although the faust2ck src is included within the faust release, "make
> osx" makes all the faust2xyz's, except faust2ck.
> > So I ran make osx in the faust2ck folder, and put it in
> /usr/local/lib/chuck w/o any problem.
> >
> > However, shouldn't the faust-level make have done it when I compiled
> faust? Or is it because faust2ck is deprecated?
> >
> > Thanks!
> > Dan
> > ___
> > Faudiostream-users mailing list
> > Faudiostream-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/faudiostream-users
>
>
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


[Faudiostream-users] Question re. Fauck and faust2ck

2022-03-11 Thread Daniel Chapiro
Hi - I have a question for people familiar w/using Faust+Chuck:

In the past I had used faust2ck to combine ChucK and Faust code.
Given I don't do any "on the fly" coding, is there any benefit in using
FaucK instead?

Although the faust2ck src is included within the faust release, "make osx"
makes all the faust2xyz's, except faust2ck.
So I ran make osx in the faust2ck folder, and put it in
/usr/local/lib/chuck w/o any problem.

However, shouldn't the faust-level make have done it when I compiled faust?
Or is it because faust2ck is deprecated?

Thanks!
Dan
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


Re: [Faudiostream-users] error message from FL 2.5.3 and/or Faust latest libraries

2020-02-03 Thread Daniel Chapiro
Thanks Julius and Stephane for the advice and clarifications! 
They help a lot :)
—Dan

> On Feb 3, 2020, at 12:14 AM, Julius Smith  wrote:
> 
> It would be cool if the Faust compiler offered a special debug option,
> such as "-da | --debug-all" that tries to compile every function
> defined in the file separately, presenting the failed functions in
> lexical order, giving line number, etc.  It would be like defining
> each function as process, one after the other.  This is essentially
> how I debug.  I set process to some simpler subset of my patch, and
> grow it out until it's all there.
> 
> - Julius


—-

> On Feb 2, 2020, at 11:42 PM, Stéphane Letz  wrote:
> 
> 
> 
>> Le 3 févr. 2020 à 02:10, Daniel Chapiro  a écrit :
>> 
>> Hi Stephane,
>> Indeed, the bug was exactly where you suggested! After I had identified that 
>> SR was related to the problem, how did you know it was in that particular 
>> use of SR within my .dsp?
> 
> By looking at :
> 
> - the error message (even if cryptic ((-; ) 
> 
> - knowing the fact that ma.SR is defined in the maths.lib as SR = 
> min(192000.0, max(1.0, fconstant(int fSamplingFreq, ))); which 
> actually appears in the cryptic error message...
> 
> - looking at additional constants in the cryptic error message..., and so 
> finding the appropriate place in the source code.
> 
> 
>> 
>> Also, for obscure (at least for me) error messages like the one below, is 
>> there a better way than greping for some of the strings from the error msg 
>> against one’s .dsp and the .libs (to narrow down possibilities), and then go 
>> through all ocurrences of the likely problematic symbol until one finds the 
>> bug?  
>> 
>> Thanks!
>> Dan
>> 
> 
> The error messing system is still somewhat similar to the « early days of 
> template meta-programming in C++ ». The point is that precise location of 
> every definitions, and the fact that the Faust compiler does a kind of «  
> block diagram flattening »  mainly explains the current non satisfactory (to 
> say the least..) current situation. 
> 
> Stéphane 
> 




___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


Re: [Faudiostream-users] error message from FL 2.5.3 and/or Faust latest libraries

2020-02-02 Thread Daniel Chapiro
Hi Stephane,
Indeed, the bug was exactly where you suggested! After I had identified that SR 
was related to the problem, how did you know it was in that particular use of 
SR within my .dsp?

Also, for obscure (at least for me) error messages like the one below, is there 
a better way than greping for some of the strings from the error msg against 
one’s .dsp and the .libs (to narrow down possibilities), and then go through 
all ocurrences of the likely problematic symbol until one finds the bug?  

Thanks!
Dan

> On Jan 31, 2020, at 8:28 PM, Stéphane Letz  wrote:
> 
> 
> 
>> Le 1 févr. 2020 à 00:38, Daniel Chapiro  a écrit :
>> 
>> Hi - I’m using FL 2.5.3 (OSX 10.13.6), and got this error msg with the 
>> attached bowed3.dsp (it worked w/old libs, and I just put the prefixes to 
>> make it work with the new libs):
>> 
>> Wed Jan 29 2020 19:47:14:
>> ERROR in sequential composition A:B
>> The number of outputs [1] of A must be equals to the number of inputs [2] of 
>> B
>> 
>> Here A = _,0.94996f : *; has 1 output
>> while B = 
>> _,\(x1).1,(0.59998f,(2205.0f,(192000.0f,(1.0f,fconstant(int 
>> fSamplingFreq, ) : max) : min) : /) : -) : -),x1 : 
>> *),((0,(0.59998f,(2205.0f,(192000.0f,(1.0f,fconstant(int 
>> fSamplingFreq, ) : max) : min) : /) : -) : -),_ : *) : -)~_) : -; 
>> has 2 inputs
> 
> This seem to come from this block (line 68 - 70) :
> 
> // Bow-Neck: a lowpass filter (declared in instrument.lib)// ### how 
> chose these values?
> LP = *(gain) : -(in.onePole(b0,a1))   
>   with{ pole = 0.6 - (0.1*22050/ma.SR); gain = 0.95; b0 = 1-pole; a1 = 
> -pole; };
> 
>> 
>> 1. Many of FL’s error messages are a bit cryptic, and have no reference to 
>> the user’s code, so it’s very hard to know where is the error in the .dsps 
>> and .libs. 
>> Couldn’t FL spit the full call path, to know what was the offending code in 
>> one’s .dsp? (would make both novice and expert Faust users much more 
>> productive)
> 
> Yes we know that, but that’s not easy to do !
>> 
>> 2. Not having that call path, I just grep’d in the libraries for some of the 
>> strings from the message above, and got a hit just in “math.lib”:
>> 
>> SR = min(192000.0, max(1.0, fconstant(int fSamplingFreq, )));
>> 
>> In my .dsp I simply use the SR constant, and I don’t have any idea why FL is 
>> complaining (presumably about this line in math.lib).
> 
> ma.SR is indeed defined i the mats.lib library, and will actually take the SR 
> value given to the DSP at runtime.
> 
>> 
>> 3. To see if it’s a bug in the library that was bundled in FL 2.3.5, I 
>> replaced this library with the most recent one:
>> cd ~/.FaustLive-CurrentSession-2.0
>> rm Libs/*
>> git clone https://github.com/grame-cncm/faustlibraries Libs
>> 
>> Running FL again, I got the exact same error message above.
>> 
>> Anybody knows how to get around this?
>> 
>> Thanks!
>> Daniel
>> 
> Stéphane
> 



___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


[Faudiostream-users] error message from FL 2.5.3 and/or Faust latest libraries

2020-01-31 Thread Daniel Chapiro
Hi - I’m using FL 2.5.3 (OSX 10.13.6), and got this error msg with the attached bowed3.dsp (it worked w/old libs, and I just put the prefixes to make it work with the new libs):Wed Jan 29 2020  19:47:14:ERROR in sequential composition A:BThe number of outputs [1] of A must be equals to the number of inputs [2] of BHere  A = _,0.94996f : *; has 1 outputwhile B = _,\(x1).1,(0.59998f,(2205.0f,(192000.0f,(1.0f,fconstant(int fSamplingFreq, ) : max) : min) : /) : -) : -),x1 : *),((0,(0.59998f,(2205.0f,(192000.0f,(1.0f,fconstant(int fSamplingFreq, ) : max) : min) : /) : -) : -),_ : *) : -)~_) : -; has 2 inputs1. Many of FL’s error messages are a bit cryptic, and have no reference to the user’s code, so it’s very hard to know where is the error in the .dsps and .libs. Couldn’t FL spit the full call path, to know what was the offending code in one’s .dsp? (would make both novice and expert Faust users much more productive)2. Not having that call path, I just grep’d in the libraries for some of the strings from the message above, and got a hit just in “math.lib”:SR = min(192000.0, max(1.0, fconstant(int fSamplingFreq, )));In my .dsp I simply use the SR constant, and I don’t have any idea why FL is complaining (presumably about this line in math.lib).3. To see if it’s a bug in the library that was bundled in FL 2.3.5, I replaced this library with the most recent one:cd ~/.FaustLive-CurrentSession-2.0rm Libs/*git clone https://github.com/grame-cncm/faustlibraries LibsRunning FL again, I got the exact same error message above.Anybody knows how to get around this?Thanks!Daniel

bowed3.dsp
Description: Binary data
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


Re: [Faudiostream-users] FaustLive and .lib files

2020-01-05 Thread Daniel Chapiro
Hi all,

I downloaded the FL 2.5.3 dmg, to see if that solved point #1 in my email of 
Jan 2, but in my machine FL 2.5.3 crashes immediately (before even opening any 
window).
 
FL 2.5.0 runs fine, except that If I set the FL Compilation option to “-l 
”, I get: 
ERROR : input in flex scanner failed
Am I using it wrong, or should this have worked?

Also, from where does FL populate ~/.FaustLive-Current-Session-2.0 initially?

Thanks!
Dan

—-
OSX High Sierra (10.13.6)
faust-2.20.2.tar.gz

cc --version
Apple LLVM version 10.0.0 (clang-1000.11.45.2)
Target: x86_64-apple-darwin17.7.0 

clang --version
clang version 9.0.0 (git://github.com/llvm/llvm-project.git)
Target: x86_64-apple-darwin17.7.0


> On Jan 5, 2020, at 1:13 PM, Romain Michon  wrote:
> 
> Hi everyone,
> 
> Ok I'll take care of that. I'm gonna be extremely busy this week with some 
> super urgent things to do and I doubt I'll have time for that but next week 
> should be good.
> 
> Cheers,
> 
> Romain
> 
> On Sat, Jan 4, 2020 at 9:25 AM Stéphane Letz  <mailto:l...@grame.fr>> wrote:
> 
> 
> > Le 4 janv. 2020 à 05:11, Daniel Chapiro  > <mailto:dchap...@gmail.com>> a écrit :
> > 
> > Hi Stephane,
> > 
> > Yes, I see that in https://github.com/grame-cncm/faustlive/releases 
> > <https://github.com/grame-cncm/faustlive/releases> there’s a FL 2.5.3. 
> > However, I had downloaded what’s in 
> > https://faust.grame.fr/downloads/index.html#macos 
> > <https://faust.grame.fr/downloads/index.html#macos> (FL 2.5.0).
> 
> OK, links are updated, Romain now needs to publish them ((-:
> 
> > 
> > About hoa.lib and maxmsp.lib, I don’t use those myself, and my comment was 
> > more about consistency in not re-using names for things that are different.
> > 
> > —Dan
> 
> OK thanks.
> 
> Stéphane 
> 
> 
> -- 
> Romain Michon
> Researcher
> GRAME-CNCM
> http://grame.fr/~michon <http://grame.fr/~michon>
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


[Faudiostream-users] FaustLive and .lib files

2020-01-02 Thread Daniel Chapiro
Hi all - after a few years hiatus, I am back at Faust, and I am happy for the 
many improvements :) First I am trying to re-learn Faust and ChucK, before 
updating my code to conform to the new libraries, etc., and found some problems:

I Installed: 
OSX High Sierra (10.13.6)
faust-2.20.2.tar.gz (LLVM 3.16)
FaustLive-2.5.0-osx.dmg
Latest libs (master): from https://github.com/grame-cncm/faustlibraries 


 
1. COMPILATION SWITCHES
I set the FL Compilation option to “-l , to run my old 
.dsps. However, I got a message “ERROR : input in flex scanner failed” (btw, 
I’m aware of the conversion script for dsps, but I’d rather update them by hand 
and know exactly what I did) .

To see if the problem was with using old libraries or the new FL, I tried to 
run a built-in FL example. It ran fine without any switches, but when I set “-l 
”, I get the same error message above. 

As a workaround, I just put a copy of the old .lib files in 
~/.FaustLive-Current-Session-2.0, and that worked fine with my old dsps (after 
fixing the old effect.lib). 

(a) Is there an issue with the switch, or am I using it wrong (?)
(b) From where does FL populate ~/.FaustLive-Current-Session-2.0?


2. VERSION #s in LIBS
The “declare version #s” of the new-style .lib files that got installed by 
faust 2.20.2 in /usr/local/share/faust/faustLibs, and those that FL2.5.0 put in 
~/.FaustLive-Current-Session-2.0/Libs are identical. Yet, many of the former 
.libs are newer, and have updated code and comments. Furthermore, the latest 
.lib, in the master repository, have way more changes, but only a few have had 
their version changed.

Even when their functionality may be identical (which I don’t know), may I 
suggest  that going forward a 3rd number be added to the .lib files versions? 
It would have the form , and would change as follows:

 
anything that alters compatibility with existing dsps (whether naming, function 
signature, etc). 
 
anything that alters function (including bug fixes)
  
(a) any change in comments (no matter how small), or 
(b) any “clarity code changes” (not intended to alter behavior in any way).


3. LIBS NAMESPACE
It’s nice that the new .lib files have names that mostly don’t collide with the 
old library names. Is there a reason not to do the same for hoa.lib and 
maxmsp.lib?


4. FL PULLDOWNS
If I close all FL windows, most pulldown menus vanish, and I can’t use ^N nor 
File > Open. So to open a new window I have to quit and restart FL. 


Thanks for any comments! 
—Dan



___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


[Faudiostream-users] FaustLive not finding all library symbols (?)

2015-10-17 Thread Daniel Chapiro
Hi all,

Maybe somebody else has seen this?  FLive 2.39 (OSX 10.7.5) is not finding some 
specific library objects (whether I use import or library). However, the same 
.dsp compiles and runs fine with faust2ck, or with faust2caqt.

I have the Compilation Switch set to -l /op/faudiostream-code/architecture, and 
the .dsp has:
import("music.lib");
import("instrument.lib");
import ("filter.lib");
effLib = library ("effect.lib");

So far I have found this problem only with effect.lib. FLive complains that 
some symbols, like
amp_follower_ar, mono_freeverb, etc.,
 are not defined, even though they are... The curious thing is that it accepts 
other symbols from this same library, such as
amp_follower_ud, satrev, etc., 
which I can see in the SVG diagram, so I know that FLive found effect.lib, and 
loaded it.

Is this a known bug, or something that has been fixed in 2.40?

Thanks,
Daniel 

PS: BTW,


--
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


[Faudiostream-users] conditional composition at compile time

2015-10-06 Thread Daniel Chapiro
Hi all,

I was wondering about compile-time, conditional controls for composition. To 
make things concrete, here's a Lagrange polynomial example in Faust (maybe 
there are better ways to code it, but this shows my issue):

import ("math.lib");
nth(i,list) = take(i+1,list);
xlist = (110, 220, 440, 880);
ylist = (115, 224, 448, 882);
N = 4;

Lagrange(x) = sum (n, N, (nth(n,ylist) * Term(n,x))) with {
Term(k,x) =  prod (i, N, (select2 ((i==k), Factor(i,k,x), 1))) with {
Factor(i,k,x) = (x - nth(i,xlist)) / ((nth(k,xlist) - nth(i,xlist) + 
(i==k))); 
};};


Although this works, it has two things that I see as "kludges": (a) In Term, to 
skip the i==k case, but particularly (b) in Factor, the fudge to avoid 
divide-by-zero when i==k. 

One could argue that both kludges can be removed by the Faust/C++ optimizers 
for runtime, so it doesn't matter. However, I assume that there are other cases 
in which the workarounds are not so simple. Wouldn't it be good to have some 
construct for conditional composition at compile time?

Thanks!
Daniel

--
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


[Faudiostream-users] question re Faust recursion

2015-09-14 Thread Daniel Chapiro
Hi all - I posted a question about loops recently, but since I haven't gotten 
any replies, I wrote a simpler example in Faust, which exhibits my problem.

The 2 statements that say "FIX" are not OK in Faust ("loop detected…"), but 
show how the blocks should be connected (from the algorithmic or circuit point 
of view, the circuit is OK). Can somebody show me how to do this using Faust's 
style recursion?

// 3 identical blocks (ea blk has 2 inputs and 2 outputs)
f(x,y) = x'+y'; // any combinational function of the blk inputs with a delay >=1
g(x,y) = x'-y'; // some other function
out0a = f(in0a, in0b); out0b = g(in0a, in0b);   // blk0
out1a = f(in1a, in1b); out1b = g(in1a, in1b);   // blk1
out2a = f(in2a, in2b); out2b = g(in2a, in2b);   // blk2

// forward connections ("b")
in0b = _;
in1b = out0b ;
in2b = out1b ;

// backwards connections ("a")
in0a = out1a;   // FIX...
in1a = out2a;   // FIX...
in2a = _;

process = (out2b,out0a);

Thanks!
Daniel--
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users


Re: [Faudiostream-users] Faust GUI question

2015-08-21 Thread Daniel Chapiro
Thanks, Yann! These hierarchical paths are really nice, and get me closer, but 
not fully there: In my example #2, which has the GUI I want, col2 (with x and 
y) is to the right of col1 (with a and b), while Solutions #1 and #2 put col2 
below col1. 

So I tried some variations, and this one is closer, as it puts a,b,x,y in the 
right positions, but it encapsulates horizontally (a with x, and b with y), 
instead of vertically (a with b, and x with y):

Variant #1
a = nentry(h:row1/a,1,0,10,1);
b = nentry(h:row1/b,2,0,10,1);
x = nentry(h:row2/x,3,0,10,1);
y = nentry(h:row2/y,4,0,10,1);
process = a*x + b*y;

So we have a 
Solutions 1  2, Variant 1 -- readable process
Variant 1, Example 2 -- correct layout
Solutions 1 and 2, Example 2 -- correct encapsulation: 
but none satisfies all 3 things... Is there a way I am missing, to get the 
desired encapsulation and layout, plus readability? 

Thanks again, 

Best,
Daniel


On Aug 21, 2015, at 5:04 AM, Yann Orlarey wrote:

 Hi Daniel,
 
 Here are two solutions for your example 2:
 
 Solution 1:
 --
 a = vgroup(term1, nentry(a,1,0,10,1));
 b = vgroup(term1, nentry(b,2,0,10,1));
 x = vgroup(term2, nentry(x,3,0,10,1));
 y = vgroup(term2, nentry(y,4,0,10,1));
 process = a*x + b*y;
 
 Solution 2:
 --
 a = nentry(v:term1/a,1,0,10,1);
 b = nentry(v:term1/b,2,0,10,1);
 x = nentry(v:term2/x,3,0,10,1);
 y = nentry(v:term2/y,4,0,10,1);
 process = a*x + b*y
 
 For more details, Faust quick reference p 38.
 
 Cheers
 
 Yann
 
 Le jeu. 20 août 2015 à 20:48, Daniel Chapiro dchap...@gmail.com a écrit :
 Hi - I made 2 tiny examples, which show a problem I'm having with the Faust 
 GUI, and I wanted to ask for advice. Both work fine, but the 2nd one is 
 awkward. I'd like to figure out a way to restate the 2nd one so it does 
 exactly the same, but with more readable Faust code (this case is 
 intentionally simple, but with more complex GUIs and algorithms it quickly 
 gets really convoluted)
 
 GUI constraints: 
   2 vertical columns, side by side
   col1:(a,b),  col2:(x,y)
 
 (1) 
 If the computation decomposes nicely along the GUI organization, as in:
   out = a+b + x+y;
 it's all readable and straightforward, like here:
 
 col1 = vgroup(col1, a + b) with {
   a = nentry(a,1,0,10,1);
   b = nentry(b,2,0,10,1);
   };
 col2 = vgroup(col2, x + y) with {
   x = nentry(x,3,0,10,1);
   y = nentry(y,4,0,10,1);
   };
 process = hgroup (two_columns, col1 + col2);
 
 (2) 
 But if computation straddles the desired GUI, as in:
   out = a*x + b*y 
 then it's not very readable (even for this trivial case):
 
 a = nentry(a,1,0,10,1);
 b = nentry(b,2,0,10,1); 
 x = nentry(x,3,0,10,1);
 y = nentry(y,4,0,10,1);
 col1 = vgroup(term1, a,b);
 col2 = vgroup(term2, x,y);
 vars = hgroup (two_columns, col1, col2);
 process = vars : (_,!,_,!) , (!,_,!,_) : *,* : +;
 
 
 In essence, how can one re-write the 2nd example, so the algorithm reads as 
 clearly as a*x+b*y? (i.e., decoupling GUI layout from algorithm).
 
 Thanks,
 Daniel
 --
 ___
 Faudiostream-users mailing list
 Faudiostream-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/faudiostream-users

--
___
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users