Ableton Browser navigation using hardware

4.96K viewsGeneral
0

Is there a way to scroll through your library of files then load it to the desired clip (if MIDI or audio) or a channel (if .als project file) using a hardware MIDI Controller instead of a keyboard & mouse? For example I have a Traktor F1 controller that has a rotary knob which you can also push as a button, 4 faders and lots of other buttons. Is it possible to map/script this for that function using Remotify? Many Thanks

jmw Answered question
Attached Files:
0

Hi Ben,
I missed your last post, I used ‘up’, ‘down’ and ‘right’ buttons to navigate.
Yes, I tried ‘Application – press current dialog button’ but no luck..

admin Changed status to publish
Attached Files:
0

Hello benwadub,
I suppose you could use the same method here as with scrub_by:
To go up- or downward with the same controller, you can set conditions in the ‘Reaction’:
1) If the current velocity value of your MIDI controller < then the previous -> you give it a direction.
2) If the current velocity value of your MIDI controller > then the previous -> you give it the opposite direction.

admin Changed status to publish
Attached Files:
0

Hi ben,
I just tested the scrubbing and navigation with an absolute endless encoder, and it worked, well partially..
I can scroll the presets (or scrub) but when the encoder gets at 0 or 127, it doesn’t move (or scrub) any further than that.
I guess that we need some code that determines how many presets there are, which will probably give a problem if there are more than 128 presets. I suppose a relative encoder would work better, but I have not found a way to implement that yet.
Anybody else on the forum here has some experience with that?

Here is the code I used for navigating:
if self.midi_cc_ch_0_val_58.cur_val < self.midi_cc_ch_0_val_58.pre_val:
self.application().view.scroll_view(0, “Browser”, None)
if self.midi_cc_ch_0_val_58.cur_val > self.midi_cc_ch_0_val_58.pre_val:
self.application().view.scroll_view(1, “Browser”, None)

I guess you already know, but the numbers in ‘cc_ch_0_val_58’ will probably be different in your code.

Glenn V. Posted new comment
Attached Files:

What if you would make the knob’s value always reset to a static value at the end of the Action Block, after the if statements. Value 63 for example, which is the midpoint. Pre_val would then always be 63:
– when you turn right, cur_val > pre_val (63): scroll_view 1 (going up)
– when you turn left, cur_val < pre_val (63): scroll_view 0 (going down)
– at the end, reset cur_val to 63

0

Hi,

I would also like to be able to do this so I ask has there been any update that would make this possible?

I have read that the Ableton Push can load files from “Browser” (I have no Push so I can’t verify) maybe there is inspiration to be gained from its Control surface script?!

https://github.com/gluon/AbletonLive12_MIDIRemoteScripts/tree/main/Push

Joachim Edited answer
1

Hi,
After trying with Remotify and the code snippets while looking at the Ableton Live Object (LOM), the only way I found was to use AppleScript to simulate the “Enter” key.

You need to enable AppleScript in the settings.

Here’s the code:

Listerner : (CC value for exemple)

self.midi_cc_ch_1_val_10.cur_val == 127

Custom code:

# === LOAD DEVICE VIA APPLESCRIPT ===

import subprocess

try:

app = Live.Application.get_application()

app.view.focus_view(‘Browser’)

# delay to focus

import time

time.sleep(0.05)

# Enter Key

subprocess.call([‘osascript’, ‘-e’, ‘tell application “System Events” to keystroke return’])

except Exception as e:

self.log_message(f”Error: {str(e)}”)

jmw Edited answer