If you wonder: I removed my old recommendations since they were so out of date and mostly for v1 of Bitwig - this thread started in 2014...
You may also find some of the initial posts to be no longer relevant, since these days you can also use Java for creating Controller Scripts.
Some newer things that may be helpful:
The first thing you need is a good code editor:
Microsofts "Code" has become one of the best free code editors over the last couple of years:
https://code.visualstudio.com
If you don't want MS snooping after you, you may disable the Telemetry in Settings and hope for the best...
There are many tools for Java Script development available as "Extensions"
Next, get yourself into the groove with some tutorials:
Jürgen Moßgraber aka "moss" on KVR has created a video series of tutorials that is probably the best introduction to how things work available. Here's a link to the playlist:
https://www.youtube.com/watch?v=l4AuiQ8 ... O3luQCFQR2
Now create your first script:
To create a new Controller Script, you can either start from an existing one or use the Generator that comes with Bitwig Studio (version 4 ATM of writing):
Go to the Dashboard (click the Bitwig Logo at the top of the Bitwig Window) -> Help -> Documentation. There you find the API Reference and a button labeled: "New Project..." click that and fill in the fields to create either a Java or Java Script template.
And this is how you can see what's going on:
To show the "Control Script Console" you can create a shortcut in the Dashboard -> Settings -> Shortcuts and search for "Show Control Script Console" - I use Shift+J for historical reasons...
The Console allows you to see output from your script for debugging.
One of the things I use the most is probably:
Code: Select all
function onMidi(status, data1, data2) {
printMidi(status, data1, data2);
...
}
For other debugging you will want to use
Code: Select all
println(YourVariable);
Best of luck and post here in this thread if you find other helpful information for Controller Scripting in Bitwig.
Cheers,
Tom