Resource icon

Advanced Scene Switcher 1.26.2

Important notes:​

You will have to use at least OBS 28 to use this version of the plugin!
Please make sure to back up your settings!


Additions:​

  • You can now group macros into folders.
    This will make it easier to work with large amounts of macros.
    Group
    To group macros simply select the macros you want to put into a group, right click and select "Group selected items".
    Group2
  • Improved variable support.
    • Added the option to use variables in source selections for the following actions:
      • Audio
      • Filter
      • Media
      • Screenshot
      • Source
    ExampleVar
    • Added the option to use variables in source selections for the following conditions:
      • Audio
      • Filter
      • Media
      • Source
      • Video
    ExampleVar2
    • Variables can be used in the text fields of the following conditions and actions:
      • File
      • Filter
      • Http
      • Scene item transform
      • Source
      • Websocket
    ExampleVar3
    The syntax to use variable in those text fields is ${variable name here}.
    • Variables can now be assigned values from the following condition types ...
      • Audio
      • Cursor
      • Date
      • File
      • Filter
      • Idle
      • Process
      • Scene
      • Source
      • Studio mode
      • Websocket
      • Window
        ... and the following action type:
      • Http
    ExampleVar4
    The values assigned are usually dependent on the settings used for the particular condition type.
    For example, the scene condition will return the name of the current scene if it is used to check for a certain scene as the current scene or it returns the name of the previous scene if that option is selected instead.
  • Added options the "Audio" condition and action to check for and set:
    • Sync offset
    • Balance
    • Monitoring type
    Audio1
    Audio2
  • Added options to the "Plugin state" condition:
    • Plugin started
    • Plugin restarted
    • Plugin is running
    • OBS is shutting down
    • Scene collection loaded
    PluginState
  • Improved "Random" action.
    • Enabled adding the same entry to the list multiple times.
    • Added option to allow executing the same macro consecutively.
    Random
  • Added the option to check for a change in visibility of a scene item and toggle the visibility of a scene item.
    Visibility
    Visibility2
  • Added the option to interact with buttons of the source settings menu of sources.
    For example, this can be used to press the "Activate" / "Deactivate" button of "Video Capture Device" sources.
    SettingsButton
  • Added the option to check for mouse button presses to the "Cursor" condition. (Windows only)
    Cursor
  • Added the option to match the scene name of the current or previous scene to a given pattern.
    ScenePattern
  • Added the option to match the current date to a given pattern.
    DatePattern
  • Added the option to set working directory for processes created by the "Run" action.
    Run

Other changes:​

  • Automatically combine hotkeys created by the "Hotkey" condition with the same name into a single hotkey.
    This should make it less of a hassle to use the same key-bind for triggering multiple macros.
  • The "Hotkey" condition will now continuously be true while the hotkey is held down instead of only being true when the key-bind was pressed initially.
    If the old behaviour was desired you can use the "Perform actions only on condition change" option.
  • Slight UI adjustments:
    • Visually clean up macro properties dialog.
    • Set background of macro action / condition splitter transparent.
    • Add button to open settings window to dock .
  • Automatically fall back to OBS-only key press if global key presses can't be simulated in the "Hotkey" action.
  • Show simple settings by default in the "Date" condition.
  • Add support for additional source groups in the "Scene item visibility" action and condition.
  • Set the default path used for importing settings via the General tab to the Desktop folder and reuse path last used if possible.
  • Zip archives containing the plugin files are now available besides the regular installer for macOS, as some users faces issues running the installer.
    Instructions for the manual installation can be found on the plugin overview page on the OBS forums.
  • Chinese locale updated by qwe1154323937.

Fixes:​

  • Fixed potential crash related to highlighting of actions and conditions.
  • Fixed potential crash when interacting with "unknown" source types.
    This could happen if a source was created but the corresponding functionality was later removed (e.g. when loading a scene collection containing a browser source on an OBS build without browser source support)
  • Fixed various crashes related to the "Video" condition area selection and match preview dialog.
  • Fixed crash when using extreme values in cursor condition and showing frame.
  • Fixed crashes when running the plugin on non X11 windowing systems. (Linux only)
  • Fixed potential freeze when changing scene collection while the plugin's settings window is opened.
  • Fixed "Macro" condition not saving settings properly when using the "Multiple states" condition type.
  • Fixed duration modifier timers not being reset when stopping the plugin.
  • Fixed first action of paused macros being executed when attempting to run the macro via the "Macro" action.
    Paused macros will now no longer execute any actions.

Important note: You will have to use at least OBS 28 to use this version of the plugin!​

Please make sure to back up your settings before updating OBS to version 28!​

