getControl() vs getItemAt()

RELATED
PRODUCTS

Post

I would like to assign a simple controller (4 encoders / 4 knobs) to an FX grid device.
Found 2 ways to do it. But each brings a problem

1. ...getControl(2).set(data2, 128);
This way the CC gets tru to the FX Grid whatever track I'm on. That's really great and what I want. BUT I can not store the assigned CC's cos they are not saved. If I try to use the 'MIDI' modulator and assign the CC it'll not be recognized.

2. ...getItemAt(0).sendMidi(MIDI_CC, BUTTON, data2);
This way the I get the CC and I can Pin the Track. But still the 'MIDI' modulator is not able to 'learn'.

Any Ideas how I can combine those two. Thanks for any help.
Last edited by DIZZNESS on Tue Aug 18, 2020 8:45 pm, edited 1 time in total.

Post

It would be nice finding a solution without using the PIN function.

Post

lets examine whats wrong with using the pin function? its how you lock the control to a set of controls...

also are you reading ccs into the grid? why not just map it to one of the 8 parameter knobs and map them to modulators or into the grid?

sorry im just a bit confused as to what you are wanting to pull off?
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post

Sorry. Cool. I try to clearify. The PIN Function is fine sometimes and thanks to the VIDEO of Moss you suggested I got a better understanding of it's usecases and I'd say that's done. So far so good.

The general idea is to be able to save the assigned CCs with the preset. That's only possible if you use the 'MIDI' Modulator. But the Modulator does not recognize the controller if I try to learn it or assign it manually.
BUT strangely any other Bitwig Knob recognizes the controller. It's just that can't figure out how to make the Modulator 'hear' the controller to be able to save it with the preset.

Post

Please write to support. Midi isn't complete in Bitwig, its translated back and forth between Bitwigs own track modulator format and Midi. I want Midi to be recorded as it is, there is no problem to keep those informations redundant, but it would help to overcome those sort of problems including dealing with sysex. If they would simply give priority to their internal format and still keep all other Midi information and send it to the loaded vsts... (no need to edit anything there)...

Post

I’m still not understanding the saving of the cc’s? Isn’t the cc that gets used for remoteControl determined by the script itself?

I always start with the midi input to the First set of 8 Control knobs + any pages that I need to access. Anything deeper I make sure the instrument is grouped and make mappings from the first control to the deeper elements.

For me it makes no sense to route midi into a vst unless maybe using a midi cc device and configure that again to the first 8 knobs/banks in the rack. I used to think differently about this but I found this is a very elegant solution compared to the extent of work I had to do in Ableton to achieve similar results.
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post

Ok. Thanks for you pacience & interest and sorry for not being clear enough yet. I have a dedicated controller just for an FX Grid device. My goal is to have the FX Grid device to recieve the CC from the controller and these CC's are stored within the FX Grid Preset. So I can open the present and the FX Grid works with the controller.

The only way to save 'learned' MIDI is to use the MIDI Modulator and the MIDI Modulator sadly is not getting MIDI form my Controller.

Post

So I do not declare the CC in the Controller Script. I have to assign it manually since I want to Controll a FX Grid Device.

Post

Yeah just assign the remote 8 knobs to the parameters in the grid. Cursor track/device is pinned to the track, Cc remains the same for that remote control and it always points to that device.
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post

If you want to control a specific device aka create a specific UI for a device you should use the new API 12 features. MIDI CC works only with some VST plugins and user parameters are a bit of an outdated feature which might be deprecated in the future.

I explained the new API 12 methods in this thread: viewtopic.php?f=268&t=549484&hilit=Bitwig+API+12

Post

moss wrote: Sat Aug 22, 2020 8:08 am If you want to control a specific device aka create a specific UI for a device you should use the new API 12 features. MIDI CC works only with some VST plugins and user parameters are a bit of an outdated feature which might be deprecated in the future.

I explained the new API 12 methods in this thread: viewtopic.php?f=268&t=549484&hilit=Bitwig+API+12
Wait do you mean the user remote parameters are going away?! This is my favorite feature... Maybe I’m not sure what a user parameter is... but are you referring to this panel?
7BD64B7B-4561-4D12-A420-B4467513302A.jpeg
You do not have the required permissions to view the files attached to this post.
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post

Kirkwood West wrote: Sun Aug 23, 2020 3:37 am
moss wrote: Sat Aug 22, 2020 8:08 am If you want to control a specific device aka create a specific UI for a device you should use the new API 12 features. MIDI CC works only with some VST plugins and user parameters are a bit of an outdated feature which might be deprecated in the future.

I explained the new API 12 methods in this thread: viewtopic.php?f=268&t=549484&hilit=Bitwig+API+12
Wait do you mean the user remote parameters are going away?! This is my favorite feature... Maybe I’m not sure what a user parameter is... but are you referring to this panel?
No. These are the remote parameters. I was talking about the user parameters, which allow to map any parameter in Bitwig to a knob in the active project. Since you wrote "getControl()" above I thought you were using these.

The remote parameters are a great thing but have the disadvantage that if you want to control specific parameters, e.g. the filter envelope, you are lost since the user can rearrange the parameters (and even remove) to their hearts alike.
To solve this issue you have now the new API 12 which allows you to get a specific device with their specific parameters, which all have unique IDs which will never change. History Note: Previously you could use Direct Parameters for the later, but this API is pretty ugly and buggy and should be seen as deprectaed.

Post

moss wrote: Sun Aug 23, 2020 7:05 am The remote parameters are a great thing but have the disadvantage that if you want to control specific parameters, e.g. the filter envelope, you are lost since the user can rearrange the parameters (and even remove) to their hearts alike.
To solve this issue you have now the new API 12 which allows you to get a specific device with their specific parameters, which all have unique IDs which will never change. History Note: Previously you could use Direct Parameters for the later, but this API is pretty ugly and buggy and should be seen as deprectaed.
Thanks for clarifying this. My heart almost stopped when I misunderstood. I have yet to dig into the specific device parameters... eventually I'll get to it. I want to adapt a stack of device templates that I made in Lemur for controlling specific VSTs. Will definetly post that project in a seperate thread, I bet you'll have some good advice about how to implement.

The original post was made by DIZZINESS. To me it made sense for him to create the maps for the grid in the remote Parameter System and map them with the Device Cursor/remoteControls.
----------------------------------------------------------------------
/CTRL → http://slashctrl.io
Music & mixes → http://soundcloud.com/kirkwoodwest

Post

Thanks for this interesting threat. So to resume. I got a FX Grid Device that I want to save with the RemoteController settings. It's not possible to do that, right? BUT I can access Direct Parameters of the FX Grid with some API 12's new features. Correct?

Post

If so I create a "createBitwigDeviceMatcher" with the given ID of the Device. Then I access the "remote parameters" within the FX Grid using 'createParameter'. Correct?

Post Reply

Return to “Controller Scripting”