Resource icon

Advanced Scene Switcher 1.18.0

Additions and changes:
  • Add "Network" tab.

    The network tab allows you to open a web-socket or connect to a web-socket to synchronize the active scene between two or more instances of OBS.
    The functionality is mostly based on
    An OBS instance running a server will send its currently active scene to all connected clients on scene change.
    By default all scene switches will trigger a message to be sent to all clients, but you also have the option to limit sending these messages only when an automated scene change is triggered by the advanced scene switcher.

  • Add option to check volume of 'inactive' audio sources.
  • Add option to configure default transition delay.
  • Enable use of Scene Groups for Random tab.
  • Fix audio tab not supporting mono audio output. (Thanks nospam2k for your help!)
  • Fix window based scene switching always testing for focus.
  • Added video tab.

    This new tab will allow you to switch scenes based on the current video output of selected sources.
    You have to option to either trigger a scene change if the output matches a target images, does not match the target image or has not changed for a specified duration.
    The "Get screenshot for selected entry" will create a screenshot of whatever video source is currently chosen for the selected entry and set it as the target entry.

    If you want to perform more complex image comparisons please have a look at the following plug-in:

  • Add German locale for extended sequences.

  • Update base sequence entry if values of base sequence entry were changed in the extend edit window.
Additions / Changes:
  • Add option to extend scene sequences.
Extending a scene sequence allows for more complex switching setups, but should also simplify some setups.​
So for example sequences like "A -> B -> A -> C", which previously were only possible by creating a copy of A, can now be specified in a single entry.​
To extend a sequence either select the sequence you want to modify and click the extend sequence button or simply double click the entry.​
  • Add option to select 'current transition' as an option for most switching methods.
This will use whichever transition is currently active.​
The rules specified on the transition tab still take priority of this stetting.​
  • Add a scene trigger to unmute an audio source.
  • Add a scene trigger for starting and stopping the scene switcher.
  • Allow specifying transition when reading scenes from file.
The first line in the file specifies the scene the second line, if present, the transition.​
  • Default transitions will now only be set after about 50ms after a scene change. This should prevent the transition change interrupting an ongoing scene change.

  • Fix name conflict with Time and Scene Trigger tab, which would make the Time tab unusable. (Only the Windows version was affected - The 1.9 release was updated to contain this fix)
  • Fix scene switching via reading the scene name from file ignoring the pause option for for file based scene switching.
  • Update the UI's "status" field on the general tab even if the status of the plugin changed externally (For example via hotkey).
Major Additions:
  • Add scene trigger tab
    This tab allows you to trigger actions on scene change, like stopping streaming or recording.
    Feel free to make suggestions for additions.

    Please note that the options to automatically start or stop streaming or recording on specific scenes were removed from the general tab.
    Corresponding entries will be automatically created on this new tab!

  • Add scene group tab
    Scene Groups can be selected as a target just like a regular scene.

    As the name suggests a scene group is a collection of multiple scenes.
    The scene group will advance through the list of its assigned scenes depending on the configured settings.

    You can configure the scene group to advance to the next scene in the list:
    After a number of times the scene group is selected as a target.
    After a certain amount of time has passed.
    Or randomly.

    For example, a scene group containing the scenes ...
    Scene 1
    Scene 2
    Scene 3
    ... will activate "Scene 1" the first time it is selected as a target.
    The second time it will activate "Scene 2".
    The remaining times "Scene 3" will be activated.
Minor Additions and Changes:
  • Ask for backup of settings if a new version is detected
  • Add help messages if tab is empty
  • Add option to specify scenes to exclude from Region triggers (Implemented by kieve)
  • Add option to automatically activate the scene switcher on recording or streaming start
  • Fix crash on settings import
  • Fix regex matching for window tab, which would not allow matching if full-screen or maximized was selected as a condition

As usual I hope I didn't break anything.
In case I did please let me know! :)
  • Like
Reactions: OpenFields
An option was added which allows you to specify a scene to switch to if multiple audio entries match at the same time.

Additionally the way the conditions for the audio tab entries are checked was changed to now look at the maximum audio peaks over the complete cycle - so the check interval configured on the general tab - instead of just checking the volume at the moment the condition happened to be checked.
You might have to adjust your volume threshold levels.

Additional changes:
  • Add switch "cool down" option to the general tab which allows you to specify a minimum amount of time that has to pass before a next match will have an effect.
    All matches during this time will be ignored.
  • Link to Transition Table plug-in on transition tab.
  • Display warning if translation data cannot be found.
  • Add support for translating the plugin into different languages - German and Chinese translations are available
  • Add option to pause individual switching methods on the pause tab
  • Add option to only match if file content changed
  • Add option to specify duration for audio matching
  • Add option to choose the "below x %" threshold for audio matching
  • Add option to allow scene sequence to be interrupted
  • Add windows installer

  • Fix new time entries matching if time was never changed from 00:00:00
  • Fix remote file check always matching
  • Fix some visual issues

  • Rework UI of file tab
  • Sort media, process and audio source selection entries alphabetically
  • Automatically scroll to new entries
  • Write status of plugin to scene info file if plugin is stopped
  • Love
Reactions: plus_power
  • fix crash on first startup on fresh install of OBS
  • fix crash on deleting last screen region entry when guide frame was active
  • fix matching obs-studio's window title with 'OBS' on Windows
  • fix random tab only matching once if there was only one entry
  • resolve potential deadlocks
  • fix media states being retriggered multiple times
  • fix crash on importing scene sequence
  • fix crash on deleting scene sequences

Additions and changes:
  • add a log when automatically stopping or starting streaming or recording
  • hide screen region guide frames when switching to a different tab
  • add media state "played to end", which should only trigger a scene change when a media source was played to completion as opposed to also switching if the playback was ended prematurely.
    This is an experimental feature so let me know if you run into any issues.
  • add option to delay the "If no condition is met ..." options
  • improve accuracy of the "Check switch conditions every x ms" option by factoring in the time it takes to perform the different condition checks
The main focus of this update was a rework of the UI.
This should ease modifying existing switch entries and add some basic hints on how to use the plugin.

I hope it is actually an improvement for most and didn't break any existing functionality :)

Additional changes:
  • Add support for VLC sources to media tab
  • Fix OBS crash on exit when user was on the scene which was selected to automatically start streaming or recording
  • Improve hotkey handling to not require users to use the new hotkey binding at least once for the change to be persisted. Thus it should now also be possible to clear the hotkeys.
  • Add option to match maximized windows for the window tab
  • Add handling of window title of metro apps (e.g. OneNote)
  • Fix crash due to name conflicts with the frontend tools of OBS. This was only reported on Debian 10 but could have theoretically also affected other OS.
  • Adjust log messages so logs originating from this plugin are easier to identify
As always pleas let me know if you run into any issues!
  • Added audio tab to enable switching based on volume level of audio sources
  • Add option to automatically start streaming / recording on a scene
  • Add support for weekdays on the time tab
  • Load libcurl at runtime to avoid dependency issues on MacOS
  • Like
Reactions: jjdeprisco
add option to export and import all settings
add support for remote files on file tab
allow reordering of file, media, sequence and region tab entries
add option to reorder tabs
add option to set startup behaviour of the plugin

change file format structure of scene sequence settings (old format can still be imported)

fix switch priority falling back to default values on startup
fix auto fill not working for modified entries on time tab

... and probably something else I forgot about :)
  • Like
Reactions: keeshux