UI: Enable control of transitions audio properties #9192
+1,056
−12
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 aims to implement a standardised way to control the audio properties (mono, volume, balance, offset, monitoring and mixer channels) of transition sources (or rather, of their child sources).
Audio properties are saved as data settings of the transition source (transitions, being composite sources cannot hold audio properties of their own), and it's left to the transition's implementation to apply those to the relevant child sources, either on
source_update
, or on a custom procedure,transition_audio_update
(provided as a means to update the child sources audio properties without doing a full update).From a UI/UX standpoint, this adds an entry in the transition properties menu (provided that the transition has the
OBS_TRANSITION_HAS_AUDIO
flag):This entry then opens a dialog similar to the advanced audio properties, tied to the transition's audio properties
Motivation and Context
Control of transition volume can be useful as a lot of transition are provided as premade packs and might not fit the user's audio setup.
Control of transition mixer tracks is undeniably useful for editing or VoD audio isolation purposes.
Control of transition monitoring was pre-existing for stingers, but this provides a standardised way to enable it for future or third-party transitions.
The rest is probably less useful, but felt a decent addition to have full advanced audio control.
This was based on and expanded from the suggestions :
https://ideas.obsproject.com/posts/495/stinger-transition-audio-controls
https://ideas.obsproject.com/posts/1435/stinger-transition-audio-controller
How Has This Been Tested?
Tested on Ubuntu 22.04.
Tested by using a stinger video with audio and checking all audio setting applied correctly and persisted on save/load.
Linked below is a good media file for testing purposes if need be.
stinger_countdown.webm
Types of changes
Checklist: