User:Gzarkadas
From Avisynth
Contents |
[edit] About
- AviSynth-related activities: AVSLib developer.
- My contributions to the wiki: Special:Contributions/Gzarkadas
- Threads on Doom9 forum: http://forum.doom9.org/search.php?searchid=1904848
[edit] Ongoing and Experimental projects
A (maybe incomplete) list of ongoing experimental projects (for later incorporation to the wiki's main namespace follows:
[edit] Avisynth Syntax
- New 'Avisynth Syntax'. Many parts of this have finished and transfered to main wiki namespace, notably the Grammar and the EBNF of Avisynth script language. There are still some considerations for adding subtopics to the syntax page that will be addressed some time in the future.
[edit] Plugin authors templates
A facility (search for templates starting with "Author") to avoid spelling errors due to multiple references inside the wiki pages and also to setup link's to plugin author's homepages.
[edit] Table templates
- A changelog table template. Developed for internal filter's change log but may be useful elsewhere also.
[edit] Wikipedia-like editorial team's templates
- Template:Incompatible licence. Still under discussion, see Talk:External filters.
>>>> My Experimental (and highly unuseful) Sandbox <<<<
Tasklist
- Finish User functions
- Finish Runtime environment
- ...
[edit] Finished projects
[edit] Filter templates
- Template:FilterCat. Filter categories (hierarchy)
- Filter tables templates: Template:FilterTable, Template:PluginFilterTable, Template:PluginFilterRow
- FuncDef templates family: This family of templates is intended for filter (and function) definitions at the top of each associated wiki page. There are currently six main templates in the family:
- Template:FuncDef : for single definitions (one filter or function); takes 1 parameter.
- Template:Func2Def : for multiple definitions (2 filters or functions); takes 2 parameters
- Template:Func3Def : for multiple definitions (3 filters or functions); takes 3 parameters.
- Template:Func4Def : for multiple definitions (4 filters or functions); takes 4 parameters.
- Template:Func5Def : for multiple definitions (5 filters or functions); takes 5 parameters.
- ...
- Template:Func8Def : for multiple definitions (8 filters or functions); takes 8 parameters.
- and an additional base template:
- Template:Style_FuncDef_Inline : Provides the style information inside the span HTML elements; modify this template to change the formatting to all main templates of the family.
- The family is the result of the following experimental attempts: FilterDefinition1 and FilterDefinition2.
[edit] Building Avisynth 2.6 with VC++ 2005
[edit] Build with Statically Linked CRT for debugging with controlling C++ app
Problem: MSVCRTD.dll is not available in free version of VC++ 2005. Thus debugging a C++ app that loads avisynth.dll and uses the exposed api to make direct calls to ScriptEnvironment methods is not possible if avisynth is compiled with the default settings (they require the debug CRT dll).
Solution: Link CRT statically when building the avisynth project (the same must be done when building the controlling C++ app).
The following changes must then be done to the default project settings:
- C/C++
- Preprocessor
- Preprocessor Definitions: Delete (at start) IL_DEBUG; (DevIL debug loads msvcrtd.dll, thus we must force loading the non-debug version; this means symbols are not available for DevIL).
- Code Generation
- Runtime Library: Make it Multi-threaded Debug (/MTd)
- Preprocessor
- Linker
- Input
- Additional Dependencies: Substitute ../distrib/lib/debug/devil-d.lib with ../distrib/lib/devil.lib (DevIL debug loads msvcrtd.dll, thus we must force loading the non-debug version; this means symbols are not available for DevIL).
- Ignore Specific Library: Add (at the end) ;LIBCMTD.lib (to avoid link errors).
- Advanced
- Entry Point: DllMain (this may not be needed; will check later)
- Command Line
- Additional Options: Add /DLL (else linker can't figure out a dll and not an exe is wanted)
- Input
You may also want to add /D "_CRT_SECURE_NO_DEPRECATE" in C/C++|Command Line|Additional options to eliminate some warnings from the output.
Important Note: If you don't want the debug version of avisynth.dll to override the existent working version in the system32 directory (in this case you will certainly don't want to), then go to project settings, at Build Events|Post-Build Event|Excluded From Build and change it to Yes.

