Resource icon

Advanced Scene Switcher 1.24.2

Important notes:​

Please make sure to back up your settings!
If you run into any issues, please either post in the OBS forums or create an issue on GitHub!

Note for MacOS users:
This version of the plugin is only compatible with OBS 30 or newer.
More information can be found here.
This does not affect Windows or Linux.

Fixes:​

  • Fixed crash related to the settings backup dialog.

Other changes:​

  • The audio condition will no longer return true if no audio source is selected.
  • Decreased the minimal interval time to 10ms. (Oekn5w)
    Please note that decreasing the interval value will result in the plugin using up more system resources.
  • Slight performance improvement related to the Video condition's area selection. (Oekn5w)

Important notes:​

Please make sure to back up your settings!
If you run into any issues, please either post in the OBS forums or create an issue on GitHub!

Note for MacOS users:
This version of the plugin is only compatible with OBS 30 or newer.
More information can be found here.
This does not affect Windows or Linux.

Additions:​

  • Added the option to the "Recording" condition to check the current recording duration.
    image
  • Added option to check if a given macro is currently paused
    image
  • Added the "Clipboard" action type. (Destroy666x)
    image
    It will allow you to modify the clipboard contents.
  • Added support for "random()" function in Variable math expression, which will generate a random number in the rage [0,1).

Other changes:​

  • No longer wait for a transition to complete if the currently active scene is already the target scene.
  • Reworked the "Process" condition to explicitly enable or disable the use of regular expressions.
    Process
    This condition now also supports macro properties to query the process name.
  • Added macro property support to Macro condition.
    This will allow you to query the number of times a macro was executed when using the "Macro run count" check type or how many of a given set of macros were true when using the "Multiple macro condition state" check type.
  • Added macro property support to the Video condition.
    This will allow you to set query how often a given pattern was found, how often a given object was detected, the current average brightness value, the text detected by the OCR algorithm, or the average color of a given video input frame.
  • Added tooltip for run button explaining how to run else actions for testing. (Destroy666x)
  • Added a button to toggle show / hide the else actions section. (Destroy666x)
  • Minor UI layout changes.

Fixes:​

  • Fixed "Or not" logic type being ignored.
  • Fixed macro references (in e.g. Macro conditions or actions) not being resolved to imported macros.
  • Fixed duration value not being updated correctly when changing units from e.g. seconds to minutes in some circumstances.
  • Fixed window condition not clearing macro property values of the previously selected condition type.
  • Fixed a crash when interacting with sources which have settings values without a description.
  • Fixed plugin on starting on Linux if the libprocps dependency is not met.

Important notes:​

Please make sure to back up your settings!
If you run into any issues, please either post in the OBS forums or create an issue on GitHub!

Note for MacOS users:
This version of the plugin is only compatible with OBS 30 or newer.
More information can be found here.
This does not affect Windows or Linux.

