Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

Raymond NL

New Member
I believe this should be possible.
The "File" condition can be used to check, if the content of a file matches a given pattern.
The "Hotkey" condition can be used to perform a set of actions when a hotkey is pressed.
The output path of the replay buffer can be changed using the "Recording" action type.

So an example macro for the first period might look something like this:
View attachment 103995
Note that the replay buffer has to be stopped and started for the change of the output path to take effect.
The "Wait" action has been added to ensure that the stopping of the replay buffer was successful, since that takes a bit of time.

You will have to create 4 macros in total to handle all four cases.

Just to mention it: You could also get fancy and use variables, but that might be a bit overkill for just 4 different cases.

Let me know, if you have any further questions!
Hope that helped! :)

I believe this should be possible.
The "File" condition can be used to check, if the content of a file matches a given pattern.
The "Hotkey" condition can be used to perform a set of actions when a hotkey is pressed.
The output path of the replay buffer can be changed using the "Recording" action type.

So an example macro for the first period might look something like this:
View attachment 103995
Note that the replay buffer has to be stopped and started for the change of the output path to take effect.
The "Wait" action has been added to ensure that the stopping of the replay buffer was successful, since that takes a bit of time.

You will have to create 4 macros in total to handle all four cases.

Just to mention it: You could also get fancy and use variables, but that might be a bit overkill for just 4 different cases.

Let me know, if you have any further questions!
Hope that helped! :)


I am not sure to be honest.
Is this a setting within OBS?
If so, can you please point me to where I can find it and I will look into it. :)
Dear Warmuptill,

Thanks for your promt reply. I will check this sollution.
During the livestream I am recording the entire stream as backup. The replay buffer is used as instand replay and to show highlights during the breaks. It will be nice if the highlight in the break are only from the previous period.
With the sollution you have. The backup stream will also be devided into four recordings.

It would be great if only the replay buffer path could be changed in the replay buffer file prefix.
 

Warmuptill

Active Member
Dear Warmuptill,

Thanks for your promt reply. I will check this sollution.
During the livestream I am recording the entire stream as backup. The replay buffer is used as instand replay and to show highlights during the breaks. It will be nice if the highlight in the break are only from the previous period.
With the sollution you have. The backup stream will also be devided into four recordings.

It would be great if only the replay buffer path could be changed in the replay buffer file prefix.
I don't think the recording will be stopped when you change the output folder or stop the replay buffer.
(At least it does not appear to be the case in my testing setup)

If that should be the case I can't really think of a good solution as the output location for replay buffer videos is based on the recording output path.
 

Neolive83

New Member
Good evening everyone, sorry for the question guys, but I can't find a tutorial for changing webcams. I only find it for older versions, not for 1.26.2.
Could anyone direct me, even on YouTube there are only old videos.
Basically I have to make Obs change webcam every 10 seconds. Can anyone tell me the macros or direct me.
Thank you
 

Warmuptill

Active Member
Good evening everyone, sorry for the question guys, but I can't find a tutorial for changing webcams. I only find it for older versions, not for 1.26.2.
Could anyone direct me, even on YouTube there are only old videos.
Basically I have to make Obs change webcam every 10 seconds. Can anyone tell me the macros or direct me.
Thank you
It depends a bit on your setup, but I guess a macro like this might do the trick, assuming you have two sources named "Camera 1" and "Camera 2".

1716748118695.png


Let me know if you need further help! :)
 

Neolive83

New Member
It depends a bit on your setup, but I guess a macro like this might do the trick, assuming you have two sources named "Camera 1" and "Camera 2".

View attachment 104110

Let me know if you need further help! :)
Thank you very much indeed!! You have solved the problem, in my opinion we will have to highlight the post because I assure you that the resolution is not obvious and there is no information around about it for this version of OBS!
Thanks so much again, very kind!
 
