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.
* Update original switch widget status if changed in extend edit
* Clean up
* Add more comments
* Clean up unecessary code.
Sleep no longer happens inside the sequence switch check so we don't
need to stop / start the switcher after importing new entries or deleting
existing entries.
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.
* move addSelectionEntry to AdvSceneSwitcher class and allow select entry to be 'selectable'
Can be useful for implementing 'current transition' as an option or just allowing to select 'None' for screen region ignore
* Add option to select 'current transition'
* use GetWeakSourceName() where possible
* add getCurrentScene() to scene group
* silence OBS warning log and fix typo in audio switch
* extract showing initial status of widgets to function in generic switch
This crash could happen if the scene switcher was currently stuck waiting in a scene sequence causing while the import of new settings took place potentially invalidating the settings of the sequence after wakeup.
This change should in theory improve the situation, so "pauses" - like they happen in human speech - in the range less than the configured scene switcher check interval will still result in a match, if there was at least a short moment where the configured volume threshold was reached.
Also extract attaching of the volmeter to an audio source to a separate function