* Port VLCPlayer from asyncore/asynchat to Twisted
Rationale: asyncore/asynchat are deprecated since Python 3.6 and
are going to be removed from the standard library from Python 3.10.
It is unclear if these libraries will be picked up by maintainers
and independently published on PyPI. At the moment, we are working
on replacing them, in this commit with Twisted LineReceiver.
Known issues: does not work with GUI. There is a conflict with
qt5reactor -> "QSocketNotifier: Can only be used with threads
started with QThread".
* Fix QSocketNotifier issue with qt5reactor
Sending the call to transport.write wrapped in a
self.reactor.callFromThread instead of directly does the trick.
Include also fixes to allow correct quit of VLC and Syncplay when
either one is closed.
Known issues: there is a noticeable lag (~ 1 second) between the
start of Syncplay MainWindow and the start of VLC.
* Re-add try/except to VLC
* Bring back missing try
Co-authored-by: Alberto Sottile <alby128@gmail.com>
* Separate mpv from mplayer, increase min mpv ver to >= 0.17, refactor
* Further separation of mpv from mplayer
* Fix reference to isASCII
* Add iwalton3's Python MPV JSONIPC library (Apache 2.0)
* Move to JSON IPC API for mpv using iwaltons3's library (#261)
* Add empty init in Python MPV JSONIPC to make py2exe happy
* Use managed version of Python MPV JSONIPC to improve initialisation reliability
* Set mpv min version to >=0.29.0 to ensure compatibility
* Allow mpv >=0.23.0 based on daniel-123's tests
* Update mpv compatibility message
* Revert to old OSC compat message
* Removed mpv option that's no longer used afer switching to IPC.
* Update python-mpv-jsonipc to v1.1.11
* Use python-mpv-jsonipc's mpv quit handler
* Shorten mpv paused/position update message
Co-authored-by: daniel-123 <wrobel.dan@gmail.com>
youtube-dl relies on system python to run on macOS, but system
python cannot be executed in a subprocess created from the frozen
python3 executable. This makes youtube-dl unusable from frozen
versions of Syncplay on macOS. So, the environment of the mpv
subprocess is modified with system PYTHONPATH, allowing the
execution of /usr/bin/python (and hence, of youtube-dl)
from within the subprocess in frozen executables.
Fixes: #228