Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI: Add ability to set global scenes #4491

Closed
wants to merge 1 commit into from

Conversation

cg2121
Copy link
Contributor

@cg2121 cg2121 commented Apr 10, 2021

Description

Also known as a downstream keyer. To use, right click as the scene and
select 'Set as Global.' To reset, right click again and click
'Remove as Global.'

When the user sets scene as global, a pin icon will be shown with
the list item. The currently selected global scene has a red pin
icon next to them.

This does not implement transitions between the global scenes,
as that will have to be a future endeavor.

Screenshot from 2021-04-09 18-30-53

Motivation and Context

Massive simplification of my previous DSK PR #2846. This accomplishes the same thing with so much less code, making it easier to maintain. Other developers have suggested this pinning scenes approach to accomplish this feature.

RFC obsproject/rfcs#11

How Has This Been Tested?

Set scene as global, and made sure it was the top scene in each scene.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

Also known as a downstream keyer. To use, right click as the scene and
select 'Set as Global.' To reset, right click again and click
'Remove as Global.'

When the user sets scene as global, a pin icon will be shown with
the list item. The currently selected global scene has a red pin
icon next to them.

This does not implement transitions between the global scenes,
as that will have to be a future endeavor.
@exeldro
Copy link
Contributor

exeldro commented Apr 10, 2021

I am not sure about using hardcoded output channel 7, maybe use a define for it?

@kkartaltepe kkartaltepe added the Seeking Testers Build artifacts on CI label Apr 10, 2021
@energizerfellow
Copy link

Would it be possible to map the audio sources configured in Settings -> Audio to the regular Sources panel as pinned audio sources in every scene?

I'd argue having global audio sources being hidden in OBS's general settings was a mistake to begin with and mapping those global audio sources from Settings into the regular Sources UI would be the path forward to deprecating the legacy global audio sources in Settings.

@WizardCM WizardCM added the Enhancement Improvement to existing functionality label Apr 10, 2021
@WizardCM
Copy link
Member

Would it be possible to map the audio sources configured in Settings -> Audio to the regular Sources panel as pinned audio sources in every scene?

This PR is unrelated to such a feature request.

@WizardCM
Copy link
Member

Using this, it feels a bit weird being able to deselect the current scene to select the pinned scene, and not having a visual for what the current scene is - #2969 would help in this area.

I also think that pinned/DSK scenes might not make sense mixed in within the general scene list, but I can't think of where else to put them - locking them to the bottom of the list would be weird.

Also, how do I deselect the currently pinned global scene?

I've also found a bug.

  1. Set the global transition to Cut
  2. Pin the first global scene
  3. Click on your first standard scene
  4. Click on the pinned scene
  5. Click back to the standard scene
  6. Click on the pinned scene
  7. Click back to the standard scene

Either on 5) or 7) the Scene Transition dock will grey out and be stuck transitioning. Clicking on a different scene fixes it, and then repeating steps 3-5 will trigger the bug again.

@cg2121
Copy link
Contributor Author

cg2121 commented Sep 27, 2021

Closing, as @exeldro has a DSK plugin, https://obsproject.com/forum/resources/downstream-keyer.1254/

I feel like the plugin has a much better UI, and it also does transitions, which this does not.

If we want a DSK to be a main program feature, instead of third party, we should consider adding the plugin to the main repo.

@cg2121 cg2121 closed this Sep 27, 2021
@cg2121 cg2121 deleted the pin-scenes branch September 27, 2021 22:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Improvement to existing functionality Seeking Testers Build artifacts on CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants