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, libobs: Add downstream keyer #2846

Closed
wants to merge 3 commits into from
Closed

Conversation

cg2121
Copy link
Contributor

@cg2121 cg2121 commented May 1, 2020

Description

Adds downstream keyer (global scenes), so users can have scenes that are always on top of other scenes. This PR allows for unlimited amount of DSK channels.

TODO:

  • Transitions between DSK channels
  • RFC finalized/merged

Motivation and Context

Previous PR:
#1321

Previous PR only allowed for one DSK channel.

RFC:
obsproject/rfcs#11

How Has This Been Tested?

Created DSK scenes and made sure that they were always on top.

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.

@kkartaltepe
Copy link
Collaborator

Random bugs i noticed.

This adds to scenes instead of global scenes:
Right click on global scenes -> Add

(in non-studio mode)
Select scene 1, see its sources in Sources.
Select global scene 1, see its sources in Sources.
Select scene 1 again, still see global scene 1's sources in Sources.

@unknowndomain
Copy link
Contributor

A few points of feedback:

Amazing work
First I think this is an amazingly useful and powerful addition, which even if hidden by default would allow people to grow into it, especially for those who want to do bugs, or use an external graphics package for lower thirds.

I tested this on macOS Catalina without issue, I would note that the default location of the dock was to the right of the controls for me, where I see in the ui file it was meant to be the left of Scenes.

DSK toggling vs switching
Currently the DSK behaves like an identical duplicate of the sources which means that global scenes switch when you click through them. I would imagine the DSK behaviour should be more like the audio mixer in that you can have multiple DSKs layered that you can toggle on and off using a button on the right (eye symbol) like sources.

It might make sense to support toggling and switching through an option in the settings to change behaviour?

DSK transitions
It seems likely the next question if this was finished and released now is going to be about DSK transitions in either toggling or switching mode.

User Interface
I am, personally not sure about is the current UI implementation, I appreciate that adding another dock is likely the simplest solution and hides this feature from new users who would be confused, however I personally think it currently makes the sources view confused and will do the same for the transitions one if that feature is implemented.

The reason for this is that its not obvious whether you've selected the source or global and it kind of breaks the current UI pattern which is clearly has a hierarchial relationship from the Scenes on the left to the Sources on the right.

Current: Scenes > Sources
New: Scenes > Source < Global Sources

There are a few options you could use:

Simpler - might be making it clear which scene the sources list is for by changing the Dock title and maybe having a globe icon for the Global ones.

Complex - might be to put global sources in the Sources Dock as a tab, either by showing the tab.

@cg2121
Copy link
Contributor Author

cg2121 commented May 3, 2020

The bugs mentioned here should be fixed now.

@kkartaltepe
Copy link
Collaborator

kkartaltepe commented May 3, 2020

Adding two global scenes it looks like when the 2nd is selected (2nd being farthest down), both are rendering instead of just the 2nd one. Adding a third global, the 1st is always shown if it was selected before selecting the 2nd or the 3rd. (in non-studio mode)

Previous bugs look fixed.

@WizardCM WizardCM added the Enhancement Improvement to existing functionality label May 5, 2020
@unknowndomain
Copy link
Contributor

unknowndomain commented May 6, 2020

Found another bug:
When you click scenes they change the sources list as expected, if you then press the keyboard arrow keys to switch between them it doesn't change the sources or displayed scenes.

Possible third bug:
I created a global scene called bug which is at the top of the list it remains on screen all the time, but the 2nd global scene I just made called test does not, if I click of the 2nd global scene it goes away, but if I click off the first it doesn't.

Whats weird now is that every time I quit OBS and reopen that 'Bug' global scene increases by one. I've launched OBS 3 times, and now have three 'Bug' global scenes.

Likely fourth bug:
Applying a filter to a global scene or source of a global scene works initially but then while edditing the settings (specifically tested with Chroma Key) the slider seems to make the whole thing disappear until you close the filter properties and toggle to another scene and back again.

@cg2121 cg2121 force-pushed the dsk branch 2 times, most recently from fec5429 to 17a4ef8 Compare May 14, 2020 06:20
@cg2121
Copy link
Contributor Author

cg2121 commented May 14, 2020

All of the bugs mentioned here should be fixed now.

@WizardCM
Copy link
Member

How much of the context menu has been touched? Currently I see options that only make sense for standard scenes, like "Show in Multiview" (and this option incorrectly toggles the standard scene with the same index).

As there's no "copy/paste" for scenes, maybe it'd be worth having a checkbox in the Duplicate Scene dialog to allow the user to duplicate the scene from standard/global?
Expanding on that, would it make sense to allow users to drag a scene between these two docks? (currently it's not possible, but it could be good UX)

I also notice that switching between global scenes doesn't respect the globally selected Transition nor the Transition Override. At the very least, I think it should support Transition Override.

@unknowndomain
Copy link
Contributor

A thought came up in conversation today that it would be cool if you could have the scenes above and below the normal scenes so that you could create a permenant background.

@cg2121
Copy link
Contributor Author

cg2121 commented Aug 19, 2020

Closing until RFC is finalized.

@cg2121 cg2121 closed this Aug 19, 2020
@cg2121 cg2121 mentioned this pull request Dec 27, 2020
6 tasks
@cg2121 cg2121 mentioned this pull request Apr 10, 2021
6 tasks
@cg2121 cg2121 deleted the dsk branch November 8, 2021 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Improvement to existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants