NEW Java API for development of custom control surface drivers

Post Reply New Topic
RELATED
PRODUCTS

Post

2.1 is released with this feature:

NEW Java API for development of custom control surface drivers

So... what does this buy us in terms of controller support? I rely on the much smarter folks here to figure out the complicated stuff :) And I also haven't been paying much attention the last few months, so getting caught up on what's new in Bitwig land.

Post

KazRemark wrote:2.1 is released with this feature:

NEW Java API for development of custom control surface drivers

So... what does this buy us in terms of controller support? I rely on the much smarter folks here to figure out the complicated stuff :) And I also haven't been paying much attention the last few months, so getting caught up on what's new in Bitwig land.
First, it is much nicer for developers. You have a proper debugger and a typed language, which prevents a lot of bugs.
Users get a bit better performance and easier installation, since you only have to drop one file.

I already ported all my scripts to Java, which will be released soon.

Post

moss wrote:
KazRemark wrote:
I already ported all my scripts to Java, which will be released soon.
so looking forward to that :wink:

Post

moss wrote: First, it is much nicer for developers. You have a proper debugger and a typed language, which prevents a lot of bugs.
Users get a bit better performance and easier installation, since you only have to drop one file.

I already ported all my scripts to Java, which will be released soon.
It sure is good news!

Well done for the scripts, are you going to release the code on Github as well?
I'm curious to see if the API is exactly the same as in javascript.

The changelog for 2.1 notes that the script for APC40 MKII was ported to Java as well but I could not find it either on Github nor in files installed with Bitwig so probably it's an official script precompiled and inluded in the software.

I wonder if controller scripts could become precompiled and open a new commercial opportunity for third parties.

Exciting, though I know nothing about java and really didn't expect to start using it in 2017!

Edit: I guess it's here! https://github.com/git-moss/DrivenByMos ... ossgrabers

Post

moss wrote: First, it is much nicer for developers. You have a proper debugger and a typed language, which prevents a lot of bugs.
What do you mean by "proper debugger"? Are you able to attach somehow debug session from IDE to running controller script? I'm working on a script now using Java API and still my only debug tool is println;)

Personally I prefer Java API much more. JS scripts I've seen used to be really badly structured usually in 1-3 files. I believe that with object oriented programming that Java provides and single extension file distribution, devs will be able to write much nicer scripts with concerns separated into multiple short files. It always improves readability and maintanance.

Post

pplcanfly wrote:What do you mean by "proper debugger"? Are you able to attach somehow debug session from IDE to running controller script? I'm working on a script now using Java API and still my only debug tool is println;)
Yes, exactly.

Configure an environment variable named BITWIG_DEBUG_PORT and set a free port as the value (e.g. 5005).
Then connect the Eclipse (or whatever IDE you use) debugger to port 5005.

Post

Awesome, it works! Now I see absolutely no reason for not using Java API:)

Post

It's dissapointing that the Javascript API version seems to be treated as somewhat of an after thought. I imagine the reason for that is probably because Nashorn support was dropped in the Java core which left the Bitwig devs holding the baby. Bitwig should just do the right thing and let newcomers know that the entire Javascript API is deprecated and discourage new users (such as myself) from investing in it instead of letting us do a whole lot of work only to find out the hard way that the Bitwig devs heart is just not in it.

Post

i like the javascript api. ive used worse apis with more powerful languages. its also a stepping stone into java itself.
---------------------------------------------------------------
http://kirkwoodwest.com/

Post

Sam_K wrote: Sun Jul 26, 2020 10:32 am It's dissapointing that the Javascript API version seems to be treated as somewhat of an after thought. I imagine the reason for that is probably because Nashorn support was dropped in the Java core which left the Bitwig devs holding the baby. Bitwig should just do the right thing and let newcomers know that the entire Javascript API is deprecated and discourage new users (such as myself) from investing in it instead of letting us do a whole lot of work only to find out the hard way that the Bitwig devs heart is just not in it.
While I only develop in Java I fully agree with you. Write to support and make your voice heard.

Post Reply

Return to “Controller Scripting”