Additions:​

  • Added the option to check for brightness of a given video source.
    Brightness
  • Added the option to use "Current scene", "Previous scene", etc. as the possible scene selection when checking the states of all / any media source on a given scene.
    Media

Changes:​

  • Move settings to control the behaviour when changing transitions from the Transition tab to the General tab.
    GeneralTransitionSettings
    This setting will allow you to configure if on transition change only transition overrides should be set and the actively selected transition should remain, or the active transition should be changed and transition overrides should take priority, or if both should be changed.
  • macOS: The "Process" condition will now always check for the application name instead of the Window name when using the option to check for the foreground process name.
  • Add special handling for the "between" case when ignoring the date
  • Minor UI adjustments:
    • Enable word wrap for macro tab options to only run a macro on condition change or perform actions in parallel to other macros.
      This should make it a bit more comfortable to use the Macro tab when using a smaller window size.
    • Display currently focused window or process for the "Window" or "Process" conditions when the corresponding checkbox is selected.
      Focus

Fixes:​

  • Fixed scene item selection not saving index when multiple instances of the source with the same name are available.
  • Fixed date condition showing incorrect date.
  • Fixed drag and drop reordering of macros not working as expected certain circumstances.
  • Fixed scene item selection not working as expected in certain situations.
    Thanks to lindenkron for reporting the issue!

Important note: You will have to use at least OBS 28 to use this version of the plugin!​

Please make sure to back up your settings before updating OBS to version 28!​

Additions:​

  • Added initial support for variables.
    Variable
    Variables are intended to allow users to simplify complex macro setups.
    They each have a name and a value, which can be checked using the Variable condition and modified using the Variable action.
    Variables can also be used in action and condition types which allow selecting scenes or scene items.
    For more details and an example how to use them see this wiki entry.
  • Added support for "events" to the Websocket action and condition.
    WSEvent
    The supported message types that can be used with the "Websocket" action and condition now are "Requests" and "Events".
    • Requests (1) are sent to one specific target via the specified connection.
    • Events (2) are sent to all clients that are connected to the obs-websocket server the event is emitted from.
  • Enable Image slide show sources to be used in the Media condition and action.
    SlideShow
    It is highly recommended to use at least OBS 28.0.2 for the condition to behave as expected.
  • Improvements to the Screenshot action.
    Screenshot
    • This action now allows creating screenshots of scenes (including placeholders like "previous scene")
    • This action allows saving the screenshots to custom path.
  • Added option to disable hotkey registration for new macros.
    Hotkey
    This will mostly be useful for users who create a lot of macros and don't want OBS hotkey settings to be filled with mostly macro related hotkeys.
  • Improvements to the Video condition type.
    • Added an option to reduce video matching at the cost of potentially delaying condition check of other macros.
      VideoCondition
      Without this option matching a pattern will take at least the duration of the interval the scene switcher performs its checks at (default 300ms), due to the condition first grabbing a screenshot and in a later step performing the match.
      With it being checked the screenshot and the matching step will be performed one after the other.
    • Slightly adjusted layout to decrease size of the condition.
  • Improvements to regular expression matching.
    Regex
    Added configuration options for the regular expression matching for the following condition types:
    • File
    • Filter
    • Scene item transform
    • Source
    • Websocket
    These configuration options will allow:
    • Partial matching
    • Case insensitive matching
    • Dot matching new line
    • Adding inline comments using Qt ExtendedPatternSyntax

Changes:​

  • Hide Scene Groups tab when option to hide legacy tabs is checked.
    It was being confused too often with the old "Sequence" tab.
  • Slight UI changes and layout adjustments to better support new OBS themes.
  • Add content / modification date changed as separate options to file condition.
    This will make it easier for users who are not familiar with regular expressions to use these checks without matching any particular file content.
  • Set sensible default paths when browsing using the file selection widget in most places.
  • Only show duration selection in the scene switch action for transitions which support a dynamic transition length.

Fixes:​

  • Fixed scene collection data growing unnecessarily when repeatedly changing scene collections.
  • Fixed UI not showing correct logic type if removing the top condition of macro.
  • Fixed potential crash in video condition.
  • Fixed missing icons for the buttons to move macros up / down.
  • Fixed macro condition not saving count value when checking state of multiple macros.
  • Fixed volume control widgets not showing.

Important note: You will have to use at least OBS 28 to use this version of the plugin!​

Please make sure to back up your settings before updating OBS to version 28!​

