It would indeed have to be set up like suggested by
@AaronD.
You will need three
variables.
One to control the "high", one to control the "mid", and a final one to control the "low" setting of the filter.
When those variables change values you want to change the corresponding filter setting.
This can be achieved by setting up three macros similar to the following example done for the "mid" value:
View attachment 104221
After those three macros are set up you need to create the macros which assign values to the variables when specified MIDI messages are received.
For this you will have to use the "Midi" condition.
You can use the "listen" button to check which control of your MIDI device maps to which values.
In the example below I am using the "Volume" slider of my virtual MIDI device.
This slider results in MIDI messages of type "Control Change" on channel 1 with "value(1)" being fixed to 7 and "value(2)" being the value we want to use to control the filter setting.
View attachment 104223
I also added a step to modify the the value received by subtracting -20 from it.
This was done as the 3 band EQ expects the input range of -20 to +20, but the MIDI device I am using in this example is sending values starting at 0.
The exact settings will very likely differ from my example.
Note that you should uncheck the "Perform actions only on condition change" option for the macros receiving the midi messages to ensure that all received messages result in a variable change.
I would also recommend to configure to a very low condition check interval value on the General tab as Midi messages might arrive quite quickly and you want the delay before those messages are processed to be as low as possible.
View attachment 104224
You can check that the value of the variable is updated properly on the variable tab.
View attachment 104225
The filter settings should be updated accordingly as well.
Note that OBS does not update the values shown in the filter settings dialog when the values are changed programmatically.
So, it is probably easiest to "listen" to the source by adding an audio monitor to it to verify that everything works.
Hope the example was somewhat understandable and helped! :)