mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.59k stars 2.92k forks source link

Catalina: Play/Pause media keys don't work in mpv.app (installed with brew cask) #7062

Closed Ruyven closed 5 years ago

Ruyven commented 5 years ago

mpv version and platform

mpv 0.29.1 (homebrew) Platform: macOS 10.15 Catalina

Reproduction steps

Expected behavior

Movie pauses.

Actual behavior

Nothing happens.

Note that when launching it via mpv file.mp4 in the Terminal, the play/pause button works as expected. So I can't generate a log file showing the error, because it only happens when I open mpv.app and open /Applications/mpv.app --log-file=output.txt is not accepted by the open command.

A workaround for now is to always use Terminal's mpv command, but it's not ideal.

Akemi commented 5 years ago

give the mpv app accessibility permissions. i am pretty sure it also asked you, at least the first time, to do so.

you can generate a log file. either pass the arguments to open with --args or put it into a config file.

https://github.com/mpv-player/mpv/commit/5b42be97e3d6efda91c5a87ecd828a5a1051bbbc

ghost commented 4 years ago

This issue is still present. I have the same conditions, and I've added MPV.app to Accessibility list:

screenCan you see if you can reproduce the issue?

After I open a file in MPV.app, when I press the Touch Bar pause key it opens Music.app.

Akemi commented 4 years ago

i not going to try with that kind of sparse information on a closed issue.

also i removed the old media key support that needed accessibility permissions. try with a current master build.

ghost commented 4 years ago

I'm happy to give full information as per the template, but:

i removed the old media key support that needed accessibility permissions. try with a current master build.

Do you mean to try the current code (later than 0.31.0 snapshot) by compiling the current source code?

Akemi commented 4 years ago

yes.

ghost commented 4 years ago

I won't do that at this point, because:

  1. I've found an alternative which is IMO superior anyway (mapping an AppleScript action with FastScripts with a nice hotkey)

  2. I haven't seen a reason why I should try the the current code vs. the 0.31.0 I already use, in regards to this particular matter. Is there one?

(Compiling MPV for macOS appears cumbersome and difficult for me to unnecessarily learn.)

Akemi commented 4 years ago

then what do you expect me to do? i am saying, this is most likely fixed in current master. this should also be the reason for you to try the current code (as long as you care enough), since it will fix your problem.

if you don't want to that's fine with me.

if you use homebrew trying the current master is just brew install --HEAD mpv. not much to learn tbh.

ghost commented 4 years ago

Yes, it wasn't clear, thought you were meaning it only as a random troubleshooting step.

And hah, I should have read your above comment first. I just spent an hour figuring out to do brew install --HEAD mpv, and after an epic cleanup of homebrew via fixing all homebrew doctor issues, I now have ae0520c build installed.

And it WORKS! Thanks so much, that's awesome work. I may as well uninstall VLC now.

NightMachinery commented 4 years ago

I downloaded the latest build of https://github.com/jnozsc/mpv-nightly-build, and this problem was indeed solved even without the accessibility (which did nothing for the old version).

pvinis commented 3 years ago

I just tried the latest jnozsc, which is 0.32.0, and it worked. I also tried the latest official cask in brew, which is 0.33.0, and it didn't work. Somehow in there this must have broke. I might try to do a bisect.

Akemi commented 3 years ago

i am going to look into my crystal ball and see if i can find anything. the most likely is, that it might just not be compiled with MediaPlayer support, but who knows.

seriously if you want something fixed don't comment on a closed resolved issue and open a proper issue on the tracker with all the info ask for provided.

here you go, i will do the work for you, --disable-macos-media-player:

mpv-0.33.0/mpv.app/Contents/MacOS/mpv -v
[cplayer] Command line options: '-v'
[cplayer] mpv 0.33.0 Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Mon Nov 23 23:02:08 CET 2020
[cplayer] FFmpeg library versions:
[cplayer]    libavutil       56.51.100
[cplayer]    libavcodec      58.91.100
[cplayer]    libavformat     58.45.100
[cplayer]    libswscale      5.7.100
[cplayer]    libavfilter     7.85.100
[cplayer]    libswresample   3.7.100
[cplayer] FFmpeg version: 4.3.1
[cplayer] 
[cplayer] Configuration: waf configure --prefix=/Users/djinn/epsteindidntkillhimself/build-0.33.0 --confloaddir=/usr/local/etc/mpv --enable-manpage-build --enable-html-build --disable-android --disable-tvos --disable-egl-android --disable-macos-media-player --disable-macos-10-14-features --lua=51deb
[cplayer] List of enabled features: 51deb asm bsd-fstatfs build-date cocoa coreaudio cplayer cplugins debug-build ffmpeg gl gl-cocoa glob glob-posix gpl iconv javascript lcms2 libarchive libass libavdevice libdl libm lua macos-10-11-features macos-10-12-2-features macos-cocoa-cb macos-touchbar optimize osx-thread-name posix posix-or-mingw pthreads rubberband stdatomic swift uchardet videotoolbox-gl videotoolbox-hwaccel zlib
pvinis commented 3 years ago

Ok first, that was a bit harsh, I found this issue and thought I'll keep it here so I don't spam with new issues. I get it and I'm sorry, but still.

Second, thanks for the investigation, seriously! It would have taken me hours to find what you found. After what you sent, I checked mpv -v using the brew formula (1), the brew cask formula (2), and a custom brew cask formula here https://github.com/aerobounce/homebrew-mpv-build (3).

I found that apparently 1 and 3 work, they have media keys enabled. For some reason 2 has the disable flag, so the media keys don't work there, even thought 2 is the "most logical" way to install mpv on mac. I now use 3 to install it, I made an issue on homebrew-cask to add an option or remove the flag. 👍

Thanks again!

Akemi commented 3 years ago

the brew cask people can't do anything about this. they only download a prebuild version from stolendata (https://laboratory.stolendata.net/~djinn/mpv_osx/). see the script https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/mpv.rb

it's a configure option, eg before building, and since that cask isn't a self build bundle you would have to ask stolendata for that.

i am being harsh because you are lucky i subscribed to this issue still. if not, you wouldn't get an answer, and might even be frustrated by that. because of that it's always better to open a new issues and we can actually help you properly. i get this situation, someone posting on a closed issues and not providing any info, several times every week. every time i have to explain and tell them the exact same thing. it gets very annoying and frustrating.

the third option is not a cask script but a regular brew formula, it actually build mpv.

pvinis commented 3 years ago

the only reason I used 3 is because it makes an app and puts it in /Applications. it also builds it. 1 works but doesn't put in in /Applications.

For the issue on brew, I guess I hope to figure out how/who is stolendata and ask for a fix there.

sleepyfurious commented 1 year ago

This is just for the record. A few minutes ago, I tried brew install --cask mpv. It now gives mpv 0.35.1 with media key support which comes directly from stolendata.