clsid2 / mpc-hc

Media Player Classic
GNU General Public License v3.0
10.59k stars 484 forks source link

Changing value using the sliders and slider related tooltips issues #2886

Closed xLn2 closed 3 days ago

xLn2 commented 2 weeks ago

Some sliders show tooltip on hover, some doesn't. i.e. Options > Playback > Audio shows tooltip but i.e Options > Subtitles > Default Style > Colors & Transparency and Control bar > Audio Vol slider don't show tooltips.

Tooltips:

  1. Changing sliders value via mouse wheel doesn't update tooltips. (I don't know if it is possible) (Partially 2065b6f11fc087d4f8ac5b1f9d972838a44ebf55 at #2898) Sample from AIMP AIMP_gHJ4LK7t56

  2. Colors & Transparency sliders don't have tooltips, so it doesn't give any informations about values. (Transparency with 100% doesn't mean glass like view? Isn't it should mean Opacity?) (dff7eea5bee2066b31d0762abd4b30ab781f458b at #2898)

  3. Audio Vol slider doesn't have hover tooltip, it could be useful.

Sliders:

  1. Increasing or decreasing the value using the slider produces different results with dragging with the mouse and using the mouse wheel. Main issue is value doesn't stick/snap to 0.
  2. Increment by dragging and mouse wheel have different constant values according to slider. Balance dragger with cursor dragging some kind of decimal increment so it doesn't stick 0. To be able to make it 0, I have to use mouse wheel to min/max and to 0.
  3. Options > Miscellaneous > Color control Hue sliders increasing value with mouse wheel can be changed 7 to 6
  4. MWHEELDOWN- MWHEELUP have different behaviors on Sliders, on mpchc MWUp increases value but contrary decreases values on LAV filter settings and possibly some external filters.
  5. External filter (analog capture device) properties doesn't update value if increment done with MWheel and issue 7 also appears.

mpc-hc64_U1IvfsemRQ

adipose commented 1 week ago

https://github.com/clsid2/mpc-hc/pull/2904

adipose commented 6 days ago
  1. See https://github.com/clsid2/mpc-hc/pull/2912
  2. Wheel goes by 5% and does snap to 0/5. The mouse scrolling is more granular and doesn't snap to anything. I don't know that it should stick.
  3. I don't understand, but I can drag to 0% or 100% just fine.
  4. I don't understand.
  5. Can be associated with "downisleft" behavior on sliders. I do see it is behaving strange, in classic mode as well.
  6. Can you detail how to get to this screen?
xLn2 commented 6 days ago
  1. I mean it may have only use case on color controls. If value changed via dragging slider's dragger, value will be zeroed by same way (like mwheel or m click). I mean if value is between -3 and +3 , next m wheel change could snap it to 0.
  2. This is more related with "Balance" slider. Mouse Wheel inc/decrease value 4% but changing value with mouse click inc/dec value differ 1% -to- 2% and cause doesn't stick to 0.
  3. Max value for Hue is between -179 and +180 and inc/decrease value for m wheel is 7 and it is not good denominator. Value will not snap 0 easily.
  4. It is probably analog capture device driver related thing and I don't know how to access .ax file and its usefulness. If there is anyway to help you please guide me.

resim

adipose commented 6 days ago
  1. See https://github.com/clsid2/LAVFilters/pull/3
adipose commented 6 days ago
  1. Understood now. I had to reimplement mousewheel to change this properly. See #2912
  2. Same solution as 4. Btw, if you double click on the word "balance," it resets to L=R. Hidden, undocumented feature, not discoverable...but it's there. Perhaps a tooltip would be useful.
  3. Solved by same as 4.
  4. .
  5. Hmm. This is likely themed after the fact by mpchc. I probably could fix behavior of the scroll direction, but it's "as-is" from the filter vendor. I have a capture device but that properties window doesn't display. The failure to update the edit box can just be a failure on their part to do what we do, which is trap the hscroll event and take action to update other controls. So they update on the slider itself perhaps, not sure.
xLn2 commented 6 days ago
  1. I have a capture device but that properties window doesn't display.

Does MPC-BE show that filter properties? In my case "Capture (pin) properties" doesn't open by MPC-HC but open by MPC-BE. It is not important for my case but maybe bug that effects some people.

resim

Pin info:

Filter : BisonCam,NB Pro - CLSID : {17CCA71B-ECD7-11D0-B908-00A0C9223196}
Module : C:\Windows\System32\ksproxy.ax

- Connected to:

CLSID: {CC58E280-8AA1-11D1-B3F1-00AA003761C5}
Filter: Smart Tee (video)
Pin: Input

- Connection media type:

Video: MJPG 1280x720 30fps 663 mbit/s

I zipped all relative .dll and .ax files. system32 dll.zip

Maybe some external filters like "Xysubfilter with libass" with edited scenario (added sliders etc.) can be help for debugging. XySubfilter windows seems to be very prone to visual glitches. Since it is a separate project, things that can only be fixed as far as MPC-HC side can be a helpful example for other external filter windows behaving.

adipose commented 5 days ago

Does MPC-BE show that filter properties? In my case "Capture (pin) properties" doesn't open by MPC-HC but open by MPC-BE. It is not important for my case but maybe bug that effects some people.

I'm really not sure, but because you mentioned MPC-BE I checked, and I found that the window you're showing in no. 8 is a filter from mpc-be? I was wondering how it was translated. That doesn't seem to be a page from mpc-hc?

What I was saying is I open properties successfully, but that particular tab with all the sliders doesn't show up.

adipose commented 5 days ago

OK, using a webcam I actually see that screen now.

xLn2 commented 5 days ago

I'm really not sure, but because you mentioned MPC-BE I checked, and I found that the window you're showing in no. 8 is a filter from mpc-be? I was wondering how it was translated. That doesn't seem to be a page from mpc-hc?

About "Capture (pin) properties..." window I assume it is an external filter (not related to MPCBE) and if you mean translation as a language I can just guess that is probably driver vendor (cuz bad translation quality) or Microsoft did that. When I tried to open it on MPCHC, there is no window displaying. Light themed screenshot was from MPCBE. resim

adipose commented 4 days ago
  1. https://github.com/clsid2/mpc-hc/pull/2916
  2. The capture properties doesn't open for me, either.
adipose commented 4 days ago

@clsid2

Issue no. 9 is caused by this code:

    CComPropertySheet ps(IDS_PROPSHEET_PROPERTIES);

    CComQIPtr<IBaseFilter> pBF = pUnk;
    if (!pBF) {
        return;
    }

If we do not return, the window pops up in MPC-HC. I'm not sure if a null pBF is really a problem in other cases?

image

clsid2 commented 4 days ago

Then removing null pBF check should be safe I think.

I am not sure if I am a fan of the workaround for the ancient filter. Perhaps instead it might be better/safer to limit theming of external property dialogs to a whitelist of known and tested filters?

adipose commented 4 days ago

Then removing null pBF check should be safe I think.

I am not sure if I am a fan of the workaround for the ancient filter. Perhaps instead it might be better/safer to limit theming of external property dialogs to a whitelist of known and tested filters?

All of the issues are present, themed or not. It's got following issues:

  1. Wheel ignored when updating the edits
  2. Wheel down increases rather than decreases
  3. Static doesn't quite fit and cuts off text due odd wrapping

The dialog looks like it's been part of Windows for 15-20 years. It's a "standard" set of options for image capture, it seems.

clsid2 commented 4 days ago

That "inverted" wheel behavior is standard behavior of the control. Stupid Windows quirk. It is not our job to correct things in external filters. Plus the primary use case for such sliders is to click and drag the mouse.

adipose commented 4 days ago

That "inverted" wheel behavior is standard behavior of the control. Stupid Windows quirk. It is not our job to correct things in external filters. Plus the primary use case for such sliders is to click and drag the mouse.

Right, the style is not the default, but should be. Clearly those who designed the dialog did not anticipate the use of the mouse wheel, either in direction or to update the edits. In MPC-HC we trap the hscroll in order to update fields connected to sliders, which works with wheel and other trackbar events.

It's no big deal to me but as that form is not usually exposed except by "media" apps like mpc-hc, it "appears" to be an mpc-hc issue. I liken it to the edit fields on the windows save dialog, which MS should (but doesn't) make match the Windows dark theme.

xLn2 commented 3 days ago

2.3.2.29

  1. The slider and values seem to be updating but somehow there seems to be a misconnection. The operations with the mouse wheel are not really applied instantly, and even after applying the values, the values return to their previous state.

mpc-hc64_Xbpixrgpoz mpc-hc64_5RRsJeRu6r