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!
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.
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.
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.
It is highly recommended to use at least OBS 28.0.2 for the condition to behave as expected.- Improvements to the Screenshot action.
- 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.
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.
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.
Added configuration options for the regular expression matching for the following condition types:These configuration options will allow:
- File
- Filter
- Scene item transform
- Source
- Websocket
- 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.
- Added the option to split recordings to the "Recording" action.
- Added the option to refresh sources to the "Source" action.
This can be used to e.g. refresh browser sources.
- Added the "Http" action which will allow you to more easily send GET and POST requests.
- Added a condition to check current profile.
- Added the option to check the states of multiple macros at the same time to the "Macro" condition type.
- 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.