> EDIT: I rebuilt Faust from Git. *I’m pleasantly surprised that someone
> has fixed bugs related to split composition or argument passing.*


Probably some  "Merry Prankster". They are very well known for introducing
and fixing bugs at night ;-)


Yann Orlarey

Directeur scientifique
www.grame.fr



2016-05-29 10:06 GMT+02:00 jimbo1qaz <jimbo1...@gmail.com>:

> (I’m testing out Markdown Here extension on Firefox, to write emails in
> Markdown. I type Markdown in a text editor, paste it into Gmail, and it
> renders. But Gmail edits are not translated back into Markdown. The
> formatting seems different, does it look good?)
>
> Your workaround works for calling fir_delay using par(_). However, the
> function no longer works when called with a named parameter.
> ------------------------------
>
> Also, I don’t understand how the split operator works on named parameters: 
> func(x,y)
> = _ <: something(y,x,y)
> Specifically, the function uses named arguments, you pass _ to split
> composition, and you continue using named arguments afterwards. What does
> that mean?
> ------------------------------
>
> Note: While investigating, I found out there’s faust -d . I think this
> translates expressions into “stack-based” underscore-only form.
>
> process(x,y) = y,x; becomes \(x1).(\(x2).(x2,x1));
>
> What exactly are backslashes and dots, and how do they reorder arguments?
> Do I need to understand this to write working Faust programs?
> ------------------------------
>
> Am I correct that functions are substituted literally into the function
> call?
>
>    - f(a)=_; f(1) becomes _ (inner-scope underscore ignores named
>    arguments and becomes outer-scope underscore)?
>    - f(x)=x+x; f(_) becomes _+_ (passing underscore as a named parameter,
>    becomes outer-scope underscore?)
>
> Both of these are unintuitive but consistent behaviors.
>
> One trick I discovered is to define f(x,y) = x,y: whatever to preserve
> argument mapping.
> ------------------------------
>
> EDIT: I rebuilt Faust from Git. *I’m pleasantly surprised that someone
> has fixed bugs related to split composition or argument passing.*
>
> import("music.lib");
> fir_delay(i, val) = delay(32, i, val);
> process(x) = fir_delay(48000, x);
>
> Used to produce an error:
>
> Connection error in : _<:x1,((48000 : int),(32,1 : -) : &) : @
> The second expression : x1,((48000 : int),(32,1 : -) : &) : @ has no inputs
>
> But now works just fine.
>
> fir_delay(i, val) = fdelay(32, i, val); seems to work better. Each
> fir_delay() pulls two arguments from _, which is consistent with the
> previous section. The constant values are correctly passed into i.
>
> Similarly, my original program seems to work properly now. I can only
> assume that someone fixed a Faust bug related to parallel composition.
> ​
>
> On Sun, May 29, 2016 at 12:56 AM, jimbo1qaz <jimbo1...@gmail.com> wrote:
>
>> (I’m testing out Markdown Here extension on Firefox, to write emails in
>> Markdown. I type Markdown in a text editor, paste it into Gmail, and it
>> renders. But Gmail edits are not translated back into Markdown. The
>> formatting seems different, does it look good?)
>>
>> Your workaround works for calling fir_delay using par(_). However, the
>> function no longer works when called with a named parameter.
>> ------------------------------
>>
>> Also, I don’t understand how the split operator works on named
>> parameters: “func(x,y) =
>> * <: something(y,x,y)”Specifically, the function uses named arguments,
>> you pass “*“ to split composition, and you continue using named
>> arguments afterwards. What does that mean?
>> ------------------------------
>>
>> Note: While investigating, I found out there’s faust -d . I think this
>> translates expressions into “stack-based” underscore-only form.
>>
>> process(x,y) = y,x; becomes \(x1).(\(x2).(x2,x1));
>>
>> What exactly are backslashes and dots, and how do they reorder arguments?
>> Do I need to understand this to write working Faust programs?
>> ------------------------------
>>
>> Am I correct that functions are substituted literally into the function
>> call?
>>
>>    - f(a)=_; f(1) becomes _ (inner-scope underscore ignores named
>>    arguments and becomes outer-scope underscore)?
>>    - f(x)=x+x; f(_) becomes _+_ (passing underscore as a named
>>    parameter, becomes outer-scope underscore?)
>>
>> Both of these are unintuitive but consistent behaviors.
>>
>> One trick I discovered is to define f(x,y) = x,y: whatever to preserve
>> argument mapping.
>> ------------------------------
>>
>> EDIT: I rebuilt Faust from Git. *I’m pleasantly surprised that someone
>> has fixed bugs related to split composition or argument passing.*
>>
>> import("music.lib");
>> fir_delay(i, val) = delay(32, i, val);
>> process(x) = fir_delay(48000, x);
>>
>> Used to produce an error:
>>
>> Connection error in : _<:x1,((48000 : int),(32,1 : -) : &) : @
>> The second expression : x1,((48000 : int),(32,1 : -) : &) : @ has no inputs
>>
>> But now works just fine.
>>
>> fir_delay(i, val) = fdelay(32, i, val); seems to work better. Each
>> fir_delay() pulls two arguments from _, which is consistent with the
>> previous section. The constant values are correctly passed into i.
>>
>> Similarly, my original program seems to work properly now. I can only
>> assume that someone fixed a Faust bug related to parallel composition.
>> ​
>>
>
>
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to