Cabbage Logo
Back to Cabbage Site

In Reaper's "parameter modulation/Midi link" mode, the widgets of two Cabbage patches are linked and updated only manually and not if you transmit the values from within the patch

Hello everybody

In a patch called Master I control a rslider widget present in the GUI with values of an oscillator internal to the csound patch. Using the “parameter modulation/Midi link” mode present in Reaper I would like to link the rslider widget values to another rslider widget of a patch called Slave. If the rslider Master is moved manually the values in the rslider Slave are updated, while if the rslider Master is controlled from within csound the values of the rslider Slave are not updated.

I wonder if it is possible to achieve this behavior

An example of the behavior that I try to explain can also be seen with the “coordinate converter” plugin from the IEM suite. This plugin is used to control x y z on the “room encoder” plugin of the IEM suite. The two are connected with the same “parameter modulation/Midi link” mode as reaper and the “coordinate converter” patch sends the automated values to the “room encoder” plugin.

I hope I have been as clear as possible.

I am sending the two Master and Slave patches and a small video explaining the problem.

Thanks for any suggestions, help or advice on this matter

Master_Slave_Control.zip (2.1 MB)

Before i dive in, can you confirm you are using a recent build of Cabbage?

I guess you are because I’m on the newest version here and I see the same issue. I’m not sure why this is happening. If you try to move the slave slider while the internal LFO is going it snaps back to the position of the Reaper modulation value. It looks like reaper is overriding the values from Csound. The same code gets called whether we move the slider manually, or from within Csound. I’ll have to take a closer look.

Yes I have the latest version of cabbage 2.9.137

While the internal oscillator is active, if I move the slave slider, when I release it it returns to the value left after the manual movement.
Example: I move the Master slider manually and bring it to a value of 60. The Slave slider locks onto the value 60. If I activate the oscillator that updates the master slider and I move the slave slider manually, it moves but when released the value returns 60.

So the reason this is happening is because Cabbage plugins don’t broadcast automation changes by default. For this to work simply add the following line of code to the top of instrument one:

chnset 1, "CSOUND_GESTURES"

After this, the plugin should behave as you want. For more details about this reserved channel see here

I have to admit, I had almost forgotten about this feature :rofl:

thank you very much, now the answer is correct

1 Like