Player arguments
Every sender is specialised for a task. Every sender will have its own special arguments. Some of them can also be aliased (e.g vel
for velocity
). Learning these arguments is part of learning the Sardine instrument. There is no way around it!
MIDI Arguments
There are multiple senders for MIDI because there are different MIDI messages you can write. To each messsage its sender.
-
N("pattern", velocity, channel, duration)
: the sender for MIDI notes.velocity
orvel
: how hard the note is played, from 0 to 127.channel
orchan
: on which channel to play the note (from 0 to 15).duration
ordur
: for how long to play the note (in beats).
-
CC(control, channel, value)
: the sender for MIDI control changes.control
orctrl
: number of the control to target (0 to 127).channel
orchan
: on which channel to send the control.value
orval
: value of that control (0 to 127).
-
PC(program, channel)
: the sender for MIDI program changes.program
orprog
: program number to send.channel
orchan
: on which channel to send the control.
There is also a special SY
sender that is very experimental and is used to control some very specific gear. I have currently no plan to open it for others to play but you can still send Sysex messages by using private methods of the midi
object. The basic senders should cover 99% of your needs. If ever you were to miss one, it is easy to add them. Just contact me!
SuperDirt Arguments
There is only one sender for SuperDirt: D()
or d()
. This sender is a basic interface to SuperDirt, allowing you to play sounds or synthesizers and to add effects to them. You will notice that the SuperDirt sender can take any number of arguments. It all depends on how much arguments your synthesizers can take and on how precise you want to be in the description of a specific musical event.
D("pattern", orbit=0)
: the sender for SuperDirt.orbit
: channel the sound will played on (mono or stereo).
The concept of orbit
is just a way to precise on which channel of the audio console some specific effects should be applied. Assigning an orbit to an event guarantees that the sound you want to play (reverb amount, low-pass filter, etc…) will only be local and not global to every other pattern currently playing. This concept of orbit
is an important concept specific to SuperDirt.