Help to disable generic midi keyboard modulation wheel

Post Reply New Topic
RELATED
PRODUCTS

Post

Hi Guys.

I have an SSL Pro 990 keyboard, just 88 keys with pitch bend and mod wheel. The mod wheel though is faulty and sporadically ruins automation during playing and recording. Aside from chainsawing off the end of the keyboard (has been given serious consideration) I was hoping that I could mod the Generic Keyboard script to ignore the controller. I was also sure to get a unique UUID for the script. Here is what I tried:

loadAPI(1);

host.defineController("SSL-990PRO", "SSL 990 Keyboard", "1.0", "3657b590-ee11-11e4-b80c-0800200c9a66");
host.defineMidiPorts(1, 0);

var LOWEST_CC = 85;
var HIGHEST_CC = 90;

function init()
{
host.getMidiInPort(0).setMidiCallback(onMidi);
generic = host.getMidiInPort(0).createNoteInput("SSL-990PRO", "??????");
generic.setShouldConsumeEvents(false);

// Make CCs 85-90 freely mappable
userControls = host.createUserControlsSection(HIGHEST_CC - LOWEST_CC + 1);

for(var i=LOWEST_CC; i<=HIGHEST_CC; i++)
{
userControls.getControl(i - LOWEST_CC).setLabel("CC" + i);
}
}

function onMidi(status, data1, data2)
{
if (isChannelController(status))
{
if (data1 >= LOWEST_CC && data1 <= HIGHEST_CC)
{
var index = data1 - LOWEST_CC;
userControls.getControl(index).set(data2, 128);
}
}
}

function exit()
{
}


As you can see, I am no coder, so I took the original script and just changed the CC numbers to non-assigned ones hoping it would work but no dice. It shows up for selection in bitwig and the script has been saved to the documents/bitwig studios/controller scripts/SSL-990 Pro Keyboard folder. Do you think that it just is not possible to do without getting inside the thing and snipping some wires? I think I would end up causing more harm than good if I tried that.

Any help or abuse most welcome :)

GonzoFB

Post

Afaik, this line in your controller script:

Code: Select all

generic.setShouldConsumeEvents(false);
... means that all MIDI data - including CC1 (mod. wheel) - gets forwarded to Bitwig Studio, so that would explains why this approach doesn't work.

I would suggest to use an external tool (connected to the MIDI output of your device) to filter CC1 out of the MIDI data stream from your device, then forward the remaining MIDI data to Bitwig Studio using a virtual MIDI port. There are many tools / applications you could use for this task (e.g. MIDI-OX, Bidule, Pure data, Max/MSP, junXion, OSCII-bot, etc.). For the virtual MIDI port, on OS X, you'd simply set up an IAC bus in Audio & MIDI Setup; for Windows, there are various free third party tools providing such functionality (e.g. MIDI Yoke, LoopBe1).

Btw, in many cases, opening up your device and cleaning it carefully but thoroughly may fix poorly responding control elements. Controller devices often double up as storage containers for dirt, ash, hairs, and other cruft. So I'd also suggest just trying to fix it, perhaps on some rainy day when you are bored.

Post

Thanks for your reply, ch00rD.

I spent some time trying to solve this with midi-ox but only managed in succeeding in temporarily disabling my entire input so I think a good old 'blood and guts' inner cleaning is the answer. Ths thing is built for WW4 so not looking forward to it at all. Also, even though it has a great weight to the keys for piano playing finger strength practice, it's not the ultimate for synth work. I might look at a new 61-88 key controller keyboard with a better velocity response. One that also lets me have some of my desk space back again (and doesn't have messed up mod wheel. I was trying to find a device that is a 3 wheeled pitch/mod/breath CC controller but found nothing. Shame, a gap in the market there. Heck, whack an X-Y pad on to the side and you have a winner!

Thanks for help though :)

GonzoFB

Post Reply

Return to “Controller Scripting”