Documentation
How to setup
First, ensure you do have the TouchOSC Desktop application and Bridge installed on your computer. If you don't, they are available here: Bridge & Desktop App
Now we will want to transfer the "AM - Lucid (Client)" TouchOSC file to our touchscreen device.
To do so open both the TouchOSC desktop application and the TouchOSC application on the remote device.
Make sure both are connected to the same network.


Then once the file has finished loading into the remote you can then stop the server from the computer. This will stop the connection to the remote but as the file is now on the touchscreen device we do not need the TouchOSC desktop anymore application.




After that, on the computer, load the TouchOSC file, go to the Network settings of TouchOSC (little WIFI logo), then into Server and enable it.
Now you can go into the touchscreen device's Network settings as well and you should see the server you've just enabled. Connect to it, this will load the currently visible TouchOSC file into the remote.




Quit the Desktop application, and let's now focus on the touchscreen configuration.
There's only one section of parameters that is really important, the Connections Panel. In there, we'll have to configure the Bridge Connection, the OSC Connection, and the MIDI Connection as well.
Start with the Bridge, open the Connection 1, click the box, and use the browse button to find your Computer's name. Select it, and this will fill the Host field with the IP of the computer. To gain some time, you can select this IP and copy it.
Then in the OSC Panel, same as before, open the Connection 1, click the box, past the IP you've just copied in the Host field. For the "Send Port" enter 9000, for the "Receive Port" put 9001. After entering the receive port the Zeroconf option will be shown, change it to custom, and then enter the following in the corresponding field: Remote-Name
Last in the MIDI Panel, again, open the Connection 1, click the box, and for both the Send and Receive Port put the <Bridge 1> option.
The configuration is now over, click "Done".


Now start the remote, with the little play button next to the Network and Connection buttons in TouchOSC. Open Live, and insert the "AM - Lucid (Host)" max for live device on your master.




If you have configured everything correctly, the connection should be instantaneous and valid. If not, check the steps described previously again and/or check the Troubleshooting page.
About the Sequencer
More info about the sequencer further in the UI Tour Section.


Once everything is working properly, and that the connection has been established, you can also instantiate a Sequencer device on any MIDI Track to unlock the Sequencer page.
Setup Tips
I recommend having the Bridge launched automatically when your computer starts, so you never have to think about it again.
Regardless of how you choose to configure Lucid beyond the default config, once the session is saved (including templates, default session), the current config will be retained.
In the TouchOSC application, general settings under "Control Surface" you can change the placement of the little dot allowing you to stop the remote, I recommend top right but it's up to you.
You can also enable from this panel the Double-tap option meaning that you cannot inadvertently get out of the remote.
And you can also change some settings about the display, all of which are very self-explanatory.
A big recommendation of mine is also to put the Lucid files somewhere on your computer that feels right (like the Ableton Live User library located in the Music Folder, for example). Rename that folder to just Lucid, and then to add that folder to the sidebar of Ableton Live for easy access at any point. This also simplifies the update process. (see next section)
How do you update Lucid?
If you have put the Lucid files into a dedicated folder this simplifies the update greatly. In this case when you receive a new update, you can simply copy and past the new files in the folder and replace them. When you load back into a session with Lucid the new files will be loaded automatically as if they were the old ones.
For a session, where you have collected all the files, you'll need to go to that session's archive and replace the Lucid files one by one. In this case usually the files to replace under: "Presets / Audio Effects / Max Audio Effect" for the Host and "Presets / MIDI Effects / Max MIDI Effect" for the Sequencer.
About Zeroconf and Manual Setup.
To understand a little on how things work we are using Zeroconf to tell our Host device to search for the Remote on the network. You can also find a little bit of information here.
So if the remote is named something like: "iPadArsene" (in TouchOSC) and our host device is looking for "Remote-Name" then it won't find it and will not be able to establish a full connection.
So if you want to change the default name do it on both ends, in the OSC output section of the Host device, and in the Zeroconf Custom field in the TouchOSC app.
The same logic applies to Send and Receive ports, just like normal audio io, if my mic goes into input 4 but my track is set to receive input 3, I then won't receive anything. So if you change the OSC Input Port of the Host device then change it in the Send Port field of the TouchOSC app.
Changing Zeroconf name can be helpful if multiple users of Lucid are on the same network.
Now, there is some cases where you might want to switch to manual mode.
If you are using Lucid locally (on the same computer as Live), then switch Lucid to manual and then change IP addresses insides the TouchOSC app for 127.0.0.1
Also useful if you want to either ensure that the connection is established through the network you wish to use for the remote (if you have multiple network at the same time) or if you want to setup static IPs so the setup never changes.
If this is a bit confusing, either keep things on the default settings, and everything should work properly! And of course, let me know if you have any trouble.
User Interface
Let's take a Tour across the different parts of the remote control. This will not only show you the name of the controls but also give plenty of intel on some of the nuance for some of the parameters.
Header


7. Previous / Next Track
Allows you to switch to the previous or next track in your set. (including return and master tracks)
8. Current Track and Track Selector Panel Opener
Besides showing the name and color of the currently selected track in Lucid, this is also the button to open the Track Selector Page.
9. Clear all Solos or Cues
Available at all times in your set, when pressing this button all solos or cues will be deactivated.
10. Crossfader Assignment or Clear A/B and Reset Mix
In most cases, the Crossfader assignment will be available here except on the Master Track, where the Clear A/B and Reset Mix will be available instead.
11. Restart Automations
This button, if available, will indicate that one automation or more is broken. When pressed, all broken automations will be restarted.
12. Open Send Panel
Switch the right panel from the current Track's mixer section to the sends.
1. Settings
Open and Close the Settings of Lucid.
2. Page Selection
Open the page selection menu, allowing you to switch to the other available section of Lucid.
3. Contextual Button
This button will have multiple purposes depending on the currently selected page of Lucid. Those will be detailed later by page.
4. Clip / Scene Button
On a regular Track this will be the button opening the Clip panel, on the Master Track it will open and close the Scene panel.
5. Play / Stop
Simply start and stop Live's transport with this button.
6. Session / Arrangement Record
Depending on the current view inside Live, this button will shift between the Session Record and the Arrangement Record.
Track Output


