From 3df30e2c28522ccfba29b1fc908b87d96b35e55f Mon Sep 17 00:00:00 2001 From: David Runge Date: Thu, 30 Nov 2017 22:02:31 +0100 Subject: README.rst: Updating examples to use the current syntax for clocks and constant pitch Synths (instant methods of ZZZES3). Moving examples below ES-3 based subcategory. Fixing typos and minor errors. --- README.rst | 49 +++++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/README.rst b/README.rst index 7fa17e4..ba1cff0 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,7 @@ ZZZ ### -| |SuperCollider| classes to interface |expert_sleepers| devices. +| |SuperCollider| classes to interface with |expert_sleepers| devices. Supported devices ----------------- @@ -26,6 +26,9 @@ installation corresponds to |quark_installation|. Usage ----- +ES-3 +____ + To create a new object interfacing your |es-3|, instantiate the *ZZZES3* class with an Array holding your eight ADAT output channels: @@ -34,49 +37,51 @@ with an Array holding your eight ADAT output channels: // RME Babyface example ~es3 = ZZZES3(Array.series(8, 4, 1)); -To play a Synth on one of the eight |es-3| outputs you can use one of the -*SynthDefs* added by the *ZZZ* class, such as *\ZZZConstant* (for constant -notes) or *\ZZZClock* (for clock): + .. note:: - .. code:: supercollider + | The instantiation of *ZZZES3* conveniently makes the outputs of the + |es-3| available in a numbering range from 1-8 (as displayed on the + hardware). + | Generally, in |supercollider| channel numbering starts with 0, though! - // play Synth 'ZZZClock' at ES-3 output 8 with a speed of 240bpm (defaults to 120bpm) - ~zzzClock = Synth(\ZZZClock, [\out, ~es3.out(8), \freq, (240/60)]); +To interface with your module on one of the eight |es-3| outputs, you can use +one of the *SynthDefs* added by the *ZZZ* class, such as *\ZZZConstant* (for +constant pitch) or *\ZZZClock* (for clock): .. code:: supercollider - // play Synth 'ZZZConstant' at ES-3 output 7 with a multiplacation factor corresponding to the note C5 - ~zzzNote = Synth(\ZZZConstant, [\out, ~es3.out(7), \mul, ZZZ.cpsamp(523.251)]); + // start Synth \ZZZClock at ES-3 output 8 with a speed of 240bpm (defaults + // to 120bpm) + ~es3.addClock(8, (240/60)); - .. note:: + .. code:: supercollider - | The convenience function *ZZZES3.out* accepts integers from 1 to 8 - (corresponding to the numbering on the device itself) and returns the *Out* - number connected to it. - | Generally, in |supercollider| channel numbering starts from 0, though! + // start Synth '\ZZZConstant' at ES-3 output 7 with a multiplication factor + // corresponding to the note C5 + ~es3.addVCO(7, ZZZ.cpsamp(523.251)); -Just like with any other *Synth*, you can now change their settings: +Just like with any other *Synth* instance, you can now change their settings: .. code:: supercollider - // change clock speed to 300bpm - ~zzzClock.set(\freq, (300/60)); + // change clock speed at output 8 to 300bpm + ~es3.setClock(8, (300/60)); .. code:: supercollider - // change note to A4 - ~zzzNote.set(\mul, ZZZ.cpsamp(69.midicps)); + // change constant pitch on output 7 to A4 + ~es3.setVCO(7, ZZZ.midiamp(69)); Background ---------- | Modular synthesizers are controllable through several ranges of voltage. -| |cv_gate| as defined by |doepfer| in the |a100_manual| might not be coherently - used throughout all Eurorack modules however. +| However, |cv_gate| as defined by |doepfer| in the |a100_manual| might not be coherently + used throughout all Eurorack modules. | | The *ZZZ* classes nonetheless try to adhere to the standard, while at the - same time provide convenience functions to low-level conversion. + same time providing convenience functions to low-level conversion. | By default the helper functions are able to convert frequencies in the |c_musical_note| (between *C-2* and *C10*) to an output between -5V and 7V (adhering to the 1V/octave scheme) - the MIDI note range being a subset of it. -- cgit v1.2.3-54-g00ecf