I am trying to make a plugin for Avisynth which can be used for various effects including transitions. I need to access multiple clips.In the filter sdk I do not find info on how to access multiple clips. For eg. vi-> and child-> are used in the sdk. These have to be different incase of multiple clips. Will it be permissible to use clip.child-> and clip.vi-> ? I also need to use some internally included filters but with parameters varying for each frame including resizing. Animate filter expressly prohibits using varying size.How to call these with frame as input and other parameters? still keep env, vi of original unaffected? The header files of these internal filters specify clip and not frame. Since I am new I think that using internal functions will be faster with optimized code rather than me writing anew such code.
I have a transition plugin under construction and almost complete now. I found out that I can just use "clip" parameter as any "normal" parameter - assigned to PClip member variable. So far transitions are circle : one clip is inside the circle, one is outside and line : one clip to the left, other one to the right. What transitions are you planning ?
Actually I won't. Anyway - regarding calling internal filters you need to look at "env->Invoke()". Invoke will return an AVSValue with the clip resulting from the filter you pass to it. See at avisynth.org. An example (grabbed from MipSmooth - it uses invoke a lot): Code:
Well, that's clarified the situation :rolleyes: :) I'd previously thought that a lot of Avisynth internal filters called other ones (to save duplicating code) as part of the C++ philosophy :confused: regards Simon
@siwalters They do call others filters, but not with Invoke, they use new Filter directly, which saves the linking step, AVSValue manipulation... @tempetai Invoke Dissolve with the proper parameters (you may want to generate appropriate dummy video) and only use the sound.
while you are in "comment mode/mood", could you describe how the variables (global, non-global) fit into this picture? I still don't get that "from end to start" thing and where and when the variables are actually stored. E.g. why there is a offset by one call if I use ScriptClip twice (the second subtitle shows the result of the first only at the next GetFrame Code: