Abou t the L emur an d this manual Congratulations for choosing JazzMutant’s Lemur ! The Lemur is a groundbreaking input device for controlling music and media applications. There is no doubt its unprecedented modularity combined with its unique multitouch sensing technology will change forever the way you compose, perform, produce and, speaking more generally, interact with your work environment.
In the last part you find several appendices covering things like the keyboard shortcuts of the JazzEditor, upgrade procedures, troubleshooting tips and documentation of special network configurations Considering the great variety of applications that can be controlled by the Lemur, it would be nearly impossible to exhaustively detail here all the interfacing possibilities you get from this product.
Table of Con tents About the Lemur and this manual ....................................................................2 Table of Contents 4 Chapter 1 Knowing Your Lemur .......................................................................8 1.1. The Anatomy of your Lemur ........................................................................... 8 1.2. Inside your Lemur's brain .............................................................................. 9 1.2.1.
The Lemur User Manual 3.2.1. Connecting your lemur up..................................................................... 28 3.2.2. The Settings window.............................................................................. 29 3.2.2.1. Editor setting .................................................................................. 29 3.2.2.2. Lemur Settings............................................................................... 29 3.2.2.3. OSC settings ...............................
4.1.2. Fader ...................................................................................................... 64 4.1.3. Knob ....................................................................................................... 66 4.1.4. Leds ........................................................................................................ 68 4.1.5. Monitor ................................................................................................... 69 4.1.6. MultiBall...........
The Lemur User Manual 6.1.1.10. F3 – Song Select........................................................................... 99 6.1.1.11. F5 – Bus Select............................................................................. 99 6.1.1.12. F6 – Tune Request ..................................................................... 100 6.1.1.13. F8 – Timing Tick ......................................................................... 100 6.1.1.14. FA – Start Song .....................................
Knowing Your Lemur Cha pter 1 K NO WING Y OUR L EMUR Not only does the Lemur look unlike any controller out there, it also introduces new ways of describing human-machine interaction. This chapter will put you in acquaintance with your new pet and the way it thinks. 1.1. The Anatomy of your Lemur Let’s first have a look at your Lemur’s anatomy. The top of the Lemur obviously features the Multitouch screen, which is laid on a ultra-bright TFT Display.
The Lemur User Manual On the power input jack. rear panel of the Lemur you find the power switch and the Only connect the original power supply that came with your unit as it is perfectly verified for providing the correct currents. Next to the adapter input, there is an Ethernet jack with two status lights. This is the Lemur’s door to communication with the outside world.
Knowing Your Lemur internal memory of the Lemur, which gives you plenty of room for your creations. The figure below shows a typical Lemur project, comprised of three different interfaces. Once a project is loaded on the Lemur, the different Interfaces can be browsed through via the Interface List button or switched to with the Navigation buttons. The Interface List button presents them as an array of small icons that you can activate by touch.
The Lemur User Manual All details regarding projects, interfaces and containers are disclosed in chapter 3 : Working With Your Lemur I 1.2.2. Objects Objects are the main message generators of the Lemur : they provide the values you control with your fingers.
Knowing Your Lemur 1.2.3. Modules Additionally, you can import pre-built parts of project as Modules. A Module is a set of reusable interface elements. A module can feature objects, containers and even interfaces. A library of modules is provided on the Installation CD, and more modules are available from JazzMutant’s website. You can also create your own user library of reusable items. Indeed, any part of a Lemur Interface can be exported as a Module for future use in other Projects.
The Lemur User Manual 1.2.5. Targets The networkability of the Lemur endows it with the unique capacity to control simultaneously several applications running on the same computer, and even to control several pieces of software launched on different computers. Each application or device controlled by the Lemur is called a Targ et. Each of Object’s Variables can be mapped to any of the eight available MIDI Targets and to any of the eight OSC Targets .
Knowing Your Lemur mild, non-abrasive detergent. Afterwards, be sure to wipe the unit thoroughly with a soft, dry cloth. Never use gasoline, thinners, alcohol or solvents of any kind. Chemicals may cause fading of colors and/or deformation of the surface. When working with the unit’s buttons, display, or other controls or when using its cords and cables try to be reasonably gentle. Rough handling can lead to malfunctions. Never strike or apply strong pressure to the display.
The Lemur User Manual Cha pter 2 I NSTALLING YOUR L EMUR 2.1. Software Installation For the Lemur to become functional you have to install the JazzEditor software that enables you to create custom interfaces and that also manages the connection to the Lemur. You find the JazzEditor Installer on the provided Installation CD. 2.1.1. Mac OS Software Installation Soft war e & H ardw are Re quir e ments M ac: • Power G3 or earlier based computer • CD/DVD drive to install from the provided CD • MacOS 10.
Installing Your Lemur To install the software open the CD in the Windows Explorer and doubleclick the JazzEditor_setup.exe. Click on Next to start the Installation. We recommend using the default installation path (on English systems it is C:\Program Files\JazzMutant). If you have your own way of organizing things you can also choose a different folder.
The Lemur User Manual In this step you can choose the name of the Start Menu folder where Windows will put the shortcut for starting the JazzEditor. The next screen summarizes the settings you chose before. If you click on Install the software is transferred to your hard disk and all necessary are made automatically.
Installing Your Lemur Just click Finish on the last screen of the installation procedure and you are done. 2.2. Network c onfigura tion – direc t c onnection The Lemur uses standard Ethernet to communicate with your computer or with other devices on the network. You can connect it directly to your computer with a single, crossover Ethernet cable, or place it on a local area network via a hub or switch and a non-crossover Ethernet cable.
The Lemur User Manual • Make sure any firewall software is deactivated on your computer. • Turn your Lemur on and press the settings button. On the appearing panel, just select the Auto matic Using DHC P mode.
Working with your Lemur Cha pter 3 W ORKING W ITH Y OUR L EMUR We are now ready to start working with the Lemur. This chapter will guide you through the use of the JazzEditor application and introduce you to the workflow involved with designing Lemur control interfaces. 3.1. The JazzEditor Workspace All editing and building of Interfaces is done via the JazzEditor Software.
The Lemur User Manual A lot of the commands and functions of the Workspace can also be controlled via keyboard shortcuts. The shortcuts are displayed in the Tooltips that pop up when you hover with your mouse pinter above the respective command. Please have a look at the corresponding appendix for a complete list. 3.1.1. The Toolbar 3.1 .1 .1 . Editi ng a nd fil e i/O On top of the JazzEditor you find the elements of the Toolbar .
Working with your Lemur If you activate the Lemur Synchronization button, any changes to Objects’ states on the Lemur will also be reflected in the JazzEditor. This can be very handy for saving a Project including the state of all Objects. O ne s hot sync hro ni zati o n can be achieved through the F5 shortcut. The Lemur Synchronization of course only works if you have the same Project running on your computer and on the connected Lemur.
The Lemur User Manual The upper-part of the tree display the Interfaces of the Project. Inside the Interfaces are Objects and their Vari ables . The small checkboxes play an important role in Lemur Projects. If a box is checked it means that the respective Variable is transmitted via OSC or MIDI. If it’s unchecked it is only used internally (e.g. as a reference for other Variables).
Working with your Lemur Below the Interfaces you find the Global Variables and the internal Operators and Functions . These are just for your reference and you cannot interact with them using your mouse. Find out more about Operators and Functions in the Parser Reference section. The various entries in the Project Browser are color-coded. • Red dots stand for the Object’s main parameters (x for a Fader; x, y, z for a MultiBall, etc.
The Lemur User Manual 3.1.3. The Editing Area The Editing Area is where you actually construct the Interfaces. It always displays the Interface that is currently selected in the Project Browser . Any freshly created Objects appear in the upper left corner of the current Interface. Fetch them with your mouse and move them to the spot you want. If you hover with your mouse over an Object its Grab a corner and move the mouse to resize the Object. corners highlight. Objects can overlap on the Interface.
Working with your Lemur The General Properties deal with appearance and Variables. You’ll find there numerical fields for positionning and resizing objects. Depending on the Object the additional parameters may vary. Please look at the Object reference for information on Object-specific parameters. 3.1.5. The Behavior Properties The Behavior panel circles around the physical characteristics of the Objects. Here you find parameters like friction and tension and the different physics modes of the Object.
The Lemur User Manual 3.1.7. The OSC Panel On the OSC Panel you can define the routing of the different Variables to OSC Targets. You have a menu for the Vari ables and one for the eight possible OSC Targets . 3.1.8. The MIDI Panel The MIDI panel presents all things you need for transforming the Variables of your Objects into MIDI messages and routing them to the MIDI Targets. This panel also serve for controlling Lemur Objects via MIDI. 3.1.9.
Working with your Lemur 3.2. Interface building Now that you know your way around the Workspace, it is time to get your feet wet and mess around with a little Project. 3.2.1. Connecting your lemur up The first step naturally consists in opening the connection between JazzEditor and the Lemur.
The Lemur User Manual The current connection status can be seen from the displayed Connection icon. A Play button means there is no Lemur currently connected. If you connect to a Lemur the Stop button appears and a click leads to a disconnection of the Lemur. 3.2.2. The Settings window 3.2 .2 .1 . Editor s etti ng The first panel of the Setting Windows deals with JazzEditor settings: you only have a checkbox for the display of mouse-over hints .
Working with your Lemur The Open Sound Control protocol specifies the transmission of messages between two devices. Rather than attaching specific meanings to these messages - as it is done with MIDI - Open Sound Control allows you to define your own system of messages. With the Lemur for example, the names of objects you create and their “path” in the Project hierarchy constitute their default “address” for OSC messages. The third panel of the Settings window deals with the eight OSC Targets .
The Lemur User Manual The Use ‘/’ checkboxes offer two different formatting options for the outgoing (from the Lemur) OSC messages. • Without the slash (unchecked checkbox) • Including the slash (checkbox checked) the outgoing messages will look like /Container1.Container2.Fader.x. the messages look like /Container1/Container2/Fader/x. Which option will work depends on the Target. Please look at the Target’s documentation if you are unsure (or test it empirically).
Working with your Lemur For control of the Lemur via software you have to choose the JazzEditor Input in the controlling software to route MIDI to the JazzEditor. If you need additional ports, please use your Audio/MIDI setup utility and create additional IAC Bus ports. 3.2 .2 .6 . Virtual MI DI Ports on Wi nd o ws TM XP On Windows, you’ll need a third-party software virtual MIDI interface, such as LoopBe or MidiYoke . Both drivers are freeware and easily downloadable from the internet.
The Lemur User Manual 3.2.3. Creating an interface Now that the Lemur and JazzEditor are connected together, let’s create our very first interface. To do so, just click on the New Interface button, located below the project browser. This opens a small dialog asking for the name of the new Interface. You can type in any name you like. Click OK and your new Interface is created. Both the Editing Window and the Lemur screen suddenly turn black.
Working with your Lemur As its name may suggest, the object list window displays all available objects, sorted by alphabetical order. To create a new object, we just have to choose one among the list, to give it a name of our liking then to click the “Ok” button. For our first experience with interface building, I would suggest to start with the most common: the Fader. Once created, our newbie Fader appears on the upper left corner of both the editing window and the Lemur’s screen.
The Lemur User Manual Not surprisingly, these will appear on both the editing window and the Lemur screen. And as a good news never comes alone, the two objects are also listed in the project browser, sorted by alphabetical order. . 3.2.5. Saving your project You might want to keep this work of art ready for future loading and editing. Just hit the S ave b ut to n in the toolbar and give a name to your project.
Working with your Lemur When you do that, all the interfaces, objects and variables contained in your work session are saved in a single .jz ml file. All files the JazzEditor produces, be it Project files or Modules, reside on your hard disk. The Project files have the extension extension .jzlib . .jzml and Modules have the file Now, let’s open our project again, by hitting the O pe n b utt o n. You might have noticed that the “Connect” Button has changed is status. That’s a normal behaviour.
The Lemur User Manual 3.2.7. Basic Interface Work 3.2 .7 .1 . Copy, Pas te & C o Now we want two Faders . We can do this with a simple copy and paste. Right-click (Command-click for Mac) on the Fader and choose Copy from the context menu . Then right-click on the background of the Edit Area and choose Paste from the menu. Those commands are also available on the Toolbar . The Fader is duplicated. Grab it with your mouse and position it to the right of the first Fader.
Working with your Lemur We now want to change the colour of the two Faders. As we already saw, we could do it by changing every Fader on its own. But it’s tough to hit the exact same colour twice, so we select them both and change their colour to a same one. Drag a square with your mouse that touches both Faders. Now they both are selected and you can change the properties for both Objects at the same time.
The Lemur User Manual • Make same Width • Make same Height They always refer to the Object you selected first in the group. These commands are of great help when it comes to tidying up your Interfaces. Experiment a bit with those to get the hang. And always remember that you have the Undo command to roll back changes. 3.2.8. Configuring Object’s behaviour Now, let’s glance at one of the most powerful feature of the Lemur’s objects : their configurable behaviour.
Working with your Lemur Try moving the ball now. It bounces off the “walls” and eventually slows down. The Mass-Spring mode is something like Interpolation, except that the ball has friction (or a lack of it), can bounce off of things, and in certain cases, the ball may oscillate before coming to a complete rest. You can also control the speed of the ball via the Speed parameter. Physics parameters are nice to produce complex time-varying values with little effort.
The Lemur User Manual Now change to the Behavior panel and activate the Physic checkbox. Also, change the tension to 0.1 and the friction to 0 . Now it’s a completely different story. If you move the sliders they will continue to wiggle forever. They behave as if they are connected with springs and oscillate around a centre value that’s defined by the height parameter. Object Again, we are only scratching the surface here. Please have a look at the Reference for details about all Object Properties.
Working with your Lemur The above picture is an example of brightness ADSR. Please note that the Ephemeral mode has to be active for the envelope to work. In Ephemeral mode the balls appear when you touch the surface and they vanish when you lift your finger. 3.2.9. Using Containers The next thing we want to do is put some of the Objects into a Container to separate them visually from our Faders. To do this, drag a square around the MultiBall and the Switch Object to select them.
The Lemur User Manual Now it’s time to have a look at how all of this is mirrored in the Project Browser. The Contai ner can be opened in the Project Browser by clicking on the disclosure triangle in front of the Container. You see that the two Objects in the Container are grouped on a lower level in the Project hierarchy. Please note, that the use of Containers also has implications for the Variable addresses of Objects living inside of the Container.
Working with your Lemur functions that are important for the Module’s functionality created locally to that Container. If you define them globally, they will not get exported and the functionality of the Module will be broken 3.3. Use your Inte rface Now that we have set up our Interfaces and know how to modify the Objects it is time to put all this to use. You already know how to set up MIDI and OSC Targets by using the Lemur Settings from the Toolbar (see Chapter 3.2).
The Lemur User Manual 3.3.2. Setting up OSC mappings If you are unsure about chapter 3.1.7. basic OSC setup , please have a look at Make sure our Fader is selected and have a look at the OSC panel . On the left you see the Variables menu and to the right the Targets menu. We want to transmit the Fader’s x Variable via OSC. If you have a look at the Variables menu of the OSC panel, you see that it lists all available Variables of the Fader: Choose the x.
Working with your Lemur Have a look at Chapter 3.3.4 for more information about the Trigger Mode menu. It allows for choosing when and how often the messages are actually transmitted (triggered). 3.3.3. Setting up MIDI messages 3.3 .3 .1 . Usi ng t he MID I wi nd ow On the top of the MIDI panel, you’ll find two menus. The left one is the Variables menu and the right one is for choosing one of the MIDI Targets defined in the MIDI Settings. Choose any of the MIDI messages from the Message Menu .
The Lemur User Manual 3.3 .3 .2 . Simpl e MI DI Ma ppi ng In order to generate MIDI messages from the objects you touch on the Lemur, you have to establish a mapping between the 0-1 values transmitted by the Lemur and MIDI values, which are typically integers (whole numbers) between 0 and 127. This is done on a per Variable basis on the MIDI panel of the Object. We’ll start with a simple example.. • • • Select a Fader in your project.
Working with your Lemur • Click the MIDI panel of the MultiSlider. • On the MIDI panel choose B0 Variable. • Type controller number 10 into the first controller field. The second controller field is automatically set to 25 to extrapolate for the 16 sliders. • Click the MIDI Map icon to open the MIDI Map window.
The Lemur User Manual • • • Create a new MIDI MIDI message type. assignment . Choose the x Variable and Note On as the Set the first pitch field to 60 and the second will automatically be expanded to 71 (reflecting your 12 Pads). Your MIDI assignment should resemble the one shown below. Click the M IDI Ma p icon to look at the MIDI Mapping window. You see the 12 Pads nicely laid out working as a MIDI keyboard. You can use more than 12 pads to create a bigger keyboard if you wish. 3.3 .3 .5 .
Working with your Lemur The individual MIDI mappings can be selected with a mouse-click. The Send MIDI button sends a single instant of the MIDI message associated with the currently selected mapping to the respective Target. Should the MIDI message of that mapping be a Note On event, a Note On will be sent to the apppropriate target. This turns in handy when configuring an external software’s MIDI mapping.
The Lemur User Manual The first entry (“None ”) means that a change in the attached value or expression will not trigger a transmission of the MIDI message. It might, however, still get triggered by values or expressions associated with other parameters of the Custom MIDI message that don’t have their Trigger Mode set to None. 3.4. Advance d features 3.4.1. Control your Objects with your Objects It’s easy to control the behaviour of your Objects via other Objects on the Interface.
Working with your Lemur Now you can control the friction of the MultiBall via the new Fader. It’s as simple as that. Use any value of any of the Objects dwelling on your Lemur Interface to control any of the parameters. This can lead to very interactive Interfaces. If you have sub-objects you can address their behaviour properties individually by using a vector or list instead of a singleton.
The Lemur User Manual We want to scale the output of the first Fader with the value of the second. Do this by clicking on the fresh Variable in the Project Browser. Type x*(Fader2.x*100) into the Script field of the Variable. Make sure that the checkbox in front of the local Variable is checked . This ensures that the Variable is actually transmitted via OSC and MIDI. It should look like this: You might wonder why we addressed the Fader’s value with x directly and not via Fader.x.
Working with your Lemur x*100 For the second Fader also check the value checkbox and type into the value field . The Precision can also be set to 0 . If you now move the Faders you will see the relevant values displayed above. Move the second Fader and the value of the Variable will change, because it gets multiplied by a factor between 0 and 100 depending on the value of the second Fader (Fader2.x*100).
The Lemur User Manual Please note, that the displayed values are not those actually produced by the Faders. They both still produce values between 0 and 1 . Those values are combined in the calculation of the local Variable MFader that is displayed above the first Fader. The factor that’s used for multiplication is displayed above Fader 2. We want to transmit the local Variable MFader via M IDI . This is easily done via the MIDI panel of the first Fader .
Working with your Lemur This can be convenient when you need controls for ADSR envelopes or other tightly interrelated groups of parameters. Let’s use a MultiSlider to produce values for an envelope working somewhere in a Synthesizer and trigger them with a Pads Object: 1 Demo Interface and click into the Container . There’s some • Switch to the space left. • Click the click OK. • Click the Create Object button again, choose objects, name the object Env , and click OK.
The Lemur User Manual use E nv.x[3] * 5.0 . Note that we do not scale the value for Sustain, since this is just a value between 0 and 1. When you’re done, your Project Browser should look like this: The final step is to enter these Variable names in the Behavior Properties of the Trig Object. Enter Atk for Attack , Dec for Decay , Sus for Sustain , and Rel for Release as shown below. As the Variables are local to the Trig Object, you don’t have to write out the complete addresses (which would be Trig.
Working with your Lemur • MIDI C ha nnel Also, there is a Trigger read chapter 3.3.4 for details. Mode menu for all the parameters. Please As a small example, try adding a Pads Object and (Fader3 and Fader4) to the second Interface of our Project. Next, create a and call it MyMIDI . two Faders Custom MIDI message local to the Pads Object Now look at the MIDI panel of the Custom Midi message and choose Note On from the message menu.
The Lemur User Manual only transmit a Note On message when we hit it (and not when we raise our finger), set the Trigger mode to +. This means that the Note On message is only generated when the Variable rises. In our case, only when we hit the Pad, as the value rises from 0 to 65. For velocity we use the value of Fader3 , scaled to the MIDI range of 0 to 127 via the Scale fields . Now we can trigger notes with the Pad and control the velocity with Fader3.
Working with your Lemur For controlling a Fader via OSC, just set up the OSC Target for the x value on the OSC panel and produce the OSC messages on the Target side. In the Fader’s case you would send values between 0 and 1 to the OSC address /Fader/x to the current IP and port of the Lemur. The exact message format depends on the Use slashes checkbox Please make sure that you think about the hierarchy of Objects on the Lemur. If the Fader is inside of a Container the address would be /Container/Fader/x.
The Lemur User Manual How to use the new function? We are running out of space with our Interfaces, but there’s still an empty spot on the first one. Switch to the Container . 1 Demo Interface and create a new Fader in the Make it a vertical one, change the colour to something different (in our case it’s red). Also, name the Fader Cubic and check both the label and the value checkboxes. Now switch to the Properties and set the value field to cubed(x*10).
Working with your Lemur 3.4.7. Vector Datacrunching A vector (also known as an array or list), is a variable that holds more than one element (number). The Lemur expression syntax allows operations on vectors and individual access to their elements. You can access the data in certain Lemur Objects (MultiSlider, MultiBall, Pads, Switches) as vectors. Typically each “sub object ” is an element of a vector. For example, the x coordinates of the balls in a Multiball object are accessed as • myball.
The Lemur User Manual Cha pter 4 O BJECT R EFERENCE . The Lemur contains eleven Objects (and the utility Object Container) you can use to build interfaces. This section explains the features, options, and OSC message format of each Object. The Object names appear in the picker window you see when clicking the Object button at the bottom of the JazzEditor window. Make sure to periodically check the JazzMutant website for updates, as the number of available Objects will grow in the future. 4.1.1.
Object Reference 4.1.2. Fader The Fader tracks your finger with a virtual cap and transmits one value corresponding to the position of the cap on the fader. The Fader can be oriented vertically and horizontally. Just grab a corner and drag it to change orientation. Variable s x The location of the cap. When the cap is at the top or right-most position of the fader (depending on orientation), the value is 1 by default. When it is at the bottom or at the left-most position, respectively, the value is 0.
The Lemur User Manual The resulting Fader Object looks like this: Be havi or Pr oper ties Capture If Capture is checked, an Object will only react to cursors that were created inside its area. Even if the cursor later leaves the Object for another position, it will remain in control of the original Object, until it is destroyed eventually. When Capture is off, the old school way from previous versions is restored, meaning an Object will react to whatever cursor is present at any moment in its area.
Object Reference If Physics is set to Interpolate , the cap moves according to the value of Attraction from its current location to the location of your finger. Larger values for attraction (up to 1) cause the cap to move to the new finger location more quickly. When Attraction is set to 0, the cap cannot be moved by your finger. If Physics is set to Mass -Spring , Attraction and Friction are both active. Friction ranges between 0 and 1.
The Lemur User Manual Precision Specifies the number of decimal places for the value display. The default value is 3 and the maximum number is 6. This setting has no influence on the actual output of the Object. You have to scale the output using expressions or on the Target side. Color Drag the colour bar to change the colour of the Knob. Be havi or Pr oper ties Cursor Mode If set to Limited , the Knob will respond to a new cursor only if the original one has been destroyed (i.e.
Object Reference /ObjectName.friction /ObjectName.value 4.1.4. Leds The Leds Object is a two-dimensional array of Leds. It can be a single led or a whole matrix of them, all with their individual light and value parameters. Remember that those properties can be set to vectors when dealing with several columns or rows of Leds. The Bar Graph mode makes a matrix or vector of Leds act as your typical bar graph: the Leds work together to graphically display the current value.
The Lemur User Manual /ObjectName.x etc. /ObjectName.light etc. 4.1.5. Monitor The Monitor produces no data when you touch it. Its purpose is to display information sent to the Lemur by your computer. Variable s value Represents the value of the Monitor to be displayed. You can use a constant or any expression. Di me nsi o ns Minimum 50 pixels wide and 22 pixels high. The font size of the monitor is adjusted as the Object is resized.
Object Reference 4.1.6. MultiBall The MultiBall Object assigns each finger to track one of a number of balls (up to 10) in a rectangular space. Balls can either always be visible or only appear when you touch the space; the latter is called ephe meral mode . The brightness of the balls is sent as the z variable in the Object. Variable s x A list of the horizontal positions of all the balls. y A list of the vertical positions of all the balls. z A list of the brightness values of all the balls.
The Lemur User Manual 1: 2: 3: “lemur” 4: 5: 6: 7: 8: 9: 10: white/grey faded lime yellow/orange (see lemon screen shot teal deep sea intense purple green above) yellow red blue blue green purple Be havi or Pr oper ties Ephemeral If checked, the MultiBall behaves in a mode where the balls disappear until you touch it with one or more fingers.
Object Reference Friction Speed See the discussion of Mass-Spring mode under Physic above. This value multiplies the balls’ speed after Physics computation by a userdefined expression. Input a singleton for the same effect on all balls, otherwise input a vector. Experiment with negative values for crazy effects. Ab out t he Mul tiBall ADS R+ H The next four properties relate to the “brightness” or z variable envelope that can be used in ephemeral mode.
The Lemur User Manual horizontal position, the y variable is vertical position, and the z variable is brightness (which only changes when using ephemeral mode). /ObjectName.x /ObjectName.y /ObjectName.z etc. Host->Lemur etc. etc. The x, y, and z variables can be set by sending the Lemur a list of values representing the positions of each of the balls.
Object Reference Slider Number of sliders (1 to 64) Color Drag the color bar to change the “thematic” color of the sliders. The foreground uses a gradient based on this color, and the background is a darker version of the color. Light Can be a constant, a vector or any mathematical expression and controls the luminosity of your Objects. -2 means black, +2 means white, and you get to choose any decimal number in-between.
The Lemur User Manual 4.1.8. Pads The Pads Object is a two-dimensional array of buttons that are triggered by touch. They are intended to trigger events instead of represent state, since they eventually return to an “off” value after you touch them. Variable s x A list of the envelope (brightness) values of the pads in the Object.
Object Reference Be havi or Pr oper ties Capture If Capture is checked, an Object will only react to cursors that were created inside its area. Even if the cursor later leaves the Object for another position, it will remain in control of the original Object, until it is destroyed eventually. When Capture is off, the old school way from previous versions is restored, meaning an Object will react to whatever cursor is present at any moment in its area.
The Lemur User Manual Host->Lemur The x, Light and ADSR+H variables are received by the Lemur as a list of numbers representing the brightness of each pad. /ObjectName.x etc. /ObjectName.light etc. /ObjectName.attack etc. /ObjectName.decay /ObjectName.sustain etc. etc. /ObjectName.release /ObjectName.hold etc. etc.
Object Reference 4.1.9. RingArea The RingArea tracks your finger inside a circular space. It reports the X and Y coordinates of a ball that can be programmed to have a variable degree of attraction toward a central point. You can specify the location of the attraction point within the circular space. Variable s x The horizontal position of the ball. y The vertical position of the ball.
The Lemur User Manual Attractor X A value from 0-1 representing the horizontal location of the attraction point within the Object’s rectangle. A zero value of Attractor X is at the left edge and a value of 1 is at the right edge. Attractor Y A value from 0-1 representing the vertical location of the attraction point within the Object’s rectangle. A zero value of Attractor Y is at the bottom edge and a value of 1 is at the top edge.
Object Reference 4.1.10. SignalScope The SignalScope displays values of other Objects and variables on your Lemur. The “trace” shows a recent history of the value of what you are monitoring. The SignalScope is transparent to touch, meaning that you can place it on top of Objects and still interact with them. Variable s None Di me nsi o ns Default Minimum 100 x 100 pixels 32 x 32 pixels Ge ner al Pr oper ties Name its address.
The Lemur User Manual And here is a SignalScope showing 2 seconds of history. Its time base is set to 2.0. OSC Dat a Lemur->Host Host->Lemur none The x, y and timebase Variebls can be received via OSC.. /ObjectName.x /ObjectName.y /ObjectName.
Object Reference 4.1.11. SurfaceLCD The SurfaceLCD Object emulates traditional control surfaces' LCD, by making use of the MIDI input capabilities of the Lemur. With his Object you can display track names, parameter changes, timecode, all updated in real-time by your Digital Audio Workstation (DAW). The SurfaceLCD Object is compatible with the Mackie Control surface protocol. Variable s None This Object has no value to be mapped to MIDI and OSC. It displays information coming from a DAW.
The Lemur User Manual Name Label The name of the Switches Object that’s also used as its address If checked, the Object’s name is displayed above all of the switches. Numbers If checked, each switch is labelled with a number corresponding to the order in which its value is transmitted, starting with 0 as shown below. Radio In Radio mode, only one switch can be turned on at any particular time. Turning on any switch turns all the others off.
Object Reference Host->Lemur The x and the light Variables are received by the Lemur as a list of numbers representing the state of each switch. /ObjectName.x etc. /ObjectName.light etc.
The Lemur User Manual Cha pter 5 P ARSER R EFERENCE The parser is the part of the Lemur’s brain that crunches away on the Math you throw at it. It is used to do simple stuff like scaling an internal value or adding some Variables. But there’s more. Due to a set of internal Operators and Functions and the possibility to create your own, custom Functions, you can construct very complex Projects.
Parser Reference This can be very useful to derive “clean” values from the time variable (see below for a definition of Lemur time): time%1 = 0.25 (if time = 2043.25) 5.1.3. Functions Functions are the other founding stone of expressions in the Lemur. There is a variety of internal (pre-defined) Functions but you can also define your own Function. You can create a Function by setting up a variable named xxx( a,b) and set its value as something like a-b+2 .
The Lemur User Manual 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.
Parser Reference When the Pad is on, the Variable will have the value 64, when the Pad is off it will be 0 - it always changes. The Trigger Mode only allows transmission for a change from 0 to positive, so only the value 64 will get transmitted via MIDI. 5.1.7. Lemur Time If you look at the Internal folder in the Project Browser, you will see a pre-defined Variable called time . The time Variable is a millisecond value you can use for creating time-varying behaviour in your Lemur.
The Lemur User Manual Even if you are not connected to a Lemur, the resulting Monitor Object will begin changing immediately after you enter a time-based variable. 5.1 .7 .2 . LFO Ex a mple This is an Expression using the time Variable that generates an LFO. LFO = sin(time * 2) *0.5 + 0.5 You can display this in a SignalScope. You can assign time-based variables to properties in Lemur Objects (such as Friction or the ADSR envelopes) to create Objects that change over time.
Parser Reference max(0.1, 0.8) = 0.8 min(a,b) : min of a and b min(0.1, 0.8) = 0.1 pow(a,b) : a at the power of b pow(2,4) = 16 round(a) : rounded value to the closest integer round(1.2) = 1 round(1.8) = 2 sign(a) : -1 if a<0, +1 if a>=0 sign(-12) = -1 sign(0) = +1 sign(12) = +1 sqrt(a) : square root of a sqrt(64) = 8 operators : -a, a%b, a*b, a+b, a-b, a/b, a^b note : a^b = pow(a, b) 5.1 .8 .2 . Logic When using logic and conditions in the parser, (not 0) is true and 0 is false.
The Lemur User Manual 1 && 0 = 0 ab 1 if a>b 0 otherwise a==b 1 if a==b 0 otherwise a>=b 1 if a>=b 0 otherwise a<=b 1 if a<=b 0 otherwise a || b : logical OR 1 || 0 = 1 1 || 1 = 1 a?b:c This one is a conditional statement. It translates as: if (a is true) then b else c You can put anything in a, b and c. Example: Creating an Expression "e" in a MultiBall and setting its value to Pad.x?x:y will mean that : if Pad.x != 0 (i.e Pad is pressed), e=x if Pad.x == 0 (i.
Parser Reference 0.3 if Fader.x>=0.3 Fader.x otherwise rand() : Returns a random value between 0 and 1at each frame (one frame is 16ms, the parser evaluates every Expression at each frame and send out MIDI or OSC if a mapped value has changed) range(a, min, max) : Stretch a Variable that normally goes from 0 to 1, to range [min, max] range(Fader.x, 10, 100) = 10 if Fader.x == 0 100 if Fader.x == 100 between 10 and 100 otherwise 5.1 .8 .4 .
The Lemur User Manual when a = 1, the vector is completely filled with items = value when a = 0.5, the vector is half filled Examples : fill(1, 0.524, 4) = {0.524, 0.524, 0.524, 0.524} fill(0, 0.524, 4) = {0, 0, 0, 0} fill(0.5, 0.524, 4) = {0.524, 0.
Parser Reference stretch(a, size) : Stretches a value or a range and returns a vector Explanation : If a is a single value (or a vector with a single item), the function returns a vector with "size" items containing that value stretch(0, 12) = {0,0,0,0,0,0,0,0,0,0,0,0} After that, you could do : set(stretch(0, 12), 1, time%12) This returns: {1,0,0,0,0,0,0,0,0,0,0,0} when time<1 {0,1,0,0,0,0,0,0,0,0,0,0} when time<2 {0,0,1,0,0,0,0,0,0,0,0,0} when time<3 etc.
The Lemur User Manual Cha pter 6 MIDI M ESSAGE R EFERENCE Depending on the Message type you choose from the Message menu on the MIDI panel you get a different set of parameters. 6.1.1. The MIDI Messages The descriptions given below are the standard definitions as given by the MIDI specifications. Of course it is up to you to use the various messages to your liking. In a world of flexible software the MIDI messages tend to lose their original meanings.
MIDI Message Reference 6.1 .1 .1 . 80 – Not e Off The Note Off message is sent when a key is released. pitch: Dial in the MIDI note number. If the value is a vector the second field will be extrapolated automatically. You can always override this setting by putting in your own value. velocity: The Variable chosen from the Variable menu that is converted to velocity values is shown here. Scale: Type in the desired target scaling for the MIDI messages. Possible values range from 0 to 127.
The Lemur User Manual key: Dial in the MIDI note number. If the value is a vector the second field will be extrapolated automatically. You can always override this setting by putting in your own value. pressure: The Variable chosen from the Variable menu that is converted to key pressure values is shown here. Scale: Type in the desired target scaling for the MIDI messages. Possible values range from 0 to 127. Channel: Dial in the MIDI channel.
MIDI Message Reference preset: The variable chosen from the Variable menu that is converted to program change values is shown here. Scale: Type in the desired target scaling for the MIDI messages. Possible values range from 0 to 127. Channel: Dial in the MIDI channel. If the value is a vector the second field will be extrapolated automatically. Possible values range from 0 to 16. 6.1 .1 .6 . D0 – Cha nnel Pr ess ur e Another continuous controller used on a per MIDI channel basis.
The Lemur User Manual Channel: Dial in the MIDI channel. If the value is a vector the second field will be extrapolated automatically. Possible values range from 0 to 16. 6.1 .1 .8 . F0 – Syst e m Excl usiv e Used for custom data that is not covered by normal MIDI messages. The first part is usually a 7 bit value representing an ID. If the device or software recognizes the ID as its own, it will listen to the rest of the message. Otherwise, the message will be ignored.
MIDI Message Reference bus: The Variable chosen from the Variable menu that is converted to bus number values is shown here. Scale: Type in the desired target scaling for the bus number. Possible values range from 0 to 127. 6.1 .1 .12 . F6 – T une Re quest Used to trigger the tuning of oscillators in analog synthesizers. trigger: The Variable chosen from the Variable menu that is used to trigger tune request messages is shown here. 6.1 .1 .13 .
The Lemur User Manual 6.1 .1 .16 . FC – Stop S o ng Used to stop the song or sequence. trigger: The Variable chosen from the Variable menu that is used to trigger stop song messages is shown here. 6.1 .1 .17 . FE – Activ e Se nsi ng When initially sent, the receiver will expect to receive another Active Sensing message each 300ms (max), or it will be assume that the connection has been terminated.
Appendices Cha pter 7 A PPENDICES 7.1. Network C onfiguration Guide The Lemur control surface is a network device using the Ethernet protocol to connect and communicate with other devices on the network: Computers, routers, DHCP servers…. Thus you have to setup your Lemur and your network devices properly. Generally, a device can have multiple network adapters, like Ethernet, WIFI, Airport, USB Network Adapters, Firewire and others.
The Lemur User Manual 7.1.3. Computers and Lemur connected to a Network 7.1 .3 .1 . Ne tw or k wit h a DHC P Serv er Most network sharing devices allow multiple connections and manage the attribution of IP addresses through the DHCP protocol. These devices include WIFI/Ethernet Routers, Airport Base Stations and ADSL/Cable Modems with routers. You only need to configure all your devices - including the Lemur - to use the DHCP mode. 7.1 .3 .2 .
Appendices • Select “Static IP”. • Enter assigned static IP address into the IP field. • Enter NetMask (255.255.255.0) 7.1.5. MacOS Network Setup Static I P Co nfig ur atio n usi ng M ac OS X: • Go to the Apple • Under Internet 104 menu and select System Preferences . and Network , select Network .
The Lemur User Manual 105
Appendices • Change the Show pop-up option to Built-in Ethernet . • Under Location , choose Automatic (or name the new connection). • Under Show , Select Built-in • Change to the TCP/IP tab. • Set Configure • Enter assigned static IP • Enter Subnet • Click the Apply Now button, and quit the System Preferences application. Ethernet . IPv4 to Manually . Address . Mask 255.255.255.0 DHC P Co nfig ur ati on usi ng M ac OS X: • Go to the Apple menu and select System Preferences.
The Lemur User Manual • Change the Show pop-up option to Built-in 107 Ethernet.
Appendices • Under Location , choose Automatic (or give this connection a name). • Under Show , Select Built-in • Change to the TCP/IP tab. • Set Configure • Click the Apply Ethernet. IPv4 to Using DHCP . Now button, and quit the System Preferences application. 7.1.6. WindowsTM XP Network Setup • On the Desktop, click right on the My • Select your LAN 108 Network Places icon and select Properties . connection and double-click on it.
The Lemur User Manual • Click on the Properties button.
Appendices 110
The Lemur User Manual • Obtai n an IP address automatically to use DHCP configuration or select Use the following IP address to use static IP configuration. Enter assigned static IP Select address and Subnet Mask. • Click OK to confirm changes. 7.1.7. Lemur – Computer network communication To confirm that your network setup is correct, power on the Lemur and open the JazzEditor . Click the Connect button. You must see the Lemur on the list.
Appendices 7.2.
The Lemur User Manual 7.3. Upgrade your Lemur The Lemur is fully reprogrammable by upgrading its firmware . You will always find the most recent upgrade on our website . An upgrade can contain bug corrections or new features. An upgrade is presented as a .bin file (Lemur.bin). To upgrade your Lemur, be sure that your network configuration is correct. If you need more information about network configuration, please read the Appendix about network configuration.
Appendices • When the process is complete, the Lemur reboots with the new firmware. If you run into any kind of problem during the procedure, start all over again. • 7.3.1. Lemur hardware settings The leftmost button on your Lemur opens the Hardware Settings . Choose between Network Settings (discussed in Chapter 2 and in the Appendix about Network Configuration) and the Screen Settings . The Screen Settings are opened by touching the Hardware Settings Window.
The Lemur User Manual • LCD Brightness controls the brightness of your Lemur’s screen. It may be useful to dim the display if you want to work under dark stage conditions where too much light may not be desirable. • The TouchScreen Filtering is for controlling the sensitivity of the Lemur’s touch screen. If you experience multiple triggering or other touch artefacts, try a higher Filtering level. 7.4. Troubleshooting 7.5. Warra nty 7.5.1.
Appendices date of dispatch. If there is disagreement about the date of dispatch, the time of receipt is taken as the receipt of the message on the target email server. 7.5.3. Applicable laws and court of jurisdiction The law of France applies in exclusion of UN buying law, even when the order is placed in another country or the order is to be delivered into another country.
The Lemur User Manual Index .jzlib 23, 71 Connection 29 .
Appendices Pads 83 RingArea 86 RingArea 86 SignalScope object 88 SignalScope 88 Switches 90 Disclosure triangles 34, 49, 50 Global 61, 68 Display Hints 30 Group 37, 47 Edit mode 37 Hardware Configuration 5 Editing Area 36 Hardware Settings 7 Ephemeral 24, 54 Hierarchy 49, 67 Ethernet cable 5 Hold 53 Ethernet jack 5 Import 37 Export 37 Import Library 27 Export Selection 27 Interacting Objects 58 Expression 60 Interface 23, 42 Expressions 25, 93 Name 50 Fader 46, 72 Order 50 firm
The Lemur User Manual Keyboard Shortcuts 118 Input port 33 Layout 48 Output port 33 LCD Brightness 7 Targets 33 Leds 76 MIDI assignment 57 Lemur Connection 23 MIDI channel 66 Lemur Network Setup 107 MIDI Channel 28 Lemur Settings 21 MIDI configuration 21 Lemur Synchronization 29 MIDI input port 21 Lemur.
Appendices Multiball ADSR 80 OSC 66 MultiSlider 52, 81 Bi-directional 67 Name conflict 45 Custom Address 32 Navigation 6 Port 32 NetMask 16 Slashes 67 Network configuration 14 Use ‘/’ 32 Network Configuration 105 Variables menu 54 Network configuration - direct connection 14 OSC address 45 Network Mask 106 OSC Data Network Settings 15 Fader 74 New Project 27 Leds 75, 76 Non-crossover Ethernet cable 6 Monitor 77 Note Off 100 Multiball 80 Note On 57, 101 MultiSlider 82 Object 23 P
The Lemur User Manual Pitch 66 Redo 27 Pitch Bend 103 Resize 36 Play 30 RingArea 86 Polyphonic Aftertouch 101 Run mode 37 Port 32 Save As 27 Positional data Save Project 27 enabling 50 Scale 66 Power Cable 8 Script 38 Power Input 5 Script panel 38 Power Supply 5 Settings button 6, 15 Power Switch 5 Shortcuts 118 Precision 61 SignalScope 88 Program Change 102 Singletons 92 Project 23 Slashes 67 hierarchy 49 Slider 52 Transfer to Lemur 43 Software & Hardware Requirements Mac 9
Appendices Toolbar 21, 27 RingArea 86 TouchScreen Filtering 7 SignalScope 88 Transparency 37 Switches 90 Trigger Mode 65 Variables menu 40, 54 Trigger Modes 41, 66 Vector 63, 98 Trigonometric 98 Vector Variables 63 Troubleshooting 120 Vectors 70, 92 Tune Request 104 Velocity 66 Undo 27 Virtual MIDI driver 22 Ungroup 37, 47 Virtual MIDI Ports 21 Upgrade 119 Warranty 120 Upgrade Firmware 31, 119 Windows Use ‘/’ 32, 67 Internet Protocol (TCP/IP) 19 Value Coloring 92 LAN or High-Speed