Script for Live Looping and Launchpad

Post Reply New Topic
RELATED
PRODUCTS

Post

Since it didn't get much attention in the main Bitwig forum, I'll just post a bit of info about this script for the Launchpad Mini. Maybe someone searches for the keywords here and finds it useful. Changing the constants would probably make it easy to use it with a different controller.

You'll also find a video in the original post: viewtopic.php?f=259&t=557336&p=7970505#p7970505

I implemented some tricks for live looping based on dplduffy's script for the Launchpad Mini.
- There is a trackbank for 40 tracks since I always wanted trackbanks bigger than 8 tracks. For live looping most of the time I use only 1 scene per track so there is a lot of free space for more tracks on the clip matrix.
- I also changed what triggering clips does a bit. Triggering empty clips starts recording, triggering a playing clip stops the clip and triggering it again relaunches the clip.
- There is a mode for deleting and one for selecting clips.
- I use the accessory buttons to change the global clip launch quantisation and the post record delay (loop record length).

The script can be found here: https://github.com/TVbene/LaunchpadScriptV3

Post

I am interested in porting this over to a KMI Softstep foot controller. I want to be able to control a session box for ten tracks of live looping. When you say swap out the constant could you explain a bit more? I’ve watched some mods tutorials but am no expert.

Post

I have done something very much like this, using another foot controller.

Swap out the constants means make a list of what Midi Values (midi CC? midi note on and off) you need to handle your specific controller.

If you can't figure out what is coming in from your controller start by getting a pencil and paper and using the Midi Trace Controller SCRIPT to figure out what comes in from your unit. Then code constants like:

FOOT_SWITCH_A = 100

Which is very basic programming defining a variable in javascript that works like a "constant". A constant means a special value.

So that when it comes time to script you can write

if (data1 == FOOT_SWITCH_A) {
handle_foot_switch(FOOT_SWITCH_A,data2);
}

Of course you would also be responsible for writing the code for the function called handle_foot_switch which would start a looper recording or stop it.


There's a lot of stuff in tvbene's launchpad scripts that you don't need.

Start with a hello world script or something simple.

Maybe fork something simple like this on github and also use the provided tvbene script above as a sample.

This is one I whipped up for the korg nanopad2 that is at api level 14:

https://github.com/wpostma/nanopad2-bitwig

Post Reply

Return to “Controller Scripting”