Good morning everyone. Ran into a problem this morning while uploading settings from one computer to a new computer. This problem is preventing midi support. Used the advanced-scene-switcher-1.26.2-windows-x64-Installer.exe for installation. The old computer used advanced scene switcher version 1.23.0, the new computer version 1.26.2. After installation and running adv-ss get this obs error.

Code:
[adv-ss] failed to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-midi.dll": Cannot load library C:\Program Files\obs-studio\obs-plugins\64bit\adv-ss-plugins\advanced-scene-switcher-midi.dll: The specified module could not be found.

Full logs for adv-ss
Code:
23:19:14.707: ---------------------------------
23:19:14.707: Skipping module '../../obs-plugins/64bit/advanced-scene-switcher-lib.dll', not an OBS plugin
23:19:14.711: [adv-ss] version: 1.26.2
23:19:14.711: [adv-ss] version: 7cc44b44700a88ee7552ad56eb0809d436652454
23:19:14.711: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-base.dll"
23:19:14.712: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-base.dll"
23:19:14.712: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-midi.dll"
23:19:14.712: [adv-ss] failed to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-midi.dll": Cannot load library C:\Program Files\obs-studio\obs-plugins\64bit\adv-ss-plugins\advanced-scene-switcher-midi.dll: The specified module could not be found.
23:19:14.713: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.dll"
23:19:14.719: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.dll"
23:19:14.719: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-openvr.dll"
23:19:14.720: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-openvr.dll"
23:19:14.720: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-twitch.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-twitch.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/libcrypto-1_1-x64.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/libcrypto-1_1-x64.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/libssl-1_1-x64.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/libssl-1_1-x64.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_calib3d460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_calib3d460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_core460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_core460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_features2d460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_features2d460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_flann460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_flann460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_imgproc460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_imgproc460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_objdetect460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_objdetect460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/openvr_api.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/openvr_api.dll"
 

Destroy666

Member
Thank you very much indeed!! You have solved the problem, in my opinion we will have to highlight the post because I assure you that the resolution is not obvious and there is no information around about it for this version of OBS!
Thanks so much again, very kind!
There'll be a more obvious one in the next version, with Timer condition. Then you can store camera source names in 2 vars and alternate them with newly added Variable swap action and show one var and hide the other (press the cog wheel to change type of scene item to Variable). 1 straightforward condition and 3 actions.

Something like
1716855248388.png
 
My macros got corrupted recently, rebuilding from an older backup. Am I doing something wrong or does adv-ss not work the same way as before? I have macros that get ignored if there is a and/or condition (it wont launch unless its JUST an if statement, which is too broad for my use case) , there is macros that will launch if you go to sceneC from sceneA but if you go to sceneC from sceneB it wont launch... This is all stuff that worked previously...

Sometimes I wonder if its like, when I restored the old macros... maybe the plugin doesn't see all the settings even though they are all filled out? For example, some filter commands got lost and went blank on me. For the most part everything else was fine, or is it? Would it require going through and deleting each condition/action and remaking it in the UI for it to work correctly again? Or did you change how things get watched for/activate? maybe need clean install?
 

Warmuptill

Active Member
My macros got corrupted recently, rebuilding from an older backup. Am I doing something wrong or does adv-ss not work the same way as before? I have macros that get ignored if there is a and/or condition (it wont launch unless its JUST an if statement, which is too broad for my use case) , there is macros that will launch if you go to sceneC from sceneA but if you go to sceneC from sceneB it wont launch... This is all stuff that worked previously...

Sometimes I wonder if its like, when I restored the old macros... maybe the plugin doesn't see all the settings even though they are all filled out? For example, some filter commands got lost and went blank on me. For the most part everything else was fine, or is it? Would it require going through and deleting each condition/action and remaking it in the UI for it to work correctly again? Or did you change how things get watched for/activate? maybe need clean install?
That sounds very strange.
Can you provide concrete (and if possible simple) example of a condition that does not work? If possible can you export that macro?
 
That sounds very strange.
Can you provide concrete (and if possible simple) example of a condition that does not work? If possible can you export that macro?
I have mostly changed them already, creating or trying to create work-arounds...