Additions:​

  • Added support for OBS 28.
    With this also comes support for native Apple Silicon builds.
    Note that the different versions of the plugin for Windows, MacOS, and Linux are now split into separate archives.
    The prebuilt Linux binaries depend on Qt6.
  • Added the "Websocket" condition and action action types.
    This will allow you to trigger macros on other OBS instances by sending messages via websockets.
    For more details you can have a look at this wiki entry.
    Websocket
  • Added the option to split recordings to the "Recording" action.
    SplitRecording
  • Added the option to refresh sources to the "Source" action.
    This can be used to e.g. refresh browser sources.
    SourceRefresh
  • Added the "Http" action which will allow you to more easily send GET and POST requests.
    Http
  • Added a condition to check current profile.
    Profile
  • Added the option to check the states of multiple macros at the same time to the "Macro" condition type.
    MultiStateCheck
  • Added Spanish translation (provided by EliasDIPA)

Changes:​

  • Set the default screenshot file extension to *.png in the "Video" condition.
  • Minor UI layout adjustments for new Yami theme of OBS 28.

Fixes:​

  • Fixed duration modifier of media conditions not saving correctly.
  • Fixed potential crashes when removing macros.
  • Fixed hotkeys not being registered for new macros.

Additions:​

  • Improved the date condition:
    • Added the option to select "before" and "after" for time of simple date view. (1)
    • Added the option to ignore time component in the simple view. (2)
      DateSimple
    • Display next match time if repeat is selected. (1)
    • Added the option to preserve the original date in combination with repeat option. (2)
      DateAdv
  • Added the option to set the show and hide transition of sources and override transitions of scenes using the "Transition" action.
    Transition
  • Added the new duration modifier "within the last" to macro conditions.
    Within the last
    This will result in an overall condition being true for at least the specified duration even after the underlying condition is no longer true.
  • Added a new action "Studio mode" which will allow you to en-/disable the Studio mode.
    StudioMode
  • Added option to disable registering of pause hotkeys for macros.
  • Added Spanish locale (provided by EliasDIPA).

Changes:​

  • Removed artificial delay in "Replay buffer" action before saving replay buffer could be triggered again.
    This was added as attempting to save the replay buffer too frequently would result in no file action being saved, but lead to unexpected behaviour in certain setups.
    A warning has been added instead.
  • The actions "Swap scene" and "Switch preview scene" have been combined into the new "Studio mode" action.
  • Enable the option to check for the previous scene during an active transition.
  • Allow for finer control of the threshold used for video pattern matching.

Fixes:​

  • Fix macOS memory leak.
  • Fix crash when deleting last macro when highlighting of macro segments is enabled.
  • Fix "Media" and "Audio" conditions unexpectedly returning true after unpausing macros containing these condition types.
  • Fix scene group random option not being random.
  • Fix "Cursor" condition preview frame blocking mouse inputs.
  • Fix "Wait until transition to target scene is complete" waiting too long. (E.g. when using the "Cut" transition type).

Known issues:​

  • Newly created macros will not register pause hotkeys.
    They will however be registered when rebooting OBS or toggling the registering of hotkeys.

Additions:​

  • Improved the video condition type:
    • Added the option to apply the condition checks to only parts of the selected video source.
      VideoArea
      This option can be used for all types of checks where it would be applicable:
      • exact match
      • change detection
      • pattern matching
      • object detection
      This change should open up much more possibilities to use this condition type and can also save a lot of resources for the more expensive operations like object detection.
      For an example on how this could be used have a look at this guide to automatically hide parts of the screen if a certain pattern is found.
    • Added the option to select OBS' main video output as the video source to check.
  • Improved the audio action type:
    • Added the option to specify rate of change instead of duration for audio fade. (1)
    • Added the option to abort any already active audio fade when starting new fade. (2)
      When not using this new option a new audio fade will not start if an audio fade was already in progress for a particular source.
    • Added the option to wait for an audio fade to complete before continuing with the next action. (3)
      Fade
  • Added media seek action.
    Seek
  • UI improvements:
    • Added the option to reorder individual conditions or actions via drag and drop.
    • Added a settings dialog to macro tab which contains a few options which can be useful to analyse ...
      • Which macros are currently being executed.
      • Which conditions are true.
      • Which actions are currently being performed.
    • Debug

Changes:​

  • Reworked the stop action of the "Macro" action type to ...
    • Interrupt any ongoing "Wait" action.
    • Block until the macro in question is stopped.
  • Reworked some of the state checks of the "Media" condition type.
    • Removed the "Played to end" state as it worked identically to the "Ended" state.
    • Introduced a new state "Ended(Playlist)", which can be used to check for the end of a playlist.
    • The "Ended" state will now also detect the end of individual playlist items.
    The state "Ended" and "Ended(Playlist)" will only make a difference on the VLC source type as the regular Media Source does not support playlists.
    Any existing Media condition previously using the "Ended" or "Played to end" state checks will automatically be adjusted to use the equivalent "Ended(Playlist)" check.
  • Ignore delete hotkey if the macro tab is not in focus.
  • Tabs which can be represented via macros will now be hidden by default on fresh installations of the plugin.
    This will not change your current settings.
    The goal of this change is to slowly transition away from these outdated tabs and remove them at some point in the future.
  • Update zh-CN locale. (provided by qwe1154323937)

