Slide 31
Slide 31 text
let sinewave =|freq,amp,phase|{
...
}
let apply_fadeinout = |start,dur,time_in,time_out,content|{
...
}
let FadeInOut = |time_in,time_out,origin|{
let time_in = Param("time_in",0.01,0.0..inf);
let time_out = Param("time_out",0.01,0.0..inf);
Region({
start: origin.start
dur : origin.dur
content: apply_fadeinout(start,dur,time_in,time_out,origin.content)
})
}
let project = |sample_rate|{
let tracks = Track([
FadeInOut(
0.1,
0.1,
region: {
start:0.0,
dur: 1.0,
content: || sinewave{
Param("freq",440.0,20.0..20000.0)
Param("amp",1.0,0.0..1.0)
Param("phase",0.0,0.0..1.0)
}
}
)
]);
tracks.map(|t| t.render()).sum()
}
• FadeInOut function takes
a region, return new
Region, with modi
fi
cation
of the content
(Code syntax is pseudo-code)