Good going! This looks very promising . . . I'll definitely stay tuned. I can't give any advice for now. But just thought you'd like to know at least one person will be waiting with bated breath for more news. :D
Attached is a sample of what the AviSynth Plugin Definition (APD) file will look like. This file will be a description of an external plugin, all of its filters, parameters, and values. You'll need to write this out yourself (as I can't figure out how to query a DLL for its interface yet) but I'm currently working on a utility that'll make writing the APD fairly easy. ##EDIT## For those of you who don't want to wait for the attachment to be enabled, here's basically what it looks like. Code:
Can you add some kind of crop and resize system to your program? I already have some working .NET code you can work with. All code is written in C#. PM me if you'd like to see the source.
not quite sure if i got the full gist of what the app is meant to do, but here's my list of things - sorry if some are vague 1) "loadplugin" and "avisource" that work like the "open file" dialogue in ms word, or maybe even like a winamp playlist, i.e. that allows you to graphically navigate through directories looking for the target file, e.g. just like hitting the "browse" /attach file button when posting on the doom9 forum 2) how about like a quicksave "restore point" - quickly save the current script content to memory, then you mess up the script and you want to revert, you hit restore and bosh, script reverts to last restore point (i guess it may not necessarily be the one last saved to disk) 3) edit undo/redo like in ms word 4) display avisynth dll version number in the menu bar or somesuch 5) some kind of incorporation of / integration with the vdub_import_filter 6) open current script in virtualdub, save and refresh from current script like virtualdubmod 7) incorporate tr barry's checkparity function against a given clip 8) filter toolbar - group filters together by description and have them select-able from dropdown (e.g. like pastefunction button/dialogue screens in ms excel, e.g. "resize": pointresize,bilinearresize...validation of parameters) ...or maybe like a font dialogue box in ms word 9) commercials trim helper-tool or mini-wizard - make it easy (somehow) for the user to provide clip frame ranges as (e.g.) tv show segments, which can then be alignedspliced back together into one big e.g. clip3=clip1+clip2... (i.e. have the range that excludes commercials)
Might be OT but just thought I'd ask... Is there anyway to query the DLL about the version number of the AviSynth build. So an App that interfaced with Avisynth could do a... hDLL = LoadLibrary("AviSynth.dll") MajorfuncPtr = GetProcAddress("GetVersionMajor"); MinorfuncPtr = GetProcAddress("GetVersionMinor"); if ( MajorfuncPtr == NULL
First, I found a little bug in my ADP syntax - no indication of the value type needed (ex. boolean, string, int, float, etc.) so I'll be adding that to the official ADP definition somewhere. Don't take what I posted before as gospel; life is subject to change without notice. :D replies to: Emperor - All this will do is write out your scripts for you; you'll still need WMP or something to view the output. I may Shell out to WMP or mplayer2 (WMP6) to preview scripts, but I've not decided yet. The basic version will just write out standard AviSynth filters and query the user for what values they want to use with each filter and write that into the script automatically. Thanks for the offer, though; once I finish all the basics I'll see about adding extra stuff like what you've got there. :) wotef - 1. Load plugin (all three types) will have a dialog box that find the path of the plugin dll and write out the appropriate LoadPlugin(xx) statement in the AVS. However, since I can't figure out how to access the interface from a C++ dll (writing this in VB.NET), you'll need to write up the interface yourself in a special format called an APD file. (I'm also working on a utility to help you do that too.) So ASE will ask you to locate the plugin file, then it will ask you for the APD file so it can load the plugin filter information for you to use. 2. Not a bad idea, maybe a quicksave every few commands... I'll look into that. .NET textboxes are supposed to have a ClearUndo method that brings back all the text if you accidentally delete it but I can't seem to get it to work right all the time... 3. I'll look into it. 4. ASE doesn't actually interface with AviSynth, I'm just writing filter definitions from the manual included with the 2.0.5/2.0.6 release. So everything should work with AVS 2.0.6 and up. I can put something to that effect in the documentation, though... 5. So long as you write up the definitions first, you'll be able to import external plugins, VDub plugins, and VFAPI plugins, using normal AviSynth "LoadPlugin" statements. 6. Not sure what this means... You'll be able to save the script you write, then open that normally in anything else... Clarification please? 7. I don't know that trbarry's checkparity function does. 8. This is actually exactly the way I was going to write out the interface... Great minds think alike! :) 9. The first release of ASE will be just linear editing, but you can manually import clips (a group of AVISource filters) and splice them together. After I get the basics finished, I'll look into OOP notation and helper functions for variable assignments. Nic - not quite OT, but as I've said earlier, ASE won't actually interface to AviSynth in any way. Just so everyone knows, I'm not writing this as a VirtualDub that writes AVS scripts for you - that's already been done (see VDubMod/VDubOGM). I'm just writing up a little helper that'll allow you to pick a filter, query you for the values to enter in each field, and write out the correct syntax in a script. You'll still need to know how to use AviSynth correctly, ASE will just help you write your scripts easier and faster. I'll see if I can put up a small demo version in the next few days so you can all get an idea of what to expect. PS to any mods: is this okay on the AviSynth forum or should this thread be moved to the Programming forum? To everyone: thanks for the info, and I hope you all enjoy ASE when I get it finished! :D
Would it be useful to include optional brief explanations of each filter and each parameter in the filter description? That could allow some decent script editing without digging through lots of help files.