Sep 20, 2020 Run Ableton, and open a terminal window. Once Ableton loads, if you select your remote midi script, as soon as it hits the breakpoint the Ableton process should freeze. This is normal, as the process is awaiting on the python debugger connection. In your terminal, run the following command: Code: Select all. Telnet 127.0.0.1 4444. Open VST in your music program; When new dialogue box pops up Click OPEN. In case Allow Anyway does not show up, please continue with the steps below: Open Terminal by searching for it using the Spotlight Search in the upper right corner (the magnifier icon).
I've been writing few remote scripts for Ableton, and something I've struggled quite a bit was debugging them.
It's a personal thing, usually when I code, especially in an environment that I don't know, I need to debug it to understand what's behind the curtain.
Anyway, how?
I've used remote pdb, here's what you have to do in order to use it [Windows]:
- Pip install remote_pdb in Ableton Remote Scripts folder
This will install remote_pdb and make it accessible in your remote scripts.
Open Ableton In Terminal
- Enable telnet in Windows.
Look for Telnet, enable it. This will allow you to connect to the pdb process in Ableton.
- The following point is my own pattern, you can do this differently. I created a singleton class which runs the connection listener. This has to be done ONCE, or the process will get stuck and you'll have to use a different terminal each time you run the connection listener creation. The singleton pattern creates the listener just once time in a Debugger singleton class, that you can later on access quickly.
Open Ableton In Terminal 9
Code: Select all
- Set your breakpoints.
- Run Ableton, and open a terminal window.
This is normal, as the process is awaiting on the python debugger connection.
In your terminal, run the following command:
Code: Select all
Check pdb page for the commands, few of them quickly:
- n: Next line of code
- s: Step inside code
- c: continue to next breakpoint.
- w: shows a traceback around the current line of code.
Iacopo