Syntax sugar for live coding in supercollider.
// boot the server
Ziva.boot;
// check the current BPM
Ziva.bpm;
// set the BPM - defaults to random value on every boot
Ziva.bpm = 96;
// set scale - defaults to \major
Ziva.scale = \minor;
// set the root (0 = C, 1 = C#, .. 11 = B) - defaults to 0 (C)
Ziva.root = 2;
// load samples - no samples by default
Ziva.samples("/path/to/your/samples/dir");
// list samples
Ziva.listSamples;
// list synth sounds
Ziva.synths;
// get list of controls (parameters) of a synth
Ziva.controls(\pulse);
// create track #1 starting the
// line with a number followed by a sound: (or s:)
1 s: \trisaw;
// mute the track
1.mute;
// unmute the track
1.unmute;
// add parameters
// arrays result in chords
// r: creates a rhythm from a hexadecimal string with a leading backslash
// sus: and dec: are ADSR values (there's also atk: and rel:)
1 s: \trisaw octave: 3 degree: [0,2,4] dur: (1/2) sus: 0 dec: 0.4 r: \fa;
// add an effect
1 s: \trisaw octave: 3 degree: [0,2,4] sus: 0 fx1: fbdelay(0.3, 0.89) wet1: 0.6;
// remove the previous effect
1 s: \trisaw octave: 3 degree: [0,2,4] sus: 0 fx1: nil;
// reverb amount (same reverb for all tracks)
1 s: \trisaw sus: 0 reverb: 1;
// sequence notes in the scale
1 s: \trisaw degree: [0,2,4].pseq;
// random sequence
1 s: \trisaw degree: [0,2,4].prand;
// lace sequence
1 s: \trisaw degree: [0,2,[0,7]].place;
// etc...
// this also works with sclang Pattern syntax
1 s: \trisaw degree: Pseq([0,2,4], inf);