dotherightthing / control-traktor

A collection of settings and Max4Live devices for improved control over Traktor Pro.
4 stars 0 forks source link

Status bar messages #1

Open dotherightthing opened 1 year ago

dotherightthing commented 1 year ago

These are a feature of ClyphX Pro (MSG and PUSH MSG), which Stray documents in ExampleActions.py as being part of (Ableton's) ControlSurface script:

Additionally, there are a couple of other methods and attributes of UserActionsBase that you should be aware of and that are demonstrated below: (1) - self.song() - returns the current Live set object. (2) - self.canonical_parent - returns the ControlSurface (parent) object that has loaded the ClyphX_Pro library. Through this object, you can access two useful methods: (a) - log_message(msg) - Writes a message to Live's Log.txt file. (b) - show_message(msg) - Shows a message in Live's status bar.

Decompiling parts of ClyphX Pro reveals that Stray imports this from _Framework.ControlSurface, and ControlSurface.py does indeed contain a show_message function.

A quick search for "live MIDIRemoteScripts _Framework" leads to Ableton Forums - MIDI Remote Scripts. The discussion there recommends reverse-engineering others' scripts and links to Selected Track Control for Ableton Live which does make use of show_message, though without importing from _Framework.ControlSurface first.

The author actually recommends just using the API directly, and then links to the LOM:

I would not recommend the _Framework anyway, because it is an abstraction further from the API itself. To get going, simpler, less abstract calls to the API would be better.

However the LOM doesn't mention the show_message function and attempting to call it in the following ways fails: