Closed soredake closed 8 months ago
Yeah, this looks more like a syncplay bug.
I can think of some ways to go forward-
Both 2 and 3 are pretty big projects, I'd rather try getting https://github.com/Syncplay/syncplay/issues/529 resolved first.
Ok, looking more closely, I think this is a separate issue from https://github.com/Syncplay/syncplay/issues/529
Specifically, according to this-
I think the problem lies in syncplay, when i set
--input-ipc-server=\\.\pipe\mpvsocket
as player argument it results in doubleinput-ipc-server
The bug seems to be somewhere inside syncplay's configuration parsing/storage. It should not have duplicated the values.
@soredake Could you please try resetting this value to something like the following-
Save config, then try restarting the scrobbler (and also syncplay if you wish). See if the path is still duplicated.
Without --input-ipc-server=\\.\pipe\mpvsocket
:
With --input-ipc-server=\\.\pipe\mpvsocket
:
Log remains the same:
2024-01-01 19:27:24,929 - DEBUG - MainThread - notifier - Notifications enabled for categories: exception, misc, scrobble.pause, scrobble.resume, scrobble.start, scrobble.stop, trakt
2024-01-01 19:27:25,190 - INFO - MainThread - scrobbler - Started scrobbler thread.
2024-01-01 19:27:25,202 - INFO - MainThread - monitor - Started monitor for mpv
2024-01-01 19:27:25,203 - INFO - mpv - mpv - Unable to connect to MPV. Check ipc path.
2024-01-01 19:27:25,205 - DEBUG - MainThread - monitor - Autoloaded syncplay@mpv ipc_path = \\\\.\\pipe\\mpvsocket
2024-01-01 19:27:25,205 - INFO - MainThread - monitor - Started monitor for syncplay@mpv
2024-01-01 19:27:25,206 - INFO - syncplay@mpv - mpv - Unable to connect to MPV. Check ipc path.
As a workaround i set ipc_path
to \\.\pipe\\\.\pipe\mpvsocket
and now it works.
Without
--input-ipc-server=\\.\pipe\mpvsocket
:
Wait, so when you don't provide --input-ipc-server
, after a restart, this is shown in the Syncplay UI?
this is shown in the Syncplay UI?
Not in syncplay ui, i use this tool to see what arguments are applied when starting mpv
ah that makes more sense. Then I'm pretty sure this is a syncplay bug- it is messing up the args somehow. Closing on our side.
As per discussion at https://github.com/Syncplay/syncplay/issues/529 I have created https://github.com/Syncplay/syncplay/pull/669 that means that when the user specifies which port mpv should use it will set input-ipc-server it to socket again which should allow a second connection on that socket.
However, looking at https://github.com/iamkroot/trakt-scrobbler/blob/7eef02fcfdefb665de6a77dfba403464f024f2ff/trakt_scrobbler/player_monitors/mpv_wrappers.py it looks like some further changes will be required to get it to work reliably via trakt-scrobbler.
Firstly, if there is a Syncplay.ini or .Syncplay folder in the Syncplay folder then Syncplay will use that in preference to the file in the APPDATA folder. This is what distinguishes the installed version of Syncplay from the portable version of Syncplay.
Secondly, someone can have multiple different player entries for perplayerarguments depending on the path of the player. You can get the perplayerargument for the currently selected player by first looking at the value of playerpath and then use that as the key for which which perplayerargument to use.
Thirdly, it can be set as input-ipc-server rather than --input-ipc-server so just looking for --input-ipc-server might not find it.
In any case, I've now updated Syncplay so that it will automatically create a secondary socket called mpvSyncplaySocket (AKA \\.\\pipe\\mpvSyncplaySocket
) if no value for input-ipc-server is specified in the perPlayerArguments for that player. This should make it easier for trakt-scrobbler and other tools to support Syncplay. You can download this build at: https://github.com/Syncplay/syncplay/actions/runs/7766691704
Describe the bug https://github.com/Syncplay/syncplay/issues/529
After each start![изображение](https://github.com/iamkroot/trakt-scrobbler/assets/5204968/6cb5019c-a86a-4f9e-a277-917ed468fe2e)
input-ipc-path
value will be different:Desktop (please complete the following information):
To Reproduce
Steps to reproduce the behavior:
trakts config set players.monitored mpv syncplay@mpv; trakts config set players.mpv.ipc_path \\.\pipe\mpvsocket
--input-ipc-server=\\.\pipe\mpvsocket
as player arguments in syncplay for mpv.netLog file
Click to see log contents
``` 2023-11-24 19:42:37,245 - INFO - MainThread - scrobbler - Started scrobbler thread. 2023-11-24 19:42:37,272 - INFO - MainThread - monitor - Started monitor for mpv 2023-11-24 19:42:37,274 - INFO - mpv - mpv - Unable to connect to MPV. Check ipc path. 2023-11-24 19:42:37,279 - DEBUG - MainThread - monitor - Autoloaded syncplay@mpv ipc_path = \\\\.\\pipe\\mpvsocket 2023-11-24 19:42:37,279 - INFO - MainThread - monitor - Started monitor for syncplay@mpv 2023-11-24 19:42:37,280 - INFO - syncplay@mpv - mpv - Unable to connect to MPV. Check ipc path. ```
I think the problem lies in syncplay, when i set![изображение](https://github.com/iamkroot/trakt-scrobbler/assets/5204968/7b40416f-26e6-4d0e-a2d8-37fc26eebcbe)
--input-ipc-server=\\.\pipe\mpvsocket
as player argument it results in doubleinput-ipc-server
Maybe related https://github.com/Syncplay/syncplay/issues/529