Advanced Scene Switcher

Advanced Scene Switcher 1.37.2

This should have been improved with the 1.30 releases.
Which version of the plugin are you using?
Yes. This is a good point. I hade 1.29.something. I have updated and loading the macro to the screen is indeed improved. It still takes some seconds to load on the first go, but after the initial load it is shown immediately when clicked later. Good work :)

I might have found the issue. For some reason I had "Match Behavior" set so, that it caused a 45 second action-skip after performing an action. This naturally caused excluding secondary macros running in parallel.

I will be checking and testing with this new version that everything works.

--

One thing I am keen to test is shortening the hotkey-send length. As mentioned before, I had to make the macro send the hotkey for 1.3 seconds for it to be recognized, not sure why (maybe because the camera head is moving and cannot receive commands while doing so).

Thanks for the quick reply!
 
i want to integrate autoSS with Discord reactive by fugitech but there's an issue.
i have the reactive and an image in a group. i want the group to auto hide and show when the reactive displays vs shows nothing.
how do I test for something and nothing to make 2 or 1 macro(s) that hides and/or unhides the group? i tried video if changed but that detects when they talk too.
there's 3 states to the browser source displaying nothing, showing silent, and showing talking (its brighter)
I don't want it to detect if its hidden cause browsers don't auto hide if nothing is displayed.
 
i want to integrate autoSS with Discord reactive by fugitech but there's an issue.
i have the reactive and an image in a group. i want the group to auto hide and show when the reactive displays vs shows nothing.
how do I test for something and nothing to make 2 or 1 macro(s) that hides and/or unhides the group? i tried video if changed but that detects when they talk too.
there's 3 states to the browser source displaying nothing, showing silent, and showing talking (its brighter)
I don't want it to detect if its hidden cause browsers don't auto hide if nothing is displayed.
I would suggest relying on the Video condition's "exactly matches" check to identify the "nothing" case.
  • Make sure the source is currently in the state you want to detect.
  • Then click the "Browse" button.
  • Next choose "Create Screenshot".
  • Finally, in the area selection, which should show a seemingly empty image, simply click OK.
Let me know if you have questions / doubts about this approach!
 
I've attach the settings, I'm doing a game capture window, counter strike 2. I'm checking the screen for messages and game items. It's a total of 8 screen checks, fairly small areas. It doesn't crash as often if I decrease the number of them that are active. For a long time until recently it didn't crash at all. I've recently change my driver from the game ready to the stream stable version. The source is visible and active when it happens.
Unfortunately, I have not been able to replicate the behavior on my end even with 30+ video condition checks running on a single game capture source.

While the Advanced Scene Switcher is involved in the call chain leading up to the crash, the fault ends up in libobs-d3d11.dll!gs_stagesurface_map+0x40 and finally d3d11.dll.
So, I am at a bit off a loss as to what I might be doing wrong here.

Maybe it is a bit far fetched, but since this is the first time I am seeing such a crash, could you maybe try updating your graphics drivers / dx11 (if that is an option)?
 
I would suggest relying on the Video condition's "exactly matches" check to identify the "nothing" case.
  • Make sure the source is currently in the state you want to detect.
  • Then click the "Browse" button.
  • Next choose "Create Screenshot".
  • Finally, in the area selection, which should show a seemingly empty image, simply click OK.
Let me know if you have questions / doubts about this approach!
there is an issue with that, when they talk the whole image changes brightness being detected as a new image
 
there is an issue with that, when they talk the whole image changes brightness being detected as a new image
Can you elaborate / provide example screenshots?

I understood you request as "I want to detect if the browser source does not show anything at all and then do X, and if it does show something do Y"
So a macro like this might do the trick:
1750959553522.png


But I assume I must have misunderstood.
 
Last edited:
Hey is there a way to to get a setting from a scene item and assign that to a variable? I see an option in the 'Scene item transform' action to 'Set transform setting' but don't see an option to 'Get transform setting'.
 
Hey is there a way to to get a setting from a scene item and assign that to a variable? I see an option in the 'Scene item transform' action to 'Set transform setting' but don't see an option to 'Get transform setting'.
If you want to get all (non-default) settings of a source you can use this macro:
1750964292134.png


If you just want the value of a single setting you can use a macro like this:
1750964323505.png
 
Hey thanks for the quick reply. When I follow the above and change the text changes I get the following output:

{"font":{"face":"Montserrat","style":"Bold","size":85,"flags":1},"text":"Name Of Person"}

Unfortunately what I don't get is the width of the text which is what i'm looking for. I've tried using the Single Setting template you have provided, but when I change the text the width 'Setting value changed' macro doesn't trigger, so no change is made to the variable.

For context what I'm trying to do is depending on the size of the text (and a little bit of calculation after), crop the right hand side of an image source I have as a background.

1750965909210.png
 
Ahh actually, using your example of grabbing the property from the macro, I just had to change what the macro trigger was to Scene Item Transform

Brilliant plugin, thank you!

1750966594749.png
 
I saw a video the other day on how to stream real music on twitch but stream that copyright free garbage to youtube, not just make a vod channel... So I was thinking, is there a way to put a blocker (kinda like map blocker) to hide certain things from youtube only, IE say a music video since they can detect music vids visually and via audio? Just curious, no rush to implement anything.
 
I saw a video the other day on how to stream real music on twitch but stream that copyright free garbage to youtube, not just make a vod channel... So I was thinking, is there a way to put a blocker (kinda like map blocker) to hide certain things from youtube only, IE say a music video since they can detect music vids visually and via audio? Just curious, no rush to implement anything.
Dual-target/CDN streaming is not natively supported in OBS Studio. You'd need to use a 3rd party plugin (multi-stream?) to accomplish such. And which audio goes where, I'd think, would also need to be in that same plugin (as it is the one configuring the streams).

That said, just thinking aloud (so to speak), I'd think the easiest (least CPU intensive, least likely to 'glitch') would be to composite both audio in OBS Studio into separate Audio Tracks {start here https://obsproject.com/forum/resour...le-audio-tracks-in-advanced-output-mode.1388/}, then have multi-stream plugin send Track 1 audio to CDN#1 (ex YouTube) and Track 2 audio to CDN#2 (ex Twitch, per your example). Not being a user of multi-stream, you or someone else would need to determine if any multi-stream plugin supported such audio routing, and if not, if you could get plugin author to add that feature (contributing can't hurt)
 
Hi Supreme ADSS Gods,

Question regarding source settings actions. I desire to refresh a browser source cache each time the contents of a file changes.

My question is since the “Refresh cache of current page” is a button, what is expected for configuring the cache refresh?

Options:
Set to fixed value
Set to macro Property
Set to json value

What type of value is expected? True/False, 0 or 1 or something else?

Without setting anything, I don’t believe the cache refresh is working as expected. But if it is, should I also run an action to refresh source setting?

Hope I’m making sense and thank you for any assistance.
 
Can I request an addition to the Audio action to Toggle the mute state of a source? I have two sets of microphones that I regularly need to swap between. I can manually mute and unmute each one, but I want to set up a macro with a dock button to do them all at once. I could set up one button for each set of mics, but I'd rather have a single button - I'm often operating OBS over screen sharing, and the latency and degradation of mouse precision means I sometimes miss hitting one ore more of the mute buttons.

Since there's no toggle option now, I tried setting up nested macros and if/else condition sets, which use the mute state of one mic as the input to decide which ones to mute or unmute, but these end up looping or getting into race conditions. I'm sure that could be debugged, but it seems like a lot of work for what should be a single action that just toggles the mute state of the specified input.
 
Hi Supreme ADSS Gods,

Question regarding source settings actions. I desire to refresh a browser source cache each time the contents of a file changes.

My question is since the “Refresh cache of current page” is a button, what is expected for configuring the cache refresh?

Options:
Set to fixed value
Set to macro Property
Set to json value

What type of value is expected? True/False, 0 or 1 or something else?

Without setting anything, I don’t believe the cache refresh is working as expected. But if it is, should I also run an action to refresh source setting?

Hope I’m making sense and thank you for any assistance.
You can press the button like this:
1751220123344.png


Can I request an addition to the Audio action to Toggle the mute state of a source? I have two sets of microphones that I regularly need to swap between. I can manually mute and unmute each one, but I want to set up a macro with a dock button to do them all at once. I could set up one button for each set of mics, but I'd rather have a single button - I'm often operating OBS over screen sharing, and the latency and degradation of mouse precision means I sometimes miss hitting one ore more of the mute buttons.

Since there's no toggle option now, I tried setting up nested macros and if/else condition sets, which use the mute state of one mic as the input to decide which ones to mute or unmute, but these end up looping or getting into race conditions. I'm sure that could be debugged, but it seems like a lot of work for what should be a single action that just toggles the mute state of the specified input.
A build with the option to toggle the mute state will be available here in a few minutes:
1751221078098.png


You will have to be logged into GitHub to be able to download it at the bottom of the page.
If that should be a problem let me know!
 
Hi, Could i have help with something guys? I have four sources in a scene. I'd like to use left-click on the source be the active one and the other three be deactivated, so I can switch scenes just by left-clicking on the source. Is this possible? I can't find a way. Thanks so much for the help.
 
Hi, Could i have help with something guys? I have four sources in a scene. I'd like to use left-click on the source be the active one and the other three be deactivated, so I can switch scenes just by left-clicking on the source. Is this possible? I can't find a way. Thanks so much for the help.
Unfortunately, I don't think left clicking on a source is a trigger available via the OBS API.
You could setup a macro to hide all other sources besides the one manually shown by clicking on the eye-icon, but I think in your case simply using this script will be easier:
 
Unfortunately, I don't think left clicking on a source is a trigger available via the OBS API.
You could setup a macro to hide all other sources besides the one manually shown by clicking on the eye-icon, but I think in your case simply using this script will be easier:
Oh, thank you very much for answering. I don't know if that's really what I'm looking for. I'm going to play poker on 4 tables and I'd like to be able to select which one to see by clicking on it with the right mouse button. I'd like to do this in the same scene without having to create 4 different scenes, just changing the source to the one I right-click on. Do you think this would be possible in some way? Thanks again.
 
Oh, thank you very much for answering. I don't know if that's really what I'm looking for. I'm going to play poker on 4 tables and I'd like to be able to select which one to see by clicking on it with the right mouse button. I'd like to do this in the same scene without having to create 4 different scenes, just changing the source to the one I right-click on. Do you think this would be possible in some way? Thanks again.
Unfortunately, right / left clicking on sources is not detectable in this plugin.
If it must be a single scene containing the four sources I believe the above script will do almost what you want:
1751910170973.gif

You will have to click the "eye" icon.

Just out of curiosity:
Why is not possible to simply use four different scenes?
Then you could easily switch between the desired configuration by just left clicking on the scene name.
 
Back
Top