Skip to content

Commit

Permalink
Update change log and rst doc plugins section
Browse files Browse the repository at this point in the history
  • Loading branch information
pinterf committed Dec 13, 2024
1 parent 3edc190 commit 67957fc
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 18 deletions.
6 changes: 5 additions & 1 deletion distrib/Readme/readme_history.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This file contains all change log, with detailed examples and explanations.
The "rst" version of the documentation just lists changes in brief.
For online documentation check https://avisynthplus.readthedocs.io/en/latest/

202412xx 3.7.3 post ??
20241213 3.7.3 post ??
----------------------
- Fix FadeIn, which behaved like FadeIn2
- Config: add LOONGARCH support
Expand All @@ -16,6 +16,10 @@ For online documentation check https://avisynthplus.readthedocs.io/en/latest/
used a more robust tactic to find the value of $HOME. Switch
USER_AVS_PLUGINDIR_LOCATION to the same method.
- Posix: Detect additional plugindirs from LD_LIBRARY_PATH environment variable
- #413 Add ListAutoloadDirs() script function. Returns a string with LF (\n) separated
directory list which can be displayed with Text for example.
- Update plugins section in rst docs.


20240417 3.7.3 post ??
----------------------
Expand Down
5 changes: 4 additions & 1 deletion distrib/docs/english/source/avisynthdoc/changelist374.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@ Additions, changes
- Add "ArraySort" for sorting simple bool, numeric or string arrays
- SoundTouch: Increased the max number of channels to 32ch from the old limit of 16ch.
- Posix: Detect additional plugindirs from LD_LIBRARY_PATH environment variable
- #413 Add ListAutoloadDirs() script function

Build environment, Interface
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- add LOONGARCH support
- (not done yet: Use system installs of DevIL and SoundTouch on all platforms, remove in-tree binaries/code)
- avisynth.h: add ListAutoloadDirs() to internal interface declarations

Bugfixes
~~~~~~~~
Expand Down Expand Up @@ -64,11 +66,12 @@ Documentation
- update Conditional filters, Runtime functions
- update ShowAlpha/Red/...
- Update Intel 2024 compiler build process
- Add autoload helper functions to rst docs, update content and bring syntax_plugins.rst to new format

Please report bugs at `github AviSynthPlus page`_ - or - `Doom9's AviSynth+
forum`_

$Date: 2024/12/13 13:32:00 $
$Date: 2024/12/13 14:25:00 $

.. _github AviSynthPlus page:
https://github.com/AviSynth/AviSynthPlus
Expand Down
99 changes: 83 additions & 16 deletions distrib/docs/english/source/avisynthdoc/syntax/syntax_plugins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,64 @@
AviSynth Syntax - Plugins
=========================

With these functions you can add external functions to AviSynth.
With these functions you can add external functions to AviSynth or
get/set autoload directories.

``LoadPlugin`` ("filename" [, ...])
Manual plugin loading
---------------------

LoadPlugin
~~~~~~~~~~
::

LoadPlugin ("filename" [, ...])

Loads one or more external avisynth plugins (DLLs).

Plugins can be either C or C++ plugins, they are autodetected.

--------

``LoadVirtualDubPlugin`` ("filename", "filtername", preroll)
LoadVirtualDubPlugin
~~~~~~~~~~~~~~~~~~~~
::

LoadVirtualDubPlugin ("filename", "filtername", preroll)

This loads a plugin written for VirtualDub. "filename" is the name of the
.vdf file. After calling this function, the filter will be known as
"filtername" in avisynth. VirtualDub filters only supports RGB32. If the
video happens to be in RGB24-format, then you must use ``ConvertToRGB32``
(``ConvertToRGB`` won't suffice).
"filtername" in avisynth.

Old VirtualDub filters only supports RGB32, but then some came with YUV support
(a newer API). The most compatible way of using them is using ``ConvertToRGB32``
(``ConvertToRGB`` won't suffice for an RGB24 source).

Some filters output depends on previous frames; for those preroll should be
set to at least the number of frames the filter needs to pre-process to fill
its buffers and/or updates its internal variables.


--------
LoadVFAPIPlugin (removed, not part of AviSynth+)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::

``LoadVFAPIPlugin`` ("filename", "filtername")
LoadVFAPIPlugin ("filename", "filtername")

This allows you to use VFAPI plugins (TMPGEnc import plugins).


--------
LoadCPlugin
~~~~~~~~~~~
Load_Stdcall_Plugin
~~~~~~~~~~~~~~~~~~~
::

LoadCPlugin ("filename" [, ...])
Load_Stdcall_Plugin ("filename" [, ...])

``LoadCPlugin`` ("filename" [, ...])
``Load_Stdcall_Plugin`` ("filename" [, ...])
In Avisynth+ these function were kept for script compatibility reasons.

LoadPlugin can load any type of (C or C++) plugins by automatically detecting
their types.

Loads so called Avisynth C-plugins (DLLs).
Load_Stdcall_Plugin() is an alias for LoadCPlugin().
Expand All @@ -49,11 +74,53 @@ Kevins version. Advice: keep these plugins outside your auto plugin loading
directory to prevent crashes. `[discussion]`_ `[AVISynth C API (by
kevina20723)]`_

--------

Autoload helper functions
-------------------------

AddAutoloadDir
~~~~~~~~~~~~~~
::

AddAutoloadDir (string "directory", bool toFront = true)

This function appends an extra directory to the autoload directory list. The plugins
are searched in the order the directories appear in the list. Setting the optional
``toFront`` parameter to false will put the directory at the end of
the list (the lowest priority place).

ClearAutoloadDirs
~~~~~~~~~~~~~~~~~
::

ClearAutoloadDirs

Removes everything from the plugin autoload directory list, making a clean
start for your custom environment.

ListAutoloadDirs
~~~~~~~~~~~~~~~~
::

ListAutoloadDirs

Returns a LF (0x0A, \\n) separated list of the currently set autoload directories.
The (multiline) string can be displayed with "Text" directly.
Displaying it with (Windows) Subtitle is a bit tricky: add lsp=0 (multiline) parameter
and replace the control characters with visible "\\n", in order the string contains
a real backslash followed by 'n' character.

AutoloadPlugins
~~~~~~~~~~~~~~~
::

AutoloadPlugins

Initiates plugin autoloading, if it did not happened so far.


Plugin autoload and name precedence (v2)
----------------------------------------
Plugin autoload and name precedence (Historical, Avisynth v2)
-------------------------------------------------------------

It is possible to put all plugins and script files with user-defined
functions or (global) variables in a directory from where all files with the
Expand Down Expand Up @@ -119,7 +186,7 @@ or with mpeg2dec3.dll (which outputs YV12):
# using mpeg2source from mpeg2dec3.dll
mpeg2dec3_mpeg2source("F:\From_hell\from_hell.d2v")

$Date: 2008/04/20 19:07:34 $
$Date: 2024/12/13 13:54:00 $

.. _[discussion]: http://forum.doom9.org/showthread.php?s=&threadid=58840
.. _[AVISynth C API (by kevina20723)]:
Expand Down

0 comments on commit 67957fc

Please sign in to comment.