Command guide

Objects are programmed in the form of command data1,data2,data3, etc… Be careful with spelling, avoid using excess spacing and provide the requested data as this may prevent objects running correctly. Only connect/cable objects when required and take to connect in the correct direction.

Where an object is empty and has no command or data, it will generate xval and yval data based on its screen location. These objects can be chained together, allowing their contents to be chained together in order.

Where an object does not use one of the below commands, the object will create data with the requested name, so ‘velocity 120,50,60’ will create an object with parameter velocity and the requested data 120,50,60 assigned.

On certain objects, MIDI values can be substituted with actual pitch and octave names. Eg, pitch C3,D4,E7, etc…

scale a,b,c,d,e,f,g
Define scale degrees using a-g, # and b. Use , to separate degrees.

event xx-x
Define note events, x voice pulse, – mute pulse.

define xxxx,yyyyy
Special command which substitutes all instances of xxxx across all objects with contents yyyyy.

pulsemul 1,2,0.5, etc…
Multiplier to determine how many beats long a single pulse should last when rendered.

pulsediv 1,2,0.5, etc…
Divider to determine how many beats long a single pulse should last when rendered.

pulsemod 1,2,0.5, etc…
Offset to determine how many beats backwards or forwards a single pulse should be pushed when rendered.

notemul 1,2,0.5, etc…
Multiplier to determine how many beats long a single note should last when rendered. Notes can be longer than pulse if required.

notediv 1,2,0.5, etc…
Divider to determine how many beats long a single note should last when rendered.

tempo x,y,z,etc…
Creates tempo data. Must be sent to render to be processed.

volume x,y,z,etc…
Creates volume data. Must be sent to render to be processed.

velocity x,y,z,etc…
Creates velocity data. Must be sent to render to be processed.

program x,y,z,etc…
Creates program change data. Must be sent to render to be processed.

events AABBABAB
Shorthand version of structure – runs structure A,A,B,B,A,B,A,B. Can also be shortened to AABBABAB – application defaults to events if no valid command provided and more than one digit present.

contour u-d
Preferred voice direction contour. u = up, d = down, – = move to closest.

sequence 1,2,3,4,5,6,7
Root chord sequence data.
Sequence can also be substituted with root.

root 1,2,3,4,5,6,7
Root chord sequence data.

create minor/major
Creates root sequence from provided random data, according to common chord progressions.

voice 1,40
Create chord starting on degree 1 of chord at pitch 40.
Requires chord data.
Optional: contour data – voice will attempt to follow contour where possible.

reverse xxxxx
Reverses time order of data and sets section name to xxxxx or as requested.

section verse
Combines sources and names section to verse or as requested. Application defaults to section if no valid command provided and only one digit present, eg, A.
Section can also be substituted with ‘_’ for names longer than one digit.

structure verse,chorus,verse,A,B,C
Structures source sections in time order as requested. Source sections must contain identical data types in same order.

construct xxxxx,int/float,yyyyy
Construct an object from data xxxxx, using command yyyyy. int/float allows rounding, which is especially useful for dynamic structures.

chord 1,3,5,7
Creates chord map based on required sequence and scale data, using provided chord formula.

layer xxx
Extracts specified layer from chord map.

layer xxx,yyy,zzz, etc…
Layers multiple data sources. Useful for grouping multiple voices together before structure or render.

construct xxxxx,int/float,yyyyy
Constructs a command of type yyyyy using source data xxxxx. int/float converts source data before adding it to string.

settempo vvv
Sets global tempo of built in clock.

setbarlength vvv
Sets number of beats per bar. Default is 4.

crop xxx,yyy
Copies data across from pulse xxx+1 to pulse xxx+yyy+1. Essentially, removing the first xxx pulses and removing the last yyy pulses.

order xxx1,yyy1, xxx2, yyy2, xxx3, yyy3, etc…
Copies data across for specified pulse number xxx, yyy number of times, for as many data sets as are provided.

pick xxx1, xxx2, xxx3, etc…
Copies data across for specified pulse number xxx, for as many items as are provided.

expand vvv
Copies data across, repeating each pulse vvv times.

loop vvv
Copies data across and repeats vvv times.

invert xxxxx
Copies data flipping values around 0, eg, +5 becomes -5 and vice versa.
xxxxx gives name of section.

filter xxxxx
Copy across parameter set section name xxxxx.

rename xxxxx,yyyyy
Rename parameter of xxxxx to yyyyy.

remove xxxxx
Copies data across removing parameter xxxxx.

ramp xxx,yyy,vvv,xxxxx
Creates parameter named xxxxx, with a starting value of xxx and an end value of yyy, lasting vvv number of pulses.

transpose xxxxx,vvv
Add fixed value vvv to parameter xxxxx.

map xx1,xx2,yy1,yy2,zz1,zz2, etc…
Copies across all data, swapping value 1 for value 2 when discovered.

set xx,yy,zz
Copies across all data, setting range specified between and including xx and yy, to zz. xx can also be set to above or below, in which case all values above or below, but not including yy are set to zz.

modify xx,yy,zz
Copies across all data, modifying range specified between and including xx and yy, by zz. zz can be positive or negative.

conform
Processes pitch data and adjusts pitch data according to provided scale pointer and embellish value.  Embellish data connected to the object (eg, embellish 0,0,-2,-1, etc…) will add or subtract scale steps, allowing the same melodic patterns to be transposed to different scales and keys.

round
Copies across all data, rounding to nearest integer.

embellish 1,-2,3,0,etc…
Creates embellish data used by conform to adjust pitch according to scale.

xxxxx 1,2,3,4,5
Creates object with parameter xxxxx (or other requested name) and sets data to 1,2,3,4,5 as requested.

sum xxxxx
Filter data named xxxxx and adds together all source data with that name.

product xxxxx
Copies across data of type xxxxx, multiplying value of all matching source data.

average xxxxx
Copies across data of type xxxxx, averaging value of all matching source data.

modal xxxxx
Copies across data of type xxxxx, taking highest value of all matching source data.

add xxxxx,yyyyy
Copies parameter xxxxx and yyyyy. Adds them together to create zzzzzz.

subtract xxxxx,yyyyy
Copies parameter xxxxx and yyyyy. Subtracts yyyyy from xxxxx to create zzzzzz.

divide xxxxx,yyyyy
Copies parameter xxxxx and yyyyy. Divides xxxxx by yyyyy to create zzzzzz.

multiply xxxxx,yyyyy
Copies parameter xxxxx and yyyyy. Multiplies xxxxx by yyyyy

random xxx, yyy, zzz, ppp, int/float, name
Creates a random sequence of values ppp pulses long, between xxx and yyy. zzz is random seed. Specify integer values by using int. Give name to set parameter value, otherwise ‘random’ is used.

render xxx,yyy,zzz
Renders data and write midi events from bar xxx to bar yyy, outputting on channel zzz.
Render can be substituted with =.

midi xx1,yy1, etc…
Creates alternate pitch (xx) and velocity (yy) data.

draw xxx
Creates drawing object of xxx pulses in length. When selected, it is possible to freehand draw on the screen, pressing enter to end. This curve is converted by the object into float values between 0 and 1.

arrange
Generates dynamic structure according to source arrange data. Sections need to be numbered and arrange data provided for this to work.

analyze
Counts instances of parallel movement between any connected source voices.

size
Returns the size in pulses of the largest source object.

sine xxx,yyy,zzz,(qqq)
Create a sine wave with values between -1 and 1. Sine wave starts on pulse xxx, with a wavelength of yyy pulses and lasts for zzz pulses. Renamed qqq if provided, otherwise data is named ‘sine’.