12. Track Color
Shows the color of the Track, also act as a button to open the color select panel.
13. Analyzer
Only on Master Track - This little Analyzer is currently not super accurate.
14. Preview/Cue Volume
Adjust the level of the previews and/or volume going into your headphones if you are using the cue logic instead of solo.
15. Preview/Cue Reset
Shows the value of the Preview/Cue Volume, but also acts as a reset button.
16. Crossfader
The crossfader allows you to fade between elements assigned to A or B. (see Live's descriptions for more details)
17. Crossfader Reset
Shows the value of the Crossfader, but also acts as a reset button.
18. Track Performance
Display the track's impact on the CPU Meter. (see Live's descriptions for more details)
19. Send
Increase the amount of this track's signal sent to this return.
20. Track Name / Select
Name of the return, the name box can also be touched to quickly select said return.
21. Reset
This is a reset button bringing back the send parameter to -inf dB.
1. Track Type
Indicates the nature of the currently selected track.
2. Monitoring
Control the monitoring state for the input of the Track. (see Live's descriptions for more details)
3. Fader Value / Reset
Value of the Volume Fader, this is also a reset button that will bring the fader back to 0dB.
4. Peak Value
This value shows the current peak value of the signal with the track. The display will also blink if the track is peaking. This value and warning updates automatically, unlike in Live by default.
5. Volume
Volume of the Track, the meter shows the peak value of the signal.
6. Panning
Adjust the Left/Right balance of the Track.
7. Reset Panning
Besides showing the value of the panning this also acts as a reset button bringing back the panning to the center.
8. Track Activator
Mute/Unmute the track's output.
9. Solo/Cue
This will either solo or cue the track into your headphones depending on the current logic in your set.
Note: Currently Live doesn't share through the LOM the current logic so you'll have to go into the option of Lucid and turn on the Cue Mode manually if you want the UI to reflect it.
10. Arm Recording
Arm button (see Live's descriptions for more details)
11. Clear Input
Only on Return Tracks - This button allows you to remove the input of all the tracks going into this return.
Track Selector


It's important to note that, currently, the number of tracks Lucid can remote at once is limited to 128.


In this panel you will be able to see and select any of your tracks in the set.
Using the Mute Mode button, you will be able to mute/unmute any tracks from this page.
Page Selector


The Page Selector allows you to switch to the different sections of Lucid.
Note that a Sequencer device needs to be on the track you are on, for it to become available.
Page 1 - Custom




This page is there to allow you to put your own additional MIDI/OSC/Local Controls inside it so you can expand even more what Lucid can do.
Within the TouchOSC Template, getting to the page to place your own controls is fairly simple.
Page 2 - Mixer


1. Switch to Returns
Switch the mixer to the returns.
2. Track Name
Track Name.
3. Select Track
Select the track, also shows what track is currently selected. (if at all on the page)
4. Peak/Fader Value
Shows the current peak value of the signal within the track (will blink if the track is peaking); when touching the volume fader, this will instead show the value of said fader.
5. Volume
Control the volume of the track.
6. Panning
Adjust the Left/Right balance of the Track.
7. Track Activator
Mute/Unmute the track's output.
8. Solo/Cue
This will either solo or cue the track into your headphones depending on the current logic in your set.
9. Arm Recording
Arm button (see Live's descriptions for more details)
10. Mixer Pages
The pages allow you to access all of your tracks within the set; tracks are grouped by 10 and are sorted in the order in your set.
11. Rename Pages Panel
This button will open a panel on Live's side where you can change the name of the Pages.
Page 3 - Device


11. Parameter Sensitivity
Adjust the way the parameters react to your touch in this page. (see "Parameters" section for more details)
12. Displayed Parameters
If the variation panel is open, this toggle allows you to switch parameter banks, otherwiseit it's a switch between showing 8 or 16 parameters at once.
13. Delete Selected Variation
Delete the selected variation.
14. Previous Variation Page
If you have more than 16 Variations, you can go back to the previous page with this button.
15. Create Variation
Create a new Variation (at the end of the list) with the current configuration of parameters within the rack.
16. Select Variation Mode
In this mode, creation and deletion of variation are prevented and recalling a variation is now done by tapping its name. The recall happens on the release to be more accurate if you need to switch variations in time.
17. Next Variation Page
If you have more than 16 Variations, you can go back to the next page with this button.
18. Variations
The list of Variations currently stored, you can select any of them by tapping the name. (except in Select Mode, see 16)
19. Recall Variations
Just like in live you can click the little triangle to recall any variations.
1. Previous Device
Button to switch to the previous device in the chain.
2. Select Device
Tap the name of the device to select it.
3. Next Device
Button to switch to the next device in the chain.
4. Mute Mode
Holding down this button, allows you to mute/unmute all the visible devices without selecting them.
5. Device On/Off
Enable or disable this device.
6. Device Name
Device Name.
7. Init.
Reset all the parameters to their registered default.
8. Rack Random
This triggers the randomization of the parameters. This is the same exact thing as the normal "rand" button at the top of your rack. Don't forget that you can right-click on the macro in live to prevent it from being randomize.
9. Lucid Randomizer
This is my own random system. When enabled, a little dice button will be shown on top of the parameters, allowing you to randomize the parameter within its available range. (more info in the "Parameters" section)
10. Open Variation Panel
(Only available when selecting a Rack) Open or close the variation panel.
8 Device Only?
Currently, the device page only shows the 8 first devices in your chain and does not include devices within Racks. You can still however use the Previous and Next Device arrows to go back and forth further in your chain.
About Variations
For the variations, you can also control from Live what parameter gets controlled by recalling variation, by right-clicking the corresponding macro and clicking "Exclude Macro from Variations"
Page 4 - Play


9. Pads
Tap the Pads to play MIDI notes, the actual note played is displayed within each pad.
10. Pitch Bend - Free
This enables the Pitch Bend, to not go back to the default position when released.
11. Pitch bend - Control
Pitch Bend parameter.
12. Pitch bend - Reset
Reset the Pitch Bend to default.
13. Mod Wheel - Free
This enables the Mod Wheel, to not go back to the default position when released.
14. Mod Wheel - Control
Mod Wheel parameter.
15. Mod Wheel - Reset
Reset the Mod Wheel to default.
1. Invert Layout
Invert the placement of the Mod Wheel / Pitch Bend with the other controls on the Left.
2. MIDI Channel
Changes the MIDI Channel of all the pads, mod wheel, and pitch bend.
3. Velocity Slider
When the "Velocity Mode" is on this slider will define the velocity of the MIDI notes played with the pads.
4. Velocity Mode
When this mode is on, the pads will vary in velocity depending on how high you play inside it.
5. Drum Mode
Switch to a 16 Pad layout, very reminiscent of Live's Drum Rack layout.
6. Scale Mode
When this mode is on (and Drum Mode is off), the pads will be light to show the notes that are in scale.
Note: that the root note is taking the color of the currently selected track. White = in scale, Grey = out of scale.
7. Octave 1
This button brings you back to Octave 1.
8. Octave Up & Down
Allows you to move the entire pad layout by one octave up or down as you press them.
Page 5 - Sequencer


11. Pitch Range
This controls the per-step pitches in relation to the "Base Pitch" parameter.
Exemple: At +12 with a base note of F2, the range of pitch slider will be from F2 to F3.
12. Scale Mode
This allows the sequencer to follow the global scale parameter of Live.
13. Base Pitch
This defines what pitch will be played if the pre-step pitches are disabled, and if not, it will define the root note of the step in relation to the "Pitch Range" parameter.
14. Octave Up & Down
Shifts everything one octave up or down.
15. Sequence Length
Change the length of the sequence.
16. Reset
The Reset section has 4 buttons to allow you to reset different or multiple things at once.
From left to right: Total Reset, Velocity, Pitch, and Gate.
15. Randomize
The Random section has 4 buttons to allow you to randomize different or multiple things at once.
From left to right: Total Random, Velocity, Pitch, and Gate.
Note that you can change, per instance of sequencer, what the Total Random button does from the Main Settings of Lucid.
1. Sequence On/Off
Turn On or Off the MIDI output of the Sequencer. This doesn't stop the sequence in itself.
2. Pitch On/Off
Enable or disable the pitch per-step. If disabled, the pitch of the notes played by the sequencer are defined by the "Base Pitch" parameter.
3. Gates
Turn on or off a step.
4. Pitches
Change the pitch of a step. This pitch is also affected by the "Pitch Range" parameter in relation to the "Base Pitch" one. Unlike other sequencers the bottom of the range is the Base note (except if the range is set to Full).
5. Velocities
Change the velocity of the step.
6. Pitch Display
Display the current note of the step.
7. Velocity Display
Display the current velocity of the step.
8. Additional Settings
Open the "Additional Settings" of the sequencer. (more info next)
9. Rate
Change the rate of the sequencer.
10. Order
Change the order of the sequence.


1. Duration
Change the duration of a step.
2. Show Step Durations
Show or hide the step duration sliders.
3. Randomize Durations
Randomize the duration sliders.
4. Duration Placement
Shifts the view of the duration sliders, and either puts them on top of the pitches or the velocities.
5. Legato
Disable the individual durations and make all the notes legato.
6. Random Velocity
This slider adds randomness to the velocities.
7. Reset Random Velocity
Reset the Random Velocity slider to 0.
8. Create Clip
Create a clip based on the sequence.
Additional Settings
Clips & Scenes


1. Delete Clip
Delete the currently highlighted clip.
2. Clip Pages
Go up and down pages if you have more than at least 16 scenes.
3. Create Clip
Create a clip in the currently highlighted clip slot. By default, it creates a 4 bars clip.
4. Move Panel
These arrows will snap the clip/scene panel to either the far left or far right of the controller.
5. Delete Scene
Delete the selected Scene.
6. Scene Page
Go up and down pages if you have more than at least 16 scenes.
7. Create Scene
Creates a new scene, it is inserted after the currently selected scene, and so moves the entire list.
Clips and Scenes behave exactly like inside Live, from colors and name to stop buttons disappearing if you remove it from a clip slot.
There's one exception to that, and it is the way a playing clip displays where it is at on its timeline. Instead of getting a small cheese wheel at the bottom of the clips you now get tracking directly embeded into the clip itself.
Clip Controls


1. Clip Color
Color of the clip currently selected. If you tap it, this also opens a panel to change the color of the clip.
2. Clip Name
The name of the currently selected clip.
3. Warp
(Audio Clip Only) Enable or disable the warping of a clip.
4. Warp Mode
(Audio Clip Only) Open a pop-up menu to select a warp mode.
5. Loop Control
(Audio Clip Only) Switch to loop controls.
6. Semitones
(Audio Clip Only) Change the Semitones of the audio clip.
7. Cents
(Audio Clip Only) Change the Cents of the audio clip.
8. Gain Control
(Audio Clip Only) Adjust the gain of the clip.
9. Reset Gain
(Audio Clip Only) Reset the gain parameter to 0dB.
10. RAM
(Audio Clip Only) Store the sample in the RAM.
11. Quantize
(MIDI Clip Only) When pressed the MIDI notes inside the clip will be quantized to the currently selected "Quantize Timing".
12. Quantize Timing
(MIDI Clip Only) Open a pop-up menu to select the timing of the quantize for the MIDI notes.
13. Duplicate Loop
(MIDI Clip Only) Duplicate the entire clip.
14. Clip Length
Here you have the current length of the clip, and on both sides you'll find values at which you can edit the start and end of the clip. Start on the left and end on the right.
15. Loop
Enable or disable the loop inside the clip.
16. Clear Automation
Triggering this button will remove all automations stored in the clip.
17. Stop all clips
This button will stop playing any clip on the current track.
Settings


1. Open Settings
Open and close the global settings page of Lucid.
2. Header Settings
In this Header you'll find almost the same exact header present in Live's UI. (check Live's help box to know what does what)
3. Timer
This Timer starts when the playback starts. Allowing you to keep track of how long you have been playing. Resets to 0 when the playback starts again.
4. Description
This box, is there to describe all the options in this page. Like the message says, simply touch the name of an option to display the description of said option.
5. Option Name
The name of an option.
6. Option On/Off
Enable or disable the option.
7. Version Number
Version Number of Lucid.
8. Sensitivity Type
Change between Absolute and Relative mode. In Absolute mode, the parameters will take care of their current position no matter when you tap them; they will always jump to where you clicked/tapped instantly. In relative mode, the parameters do not jump when you touch them.
9. Sensitivity Amount
Adjust the Sensitivity of the Relative mode, so you can be really precise with some of the parameters.
10. Sequencer Specific
Here, if you have selected a track with a sequencer device, you can change what the Total Random button of the sequencer will do.
Parameters
1. Value
Display the current value of the parameter.
2. Automation Indicator
Just like in Live, this will show up if there's either an automation going (red) or if there's a broken automation on this parameter (grey). If you tap the indicator while it is broken it will restart this automation only. (unlike the general automation retrigger, see "Header" section)
3. Reset
Tapping this box will reset the value of the parameter to its registered default.
4. Parameter Control
This simply controls this parameter.
5. Individual Random
This button allows to generate a random value of this parameter. This button is only available in the device page, if the "Lucid Randomizer" is enabled. (see "Page 3 - Device" section)
6. Name
Name of the parameters currently controlled by this fader.


Most controls in Lucid follow a similar layout and logic.
Name at the bottom, values on top. This with the fact that there is no knob style controls, and so Lucid uses only faders makes controlling parameters on an hapticless touchscreen way more natural and logical.
About Live Map & Automation
Parameters will reflect being manipulated by device like LFOs, by being greyed out and un-interactible.
This and the automation indicator also applies to some other parameters in Lucid (like Mixer Controls, Track Out, Sends, etc...)
OSC Gateway
If you are looking into building some custom OSC controls, or max for live devices without GUI and only controlled by parameters you'll put inside the custom page of Lucid. Or any other use cases you could find about using the pre-established network connection, then this is the right section.
Lucid features an open philosophy as most max patches are. You can open it, modify it, see how its built, etc... And in anticipation of that I have tried to build a very clean and easy to read patch with color codes and comments. Of course it's not perfect but will improve with time along with new features.
Now back to the topic.
Not only can you open a patch like mentioned, but even without opening it. I have set up a very specific way you can use to send and receive OSC from any other patch in your set.


The concept is very simple.
If you send from TouchOSC to Lucid an OSC address like: "/test/lucid" it will then be translated to a receive object automatically like so: "r test_lucid"
You can of course send anything, any type of values or strings; this is up to you.
Now for the other way around, since we are sending things to the same remote, the only thing you need to care about is what you are sending and where.
What you want to send is of course OSC, but I would recommend that you add in front of all your addresses a little added identifier to avoid conflict with all other addresses that I have set up to make the remote work.
Example: instead of "/Gain [1]" do "/MyName/Gain [1]"
Now where do you send that from your patch? Simply make a send or forward object like so: "s OSC-Out" and connect the output of your OSC messages to it.
Now you might also want to ensure your parameters are still correctly sent after the session is loaded, in case your network config of Lucid wasn't right on session load.
To do that, you can use the receive object: "r System_Refresh" that will generate a bang every time the connection status is re-established. Plug it to the input of your parameters to re-output the value when the connection is restarted.
Note that you'll need to either save your patch and close it or open the Lucid (Host) in parallel to make the connection with your patch work.
Besides those, there is a few pieces of information you can also get from the Lucid Host; you can of course peek inside the host to see what else you can extract.
Below you'll find an archive with two files, one maxforlive patch to detail how to make your controls compatible with the Gateway as well as a TouchOSC pre-sized custom page to make your controls outside of Lucid, so you can just copy and past after that. Make sure to also watch the video about customization and the OSC Gateway.