Fixes:​

  • Fix date condition's "At" check not working correctly under rare circumstances.
  • Fix random action not being very random.
  • Fix fade animation triggering unexpectedly for action and condition controls.
  • Fix start streaming action only working every second attempt.
  • Fix UI freezes if using the video conditions preview dialog while switching to different condition type.
Additions:
  • Added "OBS stats" condition type.
    StatsCondition
    It allows performing actions based on various OBS and system load related statistics:
    • FPS
    • CPU usage
    • RAM usage
    • Average frame time
    • Percentage of skipped frames
    • Percentage of missed frames
    • Percentage of dropped frames
    • Amount of data streamed or recorded
    • Current bitrate
  • Added the option to check whether or not OBS is currently shutting down to the "Plugin state" condition type.
    Shutdown
    This can be useful if you want to perform actions when closing OBS. For example, if you would want to prepare for the next time you start it back up.
  • Added the option to toggle between a simple and a more advanced version of the date condition.
    Date
    The simple view supports setting up the condition by just providing a day of the week and a time.
  • Added the option to highlight recently executed macros on the Macro tab.
    HighlightCombined
  • Added hotkey to delete macro segments.
    It can be found the OBS settings' hotkey section.
  • Added Turkish locale (provided by @dargat)
  • Allow reordering macros via drag and drop.
  • Reworked the controls for the macro tab's condition and action areas.
    Instead of the controls appearing under each condition or action when hovering other them, these controls were moved to the bottom of the condition and action areas respectively.
    Individual conditions and actions can now be selected by clicking on them and be moved, deleted or copied using the controls mentioned before.
    ListControls
    This should make it easier to work with large amounts of conditions or actions and especially as this avoids the conditions and actions shifting around unexpectedly when hovering over them.
  • Added frame around individual macro segments to visually separate them more clearly.
  • Moved macro segments will now be highlighted to make it easier to track them visually.
  • Removed a bunch of unnecessary collapsing animation triggering when reordering, adding or removing macro segments.
  • In case of having only a few single actions or conditions in a macro the segments will no longer be stretched to fill the entire condition or action area.
  • Slightly reduced spacing between macro segments.
  • Reduced the space taken up by the text edit areas like they are used in the file, filter, source and transform condition and action types.
  • Add context menu entry for expanding and minimizing the condition and action edit area.
  • The "Show match" button of the video condition will now automatically refresh every second instead of only showing a single match.
    This will make it much easier to dial in the settings needed for a successful pattern match or object detection.
Changes:
  • The last opened tab will now automatically be reopened when opening the plugin's settings dialog.
    It will reset to the General tab after restarting OBS.
  • Allow selecting current scene, previous scene and scene groups in "Switch preview scene" action.
  • Allow switching to already active scene if in studio mode.
  • Use name of the macro to be copied when attempting to duplicate a macro.
  • Also copy the logic type selection when duplicating conditions.
  • Double clicking on items in the lists of the "Run" or "Sequence" actions will now allow you to edit the entry.
  • Added the option to hide the tabs of the plugin which can be expressed via macros and reduce the visible tabs to "General", "Macro", "Network" and "Scene Group".
    This setting will be set as a default in a future version.
    HideTabs
Fixes:
  • Fix potential crashes when adding or removing macro actions or conditions.
  • Fix scene switch action blocking unexpectedly
  • Fix freeze when highlighting certain widgets

Special thanks to @lindenkron for his support in testing and providing feedback!
Additions:
  • Add "Sequence" macro action.
    Sequence
    This new action will allow you to advance through a list of other macros' actions, advancing to the next item in the list each time this action type is performed.
    An example can be found here.
  • Add macro action to stop other macros to the "Macro" action type.
    Stop
  • Add option to also check for configured volume level to the "Audio" condition type.
Fixes:
  • Fix unexpectedly returning true for hotkey condition.
    The condition would return true after unpausing a macro, if a configured hotkey was pressed during the time the macro was paused.
  • Fix dock location and size not saving correctly.
  • Fix potential crashes reported with the recent beta releases of OBS.
Notes:
  • The plugin folder structure has been slightly changed to move any dependencies the plugin ships with into a separate folder "adv-ss-plugins".
    This should make it easier if you would need to manually uninstall the plugin.
  • Like
Reactions: IDLT
Additions:
  • Add option to perform macro actions only on condition change.
    onChange
  • Enable the use of time constraints for transition condition type.
  • Reintroduce checkbox to change current scene check transition behaviour.
  • Like
Reactions: LeBlux
Top