Log in

View Full Version : avs/avs+ Universal Plugins Folders


real.finder
27th October 2020, 20:12
in case someone want/love use old Avisynth (like avs 2.57) for some reason then he/she will note that new plugins/scripts make that old avs not work! so here my solution

https://github.com/realfinder/UniversalPluginsFolders

it's more than just Plugins pack, it use some codes and methods to load only compatible scripts/plugins base on avs and OS versions mean it will work even for winxp using x86 plugins folder (either with or without changes since there are some people still use sse cpus and for that they need to at least replace some dlls or do more work using SysInfo to make the loading scripts load sse plugins only in these systems) this pack done using SysInfo plugin by Groucho2004 (for x86 only) and RT_Stats by StainlessS (for both x64 and x86)

and this pack also useful even for avs+ users since avs+ has different behavior than non-plus one that make it load all the dlls in autoload folder(s) whatever they used in production or not and that can made some problems if there are many plugins in the plugins folder like the one here https://forum.doom9.org/showthread.php?p=1814887#post1814887

note: there are only "plugins" while there are "plugins64" and "plugins64+", the "plugins" is Universal for both avs and avs+ in x86, I did it like this since my main x86 one still SEt mt one using Official avs 2.6 install, while x64 is done using avs+ Official install with uncheck the x86 one after installing the Official avs 2.6 install using same install folder (Avisynth not Avisynth+)

edit: note2: fully delete or move any existing folders, don't mix any of these plugins folder with any other folders, even with the avs/avs+ default one

note3: it's better to not overwrite the old plugins folders if there are a big update, fully delete or move the old one first (or use GitHub Desktop or whatever)

note4: it will not always be uptodate, so update the plugins/scripts in it if you can

note5: see post #5 (https://forum.doom9.org/showpost.php?p=1928026&postcount=5)

Emulgator
27th October 2020, 22:25
Many thanks ! That is what I am trying to achieve too, keeping Avisynth plugins updated and handy for the 3 main Avisynth versions.

StainlessS
1st November 2020, 15:03
Many Thanks from me too :)

I hope better than what I implemented as AvsInit script with MACHINE directory [works fine but a little clumsy].
Note, I think there is a typo in your post (threw me a little bit),
and this pack also useful even for avs+ users sine avs+ has different behavior than non-plus one
Presume "since".

I have not had time to look at it yet, but I will, so thanks again.

Wherever do you get the time for everything, you are like a one man whirlwind, only Pintef could compete.

real.finder
1st November 2020, 15:45
Many Thanks from me too :)

I hope better than what I implemented as AvsInit script with MACHINE directory [works fine but a little clumsy].
Note, I think there is a typo in your post (threw me a little bit),

Presume "since".

I have not had time to look at it yet, but I will, so thanks again.

Wherever do you get the time for everything, you are like a one man whirlwind, only Pintef could compete.

typo fixed :)

real.finder
11th November 2020, 07:45
did small update for how vsLGhost will used, since it use array I did just make it load the dll if avs+ is 3.6 now I make load an avsi that use int_array (don't know if it documented but I noted it in the avs+ 3.6 error messages when I first did the "avsi load dll" idea since I did some typos back then, I did plan to test it but didn't till this day :D )

edit: in case someone want to test the plugins folders in avs+ without touching his/her autoload folder in the system

for x64
ClearAutoloadDirs()
AddAutoloadDir("path\plugins64+", false)
AddAutoloadDir("path\plugins64", false)

or for x86

ClearAutoloadDirs()
AddAutoloadDir("path\plugins")

in the beginning of script

like this


ClearAutoloadDirs()
AddAutoloadDir("D:\plugins64+", false)
AddAutoloadDir("D:\plugins64", false)
ColorBars(pixel_type="YV12")