Resource icon

Advanced Scene Switcher 1.25.3

Additions:
  • Expand date macro condition functionality.
    This condition type now supports specifying a range of time during which the condition will be true.
    For example:
    date
    Time ranges can be selected using the options "before", "after" and "between" and a time point can be selected using the "at" option.
Fixes:
  • Fix crash when deleting macro that is currently running a "wait" action.
  • Fix wait action causing macros to be aborted randomly.
  • Fix matching settings of sources and filters using macro conditions.
    Previously, depending on which version of OBS you were using, the settings would only match when using "flat" json formatting, which was not used when pressing the "Get current settings" button.
  • Fix writing current scene to file.
  • Like
Reactions: IDLT
  • Allow scrolling in expanded comboboxes
  • Fix extended sequence aborting when using non-instant transitions
  • Backwards compatibility to older settings format was removed to make sure no duplicate condition and action selections are shown on the macro tab.

    Most users will not be affected by this, but just in case:
    If you haven't updated the plugin in a while and are afraid that some macro settings will be lost when updating...
    ... make sure to backup your settings, when prompted to.
    ... install a previous version of the plugin to automatically convert the settings. (1.15.1 for example)
    Affected settings are the old "count", "screen region" and "interval" macro conditions.
  • Like
Reactions: IDLT
  • Fix video condition not saving time constraint, logic and collapsed state.
  • Add note to network tab clarifying the requirement of the scene names having to match exactly.
Macro tab UI changes:
  • Add the ability to reorder, add and remove macro conditions and actions in place.
    These new controls will appear when hovering over a macro condition or action.
    Controls
  • Persist collapse / expanded state of conditions and actions.
  • Add option to expand or collapse all macro actions or conditions.
    Right click inside the conditions or actions area to access these controls.
    ExpandCollapse
  • Prevent accidental edits of actions and conditions when scrolling by disabling scroll wheel interactions for widgets which have not explicitly gained focus by clicking on them.
Cursor macro condition changes:
  • Extend the mouse cursor macro condition to support detecting if the cursor was moved.
    CursorMoving
  • Add the option to show a frame highlighting the current screen region selected for a cursor macro condition.
    CursorFrame
  • Show current cursor position.
Fixes:
  • Fix crash on Wayland based Linux systems.
    Note that functionality relying on information provided X window manager (e.g. current foreground window) might not be functional on these systems.
Important note: The minimum supported version of OBS for this update is OBS 27!

The main focus of this update was to extend the capabilities of the macro tab once again.
Additions:
  • Add macro condition and action "hotkey"
    The action will allow you to simulate key presses. (Windows and Linux only)
    HotkeyAction
    The condition will allow you to trigger arbitrary macros with via hotkeys in OBS.
    HotkeyCond
    HotkeyCondSettings
  • Add macro condition "Macro"
    MacroCond
    The macro condition "Macro" contains the condition type previously named "Count" and also adds the option to check the condition state of other macros.
    This allows nesting of macro conditions in other macros.
    For example the following can now be configured using this new option:
    "If (scene 1 or scene 2 or scene 3 is active) for at least x amount of time"
  • Add macro filter condition and extend the filter action to allow modifying filter settings.
    FilterCond
  • Add macro condition "timer" (previously known as "interval")
    Timer
  • Add macro action and condition "scene item order"
    OrderAction
    OrderCond
  • Add macro action "scene transform"
    TransformAction
  • Add macro condition "replay buffer"
    ReplayCond
  • Add support for arguments for macro action "run"
    RunAction
  • Add macro action "file", which will allow you to write or append to files
    FileCond
  • Add macro condition "date"
    DateCond
  • Add macro action and condition for virtual camera
    VCamAction
    VCamCond
  • Add option to only trigger window condition if the foreground window changed (Thanks jan-leila!)
    WindowForegroundCond
  • Expand macro action plugin-state to support changing no-match behaviour
  • Add option to select "current scene" for some macro actions and conditions to reduce the need for multiple macros for each scene
  • Display more information about macros in collapsed state
