tur/event
src/tidal/event.tur
defn
nil-value
(nil-value)
defn
list-nil?
(list-nil? [lst :int])
defn
cons
(cons [value :int next :int])
defn
head
(head [lst :int])
defn
tail
(tail [lst :int])
defn
tidal-ok
(tidal-ok [x :int])
defn
tidal-err
(tidal-err [e :int])
defn
tidal-ok?
(tidal-ok? [r :ptr<void>])
defn
tidal-err?
(tidal-err? [r :ptr<void>])
defn
tidal-ok-val
(tidal-ok-val [r :ptr<void>])
defn
tidal-err-val
(tidal-err-val [r :ptr<void>])
defn
tidal-void
(tidal-void)
defn
event-new
(event-new [onset :float dur :float value :cstr])
allocate a new event with given onset, dur, and value.
Parameters
| onset | cycle fraction where the event begins (0.0 to 1.0) | |
| dur | cycle fraction the event occupies (0.0 to 1.0) | |
| value | raw string value ("c4", "60", "~", drum name, etc.) |
Returns
Event handle as :int (opaque pointer). Free with event-free.
Example
(let [e (event-new 0.0 0.25 "c4")]
(event-onset e)) ; => 0.0
Since: TD0
defn
event-onset
(event-onset [e :int])
onset fraction of one cycle (0.0 to 1.0).
Parameters
| e | event handle returned by event-new |
Returns
Onset as :float.
Example
(event-onset e) ; => 0.0
Since: TD0
defn
event-dur
(event-dur [e :int])
duration fraction of one cycle (0.0 to 1.0).
Parameters
| e | event handle returned by event-new |
Returns
Duration as :float.
Example
(event-dur e) ; => 0.25
Since: TD0
defn
event-value
(event-value [e :int])
raw string value of the event ("c4", "60", "~", etc.).
Parameters
| e | event handle returned by event-new |
Returns
The raw value string as :cstr (owned by the event; do not free).
Example
(event-value e) ; => "c4"
Since: TD0
defn
event-free
(event-free [e :int])
free an event handle.
Parameters
| e | event handle returned by event-new |
Example
(event-free e)
Since: TD0
defn
note->midi
(note->midi [value :cstr])
parse a note name or raw integer to a MIDI note number.
Parameters
| value | note name string (e.g. "c4", "d#3", "bb5", "60") or "~" for rest |
Returns
MIDI note number as :int. Returns -1 for "~" (rest) or invalid input. Middle C (c4) = 60.
Example
(note->midi "c4") ; => 60 (note->midi "d4") ; => 62 (note->midi "eb4") ; => 63 (note->midi "f#4") ; => 66 (note->midi "60") ; => 60 (note->midi "~") ; => -1
Since: TD0