DrivenByMoss: Bitwig extension for many hardware controllers (version 23.2.1)

Post Reply New Topic
RELATED
PRODUCTS
Bitwig Studio 5 Maschine

Post

Hello. I would like to give a feature suggestion for the Flexi script. How about adding "Last touched" parameter as a controller destination like on the script for Push? It would be super useful.

Post

I've just got a couple of the Intech controllers set up using the Generic Flexi and it is working great, I just can't figure out how to move the 8 track focus box over by 1 track at a time. Is this possible?

Post

Hi @Moss,

I am using your OSC implementation and I seem to have a conceptual "problem" here. As I successfully avoided Java in 40 years of writing code (or better since its invention :)), and intend to keep it that way until I die, I wrote myself a nice client and server around it in Python. Works like a charm, BUT : at first I was positively excited as I read up to 200 parameters per bank page possible, perfect for the Faderfox PC12 for all the big VSTs and for 12 tracks worth at once. But what banks are we talking about here? Not device banks, right?

Because device banks still have 8 parameters per page in BW and I see nothing that can change that. I mean it is no problem though as when I reach parameter 9 on the PC12 I simply select device bank 2, parameter 1 and send the value there and vice versa, and so on.

So what is this about? About track banks then?

And what use has this graphical depiction of the MIDI surface in BW. Yes I see 72 pots now there (72 is what I set in the preferences) that do not mirror the control surface anyways - layout-wise - and I also only see 8 control filled of these 72 pots when I am on a device as it only shows the active parameter page, which consists of 8 control always, no matter what.

Would be glad of a hint regarding this.

Many thanks and Happy Easter
Cheers

Post

Hi Moss,
Re: Issues with X-Touch One
I'm running the latest firmware (1.10) and the latest DbM script. Windows 11. Bitwig 5 (current version)

I'm having 2 issues which both happen whether in MCU Standard or MCU User mode.

1) The controller doesn't always initialize. It will show up in the "Controllers" settings, all in/outs are correct and "Behringer X-Touch One" is selected under 'Profile'. I often have to power cycle or unplug/replug the USB cable several times to get it to finally initialize correctly, otherwise it's simply inoperable.

2) The Navigation FF/RW buttons and the Jog Wheel both only move in sections, jumping from 1.1 to 2.1 and so forth. There is no fine adjustment of where the play head is. I swear, one time when it was up and running it moved in ticks rather than jumping sections, but I've set and reset all the settings and anytime it's finally properly initialized it just jumps sections.

Any help is greatly appreciated! Thank you in advance, and thanks for taking the time to write and share this script!
Last edited by gammatone on Sat Mar 30, 2024 3:28 pm, edited 1 time in total.

Post

Gammatone,

That was one of my biggest issues with the X-Touch, I would often have to power cycle the unit so it would be recognized by my DAW.
I had the bigger controller and I could have sworn there was a key combo that allowed for fine adjustments. It's been years since I've owned an XTouch though.

Post

Dear Moss,
I still hope for an /OSC adress for EQ-5 :)
It would be nice to have. It’s still the safest bet to use EQ-5 as general purpose native EQ. Being able to access it remotely would greatly enhance workflow of any touch Controller :) Thanks for considering it!
I built a Looper for Bitwig! :) https://www.youtube.com/watch?v=-z5ywDo2bU0

Post

nowiamone wrote: Sat Mar 30, 2024 8:22 am Dear Moss,
I still hope for an /OSC adress for EQ-5 :)
It would be nice to have. It’s still the safest bet to use EQ-5 as general purpose native EQ. Being able to access it remotely would greatly enhance workflow of any touch Controller :) Thanks for considering it!
EQ-5 is a "normal" device like any other device, why do you need a special OSC address for it?

Post

g_audio wrote: Sat Mar 30, 2024 1:47 pm
nowiamone wrote: Sat Mar 30, 2024 8:22 am Dear Moss,
I still hope for an /OSC adress for EQ-5 :)
It would be nice to have. It’s still the safest bet to use EQ-5 as general purpose native EQ. Being able to access it remotely would greatly enhance workflow of any touch Controller :) Thanks for considering it!
EQ-5 is a "normal" device like any other device, why do you need a special OSC address for it?
Hello, please have a look at how smoothly Eq+ is implemented in drivenbymoss' osc script. Look at how many adresses are available for it. This is a massive difference compared to handling EQ+ via the selected device logic. Massive! You load up a track and have a graphical EQ representation ready to go at your fingertips, thanks to those eq-specific adresses (if you built an GUI for the Eq in Touch OSC for instance). Immediately, without having to select anything, and while still being able to use "selected device" and "primary device" adresses for controlling other devices!! That’s the Power of device-specific integration. And that’s why i would love to have that for the Eq-5.

