Many of the things mentioned here are no longer needed in BWS 1.1 and above, for instance: changing the name of a controller is now as simple as double-clicking on it in preferences.
But since some of the discussions are still valid and the basic principles still exist, I'll leave it here for reference.
Just be aware that Bitwig Studio 1.1 and above has a much improved and expanded API and API reference documentation, so many of the shortcomings are history and a lot of stuff has become much easier now.
Happy Scripting!
Tom
----------------------------------------------------------------------------
As many people found out, currently you can't have custom named Midi Devices if they aren't on the list of factory supported ones - all are called "Midi Keyboard".
The fix for this is very easy, but needs a bit of tinkering with Controller Scripts - but don't fear, no Voodoo required
It's dead easy in fact:
Here we go:
1.) Go to the BWS installation directory and locate the resources\controller\generic folder.
2.) In there you find the "Generic MIDI Keyboard.control.js"
3.) Create a copy of this file and name it like you want your Keyboard to be called, I'll use "Acme" in this example, so my Script is called "Acme Keyboard.control.js" now.
4.) Open the script in a text editor like notepad. Don't use a Software like Word or Libre Office, those will add formatting code and other weird stuff and may make the script unusable.
5.) At the top you find two lines:
Code: Select all
host.defineController("Generic", "MIDI Keyboard", "1.0", "6E55D132-1846-4C64-9F97-48041F2D9B96");
host.defineMidiPorts(1, 0);
6.) For the sake of this example, change it to something like the following:
Code: Select all
host.defineController("Acme", "Acme Keyboard", "1.0", "d84e03d0-b605-11e3-a5e2-0800200c9a66");
host.defineMidiPorts(1, 0);
The second entry is the name of the actual device.
the third is the version number, just leave it at "1.0".
And finally there is the "Universally Unique IDentifier", UUID for short, a number that is supposed to be unique even if you create millions of them.
But don't fear, simply go to this address:
http://www.famkruithof.net/uuid/uuidgen
And copy the UUID shown on top. Each time you go there a new one will be generated and shown, so even if you create a dozen, each will be unique if you refresh the page.
7.) Finally, look some lines further down for this one:
Code: Select all
host.getMidiInPort(0).createNoteInput("MIDI Keyboard");
8.) Change it to:
Code: Select all
host.getMidiInPort(0).createNoteInput("Acme Keyboard");
If you save the file, BWS should find it and offer it to you in the Preferences/Controllers Tab Dropdown:
Here is the changed Script if you want it for reference:
Acme Keyboard Controller Script for Bitwig
Just create one for each of your Keyboards and if you want, upload them here for others to use them as well. Soon we should have a nice library.
If you have any questions, feel free to ask!
Cheers,
Tom
Edit: You can also find this and other Bitwig Tutorials on my Blog:
http://blog.thomashelzle.de/category/tutorials/
Edit 2: The generic factory scripts are very limited and some things don't work right (in version BWS 1.0.5) so I posted an enhanced generic script later in this thread:
http://www.kvraudio.com/forum/viewtopic ... 7#p5704951
But the same basic rules apply as explained above and in the following posts.