Page 1 of 2
Bitwig Controller (work in progress)
Posted: 28 Mar 2014 17:25
by kpmc
This is a small (proof of concept?) Lemur project that provides basic controls for the recently released Bitwig DAW. It is the first Lemur project I've had a go at, so I'm certain there's much that can be done to improve it. The .zip file attached:
contains 2 files, the actual Lemur project file and a Bitwig control surface JavaScript script. On a Mac the .js file needs to be copied into:
Code: Select all
/Applications/Bitwig Studio/Contents/Resources/ControlSurfaceScripts/generic
I know the Bitwig scripting guide document says to put it in a folder in your home folder but I couldn't get it to work there.
The guide says Windows folks should put it here:
Code: Select all
%USERPROFILE%\Documents\Bitwig Studio\Controller Scripts\
Once you've copied the .js file, fire up Bitwig and go to Options>Preferences>Controllers and select LemurBitwig from Generic.
The JavaScript file is a hacked version of the Korg Nanokontrol script. I stripped out all the handshake and SysEx stuff and added some functions for extra buttons and knobs.
Using the project is pretty self-explanatory once you understand the use of the Mode toggle button. In one mode the sliders control track volume and the knobs control pan. Press it again and the knobs control the 8 macro controls for the selected track/device, the sliders will control the first 8 parameters in the selected device.
The View button toggles between Mixer, Device and Editor displays.
As I said, this is my first Lemur project and there's lots I don't yet know how to do, for example getting feedback from Bitwig like slider/knob position and keeping track of button states etc. I hope the Lemur gurus on the forum might give me some feedback, pointers and suggest ways to improve it.
It certainly looks like Bitwig are going in the right direction in regards to scripting for control surfaces, the documentation is pretty thorough and being able to use existing scripts as a starting place as I have done is very helpful.
I hope this little project is helpful to someone - I can't wait to see what the Lemur Gurus come up with for Bitwig!
Here's a screenshot -
- bitwiglemur.jpg (44.98 KiB) Viewed 5577 times
Re: Bitwig Controller (work in progress)
Posted: 29 Mar 2014 08:05
by Softcore
I ve started a similar thing but I want it to take it even further
(clips matrix, LCD display for selected tracks names,VUmeters, devices controls, keyboard and sequencer)
it'll take some time to reverse engineer some parts off the factory scripts though!
Re: Bitwig Controller (work in progress)
Posted: 30 Mar 2014 19:55
by Softcore
Re: Bitwig Controller (work in progress)
Posted: 31 Mar 2014 06:35
by kpmc
Wow!
Any chance I can get a copy of your work? I'm a complete beginner and would love to study how you've done this - no way will I 'steal your thunder', I'm just trying to learn. Can't even get a handshake to work (to auto-detect my Lemur project) after hours of looking at projects here.
Thanks!
Re: Bitwig Controller (work in progress)
Posted: 31 Mar 2014 07:16
by Softcore
Truth is I suck at javascript but I did something like what you did.
First I copied a BCR2000 script, loaded the the BCR preset in my physical controller and observed all the CCs then tried to see how the Bitwig script used them to make its operations. This gave a very good first idea of the syntax of the API as far as incoming and outgoing messages are constructed.
Then I took bits and parts of code from the Mackie Control Pro to make the LCD display work - displaying the track names and volume values.
Lastly, I copied parts from Livid Instruments scripts for the VUvalues - although that part was very easy indeed, just an observer for VUmeters - the same procedure as the other controls, nothing fancy - the API is "smart" enough to convert values to midi by itself. I then used two canvas objects (no touch) - one for the nice green-yellow-orange coloring of the VUmeters, and another one on top of it, completely black and with reversed black-filled rects - what you see is not a colored VUmeter going up-down, but a black square on top of a colored canvas going up and down.
Im not on the PC where the template is right now, but I'll send it to ya in a few hours. I think, I wont continue working on it for the time being, seeing as Bitwig at its current state is quite unusable for me. The controller API is the ONLY thing that Im jealous of it, for the time being.
Re: Bitwig Controller (work in progress)
Posted: 31 Mar 2014 07:40
by kpmc
Thank you very much!
My JavaScript is a little rusty but after studying the factory template code it started coming back. I've been using Lemur for over a year but mainly the fantastic projects folks like you and Wul design. I just can't get my head around how to do anything but the most basic stuff, I look at projects in the editor and think "what the hell is going on...". I was a software dev for over 20 years (Paramedic for last 15) but this visual approach is so different!
I think you're right about Bitwig - great potential but pretty flakey at the moment. I'll continue working on this though as JavaScript is much easier than Python for my old brain.
Cheers,
Kev
Re: Bitwig Controller (work in progress)
Posted: 31 Mar 2014 08:14
by Softcore
Hmmmm in that case, if you are interested, we could collab - you take the javascript part, I take the Lemur part - the potentials are there for a "Bitwig" supercontroller.
I had a look on the API and pretty much EVERY aspect is midi mappable - even the colors of the clips can be sent in RGB values.
Re: Bitwig Controller (work in progress)
Posted: 31 Mar 2014 10:05
by kpmc
I'd like to help, I want to get a little (lot?) more proficient with the Lemur side of things. My only reason for getting into a Bigwig controller is to learn, when I saw how well documented the control surface API was I thought this was the way to go. Like you I don't intend to switch to Bitwig any time soon if ever. I love Ableton, have been playing with it for years, I'm even thinking about getting Ableton trainer certified as I'm getting too old and injury prone for my current work.
A TouchAble-like (sorry Liine!) Lemur project for Bitwig then?
K
Re: Bitwig Controller (work in progress)
Posted: 31 Mar 2014 10:35
by Softcore
Perfectly doable yes....I'll send you my video template...its nothing in Lemur actually - everything is done on the Bitwig side - no Lemur scripting involved - well besides the canvas objects for the VU meters.
I wish I could find a PY specialist to collaborate for my Ableton Live ideas.....OR that Bitwig was more useable so I could build something in there.....Right now, Im just standing in the "middle" lol...but yeah, agreed, I wont switch because many things in Bitwig are not what I hoped them to be.
BY the way mr soon-to-be certified Ableton trainer......why is the software of your expertise so damn crappy with midi? lol
Re: Bitwig Controller (work in progress)
Posted: 31 Mar 2014 14:44
by kpmc
Softcore wrote:
BY the way mr soon-to-be certified Ableton trainer......why is the software of your expertise so damn crappy with midi? lol
Ha ha, nowhere near certified - just looking at my options and always try to get a job that I actually like/want to do. I did work on a Python project once (plone) but my code was so bad I got moved to QA and testing. Got a few Python books if you'd like them lol! Look forward to studying your template/script, thanks again.