Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 Encoder GUIs

Reply
 
Thread Tools Search this Thread Display Modes
Old 28th October 2020, 01:30   #1  |  Link
simple_simon
Registered User
 
Join Date: Feb 2003
Posts: 39
MeGUI: Using internal Avisynth

Can anyone tell me how to use MeGUI with the internal avisynth+ & still be able to use avisynth filters not included in the MEGui filters package? I've tried simply adding them to the .\tools\avisynth_plugin\ folder but they aren't being seen. I don't know why that wouldn't work if it's already looking there for the included filters.
simple_simon is offline   Reply With Quote
Old 28th October 2020, 12:08   #2  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,129
Only plugins in the Plugins directory of an independent (not MeGUI included) install of Avs+ are auto loaded.
To use any other plugins, need to add eg LoadPlugin("Z:\MyPath\Mydll.dll") to the script before calling the filter.

LoadPlugin:- http://avisynth.nl/index.php/Plugins#LoadPlugin

You are better off installing independent Avs+ and using that with plugin autoload.

EDIT: Note, with the current avs+ standard setup, it can install both x86 and x64 avs+ side-by-side.

AVS+:- https://forum.doom9.org/showthread.php?t=181351

EDIT: removed 's' from LoadPlugins("Z:\MyPath\Mydll.dll")
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 28th October 2020 at 15:42.
StainlessS is offline   Reply With Quote
Old 28th October 2020, 16:39   #3  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,473
Plugins aren't automatically loaded from MeGUI's tools\avisynth_plugin folder.
As StainlessS said, MeGUI uses LoadPlugin in the scripts it creates to load the plugins it needs from that folder.

If you install Avisynth+, any plugins placed inside the "installed" plugins folder will automatically load when Avisynth runs, including MeGUI's internal Avisynth+. The installed Avisynth creates registry entries pointing to the "installed" plugins folders(s) and loads plugins from there when it runs. MeGUI's internal Avisynth looks for the same registry entries when it runs.

If you're using 32 bit MeGUI, you'd want to install 32 bit Avisynth+.

Doing it that way you can leave MeGUI's tools\avisynth_plugin folder for MeGUI to use, and keep additional plugins separate. If you want any of the plugins in MeGUI's tools\avisynth_plugin folder to auto-load, copy the dlls and put the copies in the "installed" Avisynth plugins folder.

Last edited by hello_hello; 28th October 2020 at 16:49.
hello_hello is offline   Reply With Quote
Old 5th November 2020, 03:59   #4  |  Link
simple_simon
Registered User
 
Join Date: Feb 2003
Posts: 39
I thought the point of including an internal avisynth with megui was so that it could be a self contained portable package. If it's necessary to install avisynth in the system then it defeats that point.
simple_simon is offline   Reply With Quote
Old 21st November 2020, 02:25   #5  |  Link
simple_simon
Registered User
 
Join Date: Feb 2003
Posts: 39
I'm really surprised this info isn't more readily available (and that nobody on this board knew the answer) but I'll go ahead and answer my own question for anyone who might want to know. I discovered this my examining an avisynth script created by MeGui for encoding an audio file. Add the following to the top of your script:

AddAutoloadDir("Full Path To Your Plugin Folder Of Choice")

If you also have an external Avisynth installed and want to bypass it's default plugins directory you'll also need to do this:

ClearAutoloadDirs()
AddAutoloadDir("Full Path To Your Plugin Folder Of Choice")

Adding this to all scripts and keeping the plugins folder you point to in the same folder as MeGui makes the whole package now completely self-contained & portable.
simple_simon is offline   Reply With Quote
Old 21st November 2020, 12:09   #6  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,129
I've never personally used AddAutoloadDir(), nor was aware of ClearAutoloadDirs() [both only in Avs+, I think].
Nice fix SS.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 22nd November 2020, 07:03   #7  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,473
Quote:
Originally Posted by simple_simon View Post
I thought the point of including an internal avisynth with megui was so that it could be a self contained portable package. If it's necessary to install avisynth in the system then it defeats that point.
It's not necessary to install Avisynth, but it's a way to auto-load plugins, and in my opinion it's a good idea anyway, because then you're free to open scripts with programs that aren't MeGUI, while MeGUI can still use it's portable Avisynth.

I assume you saw a reason for breaking complete portability here, but out of curiosity, why is it an issue to autoload avsi files? I have roughly 50% more avsi files in the auto-loading folder than dlls.

Quote:
Originally Posted by simple_simon View Post
I'm really surprised this info isn't more readily available (and that nobody on this board knew the answer) but I'll go ahead and answer my own question for anyone who might want to know. I discovered this my examining an avisynth script created by MeGui for encoding an audio file.
Believe it or not I had intended to mention those functions in my previous post, but I couldn't remember the exact function names and I didn't find the link before something else distracted me.

If you look at an existing Avisynth page on the wiki you'll generally find newer Avisynth+ functions/arguments have been merged into the existing pages, but for some reason not plugin loading. This page explains how Avisynth+ does it, but it probably should be merged with the original plugin loading instructions, or the original should at least include a link....
http://avisynth.nl/index.php/AviSynt...gin_Autoloader
There's additional pluigin loading methods you might find useful too.

If I remember correctly, ClearAutoloadDirs() and AddAutoloadDir() are something MeGUI only use for audio encoding (to load functions not included in the Avisynth+ dll) and doesn't physically add them to scripts, so their effectively hidden from the user without reading the log file.

Last edited by hello_hello; 22nd November 2020 at 07:09.
hello_hello is offline   Reply With Quote
Old 23rd November 2020, 00:46   #8  |  Link
simple_simon
Registered User
 
Join Date: Feb 2003
Posts: 39
I know there are benefits to installing an external avisynth but I do all my script editing and testing using MeGui so I don't utilize any of those benefits. Besides, if it's necessary to install a separate external avisynth then there's no reason for MeGui to have it's own internal copy. I'm just trying to reduce redundancy. Plus I like the idea of MeGui being a self-contained package that I could throw on a thumb drive and use on a computer that doesn't have avisynth installed (not that I would probably use that function too much) but ever since MeGui started including it's own internal avisynth I thought that the whole point of that was to make portability possible. The only thing preventing that was a simple thing like being able to autoload a filter directory. AddAutoloadDir() fixes that.

I finally traced the problem with avsi autoloading that I mentioned in that other post you linked to a typo in one of my scripts so that's what was preventing that from working. Otherwise adding a registry entry for a filters directory works perfectly well without installing avisynth. But again that's not true portability if you have to add registry entries on a computer that may not be your own. Not very polite either.
simple_simon is offline   Reply With Quote
Old 23rd November 2020, 09:02   #9  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 9,129
It just seems like you are making it difficult for yourself when you are not in immediate need of portability.
You can always switch to your more awkward method when portability required.
Quote:
I do all my script editing and testing using MeGui
Making a whip for your own back.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 04:27.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.