Additions:​

  • Added the "Twitch" action, which will allow you to ...
    • Set the stream title
    • Set the stream category
    • Create a stream marker (Destroy666x)
    • Create a stream clip (Destroy666x)
    • Start a commercial
    • Send chat announcements (Destroy666x)
    • Enable or disable emote-only mode (Destroy666x)
    • Raid a channel
    • Send chat message
    TwitchAction
  • Added the "Twitch" condition type, which will allow you to ...
    • Check if a stream went live
    • Channel information was updated
    • New followers were received
    • Subscriptions were received
    • Someone cheered in the channel
    • Poll started
    • Chat messages are received
    • And more ...
    TwitchCondition
    Huge thanks once again to Destroy666x for his amazing support in implementing all of this!
  • Added an "else" action section to the macro tab.
    This should allow you to simplify your macro setups if you previously created separate macros for the "else" branch.
    Here is an example of the "else" section in use:
    ElseAction
    This unfortunately comes with a minor breaking change:
    Previously, the "Perform actions on condition change" would also affect how the condition state of a macro was evaluated.
    Macros with this option enabled would only be considered to be evaluated to "true" for the interval in which the conditions turned true.
    Now they are considered to be evaluated to "true" in this scenario and the "on change" option only has an effect on if the actions are performed or not.
    This could cause issues if you were previously relying on this behaviour in combination with the "Macro" condition type, but this should hopefully be a very rare circumstance.
    This was necessary to be able to support the "else" actions also being affected by the "Perform actions only on condition change" option.
    (And I also think it makes more sense logically as the option only mentions actions being affected)
  • Added the option to modify individual setting values of sources and filters.
    grafik
    This should make it a lot easier to modify the settings of sources and filters.
    The old method of modifying the settings json string is still available as well.
  • Added option to check for settings changes to the "Source" and "Filter" condition.
    image
  • Improved the "Variable" action by adding the option to ...
    • Set a placeholder text when asking for input.
      image
    • Set to the value of a given environment variable.
      image
    • Set to the value of the count of scene items of a given scene. (to enable iteration over scene items)
      image
    • Added the option to set a variable value to the length of a given input string.
      grafik
    • Added the option to extract json fields from a variable.
      grafik
  • Added the "all" option in filter selection to make it easier to apply changes to all filters of a given source.
    grafik
  • Added the option to check if the scene item transform of a given source changed. (Oekn5w)
    grafik
  • Added the option to open the properties and filter windows of sources.
    grafik
  • Added the option to the "Media" action to seek to the percentage value of the media source's playback length.
    image
  • Added French locale (lMagickl)
  • Introduced "Macro properties".
    These are basically temporary variables which are generated by certain types of conditions and can be used throughout the macro.
    These were mostly introduced to make it easier to work with the various properties made available through the Twitch condition.
    Here is an example of how to use them to set the text of a source to the user name of a new follower on Twitch if it matches a given pattern:
    grafik
    Other condition types which also set properties are:
    • Audio
    • Date
    • MIDI
    • Scene
    • Timer
    • Window

Other changes:​

  • Moved the action to switch the preview scene from the "Studio mode" action to the "Switch scene" action.
    This change will not affect existing "Studio mode" actions.
  • Windows only: The "Window" condition type will now also list OBS windows instead of only the placeholder entry named "OBS".
    For example, this will allow you to check if a projector window is already opened.
  • Reset monitor selection in "Projector" action when monitor setup changed, instead of defaulting back to the new monitor at the same index of the previous monitor setup.
  • Only show the "Slide Show" condition type if the installed version of OBS supports necessary features.
  • Added the option to reduce CPU load of the "Video" condition's "has changed" checks by reducing the frequency at which the output is checked.
    image
  • Added option to disable filtering by typing in various selections.
    image
  • The option to set the OBS master volume is now hidden as that functionality was deprecated from OBS for quite a while.
  • Added compression to the export functionality for individual macros as the strings could get quite long.
  • When exporting macros, any variables defined will now also be exported and defined on import to make it easier to share macros which are using variables.

Fixes:​

  • Fixed the "Video" condition's OCR value not being assigned to variables when the use of regular expressions was enabled.
  • Fixed crash on shutdown related to macro docks.
  • Fixed crash when reordering macro actions while they were executed.

Important notes:​

Please make sure to back up your settings as there are quite a lot of changes!
If you run into any issues, please either post in the OBS forums or create an issue on GitHub!

Additions:​

  • Added the option to selectively skip execution of macros on startup.
    SkipExec

Fixes:​

  • Fixed crashes related to the "Video" condition type. (OpenCL support has been reverted)
  • Fixed certain dialogs not being visible when OBS' "Always On Top" option was enabled.
  • Fixed "Window" condition type not respecting the "Window title matches" being disabled in certain circumstances.

Important notes:​

Please make sure to back up your settings as there are quite a lot of changes!
If you run into any issues, please either post in the OBS forums or create an issue on GitHub!

