The Lemur User Manual
87
5.1.5. Accessing Variables
An Expression that is local to an Object can access the x parameter of the Object just
by its name "x":
scaled_x = x
If the Expression is created outside of the Object (local to another Object, or in the
global folder, or at root level of a Container) the parent of the x Variable must be included in the
address:
scaled_x = Fader.x
WARNING : Containers are taken into account in the hierarchy. If the Fader is inside
container "Cont", all Expressions outside of the container must access it with "Cont.Fader.x"
Expressions inside of the same container can omit the first part and access it directly
via "Fader.x"
5.1.6. Lemur internal clock
The Lemur works with a clock speed of 60 ticks per second. This means that
every 16 ms all states of Objects, Expressions and Functions are evaluated. These 16 ms
constitute one Lemur frame.
There are some special considerations, though, as the Lemur’s brain tries to avoid
unnecessary work. When it comes to deciding whether the value of a Variable is going to be
transmitted via MIDI or OSC, the Lemur first checks if the Variable has changed since
the last frame. If it hasn’t changed, it’s not going to be transmitted.
This has implications if you want to transmit constant controller
values via MIDI (or OSC), e.g. via a Pads Object. It does not work to just put in a constant for
your controller value, as the Lemur will refuse to send it after the first activation of the Pads
Object. The value didn’t change so it is not worth sending it.
Let’s assume you want to transmit the value 64 every time you hit the Pad.
Simply create a Variable (we called it “changer”) local to the Pads Object and fill in
64*x in the Variable’s script field. Now switch to the MIDI panel, choose the new Variable and
switch the Trigger Mode menu to +. For Scale you fill in 0 and 64. That’s it.