EDIT: in fact, let me give you an example of how awesome an EQ built in Touch OSC can look.
Now you have to keep in mind: the smooth and direct integration of what you see here 100% depends on having specific adresses for it. Opening up any track and immediately seeing its current EQ settings only works smoothly when having /eq specific information, which does not need the EQ /device to be selected in the FX chain. Otherwise the EQ representation will stay DEAD, until the EQ is selected as /device/.. And even if it gets selected, there still would be many functions missing like being able to Add such EQ via one button /eq/add, and having deeper control and param-feedback...So again, that's why having /eq5 adresses would be absolutely awesome :)
279920290_10158354541436020_2758089218321270139_n.jpg
You do not have the required permissions to view the files attached to this post.
Last edited by nowiamone on Sat Mar 30, 2024 3:11 pm, edited 1 time in total.
I built a Looper for Bitwig! :) https://www.youtube.com/watch?v=-z5ywDo2bU0

Post

nowiamone wrote: Sat Mar 30, 2024 2:56 pm
g_audio wrote: Sat Mar 30, 2024 1:47 pm
nowiamone wrote: Sat Mar 30, 2024 8:22 am Dear Moss,
I still hope for an /OSC adress for EQ-5 :)
It would be nice to have. It’s still the safest bet to use EQ-5 as general purpose native EQ. Being able to access it remotely would greatly enhance workflow of any touch Controller :) Thanks for considering it!
EQ-5 is a "normal" device like any other device, why do you need a special OSC address for it?
Hello, please have a look at how smoothly Eq+ is implemented in drivenbymoss' osc script.
...
Ok I see, thanks for the explanation. I am just getting deeper into the OSC stuff, that's why I asked. Maybe you can also give me a hint to my question a few posts ago (on this page) regarding the banks? That would help me greatly to move on over the weekend with my implementation.

EDIT: Re your edit : Yea I totally get that this has great advantages in terms of not having to select the device! Thanks for showing up

If only Bitwig had a Python API I would immediately start up something like that (and many other things I have in mind which I did for Ableton stuff), but sadly this won't ever happen
Last edited by g_audio on Sat Mar 30, 2024 3:14 pm, edited 1 time in total.

Post

g_audio wrote: Sat Mar 30, 2024 3:10 pm
nowiamone wrote: Sat Mar 30, 2024 2:56 pm
g_audio wrote: Sat Mar 30, 2024 1:47 pm
nowiamone wrote: Sat Mar 30, 2024 8:22 am Dear Moss,
I still hope for an /OSC adress for EQ-5 :)
It would be nice to have. It’s still the safest bet to use EQ-5 as general purpose native EQ. Being able to access it remotely would greatly enhance workflow of any touch Controller :) Thanks for considering it!
EQ-5 is a "normal" device like any other device, why do you need a special OSC address for it?
Hello, please have a look at how smoothly Eq+ is implemented in drivenbymoss' osc script.
...
Ok I see, thanks for the explanation. I am just getting deeper into the OSC stuff, that's why I asked. Maybe you can also give me a hint to my question a few posts ago (on this page) regarding the banks? That would help me greatly to move on over the weekend with my implementation.
If your question was about whether remote-controls of devices are crippled into banks of 8 parameters -> yes, they are crippled, permanently crippled into pages/banks of 8 parameters, and you are forced to use the "switch pages/banks" logic. It's that old paradigm of hardware controllers where people only had 8 faders, or 8 knobs, haha! It's really sad and quite weird tbh, that this paradigm remains at the very core structure of a modern DAW, but we can hope that this will change some day in the future.
You should go to Bitwigs Discord into the #controllerism channel for further discussion
I built a Looper for Bitwig! :) https://www.youtube.com/watch?v=-z5ywDo2bU0

Post

Yes it was more or like regarding that for one thing. The other thing, what banks are we talking about then re Bitwig and bank size you can give to the OSC? Banks of tracks?

Re the paradigm, yea it is a pity, but as I said in my edit in the last post if only Bitwig would have a Python API. Because what Ableton did to me personally with Live 12 I now will switch permanently and for Live I developed solutions for all of that. Of course internal also there you have 8/16 parameters but I wrote remote scripts and applications to fix all of that for good, with as many banks per controller as you need on one "page" up to full customization of parameters for any devices and VSTs (also for more than 128 parameter devices). And I won't do that once again for Bitwig, especially as I refuse to learn Java

Post

g_audio wrote: Sat Mar 30, 2024 3:19 pm Yes it was more or like regarding that for one thing. The other thing, what banks are we talking about then re Bitwig and bank size you can give to the OSC? Banks of tracks?

Re the paradigm, yea it is a pity, but as I said in my edit in the last post if only Bitwig would have a Python API. Because what Ableton did to me personally with Live 12 I now will switch permanently and for Live I developed solutions for all of that. Of course internal also there you have 8/16 parameters but I wrote remote scripts and applications to fix all of that for good, with as many banks per controller as you need on one "page" up to full customization of parameters for any devices and VSTs (also for more than 128 parameter devices). And I won't do that once again for Bitwig, especially as I refuse to learn Java
Oh yea, it's banks of tracks. The bank-page-size does not affect remote-controls for example, those will remain 8 parameters for each bank. So if you increase the bank page size in the osc script, it's mainly the "clip launcher frame" which gets affected. Instead of 8x8 (8 tracks 8 scenes) you will control 20 scenes, 20 tracks, when you increase the size to 20.

Yes i have my difficulties with Java, too. But again, if you go to the Bitwig discord, in #controllerism, there are nice people like Mr. Kirkwood West, who is a magician with all that. He might be on to something like 'increasing the bank page size for remote controls' - maybe. :)
I built a Looper for Bitwig! :) https://www.youtube.com/watch?v=-z5ywDo2bU0

Post

Yea that was exactly what I wanted to know, thanks for clarifying that out. So I don't have to look any further to get something which is not there. So I can finish the implementation of plain ol' 8 par/bank logic and bore it up to 9 banks/controller "page" for my PC12 (as "usual" :))

Post

nowiamone wrote: Sat Mar 30, 2024 3:25 pm Yes i have my difficulties with Java, too. But again, if you go to the Bitwig discord, in #controllerism, there are nice people like Mr. Kirkwood West, who is a magician with all that. He might be on to something like 'increasing the bank page size for remote controls' - maybe. :)
Yea regarding that issue I do that on my own now I know how that OSC bank setting is meant and that device parameters stay 8/bank no matter what. I will write/have partially finished a python wrapper between my controller that utilizes the Moss OSC and implement x pages/controller there. Works pretty nice in the first iteration.
Although I realized there would be some QOL things that the OSC could communicate better for that use case (e.g. if it would communicate the actual internal device page the parameter is on it would make things way more easier for that task). But I will collect these "issues" on the go and then ask @Moss if he might maybe implement such small improvements in a later release.
And I will also have a visit to the discord.
Many thanks!

Post

pranaearth wrote: Fri Mar 29, 2024 10:36 pm Gammatone,

That was one of my biggest issues with the X-Touch, I would often have to power cycle the unit so it would be recognized by my DAW.
I had the bigger controller and I could have sworn there was a key combo that allowed for fine adjustments. It's been years since I've owned an XTouch though.

@pranaearth

Thanks for the input. Which DAW(S) were you having that issue with? I hadn't had that issue with Ableton, only with Bitwig. I have 4 Novation controllers (including 2 Launch Control XL's), and the X-Touch One.

It's odd because the X-Touch One shows up in the "Controllers" menu and I don't get any error bubbles, but then it just doesn't work. In the few days so far I've been using it, Bitwig also has given me a little trouble with the Launch Control XL's where I have to unplug-re-plug one of them (native scripts) once in a while, it seems like it gets a little confused that I'm plugging in 2 of the same controller. The Launchkey 88and Launchpad Pro Mk3 (running the native scripts) haven't given any problems but with the X-Touch One it's every single time I fire up Bitwig, and generally multiple times I have to power cycle it.

Since it worked perfectly with Ableton I know it's not a hardware issue with the X-Touch One so it must be something in the script. I'm super grateful that DbM has written and shared these scripts but the 2 issues I'm having are rather frustrating, especially with the initializing issue. There aren't many options for compact basic transport controls other than the X-Touch One and the Faderport V2, but there aren't any scripts that I know of for the Faderport, and I overall prefer the X-Touch anyway so I really want to get it working consistently.

Post Reply

Return to “Controller Scripting”