Its seems much slower too to react, I think I am gonna do a clean obs/plugins install and see if anything changes, its either
that or maybe my 7th gen pc is dieing...
 
This was fixed after restart and installing motherboard drivers.

Good morning everyone. Ran into a problem this morning while uploading settings from one computer to a new computer. This problem is preventing midi support. Used the advanced-scene-switcher-1.26.2-windows-x64-Installer.exe for installation. The old computer used advanced scene switcher version 1.23.0, the new computer version 1.26.2. After installation and running adv-ss get this obs error.

Code:
[adv-ss] failed to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-midi.dll": Cannot load library C:\Program Files\obs-studio\obs-plugins\64bit\adv-ss-plugins\advanced-scene-switcher-midi.dll: The specified module could not be found.

Full logs for adv-ss
Code:
23:19:14.707: ---------------------------------
23:19:14.707: Skipping module '../../obs-plugins/64bit/advanced-scene-switcher-lib.dll', not an OBS plugin
23:19:14.711: [adv-ss] version: 1.26.2
23:19:14.711: [adv-ss] version: 7cc44b44700a88ee7552ad56eb0809d436652454
23:19:14.711: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-base.dll"
23:19:14.712: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-base.dll"
23:19:14.712: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-midi.dll"
23:19:14.712: [adv-ss] failed to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-midi.dll": Cannot load library C:\Program Files\obs-studio\obs-plugins\64bit\adv-ss-plugins\advanced-scene-switcher-midi.dll: The specified module could not be found.
23:19:14.713: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.dll"
23:19:14.719: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-opencv.dll"
23:19:14.719: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-openvr.dll"
23:19:14.720: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-openvr.dll"
23:19:14.720: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-twitch.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/advanced-scene-switcher-twitch.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/libcrypto-1_1-x64.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/libcrypto-1_1-x64.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/libssl-1_1-x64.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/libssl-1_1-x64.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_calib3d460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_calib3d460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_core460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_core460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_features2d460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_features2d460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_flann460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_flann460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_imgproc460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_imgproc460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_objdetect460.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/opencv_objdetect460.dll"
23:19:14.722: [adv-ss] attempting to load "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/openvr_api.dll"
23:19:14.722: [adv-ss] successfully loaded "C:/Program Files/obs-studio/obs-plugins/64bit/adv-ss-plugins/openvr_api.dll"

[/QUOTE]
 

Dick Dawson

Member
Very long thread. Amazing plugin. Can anyone point me to the info needed to have a midi controllers dial or pot be able to control the OBS 3 band EQ filter? I have an Akai MidiMix and it wasn't hard to set it up to have both the volume faders and mutes work on the OBS sources I want it to but for the life of me I can't get this plug in, or any other, to let me change the highs, mids or lows with the dials. I can enable it and disable it easy but nothing seems to want to let me change the values with the dials.

Any thoughts or links would be greatly appreciated.
 

AaronD

Active Member
The "Get current settings" button on this action gives you the format to use:
1717099092181.png

Maybe you can put your desired settings into some Variables, and then use those Variables as part of the settings string?
(multiple actions to build up what you want, not a single one that "just does it")
 

Warmuptill

Active Member
Very long thread. Amazing plugin. Can anyone point me to the info needed to have a midi controllers dial or pot be able to control the OBS 3 band EQ filter? I have an Akai MidiMix and it wasn't hard to set it up to have both the volume faders and mutes work on the OBS sources I want it to but for the life of me I can't get this plug in, or any other, to let me change the highs, mids or lows with the dials. I can enable it and disable it easy but nothing seems to want to let me change the values with the dials.

Any thoughts or links would be greatly appreciated.
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:

SetupValueChange.gif


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.

MidiMessage.gif


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.
1717108291746.png


You can check that the value of the variable is updated properly on the variable tab.
VarTab.gif


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! :)
 
Last edited:

CaPoSno

New Member
Hello!

I am running a distributed setup and would be curious if it's possible to trigger exection of a Macro on a remote instance of OBS, e.g. after ReplayBufferSave
 

Warmuptill

Active Member
Hello!

I am running a distributed setup and would be curious if it's possible to trigger exection of a Macro on a remote instance of OBS, e.g. after ReplayBufferSave
Yes that should be possible using the Websocket condition / action type.
One OBS instance will listen for a given message and then perform an action.

Example.png


While the other OBS instance will send a message when the replay buffer was saved.

1717241422202.png


Let me know if you have any questions! :)
 

AaronD

Active Member
Hello!

I am running a distributed setup and would be curious if it's possible to trigger exection of a Macro on a remote instance of OBS, e.g. after ReplayBufferSave
@Warmuptill is accurate - that is the way to do it - but not quite complete. There's a server/client relationship here. Depending on which you've decided to be which, you can both Send and Receive both Requests and Events. The only difference that I see is which one needs to have the server set up in OBS itself (not Adv. SS), and which one needs to connect to that server in Adv. SS before anything works.

Server setup in OBS:
1717245681328.png


Client setup in Adv. SS:
1717245886670.png

1717245915463.png

For two instances of OBS on the same machine, like I use, keep the Address as "localhost". For different machines, you'll need the other machine's IP address there...which can be a source of headaches if it changes. To avoid it changing, you'll need some knowledge of networking, which can get hairy in a hurry, but essentially you want to assign a static IP address to anything that other things connect to like this.

You can tell that machine directly, to always use a specific IP address and not even ask, or you can tell your router to always assign the same one to that machine every time it asks. Either way works; the difference is where the setting is for you to find later, and which device it's in to get wiped out when that device is replaced. Just keep in mind that if two things on the same network end up with the same address, that doesn't work either. So try to avoid that, even by accident.

---

For multiple instances of OBS on the same machine, like I do, it gets interesting in a different way. No IP conflicts - as above, "localhost" works just fine - but there can only be one OBS Websocket server per machine, and only the first instance of OBS can "own" it.

So the choice of which is which becomes fixed by the order that you start all of those instances, and instances 2 and 3 or later can't communicate directly to each other. You can get around that by relaying everything through the first one that you open...as long as that one always *is* the first to open!

Scripting helps a lot with that, so that you only start the script, and the script starts everything in the correct order with the correct delays and settings, and whatever other setup needs to be done.
Bash:
obs --verbose --unfiltered_log --disable-updater --disable-shutdown-check --multi --studio-mode --profile "$OBS_PROFILE" --collection "$OBS_PROFILE" --startvirtualcam > /dev/null &
PID_MASTER=$!
sleep 10

obs --verbose --unfiltered_log --disable-updater --disable-shutdown-check --multi --studio-mode --profile "Meeting_Slave" --collection "Meeting_Slave" > /dev/null &
PID_SLAVE=$!
sleep 10
This little snippet of a rather large setup script starts two instances of OBS, each with a 10 second delay to let them get sorted, and records the Process ID (PID) of each one so that they can be closed automatically as well. (Send a message from the script to each Process ID, that tells it to shut down gracefully.)

The $NAME's are variables that are set earlier in the script, to make it more flexible, so I can do different things in the meeting, without messing up the others. > /dev/null prevents a ton of clutter in the terminal window (all of that information is in the logfile too, so it's not lost), and the & at the end tells the script to move on immediately and not wait for that command to finish, which it won't until OBS closes.
 

Dick Dawson

Member
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! :)
Oh yes yes yes. I only just scanned this now and it looks perfect! Thank you so much!!!!
 

Dick Dawson

Member
The "Get current settings" button on this action gives you the format to use:
View attachment 104219
Maybe you can put your desired settings into some Variables, and then use those Variables as part of the settings string?
(multiple actions to build up what you want, not a single one that "just does it")
Oh nice. thank you. This will properly help me. Thanks.
 
Top