Leipzig still sees occasional breaking changes, though every effort will be made to document them here.
live
.augment
adds to an element of a chord.phrase
accepts vector durations, representing repeated notes.phrase
accepts an optional third argument for velocities.but
replaces part of a melody.tempo
applies a transformation to both time and duration.accelerando
linearly interpolates between two relatively different rates.play
allows for lead-in notes with negative times.where
ignores missing keys.play
no longer throws a NullPointerException
for finite sequences of notes.phrase
, rests are reified as notes of nil pitch.then
and times
do not allow padding.bpm
returns a fn that converts beats to seconds, to match Supercollider.mapthen
provides a temporal equivalent to mapcat.help
macro has been removed because it wasn't helpful.stop
kills all running melodies.with
is variadic.nil
s represent rests in phrase
. Note, ensure you use rhythm
instead of (phrase ... (repeat nil))
or phrase
will never return.Sequential
s (lists, vectors and lazy-seqs) represent clusters in phrase
.phrase
.then
and times
accept an optional parameter controlling when the subsequent melody starts.jam
is not a macro, so it expects a ref as an argument.crab
translates the result to avoid playing it before the original.crab
reflects melodies according to the end of each note (see issue #2) and sorts the resulting notes by time to ensure order is preserved.having
zips arbitrary atributes onto melodies.just
translates from midi to frequency using just intonation.rhythm
builds sequences of notes without pitch.play
and play-note
are in the new leipzig.live
namespace.high
and low
operate on midi, not degrees.scale
.inversion
transforms chords.raise
and lower
are like high and low, but for degrees.from
is public in leipzig.scale
.wherever
is like where
, but selectively transforms notes.leipzig.temperament
.jam
macro in leipzig.live
affords redef-aware looping.play
returns a future instead of blocking.then
uses with
instead of concat
to ensure order is preserved.phrase
is lazy both on its inputs and output.play
lazily sends notes to SuperCollider as they are required.play-note
multimethod arranges notes to instrument on the :part key.Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close