-
-
Notifications
You must be signed in to change notification settings - Fork 7.7k
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 media controls widget #2380
Conversation
b1c6e1e
to
6f22255
Compare
This is the part of the whole media controls PR that I think should still be up for debate. I'm not convinced a dock is the right way to go yet. I still think we should explore the source context menu from #1838/#1447, but I'd also like to hear other ideas too. If we add a new dock, I would want to see the removal of an existing dock (e.g. moving the buttons in the controls dock somewhere else, somehow). |
Actually seeing this as a dock, I don't hate it as much as I thought I would. A big part of the reason that docks aren't ideal is that the default Qt docking system is a little limited in where/how you can place them. There's options for better docking systems that would make this less of an issue. Maybe this is a good push to finally explore implementing one of those? The big detriment to #1838 is that it's a static location, but I like everything else about it. |
So, at first glance I had assumed that media controls would appear in a list, similar to the audio mixer, where the control set for each media source would appear in a scrollable list in the dock, which I feared might get overwhelming with even a moderate number of media sources. Now on closer inspection I realize that you have to select a media source first before you can control it, and the controls that appear in the screenshot are updated to reflect the selected media source. I think that makes me dislike having a dock even more, because it's only relevant when a media source is selected, and is otherwise just taking up room. While I do believe that having all media source controls for all media sources always visible is UI overkill, there are definitely usability advantages to at least giving users some controls without needing an extra click to select the media source first. Would it be crazy to have a play/pause button in the source list next to the Lock/Eye icons? This would at least match vMix's functionality, where one-click play/pause for video inputs is always available, but selecting the video input shows you more controls. Lastly, would it be possible to add items to the context menu for play/pause/restart/next/previous? I'm not sure how much control sources have over customizing their context menus. |
6f22255
to
350a901
Compare
350a901
to
4839d7d
Compare
4839d7d
to
b6e1121
Compare
While a dock might not be a perfect solution, I can see the advantage of merging this now for the sake of at least having some sort of UI for media controls, especially now that the API has been added. Worst case, the user can disable the dock if they want, even if we add media controls somewhere else. |
I am in favor of the dock solution as it is now. It feels natural in the current UI workflow. |
b6e1121
to
6952461
Compare
2d5bad5
to
d4f72bb
Compare
This has been edited to work with the source context menu PR (#1838). This will offer a better user experience than with a dock. Once that PR is merged, this will be finalized and also can be merged. |
d4f72bb
to
e4e0cd1
Compare
e4e0cd1
to
b4aa992
Compare
b4aa992
to
06be886
Compare
Thanks @briankendall, I can sometimes get the controls working with selecting the source media, but not always. Maybe a platform difference. I do have separate media files I need to play back to back, so hopefully multiple media selection will get sorted out. Thanks again. |
This is AWSOME!!!! I too have had some small glitches where when cutting to and then from the controls won't respond. One small suggestion. The ability to show time remaining ( or switch between the two) vs the current time would be ideal. Similar to a broadcast playback deck work that way you know exactly how much time you have left on the remaining clip at a quick glance |
ui->slider->setValue((int)sliderPosition); | ||
|
||
ui->timerLabel->setText(FormatSeconds((int)(time / 1000.0f))); | ||
ui->durationLabel->setText(FormatSeconds((int)(duration / 1000.0f))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on the requests we've been getting lately, I think people would rather see how much time is remaining in playback rather than the static duration of the media source, i.e. total duration minus time elapsed. A countdown time is important to see because people base manual cues off remaining time left in a media file, or do audible countdowns to other people on production. For example, they'll say things like "Camera 3 in 5...4...3...2...1...take" and base that countdown off the remaining time in playback.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I actually would think that a elapsed/remaining format would be useful. Some things cue off either...
Hello All! New member here. Thought I'd chime in. Downloaded Mac file from above. Running 10.14 Mojave on Mac. Playback controls are present but don't actually seem to function. I can select any prerecorded video file from scene or source list and media counter seems inactive, none of the media controls function as well. The scrubber can be dragged but has no effect. Screenshot shows an active video file playing and shows the media controls active yet not functioning. |
So, having used this for a live event last weekend, I actually think two sets of media controls would be most useful for events requiring multiple media file playback: one for what's in preview, and one for the current program output. I'd think a set of controls under each window (when in studio mode), much like what an NLE presents would be ideal. |
Multiple media files can be in a scene. It doesn't make sense to have one media control for a whole preview. |
It would seem to if I need to seek to the middle the next file I want to play. Or perhaps I'm missing something, as in it's current state I can't get the controls to bind to anything other than the first file that starts playing. Is there a way to accomplish this with it's current architecture? |
The controls are supposed to bind to whatever media file is currently selected. If they aren't, that sounds like a bug. |
Thanks! Yeah must be a bug. I've tried selecting the media files, renaming them, selecting from source and scene lists, and the controls are simply unresponsive. |
Yeah I mentioned earlier that they aren't reliably doing that for me. If they were, would I be able to scrub through a file in review while the current one was playing in program? |
Media sources are not active (and don't play because of that) while in the preview when in Studio Mode. This is not a bug, this is by design. |
If they are the exact same source, I don't think so. I believe scrubbing in preview would also scrub the live instance of the source. You would have to have two separate sources each referencing the same file. EDIT: Unless scrubbing the live view from the preview is what you wanted to happen, in which case yes, it would work. |
The media timeline scrubber is only relevant to what is happening in the
program window. And manipulation of the files should be done in the
properties section of the scene.
One issue I do see, is that the timeline and countdown are useless when
more then one media source is in a scene. Example being a background loop
with a clip playing over it.
This goes back to part of the previous discussion about the controls being
part of a dock vs a fixed ui element. Seems the idea of them being more
like the audio mixer REALLY should have been the way to go.
On Fri, Apr 24, 2020 at 11:52 AM Ben Torell ***@***.***> wrote:
If they were, would I be able to scrub through a file in review while the
current one was playing in program?
If they are the exact same source, I don't think so. I believe scrubbing
in preview would also scrub the live instance of the source. You would have
to have two separate sources each referencing the same file.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2380 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AARND4M3YSWMVA7RCMBUH3TROG7VBANCNFSM4KQ3LEMA>
.
--
- Adam Matos
|
I don't follow this at all. Can you explain more why this is the case? Why can't you just select the media file that you want to track? |
I think they mean something like what I commented on here: |
That looks like it would cover a lot of scenarios, mine included. In my case I am cutting between pre-recorded content from multiple media sources and live content. So I need to: -Start media file "A" at beginning. play until 30:00 So being able to scrub thru cued up files in the preview window would be very useful |
@scaesare Yes that will really be a lot handy, I have to note here what minute a video ends to go live right after. so this features will be really handy. Thanks guys |
Thanks a lot for your work @cg2121 ! This is a game changer feature for me. I can't wait for it to be merged.... I too think that the most versatile way of implementing it in the UI would be to integrate it as a dock (or even better, like suggested by @COOLIGUAY here #2380 (comment) ), but one way or another, it will be great to have this kind of functionality in OBS |
06be886
to
aae96ef
Compare
Hi guys, I would like to test it but I can`t find the dock or the media controls panel in OBS 25.0.8. How can I add your work to my OBS? I want to support you. |
Read the comments above please |
Idea: This should also register hotkeys for controlling playback for the selected media source. |
Hi, I would be very interested in this function in OBS, I tried the 25.0.3 release with the media controls but when I switch from one video to another I lose the reference track. I would also need only the countdown displayed below the video, can someone help me? |
@redemotion85 What I did was a Cue Audio with the same length as the video, with a 5 min warning, 1 min warning, 30 sec, 10, 5, 4, 3, 2, 1, and set it to Monitor Only. It does the trick for now ;) |
Moved to #2886, so both the media controls and source context menu can be tested. |
Description
Adds a dock for controlling media/VLC sources. The dock is enabled by default, so users don't have to go dig for it.
Motivation and Context
Final piece of #1803
RFC: obsproject/rfcs#6
The media source playlist support in #1803, will be added at a different time to simplify this PR.
How Has This Been Tested?
Controlled different media sources.
Types of changes
Checklist: