TouchOSC custom performance surface - need help on tracks count monitor

Post Reply New Topic
RELATED
PRODUCTS

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Hello Devs,

just started to build up a so-called simple performance tool in TouchOSC that I want to remotely summarizes the current Bitwig project from different aspects. I've made rules to standardize the performing environment, this way easier to learn and keep in mind what's going on, so the performance project have to include 16 tracks, no more, no less. I'm using a master filter device on the master track (a feature I liked a lot in Novation's Circuit groovebox) and monitor the mute statuses on the TouchOSC surface. As I started to develop this yesterday, I was able to create the custom OSC controller script project (Javascript), and establish a two-way communication between the tablet I use and Bitwig. All the mutes are correctly communicated to the surface and it refreshing accordingly. However I'm pretty confused on the track management. What I need to reach is:
- Restart (initialize) the script when tracks count change. I've made a "Layout fit" indicator on the surface that will indicate if all the necessary mappings are intact. This includes checking the count of tracks, and if it doesn't match, the indicator should not switch to green. However if a new track has been added and it makes the 16th, it should turn to green (when all the other mappings are also okay). What I wasn't able to dig out, how to assign an observer to tracks or the host to get signaled when a track has been added or removed from the project.
- How can I access the master track's first and second device (which are Filters, an LP and a HP) and set Cutoff, Resonance and Enable properties according the OSC message coming from a fader control that is centered. So at the center (which is 50) +- 5 integer step I would like to set Enable to off on both devices. From 0 to 40 I want to enable the LP filter and decrease cutoff accordingly (40 - fully open, 0 - 20% closed) also increasing the resonance to 35%. From 60 to 100 I want enable the HP filter, increasing cutoff (60 - fully closed, 100 - 80% open) and also increasing the resonance.
I think if I understand the logic behind Bitwig Controller API, I would be able to build up all the remaining stuff.

So I will appreciate any help.
Here you can see the project on Github (it's just 2 files yet) https://github.com/arkuzz/osc-driven-bitwig-script.git (https://github.com/arkuzz/osc-driven-bitwig-script.git)

Thanks for all, happy new year!

Post

bgrassfield wrote: Fri Dec 27, 2024 3:06 pm - How can I access the master track's first and second device (which are Filters, an LP and a HP) and set Cutoff, Resonance and Enable properties according the OSC message coming from a fader control that is centered. So at the center (which is 50) +- 5 integer step I would like to set Enable to off on both devices. From 0 to 40 I want to enable the LP filter and decrease cutoff accordingly (40 - fully open, 0 - 20% closed) also increasing the resonance to 35%. From 60 to 100 I want enable the HP filter, increasing cutoff (60 - fully closed, 100 - 80% open) and also increasing the resonance.
I would avoid any api integration here and use modulators for this and then add a remote knob. You can combine modulators like a macro, quantize, steps, and/or curves to acheive those results.

For your device parameters, get the master track and then create a device bank, a device for the first two slots, and remote controls on those devices.

For your TrackBank. there is something like itemCount... but it it looks like in your script/extension that is what you are using.

Happy New Year!
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post Reply

Return to “Controller Scripting”