Quote:
Originally Posted by Myrsloik
Two small details that are usually just cosmetic but still bother me:
1. Since VapourSynth reports errors the same way avisynth does you'll actually get an error message saying something like "Avisynth error!
|
I can rename the message to something like "AVI handler open failure:..."
Quote:
Originally Posted by Myrsloik
2. Also because I use the same interface, vdub assumes the error message string always uses the local encoding (like avisynth), this isn't true for vs which passes an utf8 string which then may or may not display correctly.
|
This is bad. Also I am not happy about error message format, would prefer something parseable like
Code:
filename.vpy(linenumber) : error bla-bla-bla
VD has very little code around avisynth, basically
Code:
extern "C" const GUID IID_IAvisynthClipInfo // {E6D6B708-124D-11D4-86F3-DB80AFD98778}
= {0xe6d6b708, 0x124d, 0x11d4, {0x86, 0xf3, 0xdb, 0x80, 0xaf, 0xd9, 0x87, 0x78}};
struct IAvisynthClipInfo : IUnknown {
virtual int __stdcall GetError(const char** ppszMessage) = 0;
virtual bool __stdcall GetParity(int n) = 0;
virtual bool __stdcall IsFieldBased() = 0;
};
...
mpAVIFile->QueryInterface(IID_IAvisynthClipInfo, (void **)&mpAvisynthClipInfo);
So if you merely clone the same interface with different GUID then I can put different names AviSynth/VapourSynth and do something about character encodings.
May be a better idea to implement input driver based on native VS API but I dont want to do it myself.