Frontend_API: Expose Studio mode:"Swap preview/program after transitioning" via the frontend API #12770
+86
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This one is simple: This pull request adds an API call to toggle "Swap preview/program after transitioning" in the transition menu. It also adds an API call to check the value of that mode.
Motivation and Context
While I know it is not the primary objective of OBS, I have been personally experimenting with the usage of OBS as a cost effective video switcher for IMAG, Streaming, and Education (teaching people how to direct). Especially since a surprising amount of medium size shows do hack OBS to be their primary switching utility. When it came to replicating a basic video switcher with OBS, the only major issue I ran across was that I could not program a TRANSITION button and a PROGRAM button to work exactly like a real video switcher. With PROGRAM, the input corresponding to the button that is pressed is pushed immediately to program, where as a TRANSITION button/slider swaps preview and program. Because both buttons need the swap option to be different, I decided to try my hand at writing a new API call after the maintainer of the plugin I was using said there were API limitations when it came to my goal. I am not the best coder in the world so please feel free to provide feedback if you have any!
https://ideas.obsproject.com/posts/3029/make-swap-preview-program-scenes-after-transitioning-option-accessible-via-obs-api
How Has This Been Tested?
This has been tested lightly using a test plugin on my laptop. I noticed no performance issues or missing functionality. I made sure that the options still persisted after rebooting the program and that no feature I use with OBS is affected.
Testing device: i7 8th gen laptop with a 1080p screen
Testing os: Arch Linux (Garuda)
Testing mode: OBS portable
Used a test plugin which changed the "swap" functionality every 5 seconds for over 30 minutes with no issues. Also ensured that there would be no adverse effects if you take obs out of studio mode.
Types of changes
Tweak (non-breaking change to improve existing functionality)
Documentation (a change to documentation pages)
Checklist:
Please let me know how to fix the commit messages and clang-format the PR. I made the commits to my personal repo before reading the guidelines. Thanks!