Bitwig Controller (work in progress)

Post your Lemur Projects.
kpmc
Regular
Posts: 55
Joined: 25 Feb 2013 19:56
Location: Surrey, UK

Bitwig Controller (work in progress)

Post 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:
BitwigLemur.zip
(5.14 KiB) Downloaded 206 times
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
bitwiglemur.jpg (44.98 KiB) Viewed 5571 times
| Water cooled, overclocked Hackintosh | M-Audio Ozonic, Scarlett 2i2, Ableton Push, Novation Launchpad, Lemur (of course!) | Ableton Live, StylusRMX |
Softcore
Regular
Posts: 1613
Joined: 04 Nov 2012 08:34

Re: Bitwig Controller (work in progress)

Post 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! ;)
kpmc
Regular
Posts: 55
Joined: 25 Feb 2013 19:56
Location: Surrey, UK

Re: Bitwig Controller (work in progress)

Post 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!
| Water cooled, overclocked Hackintosh | M-Audio Ozonic, Scarlett 2i2, Ableton Push, Novation Launchpad, Lemur (of course!) | Ableton Live, StylusRMX |
Softcore
Regular
Posts: 1613
Joined: 04 Nov 2012 08:34

Re: Bitwig Controller (work in progress)

Post 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.
kpmc
Regular
Posts: 55
Joined: 25 Feb 2013 19:56
Location: Surrey, UK

Re: Bitwig Controller (work in progress)

Post 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
| Water cooled, overclocked Hackintosh | M-Audio Ozonic, Scarlett 2i2, Ableton Push, Novation Launchpad, Lemur (of course!) | Ableton Live, StylusRMX |
Softcore
Regular
Posts: 1613
Joined: 04 Nov 2012 08:34

Re: Bitwig Controller (work in progress)

Post 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.
kpmc
Regular
Posts: 55
Joined: 25 Feb 2013 19:56
Location: Surrey, UK

Re: Bitwig Controller (work in progress)

Post 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
| Water cooled, overclocked Hackintosh | M-Audio Ozonic, Scarlett 2i2, Ableton Push, Novation Launchpad, Lemur (of course!) | Ableton Live, StylusRMX |
Softcore
Regular
Posts: 1613
Joined: 04 Nov 2012 08:34

Re: Bitwig Controller (work in progress)

Post 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
kpmc
Regular
Posts: 55
Joined: 25 Feb 2013 19:56
Location: Surrey, UK

Re: Bitwig Controller (work in progress)

Post 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.
| Water cooled, overclocked Hackintosh | M-Audio Ozonic, Scarlett 2i2, Ableton Push, Novation Launchpad, Lemur (of course!) | Ableton Live, StylusRMX |
Post Reply