Additions:​

  • Added the option to disable individual actions of a given macro.
    This can be controlled using the switch button to the top left of a given action.
    You can also en-/disable or toggle the enable state of an action of a particular macro using the "Macro" action type or check its state using the "Macro" condition type.
    ActionDisable
  • Added the option to search / filter the selection boxes in the condition, action, scene, source, transition, filter, variable, connection, and macro selections.
    FilterComboBox
  • Added export / import functionality to the right click context menu of the macro list.
    This enables the easy sharing of macros across scene collections, other instances of OBS., and across users of the plugin.
    A quick guide of the general workflow can be found here.
  • Additions to the scene item selection:
    The scene item selection, which can be found in the "Scene item lock" "Scene item order", "Scene item transform", "Scene item visibility", and "Transition" conditions and/or actions, previously only allowed name based selections.
    Now additional selections can be made based on index, source type, name pattern.
    This should allow users to simplify some setups and reduce the maintenance required if the layout of a scene should change.
    SceneItem
  • Added the option to the "Hotkey" action to trigger global OBS hotkeys without them having to be bound to a specific key combination.
    This can be used to interact with other OBS plugins, which offer such hotkeys.
    For example, you could use this to trigger starting recording in the OBS Aitum Vertical plugin:
    Hotkey
  • Video condition additions:
    • Added the option to check how similar a video output is to a given color.
    • Enable use of other OCR language models and improved matching accuracy.
    • Enabled OpenCV's OCL support to slightly improve performance.
      Color
  • Added the "Slide show" condition.
    It will allow you to check if a slide was changed, what the current slide index or path to the currently displayed image is.
    SlideShow
  • Added additional options to the "Scene item transform" option which can also be found when right clicking sources.
    This includes flipping, centering, stretching, and rotation of sources.
    Transform
  • Added the option to the "Variable" action to open a dialog window to assign a new value to a given variable.
    Variable
  • Added more configuration options to macro docks:
    • Added support for adding text labels to macro docks.
      The text displayed can be configured to be different depending on if the conditions of the macros are true or false.
    • Added the option to highlight a macro dock its actions were executed.
      Dock
  • Added support for configuring additional streaming options:
    • Set server URL
    • Set stream key
    • Set username
    • Set password
      Stream
  • Add the option to the "Filter" action to toggle filters on and off instead of only enabling or disabling them.
    This should enable some macro setups to be simplified.
    FilterToggle
  • Added the "Scene item lock" action, which allows you to lock, unlock, or toggle the lock state of scene items.
    Lock
  • Added the option to the "Source" action type to change the deinterlace mode and deinterlace field order of a given source.
    Deinterlace
  • Websocket action additions:
    • Added support for sending generic OBS websocket messages.
      This should enable you to interact with other plugins which offer an API via the OBS websocket interface or other OBS instances which are not running the Advanced scene switcher plugin.
      For an example how to interact with the OBS Aitum Vertical plugin to switch vertical scenes click this link.
    • Added support for sending generic non-OBS protocol websocket messages.
      Websocket

Other changes:​

  • Enabled selecting scenes in the "Source" condition type.
  • The "HTTP" action now allows use of longer header entries.
  • Duration modifiers can now be used with the "Hotkey" condition to, for example, check how long a key was pressed.
  • The "Timer" condition can now be used to assign values to variables.
    The value assigned to the variable will be the time remaining.
  • The run action now allows passing empty arguments and arguments of larger sizes.
  • The "Perform actions only on condition change" is now enabled by default for newly created macros.
  • When creating a new scene collection you will now start with an empty macro list instead of copying the macro list of the previously active scene collection.
  • Added buttons for the macro tab to move macro segments to top / bottom of segment list.
  • Minor UI tweaks and cleanup.

Fixes:​

  • Improved the position of docks being restored incorrectly.
    Unfortunately some problems still remain in that area.
  • Fixed a crash which could occur while waiting for a transition while no transition was selected.
  • Fixed a potential crash when resolving variables during shutdown of OBS.
  • Fixed various visual reordering issues in the macro list.
  • Fixed creation of a group starting at an incorrect index.
  • Fixed segment selection being lost when using the up / down button.
  • Updated Chinese locale. (provided by qwe1154323937)
  • Fixed function priorities not being saved.
  • Like
Reactions: NAZARUIZ and IDLT

Additions:​


  • Added the new "MIDI" condition and action type.
    It will allow you to interact with MIDI devices and perform actions based on received MIDI input.

Midi


  • Added the new "Open Sound Control" action type.
    It will allow you to send messages to OSC devices.

OSC


  • Added action to close OBS.
    This will open a dialog asking for confirmation if OBS should be shut down.
    When not interacting with the shutdown dialog for 10 seconds or when confirming the shutdown OBS will be closed automatically.
    If a recording or stream is still active, a separate confirmation prompt has to be confirmed.

ShutDown


  • Added support for configuring the title and icon of system tray messages.

Systray


  • Added the option to adjust the recording output folder and file format string.

Recording


  • Added the option to check for and set the keyframe interval of the stream settings.

