Time for the second installment of this tutorial series, showing you how to make a fully fledged editor for your hardware synth; using a Waldorf Pulse as an example.
Last time we looked at sending our first CC messages from Max4Live and referencing them to automate our sounds in Ableton. This time we’re going to look at sending specific values to parameters for buttons and switches! Are you ready?
Picking Up…
Open the patch we made last time and turn on your synth! You’ll remember that the MIDI implementation chart (pages 58-60) in the Waldorf Pulse manual shows all the possible values we can control with CCs. Last time we covered parameters with CC values from 0…127 which is 128 different values! You’ll see this is the most common range on the chart, but there are others:
0..15
0…7
0…3
16…112
0…2
0…1
0…24
0…15
See table
You can imagine what this data means; the lowest value followed by the highest value required to chane the parameter (ignore “see table” for a moment). Lower ranges will normally be a button or switch. Find some values showing 0…1, 0…2 and 0…3. Two examples are:
Osc2 Sync (41)
Osc1 Shape (34)
Let’s get building!
Push the Button
Osc2 Sync requires values between 0…1 to turn it on or off. Load your patch in Max4Live and create a live.text object within it. This is a toggle switch for this kind of parameter. Open the inspector and locate the Text On Label and Text Off Label at the very bottom of the panel – rename these to On and Off.
Attach a number box to the left outlet and turn off edit mode. Toggle the box on and off to see the label change and watch the outputted numbers:
0 = Off
1 = On
Always check the order of the numbers match so you don’t have Off switching a parameter On! Open the inspector to label your object for the automation view with a Short Name, Long Name and Scripting Name. Use the method you learnt last time to make the ctlout object send your value with CC 41. Test it with the synth set up as before. Does it work? Splendid!
Note: Unlike knobs these buttons have no viewable name, so create a Comment box and write Osc2 Sync in it.
Colours in Stereo
You’ll see each object has a colour section, which is fairly self explanatory – have a go at making a live.dial or live.text a different colour!
We’ll cover this in more detail in later tutorials, but for the time being try and make the most disgusting colour combination you can… here’s my effort:
Okay stop messing around, this is serious!
Bigger Buttons
Let’s look at the larger switch values like 0…2 and 0…3. Create a live.tab object, this will automatically show one two three within the object. Open the inspector to see where these values are and change them to big brass balls.
You didn’t actually do it did you?! Haha!
Find the Range/Enum box from before if you’re struggling – remember to make a space between each word. Resize the object itself to see how it morphs and mutates – this will be very useful later.
Guess what numbers this box outputs, then attach a number box to find out – make sure you’ve turned off edit mode so you can click the boxes. For Osc1 Shape we need the words Pulse Sawtooth Triangle in the Range/Enum box – so the button values will be:
0 = Pulse
1 = Sawtooth
2 = Triangle
Now we have the word written in each box, so attach it to a ctlout object as before (CC 34 for Osc 1 Shape) and check it’s working. That’s not all!
It would be cool if these were pictures, wouldn’t it? Use the Help function we learnt last time, while clicking on the live.tab object. You’ll see a Pictures tab, and discover it’s possible to display images! Go to the live.tab inspector and tick the Use Pictures checkbox. The waveform pictures are:
sine.svg
saw.svg
square.svg
up.svg
updown.svg
down.svg
random.svg
Write these in the Image Files box in the order you need to show them and hey presto, there they are! For Osc1 Shape we’ll write: square.svg saw.svg updown.svg
These are stored in the Max4Live install path, so as long as you spell them correctly, they’ll always appear. Rearrange the box as you want it, and change the colours to match your synth. There are lots of other images available, click around to discover more – that’s how Max will reveal itself to you.
So, we now know how to make 2 new buttons, nice going!
And Finally…
Ensure everything you’ve made fits within the vertical device limit, and close the editor to use the objects in Ableton. Check the synth is receiving the data properly and find the parameters to automate in the track view. If something isn’t working, check your object inspectors and MIDI spec.
You now know how to make 3 different types of CC controls in Ableton and automate them! You should now have the skills to build a working editor for many parameters of your synth. Try making a short track, changing and switching these parameters. Remember to dig into the essential help files to find interesting and helpful new objects.
Check back here soon for the next part of this tutorial, where we’ll look at sending specific dial values, making tables and generally becoming the greatest human that ever lived.
Thanks for reading! Message me on twitter, Reddit or leave a comment for any questions.