Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with Twitter

Code and Bitwig mapping questions

edited July 2014 in Hardware

Hello, I just started working with the new Code script for Bitwig and it's really great, right up the alley of what I was looking for to use Bitwig for DJing. I have a couple questions to start with and I'm sure I'll have more as I go along. For one, when mapping an encoder to the tempo, it makes far too big of jumps ala 20-30 bpms per click. How do I adjust this so that it only goes up, say, one bpm per click? Same goes for the volume encoders, I'd like to make them more smooth and less jumpy (meaning to say they make large jumps in volume per click on the encoder). Also, I am attempting to use the "learn controller assignment" feature to make encoder button on the devices mode perform an EQ kill, (low, mid, and high) and it is not mapping it. It simply ignores my button pushing. Any help with these questions is much appreciated, as I'm sure I'll have more as I go along. Thanks for the script, really glad it's out and look forward to putting it to good use.



  • is it possible to launch scenes with the code? If not, how can I map it?

  • You can use the online editor to adjust the "speed" of the encoders. You can set them to 1/4 speed and you'll get much finer control.

    online Editor

    You should be able to map the push buttons on the encoders and map to scenes using the learn function. Can you send over a screen shot of your MIDI settings?

  • ok thanks for your reply. i adjusted enc. speed A and it certainly does make it finer, but how can i apply that speed to only a single encoder? it makes it far too fine for other controls. also, what is the difference between encoder speed A and B? And yeah, it's still not letting me map the push buttons...can you please be more specific as to what you consider the MIDI settings? is that in the livid code editor or in bitwig? 

  • I can tell you how to modify the javascript file to do cliplaunch......where do you want to assign it, though?


  • thanks amounra, however i am not trying to do clip launching. i'd like to have the the top 3 encoder buttons for each track perform a high, mid, and low eq kill in the devices mode. 

  • Sorry, I meant scene launch.  You were asking about that in your first post.

    Using the buttons to do eq kill would require a new Prototype component to be made, I'm afraid there's not an easy way to do it at present, but it is possible.  Unfortunately Bitwig's API is somewhat lacking in the ability to control static devices (it's more centered around controlling the currently selected device), but I have assurances from people at Bitwig that this will be getting  an overhaul in coming months.

  • hmmmm...ok. what do you mean by prototype component? Is that software related? How would it be possible? It seems strange a button on the code can't be mapped to a button in a device.

  • I'm ok with the scene launching, however I am still looking to figure out how to adjust the speed of a single encoder...thanks for all the help.

  • edited July 2014

    The different functionalities of controls are handled by "prototypes" in the script that connects the controller to Bitwig.  What you're talking about is possible, but without a premade prototype to handle that functionality I can't tell you an "easy" way to do it.  You'd have to code it from scratch.

    There's not a way to address a single encoder's speed via the Code's firmware, you would need to scale the value in software.  Another option is to change the encoder to "relative" encosion mode, however you'd also need to design some functionality that would understand the incoming values and translate them to meaningful data that Bitwig would understand.  There isn't currently a component in our framework that would do this, but I'll into adding it in a future version of our scripts.  Hope this helps!


  • Thanks for the explanation. I would really appreciate adding this capability to a future version of the scripts. Still not sure how I am going to adjust the tempo during my sets using Bitwig without using the trackpad on my computer...I suppose that's just what I'll have to do for now. :P

  • just came across this in the manual:

    "You can set two different speeds for encoders. Speed A is the default speed of encoders. The B speed is accessed by assigning one of the buttons on the controller as the enc speed shift. When this shift button is held down, the encoders will respond with the speed set as B."

    can I not set it up like this? Is there not a way to have a button be the "encoder speed shift"? if so, how could i set up be bottom left square button to be so? I am attempting to use the online editor to set this up, however it doesn't seem to save? Is there a way to make this work? It is exactly what I was looking to do..
  • ok upon working with it some more i am getting closer to my desired functionality. I was able to figure out how to set up the bottom left corner button to toggle the alternate encoder speed on/off. However, no matter how slow I make the alternate speed the tempo will not be adjusted by less than 5 BPM every time it moves. the slower the speed of the encoder the more turning it takes to make a single 5 BPM adjustment, but never finer. Is there anyway around this? Or is this just another example of a limitation within Bitwig's current API? 

  • i'd love to be able to make it go up/down one BPM per click on the code's encoder...

  • please let me know if i need to e-mail bitwig about it, and if so, what exactly i need to ask them to do to make this possible.

  • Let me have a look....I'm not sure off the top of my head if it's possible to move the tempo in Bitwig by less than 5bpm changes.


  • ok thank you

  • It is possible via the API to change the tempo in smaller increments, and I've added a element in our transport prototype to deal with tempo change, but I won't have time to implement anything for relative encoders until at least this weekend, sorry.  

    Currently with the new prototype function it would be fairly easy to add tempo up/dn buttons that would work in increments of 1 (and they have a scroll feature, so you don't have to keep pressing the button), if you tell me where you want the buttons to be I could probably instruct you how to add this functionality to our just takes downloading our current repository and doing a few things in a text editor.


  • ok awesome thank you very much. I will be most happy with the ability to use an encoder for the tempo function, and look forward to this being possible within a week or so as you say. If until then it is simple to use buttons for this purpose, I would love to know how to use the square buttons under the 3rd and 4th row of knobs (3rd and 4th from left side) when in shifted device mode. Thanks!

  • Are you using Windows or OSX?

  • Try these:

    You'll need to replace the files in your Bitwig installation.  They can be found on OSX inside the application bundle, at Applications/Bitwig

  • I am using OS X, and it works great, thanks! 

  • edited July 2014

    Hmmm when I plugged in my Base to use in tandem with the Code, the Base is no longer lights up, but does not respond to any use of it...any ideas?

    Edit: Figured it out, for whatever reason the controller tab of the preferences had a guitar wing, and a couple other livid instruments i don't have on, and when i removed them it started working.
  • I'm having another issue now, which was was not occurring without the custom script, where when i adjust the sends levels on my Base, for some reason it is showing it on the encoder LEDs on my Code in Devices mode as if it were in Mix mode, even though the Code's encoders are mapped to Macros in an FX Chain as per the script, and upon moving them after using the sends on the Base it jumps the levels of the Macros...

  • edited July 2014

    In addition to being able to adjust the tempo in smaller increments, upon using it some more, I'd like to be able to launch clips in devices mode and have the encoder buttons that are currently there as the shift functions. Also, it would be useful to be able to launch scenes by going into shift mode, no matter which mode you are in, and using the far right column similar to how it is on the base, unless you can think of a better way. With all of these additions to the script I believe it would a great all-in-one setup. Are these adjustments possible to make? Thanks.

  • Give me a bit to check this out and I'll get back to you....Thanks :)


  • ok thank you

  • edited August 2014

    On the PDF showing the Bitwig mappings it shows there being the ability to go "device right" and "device left" with the encoder buttons in the devices mode, however it is greyed out and it doesn't appear to function. Why is it greyed out on the manual and is it meant to work? Also, I would still love to know how to adjust the script to launch clips from the devices mode and have the current functions as the shift functions. I'm going to begin performing with it this weekend, how long do you expect it will be before you are able to look into adding these abilities and the others mentioned? I really appreciate your help as I have no javascript knowledge whatsoever (or time to learn, unfortunately). Thank you. 

  • The DeviceLeft/DeviceRight functionality isn't possible currently, but that is our intended implementation and hopefully a forthcoming version of Bitwig's API will support device navigation on a per-track basis. 

    I'm rather swamped at the moment, I will try to catch up with you tomorrow with something.


  • ok thank you very much. 

  • I'm a little confused regarding your mention of not being able to implement device left and device right functionality, as it can be done on the Base. On the Base in shifted devices mode the bottom right buttons, 7 and 8, go left and right between devices on the track. Is the code somehow different?

Sign In or Register to comment.