mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-21 17:34:57 -05:00
An automation tool for OBS Studio
The tabOrder vector was initialized with the size of tabNames. Then new tabs were registered with AddSetupTabCallback() causing tabNames to grow but tabOrder to remain the same. Usually this is not a problem as LoadTabOrder() will be called which ensures that their sizes are in sync. However, when using a fresh OBS install or one with a corrupted scene configuration file, the on_save() callbacks are called before any loading callbacks. With the sizes of tabNames and tabOrder not being in sync this would lead to a crash. Fixed by adding a tabWidgetOrderValid() check within SaveTabOrder() before iterating over both vectors. The tabWidgetOrderValid() was expanded to check the sizes of both vectors. Additionally the tabOrder initialization was moved from global static initialization to function local static initialization to ensure that potential preceeding calls to AddSetupTabCallback() will be taken into account when setting up the tabOrder vector. |
||
|---|---|---|
| .github | ||
| build-aux | ||
| cmake | ||
| data | ||
| deps | ||
| forms | ||
| lib | ||
| module | ||
| plugins | ||
| scripting | ||
| tests | ||
| .clang-format | ||
| .cmake-format.json | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .pre-commit-config.yaml | ||
| BUILDING.md | ||
| buildspec.json | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| LICENSE | ||
| README.md | ||
An automation plugin for OBS Studio.
More information can be found in the OBS forums or the plugin's wiki.
Downloads
Binaries for Windows, MacOS, and Linux are available in the Releases section.
Installing the plugin
For the Windows and MacOS platforms, it is recommended to run the provided installers.
On Linux the plugin is available via the Flatpak package manager for users who installed OBS via Flatpak:
flatpak install com.obsproject.Studio.Plugin.SceneSwitcher
The Snap package manager offers an OBS Studio installation which is bundled with the plugin:
sudo snap install obs-studio
More information can be found here.
Contributing
- If you wish to contribute code to the project, have a look at this section describing how to compile the plugin.
- You can add custom conditions and actions at runtime using the API described here.
- You can optionally use pre-commit to automatically handle formatting.
- If you wish to contribute translations, feel free to submit pull requests for the corresponding files under
data/locale.