I don't have a fully scientific explanation here, but it seems that with big
buffers (~200ms and up), the stretcher adjustment can overshoot the target
equilibrium back and forth, in effect never stabilizing.
This commit makes it change slightly slower which somehow seems to improve its
behavior. Sorry for not having a better explanation, as at this stage tuning the
stretcher has become somewhat of a black magic.
But hey, if it works...
Tested with buffers from 30ms to 1000ms, and with playback speed and speed
changes between 30% and 500%, and as far as I can tell it only makes it better.
Fingers crossed.
This is commit e093a3b1b402c067254558d24ef2d7f39f552251 from the wx3.0
stable branch.
The correct error code and message is now output when an error takes
place. Previously it would report an error code of 0 and inform us that
"The operation completed successfully".
Previously Interlaced (Field) was displayed as Progressive which was wrong since the tested games didn't even support Progressive mode and it misleaded most of the users so let's just display Interlaced during Field mode.
The EE/IOP and VUs panels were disabled completely when presets are enabled,
which apparently also means disabling (graying out) the static texts, however,
re-enabling them (when disabling presets) didn't un-gray-out the static text.
This is likely a wxWidgets bug, but we can avoid it by just enabling/disabling
all items explicitly (and keeping the panels themselves always enabled).
For these panels, this means adding explicit enable/disable of the he EE-cache
checkbox and the Restore-Defaults buttons.
The issue doesn't seem to happen on other panels (though some earlier revisions
apparently also had this issue for the static text at the game fixes panel, but
apparently it's not an issue now).
Use close() instead of some dodgy read unblocking and thread cancelling
sequence - it fixes a race condition when closing PCSX2.
Move most of the setup/cleanup into LinuxPipeThread. In addition to
simplifying things, it should also mean that no messages to
stdout/stderr are lost - in the previous code there was a small period
of time where messages would disappear.
Patches for 7 games have been added including default settings
modifications for Disney's Treasure Planet to prevent few issues.
Thanks to Prafull for the patches !
No one knows how any games even started in the broken state and we prefer code being sane('ish) over one game miraculously working. The change is pretty big so it needs some good testing!