Other changes:
  • Abort macro actions if a wait action was aborted by manual scene change
  • Place extended sequence widget in a scroll area
  • Allow matching empty files with the macro file condition and file tab
  • Format JSON strings whenever they are shown to the user to make editing them much easier
  • Set timeouts in curl calls to avoid blocking the whole plugin
  • Add a scene trigger to control virtual camera
Fixes:
  • Check for invalid settings on the transition tab which would result in the configured transitions to be ignored. (Thanks AuracleTech!)
  • Do not only check for libcurl in hardcoded paths (Should only affect Linux / MacOS)
Special thanks to ASchneider for his great support in testing and spotting bugs!
The main focus of this update was to extend the capabilities of the macro tab.
Additions:
  • Macro actions:
    • Added macro action to control scene item visibility
      sceneItemVisibility
    • Added macro action to control filters
      Filter
    • Added macro action to control media sources
      Media
    • Added macro action to control source settings and en-/disable sources globally
      SourceAction
    • Added macro action to stop the plugin
  • Macro conditions:
    • Added generic time constraint option to most macro conditions
      TimeConst1
      TimeConst2
    • Added macro condition which lets you trigger actions based on the settings or visibility or activity of sources
      SourceCondition
    • Added macro condition which lets trigger specified actions at a given interval
      Interval
    • Added macro condition which lets you trigger actions based on how often other macros were run
      Count
  • Pause macros:
    • Added the option to un-/pause individual macros via the plugin's UI
    • Added the option to un-/pause individual macros via hotkeys
    • Added the option to un-/pause individual macros via other macros
      Pause1 Pause2
  • Added new network tab options:
    • Added option to synchronize preview scene
    • Added option to not send scene change messages
      Network
  • Added Russian locale (Thanks to Alex-1968!)
Other changes:
  • Reduced logging in non-verbose mode
  • The macro condition and action areas on the macro tab can now be resized
Fixes:
  • Fix rapid scene switches by random tab
  • Fix potential crash in audio macro action
  • Fix fullscreen and implement maximized checks for MacOS
Added the Macro tab

Macros will allow you to perform a string of actions based on a combination of conditions.
For example this will allow you to only used audio based scene switching if a certain window is currently in focus.
But the actions are also not limited to just scene switching so you could for example mute your microphone while a media source is playing.​
The macro actions currently supported are:​
  • wait
  • switch scene
  • audio un-/mute / set volume
  • streaming start / stop
  • recording start / stop / un-/pause
  • replay buffer start / stop / save
  • run a program
Macro conditions that are currently supported are:​
  • window
  • screen region
  • audio
  • file
  • media
  • video
  • stream
  • recording
  • scene
  • process
  • idle
I plan on mostly focusing development on this new functionality and will be slowly fading out other tabs which do the same thing but worse. (For example media / video / audio tab)
If you should disagree with this approach please let me know.
MacroExample

Other changes and fixes:
  • Add option "has changed" to video tab
  • Add option to set transition duration
  • Only send scene switch messages if scene was actually switched (Network tab)
  • Adjust default setting values of transition tab
  • Fix previous scene not working for some sequences
  • Fix transition overrides not restoring duration correctly
  • Reset tab order if config is invalid
  • Fix crash on Linux if no ewmh support is available
  • Re-enable network tab for MacOS
  • Add add option to use transition overrides for transition changes instead of changing the active transition.
    The option can be found on the transition tab.
DisableTransitionChange
  • Added option to save window state
    This new option can be found on the general tab and allows you to save the size and position of the plugin's settings window.
    WindowState

  • Fix Crash on macOS:
    The asio library ran into issues e.g. when the obs-websocket plugin (or others which rely on this library) was starting a server leading to a crash in the obs-websocket's listen() calls.
    As the use obs-websocket plugin is more widespread than the use of the advanced scene switcher's network features, the network tab functionality will be disabled for macOS for the time being.
    This is of course only a temporary measure to avoid crashes on macOS.

    The Windows and Linux versions of the pluign are not affected by this change.
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.
    NetworkTab.PNG
    The functionality is mostly based on https://github.com/Palakis/obs-websocket.
    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.
Fixes:
  • Fix audio tab not supporting mono audio output. (Thanks nospam2k for your help!)
  • Fix window based scene switching always testing for focus.
Top