The reason for this change is that the macro condition "source" was
introduced which can change its required size drastically depending on
which condition type is selected.
* Adjust switchScene() signature to support adjustActiveTransitionType and verbose parameters and only change the transition type if adjustActiveTransitionType, otherwise rely on transition overrides
* Add new adjustActiveTransitionType checkbox
* save and load adjustActiveTransitionType
* Add check to either enable transition type change or use of transition
overrides
* Add locale
* Adjust layout and locale
The asio library ran into issues when the obs-websocket plugin was also running 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 the network tab functionality will be disabled for macOS for the time being.
The network tab allows you to open a web-socket or connect to web-socket to synchronize the active scene between two or more instances of OBS.
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.
Extending a scene sequence allows for more complex switching setups, but should also simplify some setups.
Sequences like "A -> B -> A -> C", which previously were only possible by creating a copy of A, can now be specified in a single entry.
To extend a sequence either select the sequence you want to modify and click the extend sequence button or simply double click the entry.
* adapt UI for i18n
* add placeWidgets() helper function to ease translation
* add hint about Transition Matrix plugin on Transition tab
* translate
* rework UI of file tab
* write status of plugin to scene info file
* rework general tab UI
* rework audio tab UI
* rework media tab UI
* rework time tab UI
* rework random tab UI
* rework window tab UI
* rework sreen region tab UI
* rework sequence tab UI
* rework transition tab UI
* adjust log messages to new format
* fix include path and warning
* highlight widgets to guide users (can be disabled)
* add helper frame for screen region tab
* rename main SceneSwitcher widget to AdvSceneSwitcher to resolve naming conflicts with the frontend tools on certain platforms (e.g. Debian 10)
* add media state 'any'
* adjust media switch handling to support vlc source
* move definitions of switcher structs to separate files
* remove useless comment
* cleanup and silence warnings
* add generic switch
* removed delay on main thread startup as it served no purpose
* clean up ultility.hpp
* do not save switchStr to file as it could cause issues when scenes are renamed
* rename sceneRoundTrip to sceneSequence
* add option to switch if window is maximized to title tab
use double internally instead of two ints
rework save / load to file to reuse existing functionality
add option to select between seconds / minutes / hours
Direct matching before regex has the potential to interfere with some usecases. For example, if a user wants to enter regex syntax such as `shell[1]`, a direct match would return a window matching `shell[1]` exactly instead of `shell1`. Granted, the odds of the two conflicting each other are slim, but the core logic shouldn't prevent a user from utilizing regex to its full potential. One can always escape reserved characters if they want to match it directly. I have also added a warning and link to https://regexr.com in the UI should this be accepted.
The rest of what has changed is simply to align with the executable switcher's matching, namely the use of `QRegularExpression` to drop the need for a try/catch block and moving the check for fullscreen to the if statement in order to remove the possibility of a race condition.
added random tab:
scenes listed here can be switched to at random for a set duration if no switch condition is met (and this setting is selected on the general tab)
Rename of Scene Round Trip to Scene Sequence
Moved all window title based stuff to its own tab
Redesigned general tab to fit new priority option and removed window title switch
Grouped other tabs where possible... don't remember all of it
Added some Warnings where applicable