Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for IINA on macOS.
Implementation is heavily based on the existing MPV classes. Please squash the commit messages when merging.
A few implementation notes:
iina-cli
to start the player. This path substitution istransparentlyexecuted inIinaPlayer.getExpandedPath
. EDIT: nothing transparent about that. Even if I pointed theIINA_PATH
to the IINA binary, the GUI shows only the expanded path so, it points toiina-cli
.iina-cli
which forces the creation of a mpv instance, controllable by Syncplay. Related to: mpv option force-window immediate mode revoke fatal error in IINA iina/iina#437python_mpv_jsonipc.py
which is effectively vendor code. I tried to keep these changes minimal in the event that we need or want to upgrade the embedded copy of this package.Enter key is mapped to a different function (go full screen)IINA is eating keystrokes and not passing them to mpv. Chat messages are correctly shown in the OSD but must be typed in the Syncplay window.Closes: #359
Related to: #144, iina/iina#1833, iina/iina#396