Writing scripts in Python?

RELATED
PRODUCTS

Post

Bitwig Studio 2 supposedly allows controller scripts to be written in Python but the documentation doesn't mention anything about this. Is this just not released yet?

Post

"Supposedly" - what are your sources? Sounds rather unlikely to me.

Post

it`s written on the bitwig homepage and has been communicated in the beta forum.
JamWide - a cross-platform Ninjam client for DAWs

Post

BufoBufo wrote:"Supposedly" - what are your sources? Sounds rather unlikely to me.
https://www.bitwig.com/en/bitwig-studio/bitwig-studio-2

It's on this page, under Controller API Improvements:
We've worked on the open controller API to make it more consistent. A new scripting engine gives better performance, and you now get improved and immediate feedback while scripting. You can now also write scripts in Python.

Post

Interesting, didn't read that detail yet. Thanks.

Post

I've dropped support a line about whether there is any documentation or code samples around Python scripting - I'll report back if I hear anything.

Post

I had a reply from Dom.

In a nutshell, the Python API was part of Alpha and Beta but nobody used it or showed interest so they shelved it. But he say that if there is enough interest from developers (like me) then they'll get it back. So if you want a Python API - email support!

I'm actually quite pleased with the progress i've made in a few hours with the JS API. I'm going to try to make a script for my Launch Control XL so I can navigate session view, launch clips, control sends and macro devices etc.

So far, so good!

Post

quincy wrote:I had a reply from Dom.

In a nutshell, the Python API was part of Alpha and Beta but nobody used it or showed interest so they shelved it. But he say that if there is enough interest from developers (like me) then they'll get it back. So if you want a Python API - email support!

What? I was in the beta but I didn't notice any statement from them about its availability. The beta forum was quite messy and as we know they're not the best at clear communication. Especially about features that might disappear... Thanks for looking it up. I'll email support.

Update: Email sent

Post

quincy wrote:I had a reply from Dom.

In a nutshell, the Python API was part of Alpha and Beta but nobody used it or showed interest so they shelved it. But he say that if there is enough interest from developers (like me) then they'll get it back. So if you want a Python API - email support!

I'm actually quite pleased with the progress i've made in a few hours with the JS API. I'm going to try to make a script for my Launch Control XL so I can navigate session view, launch clips, control sends and macro devices etc.

So far, so good!
Ah okay. Thanks for letting us know! I dropped them an email doing just that. I was starting to hope I wouldn't have to learn JS to start with the controller scripting, but I guess until something else happens I'm out of luck.

Post

odz wrote:Ah okay. Thanks for letting us know! I dropped them an email doing just that. I was starting to hope I wouldn't have to learn JS to start with the controller scripting, but I guess until something else happens I'm out of luck.
I'm a professional software developer but, even so, learning a new language and it's quirks can be daunting.

I'll make my code public one way or another, and if I have the time I'll try write some useful posts or tutorials if I make some decent progress. I would HIGHLY recommend that you use a proper IDE or at least an editor that can give you code-hinting and code-completion features. It makes a huge difference and can do a lot of the hard work for you.

I was getting nowhere, and then last night I installed WebStorm and the API stubs and then within half an hour I had managed to get a cursor (visual highlighting) of a single row of clips (a scene) in the session view and was able to move this around and trigger the selected scene from my controller. From my point-of-view this is a big step forward in very little time and the code is not huge or very complicated.

Don't give up! The more developer we get doing this stuff the better community we will have and the more controllers will be supported.

Post

quincy wrote:
odz wrote:Ah okay. Thanks for letting us know! I dropped them an email doing just that. I was starting to hope I wouldn't have to learn JS to start with the controller scripting, but I guess until something else happens I'm out of luck.
I'm a professional software developer but, even so, learning a new language and it's quirks can be daunting.

I'll make my code public one way or another, and if I have the time I'll try write some useful posts or tutorials if I make some decent progress. I would HIGHLY recommend that you use a proper IDE or at least an editor that can give you code-hinting and code-completion features. It makes a huge difference and can do a lot of the hard work for you.

I was getting nowhere, and then last night I installed WebStorm and the API stubs and then within half an hour I had managed to get a cursor (visual highlighting) of a single row of clips (a scene) in the session view and was able to move this around and trigger the selected scene from my controller. From my point-of-view this is a big step forward in very little time and the code is not huge or very complicated.

Don't give up! The more developer we get doing this stuff the better community we will have and the more controllers will be supported.
I won't give up :) I'm also a professional developer and I'll learn one way or another. Thanks for the tip about webstorm, I love intellijs IDEs anyway. Any writeup you can contribute is a step towards a more knowledgable community, and is much appreciated. I was just hoping to get to use a language I like instead of JS!

Post

I don't know how they infer nobody wants python when nobody even knows that it's there. I'd love to have python!!!

Post

I was planning to start learning JS anyway (well, more specifically TypeScript) but +1 for Python!

Post

whizzl wrote:I don't know how they infer nobody wants python when nobody even knows that it's there. I'd love to have python!!!
xx JPRacer xx wrote:I was planning to start learning JS anyway (well, more specifically TypeScript) but +1 for Python!
You should both email support and express your interest then, as per their own request :)

https://www.bitwig.com/en/support/tech-support.html

Post

+1 from me as well, in case this thread catches the developers' attention.


I'm not a programmer by any stretch of imagination, but over the years I have learned Python enough to craft some programs for my own use (using PySide for the interface)... The language is very beginner-friendly, it's almost as if commanding the computer in plain English, but at the same time extremely capable and flexible. Neurotic about indentation, sure. While I've been able to transfer some of the knowledge I have of Python over to Javascript, I would really like being able to script BWS with Python.

I think the language would be less intimidating for a lot of people.

Post Reply

Return to “Controller Scripting”