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.
- Added the option to search / filter the selection boxes in the condition, action, scene, source, transition, filter, variable, connection, and macro selections.
- 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.
- 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:
- 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.
- 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.
- 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.
- Added the option to the "Variable" action to open a dialog window to assign a new value to a given 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.
- Added support for configuring additional streaming options:
- Set server URL
- Set stream key
- Set username
- Set password
- 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.
- Added the "Scene item lock" action, which allows you to lock, unlock, or toggle the lock state of scene items.
- Added the option to the "Source" action type to change the deinterlace mode and deinterlace field order of a given source.
- 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.
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.
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.
- Added the new "Open Sound Control" action type.
It will allow you to send messages to OSC devices.
- 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.
- Added support for configuring the title and icon of system tray messages.
- Added the option to adjust the recording output folder and file format string.
- Added the option to check for and set the keyframe interval of the stream settings.
- 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.
- Enabled use of variables in filter selections.
- Added the option to use custom labels for the run and pause buttons in macro docks.
- Added the "Display" condition type.
It lets you check the amount of connected displays and their names.
- Added the option to send and receive websocket messages which do not follow the OBS protocol.
Changes:
- Display warning symbol on the General tab if the plugin is set to be inactive.
- 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)
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.
You can enable this for a given selected macro on the macro tab using the settings button.
- 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.
- Added support for different algorithms for the video condition's pattern matching option, which might improve the matching accuracy depending on the use case.
- Added text recognition support (OCR) to video condition using "Tesseract". (Windows and MacOS only)
- Added variable support for most file selections.
- Improved "Http" action by adding support for variables and the option to specify headers when using the "Post" or "Get" action.
- Added variable support for most number based selections, e.g. duration or area selections.
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.
- 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.
- 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.
- 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:
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.
Additions:
- Added the option to round variable to nearest integer.
- Added the option to modify the value of a variable by using a substring of the current value.
This can be done based on fixed index and size or given regular expression:
- Update German translation (provided by BlackScreen)
Fixes:
- Fixed scene switch action aborting macro execution under certain circumstances.
- Fixed macro selection being displayed incorrectly when using certain OBS themes.
- Fixed crash when shutting down OBS while scene condition check was performed.
- Fixed export default settings export path falling back to OBS directory when scene collection would contain characters which cannot be used in paths or filenames.
- Automatically reset invalid selection in the Transition section of the General tab to "Change active transition type".
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.
To group macros simply select the macros you want to put into a group, right click and select "Group selected items".
- Improved variable support.
- Added the option to use variables in source selections for the following actions:
- Audio
- Filter
- Media
- Screenshot
- Source
- Added the option to use variables in source selections for the following conditions:
- Audio
- Filter
- Media
- Source
- Video
- Variables can be used in the text fields of the following conditions and actions:
- File
- Filter
- Http
- Scene item transform
- Source
- Websocket
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
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
- Added options to the "Plugin state" condition:
- Plugin started
- Plugin restarted
- Plugin is running
- OBS is shutting down
- Scene collection loaded
- Improved "Random" action.
- Enabled adding the same entry to the list multiple times.
- Added option to allow executing the same macro consecutively.
- Added the option to check for a change in visibility of a scene item and toggle the visibility of a scene item.
- 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.
- Added the option to check for mouse button presses to the "Cursor" condition. (Windows only)
- Added the option to match the scene name of the current or previous scene to a given pattern.
- Added the option to match the current date to a given pattern.
- Added the option to set working directory for processes created by the "Run" action.
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.
- 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.
Changes:
- Move settings to control the behaviour when changing transitions from the Transition tab to the General tab.
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.
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!