* 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)