R19 – Finally some progress

R19 is finally done. It took a lot longer longer than expected due to all the comments about the new interface for simple embedding. Fortunately I took a trip to Germany so I’m all stocked up on good rum so I can get the next version done a lot sooner.

The main new features in R19 are:

  • VSScript – a simple API to use when embedding VapourSynth
  • Ported to work on arm and powerpc
  • Improvements to threading – Avisynth filters can no longer deadlock in rare circumstances
  • A consistent way to output clips in vsfs/vfw/command-line
  • Piles of bugfixes

There are several breaking changes in this release as well. Setting the output of a script is now done this way:

clip.set_output()

All traces of the magic variable last and the output method are gone. This simplifies things because now there’s only one way to set the output.

The core now uses a singleton pattern. This means that getting a new Core object is now done this way:

core = vs.get_core(threads=3)

There’s one final small issues that also affects a few script. Lut and Lut2 had the order of the lut and planes arguments switched so the order will make more sense.

The goals for the next version are x64 windows binaries, plugin autoloading, RemoveGrain lite and Qt5 compatibility.