Advanced Scene Switcher

Advanced Scene Switcher 1.28.1

Warmuptill

Active Member
Norton Security removes the installer with warning about Trojan virus!
Thanks for reporting the issue.
I will look into it.

To be honest I am not sure what would be causing this especially as the "dll" file, which contains the code that is being run, does not trigger any alerts it seems.
I ran into the same issue in the past with Windows Defender and it turned out to be false positive and was corrected quickly by Microsoft.

I know that is not an option for everyone but if you do not trust the pre-built binaries you have the option to compile the pugin yourself as the source code is available.

EDIT:
It seems to be related to the to the " msvc-redist-helper-32.exe" and " msvc-redist-helper.exe" used to install the Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019.

It looks like all plugins using this helper are reported:

To name a few:
I will try to inform @Xaymar about this.
 
Last edited:

bozhenko

New Member
Anyway, we're getting way off-topic here. :-)
Precisely! That's why I responded ironically to your post. As of right now I am not on virus hosting site, or am I? How does one tell? There are so many developers here, you can never saay all of 'em are with good intentions only... Thus your mention about safe surfing practices is just like free security software in this case... )))
There was a flag, who cares which security software raised it. Should be noted. I notified about it. Warmuptill took that into consideration. That's it.
 

WaveSim

Member
Can't stop shooting what a wonderful plugin for OBS and churches!!!
Made 10 macros and relative some hotkeys and removed about 10 scenes and PPT files instead.
Became so easy to operate.
Hope it will make us not make a mistake from now on.
Really appreciate you guys for your brilliant efforts.
 
Is there a "trick" to get a Macro to actually execute?
I have created a macro that when on a certain scene, I want it to Run a command, but the scene triggers the scene switcher to OFF.
Does the ASS need to be running for any macros to work at all??
 

Warmuptill

Active Member
Is there a "trick" to get a Macro to actually execute?
I have created a macro that when on a certain scene, I want it to Run a command, but the scene triggers the scene switcher to OFF.
Does the ASS need to be running for any macros to work at all??
Yes the scene switcher needs to be running for the macros to be active.
 

strangeways

New Member
The conditional statements under the video tab should have a threshold setting due to slight differences in the array of pixels not allowing the scenes to swtich. I tested this feature extensively with 4 x GoPros feeding into a BlackMagic capture card and rarely got my scenes to switch. I suspect this is because even when the cameras are idle, with no subject animated within their frame, each frame is different than the last due to the camera's sensor and stream conversion. So, when the software compares a current frame to a reference frame, it always returns true for activity. If there was a threshold that could be set for each statement to determine how much difference the current frame must be from the reference frame in order the trigger the switch, I think that feature would be a lot more functional. I came to this plugin wanting this one feature but have played around with other tabs. It's all really impressive! This is would be a solid improvement to an already great plugin. I tried installing the Pixel Match fork of OBS but it doens't work in MacOS, unfortunately.
 

Warmuptill

Active Member
The conditional statements under the video tab should have a threshold setting due to slight differences in the array of pixels not allowing the scenes to swtich. I tested this feature extensively with 4 x GoPros feeding into a BlackMagic capture card and rarely got my scenes to switch. I suspect this is because even when the cameras are idle, with no subject animated within their frame, each frame is different than the last due to the camera's sensor and stream conversion. So, when the software compares a current frame to a reference frame, it always returns true for activity. If there was a threshold that could be set for each statement to determine how much difference the current frame must be from the reference frame in order the trigger the switch, I think that feature would be a lot more functional. I came to this plugin wanting this one feature but have played around with other tabs. It's all really impressive! This is would be a solid improvement to an already great plugin. I tried installing the Pixel Match fork of OBS but it doens't work in MacOS, unfortunately.
You are in luck - I have worked on this functionality (pattern match instead of exact match) and plan to make an update to the plugin soon.
If you want to give it a try already you can find a build here:
Note that you have to be logged into GitHub to be able to download it.
 

Warmuptill

Active Member
Warmuptill updated Advanced Scene Switcher with a new update entry:

Video condition, Studio mode actions, Transitions and more

Additions:
  • Improve video condition:
    The improvements to the video condition have been achieved by relying on the functionality provided by OpenCV.
    This update includes a few of the OpenCV libraries and thus increased the size of the plugin for Windows and MacOS.
    Linux users will have to manually install the corresponding OpenCV 4 packages. (imgproc, objdetect)
    • Added pattern matching:
      Previously, you were only to perform actions based on an...

Read the rest of this update entry...
 
Thx for the extensive update, @Warmuptill!

I was going to ask you, though... do you have plans to add conditions to the Regions tab, such as instead of just "Unless" this scene, add "Only If" this sceen...

My example use case is this: I am using it to control the position of a lower-third graphic, and i have to list the two "regions" for all scenes using "Unless", lest the switch to one of the two defined regions scenes is trigger whilst on a scene I am not even showing the lower-third graphic.

If condition of "Only If" was available, I would be defining the two scenes I care to show the lower-third graphic, instead of all those I do NOT want to lower-third graphic show.

Make sense?
 
Last edited:

Warmuptill

Active Member
Thx for the extensive update, @Warmuptill!

I was going to ask you, though... do you have plans to add conditions to the Regions tab, such as instead of just "Unless" this scene, add "Only If" this sceen...

My example use case is this: I am using it to control the position of a lower-third graphic, and i have to list the two "regions" for all scenes using "Unless", lest the switch to one of the two defined regions scenes is trigger whilst on a scene I am not even showing the lower-third graphic.

If condition of "Only If" was available, I would be defining the two scenes I care to show the lower-third graphic, instead of all those I do NOT want to lower-third graphic show.

Make sense?
I don't have plans to expand the region tab - the reason being that what you are trying to achieve is already possible using the macro tab :)
Here is an example for the "Only if" screen region condition you described above:
OnlyIf.PNG

Let me know if that works for you or if I misunderstood your request.
 

Yulian Min

New Member
Hello!
I want to say a huge thank you to the creators of such a useful, interesting and wonderful tool for automatic scene switching, God bless you !!!

Please tell me what can be done in such a situation:
There are several scenes in my collection, one of which contains a capture of the presentation window.
I needed that when the state of the image of this window was changed, there would be a switch to the scene with this window.
Or, if there have been no changes for some time, to turn on another scene.
Warmuptill helped me to implement this idea, for which thanks to him! =)

This action executes a macro with the following condition:

If> "Video"> "Capture presentation window"> changed
Then switch the scene to> "Presentation".

It works well!

But I noticed that checking the state of the image only happens when the scene with the presentation is in the preview window.
When another scene is open there, and the image changes in the presentation, the scene does not switch ...
Is there a way to check the state of an image on a scene that is not active in the preview window?

Thanks!
 

Warmuptill

Active Member
Hello!
I want to say a huge thank you to the creators of such a useful, interesting and wonderful tool for automatic scene switching, God bless you !!!

Please tell me what can be done in such a situation:
There are several scenes in my collection, one of which contains a capture of the presentation window.
I needed that when the state of the image of this window was changed, there would be a switch to the scene with this window.
Or, if there have been no changes for some time, to turn on another scene.
Warmuptill helped me to implement this idea, for which thanks to him! =)

This action executes a macro with the following condition:

If> "Video"> "Capture presentation window"> changed
Then switch the scene to> "Presentation".

It works well!

But I noticed that checking the state of the image only happens when the scene with the presentation is in the preview window.
When another scene is open there, and the image changes in the presentation, the scene does not switch ...
Is there a way to check the state of an image on a scene that is not active in the preview window?

Thanks!
I assume that the video source is only updated by OBS if it is actually visible.
What type of video source are you using?
Maybe there are some OBS settings that can tweak this behavior.
 

Kniraven

New Member
Hello.
I apologize if this has been gone over before, but I did not read the entire 60 pages of conversation. x_x

My question is:
Could this plugin be used to detect how many users are in an OBS video chat source (see image) and change to an appropriate scene based on how many users are there?

ie: If there are four users in channel, switch to a scene that accommodates 4 people.

I would lose my mind if this could be set up to work.

1634003642967.png

1634003935510.png
 

AaronD

Active Member
Could this plugin be used to detect how many users are in an OBS video chat source (see image) and change to an appropriate scene based on how many users are there?

ie: If there are four users in channel, switch to a scene that accommodates 4 people.

"If all you have is a hammer, then everything looks like a nail."

I think in this case, that OBS is your hammer, and this problem is a screw. It seems to me that what you really want is an "animated scene" sort of concept instead of the fixed geometry that OBS has. (or like the tile view of a remote meeting) Otherwise, you'll have an endless number of scenes that differ only in the number of people in them, so adding/removing overlays and other changes are going to be a nightmare.

Find or make an app that does the dynamic tiling or whatever you do for a different number of people (I can't imagine it being all that hard to make, given the right tools), and then feed it into OBS as its own source.

Or if you already have that picture in another app (your Gameplay window, perhaps?), just use a window capture or screen capture source that OBS already has to grab it from there. No need to recreate it in OBS at all.
 
Last edited:

Kniraven

New Member
"If all you have is a hammer, then everything looks like a nail."

I think in this case, that OBS is your hammer, and this problem is a screw. It seems to me that what you really want is an "animated scene" sort of concept instead of the fixed geometry that OBS has. (or like the tile view of a remote meeting) Otherwise, you'll have an endless number of scenes that differ only in the number of people in them, so adding/removing overlays and other changes are going to be a nightmare.

Find or make an app that does the dynamic tiling or whatever you do for a different number of people (I can't imagine it being all that hard to make, given the right tools), and then feed it into OBS as its own source.

Or if you already have that picture in another app (your Gameplay window, perhaps?), just use a window capture or screen capture source that OBS already has to grab it from there. No need to recreate it in OBS at all.

I want to use this for a D&D Stream.
I would have a minimum of 3 and a maximum of 6 people in the channel, and would therefore need only 4 scenes.

It is very common for TTRPG streamers doing online games to use Discord, Zoom, or another meeting software as a single source, and then crop that source for participant placement in a scene. The common issue that many people have been looking for an optimal solution for is that when a player drops the call unforeseen, camera arrangement changes and the OBS scene now has camera cropped and in wonky positions.

Currently I have the scenes for different player counts set up, and I manually switch between them as needed. An automated solution would be preferable.

Some solutions:
- Use the built in A/V software that comes with whatever virtual TTRPG Platform you use.
--- (unfortunately, this software is not at all competitive with Discord/Zoom in terms of quality).

- Use a web app like OBS.ninja to capture each individual's camera as an independent browser source.
--- (unfortunately, this requires set-up before every individual stream and quality is still not as good as Discord or Zoom)

- Use a desktop application that can make each player's camera an independent source, like VSee
--- (unfortunately, these tend to fall under either very expensive or very low quality)

This is an issue many people are looking to resolve, and there are many work arounds out there that haven't hit the mark. I was thinking/hoping this might have the potential to be a real solution.

If you'd like a better visual example of what I am talking about, let me know.
 

Warmuptill

Active Member
I want to use this for a D&D Stream.
I would have a minimum of 3 and a maximum of 6 people in the channel, and would therefore need only 4 scenes.

It is very common for TTRPG streamers doing online games to use Discord, Zoom, or another meeting software as a single source, and then crop that source for participant placement in a scene. The common issue that many people have been looking for an optimal solution for is that when a player drops the call unforeseen, camera arrangement changes and the OBS scene now has camera cropped and in wonky positions.

Currently I have the scenes for different player counts set up, and I manually switch between them as needed. An automated solution would be preferable.

Some solutions:
- Use the built in A/V software that comes with whatever virtual TTRPG Platform you use.
--- (unfortunately, this software is not at all competitive with Discord/Zoom in terms of quality).

- Use a web app like OBS.ninja to capture each individual's camera as an independent browser source.
--- (unfortunately, this requires set-up before every individual stream and quality is still not as good as Discord or Zoom)

- Use a desktop application that can make each player's camera an independent source, like VSee
--- (unfortunately, these tend to fall under either very expensive or very low quality)

This is an issue many people are looking to resolve, and there are many work arounds out there that haven't hit the mark. I was thinking/hoping this might have the potential to be a real solution.

If you'd like a better visual example of what I am talking about, let me know.
More examples would definitively help, as otherwise it will be really difficult to say if this is something that can be automated using this plugin.

Just a few ideas:
  • Maybe the video call software you are using provides the information via an API or even simpler via log file.
    Then you could maybe switch scenes via the file condition.
  • Alternatively you could try to use pattern matching to decide which scene to switch to, by identifying certain elements in the video call software UI
  • Or you could switch scenes based on whether or not certain video sources have not changed for a specified duration of time. (E.g if a person drops from the call)
 

KAIE

New Member
I have recently learned about this plug-in.
I recently found out about this plug-in and have been using it, but the macros utilizing the hotkeys do not work at all.

I have tried...
1)<first condition>
If "Hotkey "
Name: "Macro trigger hotkye 1"

2) <to do next>
Switch scene
Switch to scene "scene name" using "cut" with a duration of 0.00 seconds

This was just a simple macro test.
Of course, Hotkey is specified in the OBS settings.

Is this a problem in my environment?
I'll tell you what I can offer to solve this problem.
I am using Windows 10Pro 64bit.
OBS version is 27.13(64bit).

Thank you.
 

Warmuptill

Active Member
I have recently learned about this plug-in.
I recently found out about this plug-in and have been using it, but the macros utilizing the hotkeys do not work at all.

I have tried...
1)<first condition>
If "Hotkey "
Name: "Macro trigger hotkye 1"

2) <to do next>
Switch scene
Switch to scene "scene name" using "cut" with a duration of 0.00 seconds

This was just a simple macro test.
Of course, Hotkey is specified in the OBS settings.

Is this a problem in my environment?
I'll tell you what I can offer to solve this problem.
I am using Windows 10Pro 64bit.
OBS version is 27.13(64bit).

Thank you.
Is the plugin started? (See General tab)
If it is, can you please export your setting and share them with me so I can try to reproduce the issue?
 

KAIE

New Member
Hello again.It's me again.

I've been trying different things and it seems to behave a little differently in different scene situations, such as more or less sources.
I had multiple scenes built with OBS, and the phenomenon was that it was not available in certain scenes, or it could or could not be done in new scenes.
I apologize for not describing it in detail.


I have recently learned about this plug-in.
I recently found out about this plug-in and have been using it, but the macros utilizing the hotkeys do not work at all.

I have tried...
1)<first condition>
If "Hotkey "
Name: "Macro trigger hotkye 1"

2) <to do next>
Switch scene
Switch to scene "scene name" using "cut" with a duration of 0.00 seconds

This was just a simple macro test.
Of course, Hotkey is specified in the OBS settings.

Is this a problem in my environment?
I'll tell you what I can offer to solve this problem.
I am using Windows 10Pro 64bit.
OBS version is 27.13(64bit).

Thank you.
 
Top