TheFluff
7th August 2011, 01:15
So I had a look at developing native Avisynth 2.6 plugins. Now I have a lot of questions.
Is the intention for everyone to compile their own interface.cpp, or are you supposed to link against some externally provided Avisynth import lib that pulls in the functionality from avisynth.dll? I assume it's the latter, since a) all the unbaking would be sort of pointless if not, and b) interface.cpp uses precompiled headers from the rest of the Avisynth project.
If the intention is the latter above: shouldn't you really also consider exporting a whole lot of function pointers in some nice clean way (so plugin ways can have their way with the internals if it is necessary)?
If the intention was to break compatibility with 2.5 and use a new interface, why not make the changes more obvious and, say, use a new entry point instead of reusing Ye Olde AvisynthPluginInit2? At least that way it'd be easier for plugin authors to tell if they were running under 2.5 or 2.6 and have separate code paths in the same DLL. The way it's done at the moment the interface is almost-but-not-quite compatible, which is arguably more annoying than having to deal with a completely new interface.
Why is avisynth.h suddenly vanilla GPL without the exception?
I reserve the right to hurf a further durf later.
Is the intention for everyone to compile their own interface.cpp, or are you supposed to link against some externally provided Avisynth import lib that pulls in the functionality from avisynth.dll? I assume it's the latter, since a) all the unbaking would be sort of pointless if not, and b) interface.cpp uses precompiled headers from the rest of the Avisynth project.
If the intention is the latter above: shouldn't you really also consider exporting a whole lot of function pointers in some nice clean way (so plugin ways can have their way with the internals if it is necessary)?
If the intention was to break compatibility with 2.5 and use a new interface, why not make the changes more obvious and, say, use a new entry point instead of reusing Ye Olde AvisynthPluginInit2? At least that way it'd be easier for plugin authors to tell if they were running under 2.5 or 2.6 and have separate code paths in the same DLL. The way it's done at the moment the interface is almost-but-not-quite compatible, which is arguably more annoying than having to deal with a completely new interface.
Why is avisynth.h suddenly vanilla GPL without the exception?
I reserve the right to hurf a further durf later.