/ syncplay Public
Add support for IINA player #360
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.
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-clito start the player. This path substitution is
IinaPlayer.getExpandedPath. EDIT: nothing transparent about that. Even if I pointed the
IINA_PATHto the IINA binary, the GUI shows only the expanded path so, it points to
iina-cliwhich 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#437
python_mpv_jsonipc.pywhich 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.
Related to: #144, iina/iina#1833, iina/iina#396