!!COMPLETE MOUSE-LESS MIDI CONTROL! CLICKABLE ACTIONS TOO!!

Share your favorite Ableton Live tips, tricks, and techniques.
djthopa
Posts: 27
Joined: Mon Jan 15, 2007 11:37 am
Contact:

!!COMPLETE MOUSE-LESS MIDI CONTROL! CLICKABLE ACTIONS TOO!!

Post by djthopa » Mon Jan 15, 2007 3:44 pm

First things first:

I´m not a programmer. I´m a Dj, producer, and I love Ableton. I recently bought a Lemur, and wanted to have much more control over Ableton. You can do this tutorial
with any midi Keyboard or controller.I know many people know much more about this matter than me, but I´ve tried to gather some of this info in this tutorial, hope it is helpful for you.

Also, this guide is for Pc; but I’m sure you can do it trough Mac. :cry:
Basically, on this tutorial I would try to show you how to control any, (Yes any) control that it’s on screen in ableton.

You will need the following: (Copy/Paste the links in explorer)

*Autohotkeys; Download here: http://www.autohotkey.com/download/

*Bomes Midi Translator. Download here:

http://www.bome.com/midi/translator/Mid ... tor140.exe

*Files for the tutorial:

http://www.djthopa.net/abletoncontrol.zip

Contains abletoncontrol.ahk file and a preset for bomes midi tranlator for you to customize. Sorry, arrow keys are in spanish (arriba-up, abajo-down,izquierda-left, derecha-right) jeje you probably know this!!


Basically, we will transform Midi messages into Keystrokes (keyboard shortcuts for predefined functions in Live), so when we push, say a note or button on a keyboard,
You can open the explorer, scroll trough clips, ,paste, show/hide clips, copy, etc…..

Also, we will convert midi messages into keystrokes and after, to mouse related positions; Say you want to assign a key or a midi controller to that Reverse button on
Ableton´s clip screen, or maybe define the length of the loop, double it, divide it by two, instead of clicking in the clip and doing this with the mouse.
Install all applications.

Ok this is how it works.

1.Open Bomes midi translator.
2. Define the midi in Port (menu on top left screen).
3.Move your midi transmitter and you should see a light flashing on the bottom left of Bomes Screen.
4.Press add translator, and define a name for the function (so you renember what thing does what)
5. Press the edit button.
6.Press incoming (F6) and press Midi capture tick on the right side of screen.
7.Click on the fill area and move your midi device, a midi message should appear on screen. Don’t move your controller again, or another midi message would be recorded.
8.Press outgoing (F8) and the click on the keystroke tab.
9.Click on the area and press the keyboard shortcut, you will see the keys being recorded onscreen, in this case lets try show/hide explorer, which’s shortcut is CTRL+ALT+B
10. Press apply.
11. You should know see a line, with the name function you gave, the midi message you used as income, and the combination of keys you used.
12. If you now go to Ableton, and press the controller/key you defined, you should see the explorer showing/hiding. Good!!! :lol:

Ok…another one:

We are going to convert a midi message into a mouse click on a defined part of Ableton´s screen, say to control the reverse button on a clip.

1.Open ableton, and load a clip.
2.Right click on the abletoncontrol.ahk file provided and select edit script.
3. You should see something like this:
4. Let me explain:
You can see a !1 followed by some code. Look at the YourXhere(x coordinate), and YourYhere (y coordinate). Thas is hte x/y position of the mouse click.
This means that whenever Alt+1 is pressed, it will simulate a mouse click on a x, y coordinate.
5.Open AutoIt3Spy, located on the Autohotkeys program folder.
6.A screen will show up. You can see that it inputs x,y data as you move your mouse.
7.Go to ableton screen, make sure its wide open, or have it how you will normally have the screen setup-
8. Move your mouse to the clip´s reverse button. When it´s exactly on it and while you have AutoIt3Spy screen open too, write down the exact coordinates (x,y) of the reverse button.
8. Go back to the abletoncontrol.ahk you had open, and fill the yourXhere, yourYhere coordinates you just wrote down.
9.Save the abletoncontrol.ahk file.
10.Run the abletoncontrol.ahk file (click on it)

All right!!!!

Now if you go to ableton, select the clip, play it, and of you press Alt+1, the sample should reverse. Ace!!! :wink:

Now what we have to do is go to in bomes midi translator and convert a midi message into Alt+1, like we did in the beginning (select midi message in, select keystroke key out (alt+1).

Now if you moved the midi message defined, the sample should reverse.

Ace!!!! :D

Let’s go a little bit deeper.
Lets say that you want to define the loop length of the clip.
Normally you would have to click on the clip, click on the loop length and type the amount with the keyboard…..no more!!!

Open AutoIt3Spy if you had closed it before.
Go to ableton, and go to the clip screen and click here you define the loop length (three squares where you put the length). In this case we will define a one bar loop length, which is written on the fist left square.
Write down the x,y coordinates that show up on AutoIt3Spy that show when you click on that area.
Edit the abletoncontroll.ahk file.
You should see a line that says !2, with some x,y coordinates too. Replace these with yours.
Also you should see something like Send=1; that’s the value that will be send, in this case 1 bar loop; should you need to change the loop length, just type 1, 2, 4, whatever.
Save and close.
Go to Bomes midi translator.
Add translator, define the midi controller/key you want to use.
Define the keystroke output, in this case ALT+2+ENTER, so when you send the midi message, it will send ALT+2 (mouse click on loop length, value 1) and then press enter.
Go to ableton, move the midi controller/key and the loop length should change to the value you defined.

Also if you want to double/ half a loop, you can define the x,y coordinates of the bar on top of the clip, to say ALT+3, and then on bomes midi translator specify the keystroke output to: ALT+3+CTRL+Arrow down (Arrow down divides the clip length by two).
Or ALT+3+CTRL+Arrrow up (Arrow up multiplies clip length by two)

The problem I have found with this method is that if you keep on dividing the loops length by two, and you reach the limit, say you cannot divide the clip’s length any more,
The double length command does not work any more. Just define a message for a 1-4 bar length and it will go back to normality. :wink:

My recommendations are that you also assign midi messages for:

Up, down, left, right arrows.
Enter
Scroll from Explorer to clip, to sends ,to clip edit, trough ALT+left arrow or ALT+right arrow.
Hide Show/Hide clip trought CTRL+ALT+L
Clt+c (Copy) Ctrl+v (paste)
Esc

I used this setup this way. The following keys are assigned to midi messages.
I scroll form clip to explorer. Scroll down in explorer with the arrow keys assigned to midi, open folder with side arrow, listen to clip. Stop listen to clip (pressing ESC).
When you want import, just press the midi assigned to copy (CTRL+C), click o scroll from explorer to clip, select track you want to import, and press the midi you have assigned to paste (CTRL+V), all completely mouse less!!!!

Another thing you must remember is to have Ableton´screen setup like when you defined the position of the x,y parameters, otherwise the coordinates won’t be the same.

Also included on the zip file, there is the preset to use with bomes midi translator, feel free to use it change it, just renember to put the midi in of your like, and define the x,y coordinates on the abletoncontrol.ahk

You are very welcome to update, change, bitch about it or like this tutorial,
Hope it was helpful.

Djthopa: djthopa@djthopa.net, or myspace/deejaythopa


Meef Chaloin
Posts: 2164
Joined: Thu Jul 21, 2005 10:09 pm

Post by Meef Chaloin » Mon Jan 15, 2007 4:25 pm

wow thats an incredible first post!

need to read this over again & absorb it properly. But do you know how to set up a knob to scroll the tracks in session view? Im already using autohotkeys and bomes (bomes only for a foot controller).

djthopa
Posts: 27
Joined: Mon Jan 15, 2007 11:37 am
Contact:

Post by djthopa » Mon Jan 15, 2007 4:44 pm

I know you can do this by midi mapping the arrows that show up under stop clips,to you knob. Problem is, this way you will need two (up/down) and it doesnt work too well.
For this you need something like the ones found on Faderfox controllers, which transmit diferent data if you move them clockwise or anticlockwise.
The you assign to the up/down arrows.
I bet there is some post that describes this.
Good luck

drez
Posts: 551
Joined: Tue Oct 28, 2003 10:23 pm
Location: United States

Re: WITH THIS SETUP THE LEMUR LOOKS LIKE THIS

Post by drez » Mon Jan 15, 2007 5:07 pm

What the heck is that?!?! 8O
http://www.soundcloud.com/dreznicek
MacBook M1 Pro Max, 64Gig RAM, 4TB internal SSD, Live 11, Push1/2/3, Reason, VST O'Plenty

tricil
Posts: 746
Joined: Thu May 26, 2005 10:31 pm
Location: Atlanta, GA
Contact:

Post by tricil » Mon Jan 15, 2007 11:17 pm

well done
MacBook Pro T7600 / OS X 10.5.7 / Ableton Suite 8.0.2 / Peak Pro XT 6.1.1 / ReMOTE 37SL

Michael-SW
Posts: 2054
Joined: Sat Apr 30, 2005 4:05 pm
Location: Stockholm, Sweden

Re: WITH THIS SETUP THE LEMUR LOOKS LIKE THIS

Post by Michael-SW » Mon Jan 15, 2007 11:49 pm

drez wrote:
What the heck is that?!?! 8O
A Lemur! :D

A multi touch programmable screen/interface (sort of):

http://www.jazzmutant.com/lemur_overview.php

Silence
Posts: 508
Joined: Tue Nov 08, 2005 6:25 pm

Post by Silence » Tue Jan 16, 2007 2:00 am

...i liiike :D

The Phat Conductor
Posts: 1768
Joined: Thu Apr 07, 2005 9:30 pm

Post by The Phat Conductor » Tue Jan 16, 2007 8:33 am

amazing!

thank you so much!

i have been waiting for this for the pc for ages!

i can't thank you enough.
ill gates aka the phat conductor
producer, performer + ableton/music teacher

http://www.illgates.com

djthopa
Posts: 27
Joined: Mon Jan 15, 2007 11:37 am
Contact:

Post by djthopa » Tue Jan 16, 2007 8:39 am

Anything for the abletonians

Patch
Posts: 2614
Joined: Sun Aug 15, 2004 8:14 pm
Location: Bristol, UK

Post by Patch » Wed Mar 28, 2007 11:33 am

How the hell did I miss this?!?

Svetla
Posts: 73
Joined: Sat Mar 10, 2007 3:17 pm

Post by Svetla » Wed Mar 28, 2007 6:41 pm

what about for Mac OSX???anyone have a script they would share?come on share

SubQ
Posts: 531
Joined: Mon Apr 17, 2006 1:47 pm
Location: Sao Paulo-Recife-Brasil
Contact:

Post by SubQ » Fri Mar 30, 2007 3:26 pm

I have done that for some time with this http://www.ultimarc.com/ipacve.html and AHKeys, so I don't need Bomes with AHKeys and the IPac (wich can also assign key macros to one click - thanks machinate for the tip.)

The Ipac goes into my built footcontroller, which has:
14 buttons, divided into 4 loop tracks play and 4 stops,
4 arrow buttons
and two more, Enter and Shift. This last one if pressed changes the 8 first to navigation mode(select browser, devices or clips), undo-redo, global quantization and copy-paste, leaving the arrow keys unchanged.


All of this - my livelooper and deep navigation are into my footcontroller as QWERTY keys, leaving all midi to normal navigation-mix with the Faderfoxes and FX parameters with the BCR.

here's my script for live gigs, 1280x1024 19" resolution full screen - addons by rozling.

;This script is made for a 19 inch monitor at 1280 x 1024Pixels
;You will probably have to modify it if
;you are using a different resolution.
;
;

GroupAdd, Live, ahk_class Afx:00400000:0:00000000:01900015:00000000
GroupAdd, Live, ahk_class Afx:00400000:0:00000000:01900015:02BB05FD
GroupAdd, Live, ahk_class Afx:00400000:0:00000000:01900015:02FF0351
curMode := 1
return


#IfWinActive, ahk_group Live
{



CoordMode,Mouse,Relative
;Browser
;open browser
2::Click 21,91
;select Lives devices
1::Click 21,116
;Select vst devices
q::Click 21,139
;select File browser 1
a::Click 21,163
;select File browser 2
z::Click 21,187
;select File browser 3
x::Click 21,211

;To Devices
;select device
Space::Click 37,841

;To Undo
e::^z

;To Redo
r::^y

;Remove Stop Button
p::^e

;Toggle Track, Clip View
w::+Tab

;To Duplicate
d::^d

;Sixteen Note QUantization
6::^6

;Eight Note Quantization
7::^7

;Quarter Note Quantization
8::^8

;1 Bar Quantization
9::^9

;No Quantization
0::^0

;From Session To Browser
b::!Left

;From Browser to Devices
n::!Down

;From Devices To Session
m::!Up
}

; Maps the Pause button to suspend the script:

PrintScreen::
Pause
Pause::
Suspend
if A_IsSuspended
{
#Persistent
ToolTip, <<Off>>,721, 792
SetTimer, RemoveToolTip, 5000
return

RemoveToolTip:
SetTimer, RemoveToolTip, Off
ToolTip
return
Suspend, Off
}

else

{
#Persistent
ToolTip, <<On>>,721, 792
SetTimer, RemoveToolTip, 5000
return

RemoveToolTip2:
SetTimer, RemoveToolTip, Off
ToolTip
return
Suspend, Off
}
return
it's good to see other fellows messing with it.
peace,
coelho
http://soundcloud.com/coelho
Dave Smith Prophet 08 SE, Genelecs, RME Multiface, Faderfoxes, Doepfer Drehbank, Padkontrol, DIY Footcontroller, Electro Harmonix Pedals.

stutter
Posts: 488
Joined: Tue Sep 05, 2006 3:58 pm

Post by stutter » Fri Mar 30, 2007 4:22 pm

SubQ, that's a brilliant link

stjohn
Posts: 478
Joined: Tue Sep 12, 2006 2:20 am

Post by stjohn » Fri Mar 30, 2007 6:27 pm

Wow this is amazing!
so much potential!!

i am getting stuck on assigning the reverse button tho. my mouse co-ordinates are not between 0-100. im getting::

EDIT:::

sorry... i was putting the co-ordinates in the wrong place

AAAAAAAAAAAAHHHHHHH this is getting better :lol: :lol: :lol: :lol: :lol:
Last edited by stjohn on Fri Mar 30, 2007 6:37 pm, edited 1 time in total.

Post Reply