Fixed the crash on closing OBS (hopefully, please report if it is still happening)
Added the functionality of the cursor position check (implemented by moatdd, Thanks!):
Adding the following entry will make OBS change to the "TopMonitor" scene when the cursor enters the specified subregion:
<0x0.1600x900>,TopMonitor
The format is like so:
<minXxminY.maxXxmaxY>,sceneName
Added the option to ignore certain window names.
This option is useful if you want to the plugin to ignore certain window names and not switch to the specified scenes. (for example when you ALT Tab to your chat window or Teamspeak and don't want the plugin to switch away from the game scene or whatever scene is currently active)
Just list the window names you want the plugin to ignore after the phrase "Ignore Window Names" like so:
Ignore Window Names,Twitch - Google Chrome,TeamSpeak 3
Sorry that this update was a bit late.
You can now specifiy scenes, which ,when selected, will pause the Scene Switcher.
You can now add a Scene Round Trip (Switches to specified Scenes when the trigger scene is active and waits for the specified delay before switching to the next scene in the sequence)
Thanks to everyone that pointed out issues / crashes that were fixed!
As always please report any issues and feel free to suggest any features!
Just a fix for the issue pointed out by erxct.
Titles containing brackets would wrongfully be interpreted as grouped regular expressions and their respective entry in the settings not would be recognized.
(example: League of Legends (TM) Client)
Added the "isFullscreen" option for the Scene Switcher.
It functions as an optional condition for the Scene Switcher. The line "Overwtach,OW,isFullscreen" would only switch to the scene "OW" if the application with the name "Overwatch" is in Fullscreen (note windowed mode is not enough in Windows). If you want to remove that condition just remove the ",isFullscreen" part.
A version of this plugin for MacOS was implemented. The addition of this version caused some changes in the structure of the plugin, mainly the storage of the settings of the Scene Switcher.
The storage of the plugin is now set by OBS itself and thus makes it easier to ensure that the settings file can actually accessed and read by the plugin.
Since the new location of the settings file is rather hidden i chose to implement a simple UI to edit the settings (which i plan to improve upon quite a lot when OBS will allow the use of custom made UIs). You can find an explanation on how to use it in the overview section of the plugin. Disabling the start message is possible in the options menu by setting the checkbox "Disable Start Message" It is also possible to import your old settings from a previous version of this plugin and let them be converted to the new settings format by the press of a button inside the new options menu.
Furthermore i removed the log message from appearing in the log files when the hotkey bindings for the plugin were loaded. Also the hotkey bindings should now not be unbound anymore when a hotkey was not used. I also added some protection against a wrongly configured settings file which should prevent OBS from crashing. Unfortunately hotkeys must be bound again, because i needed to change the naming of the hotkeys to allow the addition of more hotkeys in future (if necessary).
Known issues that still persist are:
- creating a new instance of "Scene Switcher Options" while one already exsists causes OBS to freeze
- beeing in studio mode stops the plugin from functioning
- "Window Name" showing up on the left side of the settings list ... (sorry just missed that while debugging)
Hotkeys bindings should now be saved and loaded as soon as a new binding has been used at least once (cant currently use obs_hotkey_save in obs_module_unload).
If you want to disable the start up message you can now add the following line to your settings.txt file:
Disable Start Message,Yes
Thanks to Sw33tP34 for pointing out the issue regarding the hotkey binding!
I fixed an issue where when using a backup scene or a fullscreen scene the regular expression scenes would be ignored. (If you dont use both at the same time you dont need to update the dll)
I also changed the example settings file to no longer include the non function League of Legends example to avoid confusion.
The plugin is now also usable with the 32bit version of obs. To install it just download the updated plugin and merge the "obs-plugins" folder with the one of your OBS installation.
I also added support for the use of regular expressions in the settings file.
So if you would want to switch to a scene named GC, whenever the window that is currently in focus contains "Google Chrome" somewhere in its title you would add the following line to your settings.txt file:
(.*)(Google Chrome)(.*),GC
If you want to keep your settings make sure you don't overwrite with the example settings.txt file.
Resolved the issue saying that "msvcp140d.dll". If you want to keep your old settings make sure you dont overwrite your old settings.txt file.
Sorry to anyone affected by this problem. It could have been easily avoided if I payed more attention.