Keyframe


  • Enabled the option to adjust the transition specific behaviour, which is available for the previous / current scene check, to also be available in the scene name pattern matching checks of the "Scene" condition type.

ScenePattern


  • Enabled use of variables in filter selections.

FilterVariable


  • Added the option to use custom labels for the run and pause buttons in macro docks.

Dock


  • Added the "Display" condition type.
    It lets you check the amount of connected displays and their names.

Dispaly


  • Added the option to send and receive websocket messages which do not follow the OBS protocol.

Websocket


Changes:​


  • Display warning symbol on the General tab if the plugin is set to be inactive.

General


  • Duplicated macros will now be inserted after the original macro instead of at the end of the macro list.
  • Minor UI layout tweaks.
  • Reworked the "Window" condition type.
    • Adjusted the layout.
    • Added support for use of variables in the window title selection.
    • Added the option to configure the regular expression matching behaviour.
    • Added the option to check for text contained in windows (Windows only)

Window


Fixes:​

  • Fixed crash in combination with the video condition's brightness check. (erikvdv1)
  • Fixed websocket events not being processed in certain circumstances.

Changes:​

  • A confirmation prompt will now appear even when deleting only a single macro.
  • A warning message will now be displayed if a plugin of the advanced scene switcher (e.g. the video condition) fails to load.
  • Removed backwards compatibility for old versions of the "Studio mode" action.
    This should prevent the log messages "did not insert duplicate action entry with name "Studio mode"" from appearing.

Fixes:​

  • Resolved an issue where using OCR check of the video condition could cause OBS to crash.
  • Fixed a bug where video condition's pattern match mode was not loading correctly.
  • Set the correct version number for created Debian package. (Linux only)
  • The handling of errors when reordering macros has been improved.
  • Fixed issue of macro docks disappearing after changing scene collections.
    Note that it might not always be possible to restore the exact location of the macro docks when changing scene collections.
  • Fixed macro properties dialog window not resizing correctly when adjusting the dock settings.

Additions:​

  • Added the option to create dock widgets of macros to manually run or (un-)pause them.
    Dock
    You can enable this for a given selected macro on the macro tab using the settings button.
    DockExample
  • Added "Run" condition.
    This new condition type allows you to use external programs to trigger actions based on the exit code of a spawned process.
    RunCondition
  • Added support for different algorithms for the video condition's pattern matching option, which might improve the matching accuracy depending on the use case.
    PatternMethod
  • Added text recognition support (OCR) to video condition using "Tesseract". (Windows and MacOS only)
    OCR
  • Added variable support for most file selections.
    FileSelectionVariable
  • Improved "Http" action by adding support for variables and the option to specify headers when using the "Post" or "Get" action.
    Http
  • Added variable support for most number based selections, e.g. duration or area selections.
    DurationVariable
    The default value will be 0.0 if a given variable is not a valid number.
  • Added option to assign the value of mathematical expressions to a variable.
    MathVariable
  • Enabled assigning value of a "Scene item transform" condition to variables.

Changes:​

  • Set the default logic type of new non-root macro conditions to "Or".
  • Prevent accidental duration changes while scrolling through the settings.
  • Enable shrinking the status dock to smaller sizes.
    Dock
  • Improve preview frame visibility of cursor condition.
  • Create new groups at the top most selection index, instead of at the bottom of the macro list.
  • Allow drag and drop of macro segments while clicking on the header label.
  • Added macro list context menu options for add, rename, remove.
    ContextMenu
  • Enable deleting multiple macros at once.
  • No longer ask for confirmation when deleting empty groups.
  • Use theme based icons for status dock, group, and duration icon.
  • Minor layout related changes.

Fixes:​

  • Fixed macro, connection, or variable selections being if the referenced item was renamed.
  • Fixed video condition preview dialog not showing matches in some circumstances.
  • Fixed "Hotkey" action not "holding" down keys for the specified duration. (Windows)
  • Reduced size of installer binary. (Windows)

Additions:​

  • Added an action to open projector windows of sources.
    Projector

Changes:​

  • The "Perform actions only on condition change" setting will now also be highlighted if an action was prevented and if only highlighting of actions is enabled.

Fixes:​

  • Fixed macro list potentially displaying wrong contents after deleting a group, which was not collapsed.
  • Fixed more crashes related to the preview and area selection dialog of the video condition.
Top