Intro to Controller Scripting - Bitwig Studio 1.0.x

Post Reply New Topic
RELATED
PRODUCTS

Post

Just following up here on the KMI QuNexus keyboard. Thanks yall for the pointers and such - can't say I understand the script i made but it seems to work just fine.

Converts polyphonic aftertouch on the QuNexus into timbre.

For the first time, i can actually tweak the pressure data after making a midi recording - per note!

Awesome news for my jitterbug hands.

Well, here it is.

Thanks Bitwig & friends!

Code: Select all

loadAPI(1);

host.defineController("KMI", "QuNexus", "1.0", "ed1c2a90-cdce-11e3-9c1a-0800200c9a66");
host.defineMidiPorts(1, 0);

function init()
{

   QuNexus = host.getMidiInPort(0).createNoteInput("QuNexus - Omni", "??????");
   QuNexus.setShouldConsumeEvents(false);
   QuNexus.assignPolyphonicAftertouchToExpression(0,   NoteExpression.TIMBRE_UP, 5);

}

Post

Great the tips were helpful and you were able to get it working husserl! ;-) :tu:
I hope to be able to try some of the KMI Controllers myself.



I just created a Github Repository for my scripts - my first one ever -
and cleaned them up a bit ;-)
https://github.com/ThomasHelzle/Toms_Bitwig_Scripts

Cheers,

Tom
Last edited by ThomasHelzle on Mon May 12, 2014 9:27 am, edited 1 time in total.
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." · Rumi
UrbanFlow.art · Instagram · YouTube

Post

in addition to the update issue: http://www.kvraudio.com/forum/viewtopic ... 9&t=411331, i found some other bugs/issues/things with the official launchpad control script.. i think (?)..
should i email these to tech support too, perhaps?

1)

launchpad_grid.js: line 79-81: duplicate of line 67-69

2)

launchpad_grid.js: line 84: this.setTempMode(TempMode.DEVICE);
tempmode DEVICE is not used for anything, it seems
(see launchpad_grid.js, lines 201-227)

3)

launchpad_grid.js: line 155: 'if (IS_RECORD_PRESSED)'
IS_RECORD_PRESSED is never set to true, anywhere
set to false in Launchpad.control.js, line 87: 'IS_RECORD_PRESSED = false'

4)

launchpad_grid.js: line 222:
change from userControls.getControl(row).set(column + 8, 8);
to userControls.getControl(row+8).set(column, 8);
to get user controls page 2 working

5)

launchpad_grid.js: line 225: switch(TEMPMODE), case TempMode.USER3:
TEMPMODE is never set to USER3, anywhere

Post

tor.helge.skei wrote:i found some bugs/issues with the official launchpad control script.. i think (?)
should i email these to tech support too, perhaps?
Yeah, I think that would be best ATM so it can be added to the Bugtracker.
I don't know when I will get to the Launchpad myself...

Cheers and thanks,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." · Rumi
UrbanFlow.art · Instagram · YouTube

Post

Allright, had my first Session with Volker and the Lego starts to click.
Will need some Brain refactoring now but a Generic Bidirectional Script with feedback for CCs is already in my head as a concept (for Lemur etc.).
May also become a Tutorial for those eager for the next level. ;-)

Let's add some observers now :party:

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." · Rumi
UrbanFlow.art · Instagram · YouTube

Post

Hey everybody,

I just finished my first script with bidirectional support for CCs called "TomsMultiBiController"

You can download it here ("Download Zip" button on the right) :
https://github.com/ThomasHelzle/Toms_Bitwig_Scripts

The Script is located in the Toms Generic Folder.

Enhanced Generic Controller Script with Support for
- all 16 Midi Channels + Omni
- Poly Aftertouch to Expression
- CCs fully mappable per Midi Channel...
- Sending Midi Beat Clock.
- Sending Feedback to the Controller for mapped CCs.

This should work for apps like the Lemur as well as for people who for instance use a controller like the BCR2000 and only want to map the controls to parameters instead of using the BCR2000 script.

I also added some comments for interested parties - a full blown Tutorial will follow later.

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." · Rumi
UrbanFlow.art · Instagram · YouTube

Post

Thanks, Tom! I've had the BCF for a while now, and the BCR's been on back order for a short time, but waiting anxiously.

Picked up a beatstep, while I was at it.

Thanks for all of your efforts!

Post

Hey there fellow bitwig alliance! Was wondering if anybody has had success with mapping or scripting the m-audio axiom 25. The generic controller plus 8 rotary knobs does not quite work as the transport controls and rotary knobs are not omitting any midi messages to the program. I am not knowledgeable in Java but maybe somebody that is, could maybe help?

Post

It takes away from my work flow. And m-audio has not put anything up for it probably because it is a legacy product.

Post

Hey Megamez,

I somehow missed your post. Did you try the script for the Oxygen 25 that comes with Bitwig Studio? Maybe they are similar enough to make it work? Haven't tried it myself though, I have to see if we have an axiom 25 in the office.
Transport isn't unified enough between controllers to make it work in a generic way - each controller does it differently...
The rotaries have to send CC 20 - 27 to work with the generic script with 8 knobs as intended (controlling the 8 macros of the currently active device).

Otherwise you can try one of my enhanced generic scripts. They will not give you transport either, but the rotaries should be mappable freely.
https://github.com/ThomasHelzle/Toms_Bitwig_Scripts
Generic MIDI Keyboard InOut.control.js should work for the basics, if you want all 16 Midi Channels available separately, you can try TomsGenericMultiControl.control.js.

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." · Rumi
UrbanFlow.art · Instagram · YouTube

Post

Will try that out tonight when I get home from work. Cheers!

Post

Is there someone out there working on a script for Arturias key lab range.
I have a KeyLab49 and am working on making a a script "framework" that should be able to target all 3 versions 25, 49, 61.

https://github.com/teotigraphix/KeyLab49ForBitwig

Empty repo but will get filled soon, the Push project is taking all my time at the moment.

Mike
Michael Schmalle
http://www.teotigraphix.com
Surfing on sine waves

Maschine4Bitwig - Studio, MK2, MikroMK2, MK1
http://www.teotigraphix.com/bitwig/maschine

Post

Tom,

I've been trying to get this bi script to work but I can't seem to install it... I feel I'm putting it in the right place... see attached... I can't help but notice this *.js script is more html than js....
You do not have the required permissions to view the files attached to this post.

Post

Scratch that I think somehow I was downloading the github page by accident, looking into now.

Post

Ya that seems to work well... only tested with CCs but they are bidirectional.

Post Reply

Return to “Controller Scripting”