View Single Post
Old 20th March 2017, 19:09   #7  |  Link
TheFluff
Excessively jovial fellow
 
Join Date: Jun 2004
Location: rude
Posts: 1,100
You could do exactly what VS does and wrap each old plugin in a fake Avisynth environment, but VS doesn't implement everything in the fake environment. Invoke is banned, for example (it behaves as if the function wasn't defined), and runtime functions that call getframe from the constructor simply won't work at all (edit: Myrsloik says I'm wrong and it actually does work, there is a synchronous getframe that gets used in this case). VS works because a lot of effort was spent to replace a bunch of Avisynth filters with new ones that sometimes work in significantly different ways, and I don't think there's much interest in re-fixing a bunch of avisynth plugins again. The decision to move to a new API should have been made a long time ago, but people wanted something that kinda worked right now and kept adding hacks onto the old API which then becomes effectively standardized with new quirks, so you can't break compatibility because that'd be too much effort.

Then again you could do what VS does but in reverse and let Avisynth load VS plugins via some wrapper to replace the stuff broken by a new API :V

Last edited by TheFluff; 20th March 2017 at 19:17.
TheFluff is offline   Reply With Quote