wslib shortcuts
a number of syntax shortcuts featured in wslib
shortcuts documented here:
Synth:sched
Function:render
SCWindow:decorate ( margin, gap )
Env:kr ( doneAction, gate, mul, add, timeScale )
Array:fft ( imag ), Array:ifft ( imag )
String:spth / String.spath
Synth_ID
Synth:sched
shortcut methods
Synth:sched ( time, defName, args: [ arg1, value1, ... argN, valueN ], target, addAction )
Same as Synth.new, but with a time offsed. Use for accurate timing from within Tasks and delayed synth starting
Synth.sched( 0.5, "default" ); //starts in 0.5 seconds
Function:render ( path, duration, fadeTime, sampleRate, headerFormat, sampleFormat,
options, inputFilePath, prependScore, sfBuffer )
Render a function to disk in the same way as Function:play works.
{ SinOsc.ar( 550, 0, 0.1 ) }.render( "~/Desktop/testSine550.aif", 5 );
(
// use sfBuffer argument to input a soundfile buffer, to be loaded by the NRT server
b = Buffer.new.path_( "sounds/a11wlk01-44_1.aiff" );
{
PlayBuf.ar(1, b.bufnum,
SinOsc.kr(0.5).range(0.2,1.8),
loop:1 )
}.render( "~/Desktop/testBuffer.aif", 5, sfBuffer: b );
)
SCWindow:decorate ( margin, gap )
Adds a FlowLayout decorator to the window's SCTopView.
w = SCWindow( ).front.decorate; // typical use
( // replaces all this with one word
w = SCWindow( ).front;
w.view.decorator = FlowLayout( w.view.bounds );
)
Env:kr ( doneAction, gate, mul, add, timeScale )
Wrapper for EnvGen around Env. Makes the way I usually tend to use Env very easy
Env([0,1,0],[1,1]).kr(2); // typical use
// replaces:
EnvGen.kr( Env([0,1,0],[1,1]), doneAction: 2 );
// makes way for snappy syntax:
{ Env.perc.kr(2) * BPF.ar( PinkNoise.ar(0.2.dup), 1500 ) }.play;
Array:fft ( imag ), Array:ifft ( imag ), Complex:fft, Complex:ifft
performs an fft or ifft directly on an array. Automatically generates costables and Signals internally.
Returns a Complex with Signals in real and imag slots.
(
a = { |i| (( i / 255 ) * 2pi * 20).sin } ! 256;
a.plot;
a.fft.magnitude.plot;
)
String:spth / String:spath
shortcuts for standardizePath. This is not used anywhere in the wslib classes. Only for coding speed.
"~/scwork".spth;
"~/scwork".spath;
shortcut classes
Synth_ID
an alternative for Synth, which allows a nodeID to be specified at creation. Returns a regular Synth.
Synth_ID( "default", nodeID: 2000 );
Creation methods :
new ( defName, args, target, addAction, nodeID )
newPaused ( defName, args, target, addAction, nodeID )
after ( aNode, defName, args, nodeID )
before ( aNode, defName, args, nodeID )
head ( aGroup, defName, args, nodeID )
tail ( aGroup, defName, args, nodeID )
replace ( nodeToReplace, defName, args, nodeID )