Releases: sdclibbery/limut
v0.18.0-alpha
The envelope function a
and d
arguments now default to beats instead of milliseconds. To retain the old behaviour, use explicit units. For example, envelope{d:200}
would become envelope{d:200ms}
.
The pitchedperc envelope envelope params att
, dec
, pitchatt
and pitchdec
now default to seconds not milliseconds. Again, specify explicit ms
units to retain the old behaviour.
v0.17.0-alpha
Cannot always map a function call with lookup operator; eg: (1.5,2.5).floor
. Previously, this would evaluate to (1,2)
as the floor function was applied to each element of the chord.
However, now the floor function will be evaluated, then the result used to index into the chord. floor
on its own evaluates to zero,.
To get the same behaviour as before, call the function with the chord instead: floor{(1.5,2.5)}
.
This change was made to allow the new time
and rand
functions to be used to index into chords. Note that aggregators still work with lookup, so for example (1,2).max
still returns 2
as expected.
v0.16.0-alpha
The 808 presets are now part of a separate 808 library and no longer included in the techno library.
They can now be included using include 'preset/808.limut'
v0.15.0-alpha
The pitchedperc audio synth params have changed. Before, each component of the pitchedperc sound had individual filters but no envelope controls. However, individual envelopes are much more important and the normal synth filters are fine.
So for the click, hit, and body components, the cutoff and q subparams have been removed. For body and rattle, att, dec subparams have been added for controlling the component envelope, and also pitchatt and pitchdec subparams for controlling the pitch sweep. A units subparam sets the time units for these values. For further details, please refer the on-page documentation, and also the bd909 preset in the house library which is built using the pitchedperc synth.
v0.14.0-alpha
Changed the order of effects within synths. Effects like filters and ring mod used to be applied after waveshaper effects and VCA envelope, but now they are applied before. This allows waveshaper params like drive to be applied without then being cut back by the filter. This should not be a significant change in most cases, however in some cases gain the sound may change if both waveshapers and filters are applied on the same player. There is no simnple workaround to return to the old sound, however it could be achieved by sending the output from the player to a bus, and moving the filter/chop/ring params to the bus.
v0.13.0-alpha
The main bus previously defaulted to having some convolution reverb on it by default. This can help the sound to knit together better and can make for a more polished soudning result, however it can also muddy the sound, especially in the bass. It should really be for the user to add reverb if they want it rather than defaulting to having it present.
If you need to return to the old sound with its reverb, you can use this line:
set main reverb={0.5,curve:5}
v0.12.0-alpha
Most operators now treat a missing argument as being zero.
For example:
r readout 0, add=3+this.foo
Because the player has no param foo
, the +
operator treats the missing value as zero. Previously this had to be accomplished manually with this.foo?0
, using the ?
operator to default the missing value to zero.
v0.11.0-alpha
Rewrite of the pattern engine, including parsing and processing.
There should not be any significant breaking changes, but there may be some edge cases that behave differently or are not currently supported, especially around pattern continuations ("_
").
v0.10.0-alpha
Multiline strings are no longer valid syntax. A string must be all on one source code line.
The following is not valid and will be flagged as an error:
text='Hello
World'
Note that strings can still have embedded carriage return line breaks:
text='Hello\nWorld'
And long strings can be split over multiple lines using the +
operator:
text='Hello '
+ 'World'
v0.9.0-alpha
The gain levels for the low
mid
and high
audio filters are now expressed as gain levels instead of in decibels. However, the new dB
syntax can be used to provide values in dB. For example, previously, low=-6
would provide a gain of 1/2 (i.e. -6dB) to the low frequencies. Now, this must be expressed as either low=1/2
or alternatively low=-6dB
.
Similarly, the compress
threshold
and knee
subparams are now expressed as gain values and the dB
modifier must be explicitly stated on the value. For example, compress={2,threshold:-20}
would now be written compress={2,threshold:-20dB}
.