422658476 / MPV-EASY-Player

MPV-EASY Player - An easy to use, modern video player based on mpv (一个基于MPV,易于使用,现代化的视频播放器)
http://www.rjno1.com/mpv-easy-player/
GNU General Public License v3.0
1.06k stars 56 forks source link

OSD bar is always showed in borderless GUI , no matter the setting #4

Closed ipbtaliz closed 6 years ago

ipbtaliz commented 6 years ago

Hi,

by any chance have you disabled the possibility to hide the progress bar during playback (OSD bar) when MPV-EASY Borderless GUI is enabled? If so, why?

Things I've tried to disable it:

422658476 commented 6 years ago

The osd bar in mpv-easy borderless gui mode is not from mpv, but is rendered by the mpv front end I wrote. This osd bar does not have an option to display and disable. This can be reflected in the settings. When you enable the mpv-easy borderless gui mode, the osd-bar option is disabled. So this is not a bug. Why osd bar can't be hidden: This involves many factors, but most of them are related to human-computer interaction in the borderless mode.

  1. If you open multiple player windows in borderless mode, osd bar is the only element that allows you to visually see which window is in front of the display, in order to get the color of the window without the focus is gray, I believe no one would like to use the taskbar to determine which is the most recently used window.

2.osd bar can prompt you to play the progress. Since the borderless mode hides all visible elements, in many cases you need to know the progress of the playback. The osd bar that is always displayed at this time will be more user-friendly than the one that always uses the mouse to trigger the display of osc.

  1. osd bar color is often very user-friendly, its height and width have been determined through many repeated attempts, it does not take up space, it is clear, but not eye-catching. When your vision is in the video itself, you will not feel its existence. When you want to know the current progress, the perspective will subconsciously move down, and it will be very easy to find and see it. What's more, the custom color function has been added to the settings. If you feel that the default color matching is too eye-catching and disturbing in full-screen mode, you can adjust it to a more unobtrusive color scheme.

  2. Consistency of the two gui mode experiences. The mpv-easy player was originally designed for the mpv native mode, so it has a lot of experience optimization for mpv, one of which is the very useful and beautiful osd bar. The osd bar displayed from time to time is also one of the features of the mpv-easy player. So it is also turned on by default. When the mpv-easy player has its own gui, this function is naturally ported and improved. If you have used both modes, you will find the difference between the two osd bars. However, improvements must also maintain consistency in the experience. The osd bar in mpv native mode is either displayed or hidden. Therefore, since mpv-easy borderless gui osd bar is very necessary to display, it will also follow the consistency, both in the window state and full screen state. At the same time, there is no confusion when the two modes use the same setting interface.

  3. If you are accustomed to using the shortcut keys to fast forward, the permanent display of the osd bar is more suitable. Maybe you would say that it is better to display the osd bar briefly when you press the fast forward shortcut, but when you want to see the progress? People who are accustomed to using the shortcut keys to fast forward will press the fast forward button to display the osd bar, and then press the fast reverse button to correct the progress. The principle is similar to the progress of using the mouse. Since this situation cannot be avoided, why not always display it?

There may be other reasons.

ipbtaliz commented 6 years ago

Thank you for your long answer. I started writing this message answering point by point from your list, but instead I've now changed it and I'm going to be more concise.

Both the GUIs are quite nice, and your OSD looks fantastic but it should be up to user preference if it has to be permanently showed, always hidden, or only show up when you're sending commands [like seek] (as you can already do in Native GUI). You said there's a technical limitation for the Borderless GUI that requires you to always show the OSD bar. Even by assuming that it's true, there's not a single reason why you shouldn't be able to at least change its size. One should be able to make the OSD bar 10 times smaller for example, or move it on top.

Said so I guess I'll have to keep using the MPV Native GUI, even if the MPV-Easy Borderless GUI is gorgeous. I often watch videos with subtitles so having the OSD bar to always show is a bit intrusive (I agree that it's not eye-catching while watching videos without subtitles)

422658476 commented 6 years ago

In fact, many times users don't know what he really wants, at least I think so. Your point of view should be correct in your understanding, because not everyone's ideas are the same as me. More practically: most things are like a coin, always with its front and back sides. So in the mpv-easy borderless gui, whether the osd bar has the option to turn it on and off, whether there is a length option, there is actually no conclusion that it will always be correct. The square and the counter have a reason to explain their point of view. Correctness, the result is only endless quarrel: ( I can only say that the mpv-easy borderless gui style design is a full display of my personal understanding of the player control under the borderless gui. It is flawed. In fact, I think that the design itself is flawed. In particular, osc will cover subtitles. In order to improve this defect, osc will not be displayed for a long time, the mouse will immediately hide the osc when leaving the window area, and the default position of the subtitle is raised. Perhaps the osc display is more user-friendly at the bottom of the video screen, but I think that the osc that has been displayed at the bottom of the video screen is not as good-looking as it is now, and too many players use this design, which is inconsistent with the mpv native gui.

There is actually a reason why the osd bar does not have the width and height adjustment options: There are three main reasons:

  1. Improvements to the osd bar width of the mpv native gui. Because as a user, I believe that this streamlined progress bar is the most user-friendly because it has the same length as the progress bar above it, because you don't need to scale the progress according to the length. Although the osd bar under the mpv native gui can be adjusted in width, you know, it can never be the same width as osc on each computer, because the width of osc is set in pixels, and osd bar The length is calculated as a percentage of the width of the window.
  2. Setting compatibility and setting interface that is easier for users to understand. The setting interface has provided the adjustment option for the osd bar width of the mpv native gui. According to the previous one, I definitely don't want the mpv-easy borderless gui osd bar to still calculate the length according to the percentage of the window width, one option and two calculation methods. My God, if a lot of settings are a set of 2 calculation methods, the user's brain must be very confusing, the complexity of setting the interface is not necessary to say, and in order to set a related prompt, you need to write clearly 2 The difference between the different calculation methods, this will not be an easy player anymore.
  3. Adding a position adjustment option will greatly increase the complexity of the code. I believe you have used the mpv-easy borderless gui mode, you will find that it has a lot of improvements to the mpv native gui interface control, because you can use the left mouse button to complete all the operations you want.

What happens if osc can change the position of the display?

  1. When the position of osc starts to move closer to the middle, you must consider whether [the area below osc] can be paused when clicked. This will make the calculation of the area more complicated, the code amount will increase a lot, and bring more Many unknown bugs, because the mouse has different functions on different controls and areas. When the mouse changes position, you have to judge: a. Does the mouse need to trigger the display and hide of the control at this pixel (osc display and hide are also divided into [not displayed when moving position], [moving position trigger display], [permanent display when staying], this is simulation Mpv native gui). b. Whether the mouse can trigger a pause after clicking on this pixel, whether it can trigger the movement, whether the size can be changed. c. When osc is displayed close to the center, I believe you definitely want the osd bar to adjust the position up and down. At this time, the above conditions must be considered to exclude the osd bar area, but you will find that the osd bar position is adjusted. Its position will overlap with [osc area], [move trigger display] area, [resizeable area], which requires more code for complex judgment, which is only assuming that when I actually implement it, I I believe that the situation encountered is more complicated than this.

So the control of the whole gui is actually very complicated, which is one of the reasons why the mpv-easy player released a new version every week. You will find that many of the update logs are bugs in this area, and I have The bugs in this area have been completely improved. Although it may be better to solve this problem with new ideas and code, I really don't want to rewrite it. Believe me, the whole process of writing code is very painful, and the pain of improvement on this basis is doubled. It is even possible to destroy the entire project because of the complexity of the code.

  1. When osc is displayed at the top, when the window width is insufficient, it will block the window closing button area in the upper right corner, and will also block the display of the volume and the display of the playlist. How to deal with this?

  2. When osc is at the top, I believe the osd bar should also be displayed at the top. Oh, my God, after I finished writing the above, I forgot the third reason. It’s terrible :(

So there is a beauty in the world called flaw beauty. When you have more things, you often need to give up something.

You use the mpv-easy player as a defective player. It just does. This player takes me a lot of energy. I am really tired and my mind is very chaotic (chaotic The reason has been described above), I believe that it will not change much in the future.

But I have implemented all the features I hope it has.

And fortunately there are a lot of front ends for mpv players. If you really can't adapt to this player, you have a lot of other players to choose from.

422658476 commented 6 years ago

Oh, I almost forgot the important thing. If you think this player is ok, I hope you will give me a star for this project.