Resource icon

Advanced Scene Switcher 1.25.4

Supported Bit Versions
  1. 64-bit
Source Code URL
https://github.com/WarmUpTill/SceneSwitcher
Minimum OBS Studio Version
30.0.0
Supported Platforms
  1. Windows
  2. Mac OS X
  3. Linux
This plugin will allow you to automate various tasks using "Macros".
Macros consist of a list of conditions under which a list of actions will be performed.

MacroTabExample.PNG


Examples and guides can be found in the wiki.
Feel free to contribute!


Currently supported condition types are:
Currently supported action types are:
  • Audio
  • File
  • Filter
  • Http
  • Hotkey
  • MIDI
  • Macro
  • Media
  • Open Sound Control
  • Plugin state
  • Profile
  • Projector
  • Random
  • Recording
  • Replay buffer
  • Run
  • Scene collection
  • Scene item lock
  • Scene item order
  • Scene item transform
  • Scene item visibility
  • Screenshot
  • Sequence
  • Source
  • Streaming
  • Studio mode
  • Switch scene
  • System tray notification
  • Timer
  • Transition
  • Twitch
  • Variable
  • Virtual camera
  • Wait
  • Websocket
Select "Go to download" for download and not "Source Code URL".

Please have a quick look at the FAQ in case you are having an issue.

Settings configuration example:
Below is a short description on how to set up an automated scene switch if the output of a video source has not changed for a specified duration.

I assume the plugin is installed so let's open the settings.
To do so go Tools -> Advanced Scene Switcher.
OpenPlugin.png


You will end up on the "General" tab of the plugin.
Here we can make sure that the plugin is running by clicking the "Start" button if necessary.

StartPlugin.png


Next we switch to the Macro tab to set up our automated scene switch. (1)
Here we add a new macro by clicking the plus symbol on the lower left (2) and enter a name for our new macro.

MacroTab.png


Now we have to add the condition we want to trigger the automated scene switch by clicking the corresponding plus symbol (1) and selecting the type of the condition we want to use (2).
As we want use video based scene switching we select the type "Video".

VideoCondition.png


The next step is to configure the settings of this condition.
We select the video source we want to monitor (1) and the type of monitoring we want to take place (2).
For this particular use case we choose "hos not changed".
Finally we add the time constraint by pressing the small clock icon (3).

VideoConditionSettings.png

For the time constraint we specify the type of constraint (1) we want to choose and specify the duration (2).
In this case we select "For at least" and "3 seconds".

TimeConstraint.png

As a last step we have to specify the action that has to be performed if the condition we specified above is true.
To do this we have to add a new action to our macro by pressing the plus button in the lower middle of the macro tab.

AddAction.PNG


The default action that is chose is already our desired one - "Switch scene" - so we do not have to adjust the type of the action.
However we have to select the scene we want to switch to (1) the transition type we want to use (2) and the duration of the transition (3).
(The duration can be left at "0" to use whatever is configured as the current transition duration)


SwitchSceneSettings.PNG


Now everything should be set up and the scene should be switch accordingly.

Installing the plugin:
Recommended: Run the provided installer. (You might have to click 'More info' and select 'Run anyway' if it is blocked by Windows)

Alternatively manually copy the 'obs-plugins' and 'data' folders in the respective OBS Studio installation directory.
It is usually located at 'C:\Program Files\obs-studio'.
Install the Visual C++ Redistributable for Visual Studio 2019, if you have not done so already.
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
64bit: vc_redist.x64.exe
32:bit: vc_redist.x86.exe
Recommended: Run the provided installer. (You might have to right click and select 'open' if it is blocked)

Alternatively manually install the the plugin files to ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher.plugin.

It might also be necessary (if MacOS decided to be annoying) to remove the plugin from the quarantine.
To do this follow these steps:
  1. Open the Terminal application
  2. Run the command: xattr -r -d com.apple.quarantine ~/Library/Application\ Support/obs-studio/plugins/advanced-scene-switcher.plugin
Thanks djSmileyMike for your help!
Note that the plugin has dependencies to:
* libXss
Optional:
* libXtst
* libcurl
* libopencv-imgproc
* libopencv-objdetect

If you are using snap you can install the following package for an OBS installation which comes bundled with the plugin:
sudo snap install obs-studio

The plugin is also available via the Flatpak package manager for users who installed OBS via Flatpak:
flatpak install com.obsproject.Studio.Plugin.SceneSwitcher

If you have installed OBS via other means, it is most likely necessary to install the plugin manually.
To do so copy the advanced-scene-switcher.so file and into the OBS Studio plugin folder.
The location of this folder can vary, so you might have to look around a bit.

Examples are ...
/usr/lib/obs-plugins/
/usr/lib/x86_64-linux-gnu/obs-plugins/
/usr/share/obs/obs-plugins/
~/.config/obs-studio/plugins/advanced-scene-switcher/bin/64bit/
~/.local/share/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/lib/obs-plugins/
/var/lib/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/lib/obs-plugins/

Unfortunately the expected location of the locale, which can be found in the data folder, can vary also.
The data folder, usually should be copied to:
~/.config/obs-studio/plugins/advanced-scene-switcher/

If this does not work you can try to copy the "locale" folder found inside the data folder to:
/usr/share/obs/obs-plugins/advanced-scene-switcher/locale
~/.local/share/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/share/obs/obs-plugins/advanced-scene-switcher/locale
/var/lib/flatpak/app/com.obsproject.Studio/x86_64/stable/active/files/share/obs/obs-plugins/advanced-scene-switcher/locale

In doubt, please check where other "en-US.ini" files are located on your system.

When manually installing the prebuilt artifacts from GitHub please keep in mind that they are built for Qt6.
If your OBS installation is still linking against Qt5 and you install a plugin depending on Qt6 OBS might crash.
Manually compiling the plugin for Qt5 is possible still if it should be required.

Additional Information and Notes:
If you want to build the plug-in yourself the source is available here.

Please report any problems you experience using this plug-in here, on GitHub or send me a direct message.
Author
Warmuptill
Downloads
512,903
Views
1,140,300
First release
Last update
Rating
4.65 star(s) 74 ratings

More resources from Warmuptill

Latest updates

  1. Advanced Scene Switcher 1.25.4

    Important notes: Please make sure to back up your settings! If you run into any issues, please...
  2. Advanced Scene Switcher 1.25.3

    Important notes: Please make sure to back up your settings! If you run into any issues, please...
  3. Advanced Scene Switcher 1.25.2

    Important notes: Please make sure to back up your settings! If you run into any issues, please...

Latest reviews

Sugestion: Change audio source delay when change a scene
W
Warmuptill
I believe this should already be possible, if I am understanding correctly what you are trying to do.
You can use the "Scene" condition to check for the scene change and use the "Audio" action to set the "Sync offset" the desired value.

If that is not what you were looking for or you need support in setting this up, feel free to reach out in the plugin's discussion thread! :)
Really great plugin and smart developer!
It's hard to comprehend how many possibilities and combinations of uses we get with this development.
Thanks a lot!!!
one of the best plugins out there! complete automation possible, if then conditions/actions, twitch integration, MIDI support and an extremely helpful and supportive dev! kann man nicht meckern <3
Very flexible! Nice plugin!
Love this plugin, such a vast array of functionality and I have barely scratched the surface. Is there a WIKI or FAQ somewhere? I have an issue I''m not sure how to break out of a looping set of scenes when I manually change to a new scene the macro keeps running... I know it's probably a simple thing I need to change but I haven't figured it out as of yet. :)
W
Warmuptill
Glad you are enjoying the plugin!

There is a wiki:
https://github.com/WarmUpTill/SceneSwitcher/wiki

But as it mostly covers the basics and a few examples it is usually best to simply ask in the discussion thread if you have questions :)
Loved the plugin as it was before I needed a tweak. I asked.. at first, the tweak wasn't an option, but just like magic he implemented what I needed and I updated, setup and it worked first time.

Thank you for your great plugin.
@Warmuptill, I can't live without this plugin! You're updates just keep improving! For that I am grateful! Thank you!

Question:
Has there been consideration with Macro's to be able to setup a case select or an IF, Than, Else scenario? I keep finding myself wanting 1 macro with multiple conditions and associated actions for a condition. This would cut down on the need for multiple macros to accomplish the same.

Thanks again!
W
Warmuptill
Glad to hear you enjoy the plugin! :)

>Has there been consideration with Macro's to be able to setup a case select or an IF, Than, Else scenario?
It was requested a few times, but I simply did not get around to it yet.
When I find the time, I will to look into it, but I can't give you any promises / timelines.
without this plugin, obs is a nothing.
Basically Tasker/AHK of OBS. Automation on quite high level.
The swiss army knife of automatic/logic flows in OBS, every second time someone wants to solve a specific problem and asks for a solution on the OBS Discord, it's this plugin which is suggested to them. A real must-have.
Top