Log in

View Full Version : preparing first AVSEdit release


Pages : [1] 2

stax76
16th January 2004, 23:08
I commited some changes including binaries. The url's in the about box didn't work (thought the controls does this self). Added a settings dialog to the filter description editor, so far the only setting is the filter categories. Then I rewrote the handling of the settings because the implementation was poor (code derived from DVX and DVX is my first app) and I rewrote the whole code about the keys and keys customization. The dialog waits now for input instead of selected some limited keys in a listbox. Toolbar buttons and menu items are disabled when appropriate

I think it would be good to make some test before making a first release

I'm a little bit confused how to deal with plugins like mpeg2dec, mpeg2dec3, mpeg2decDG etc., adding the dll filename to the filter descriptions and if the dll is missing not loading the filter description could be a solution. Most of the time the dll name is the same as the plugin name but sometimes not I think

Wilbert
16th January 2004, 23:40
if the dll is missing not loading the filter description could be a solution
It's not always the case that the dll's are in the AviSynth plugin-dir (at least, if that's what you mean here): for example, v2.0 plugins, v2.5 plugins which make AviSynth/vdub/etc. crash. It would be nice if we are able to update the plugin descriptions, without having to download the plugins everytime :)

Most of the time the dll name is the same as the plugin name but sometimes not I think
That's true. Sometimes different filters have the same name, etc. (for example convolution3d, as you can see I renamed one of them to convolution3dyv12; warpsharp is an other example).

stax76
17th January 2004, 00:13
the problem at the moment is the syntax features pick the description for mpeg2dec instead of mpeg2dec3. The easiest thing would be to include only the description of the most used plugin. Do you know what plugins/scenarios are concerned here?

Wilbert
17th January 2004, 13:10
the problem at the moment is the syntax features pick the description for mpeg2dec instead of mpeg2dec3.
Hmm, I see the problem.

The easiest thing would be to include only the description of the most used plugin.
I don't like this solution so much. In that case, I have to decide which plugin is the most used.

Isn't it possible that a small menu pops up which shows the available plugins which uses the same function (mpeg2source, in your example), from which you can select from which plugin you want to see its features? I think that would be the best solution.

Do you know what plugins/scenarios are concerned here?
1) mpeg2dec/mpeg2dec3
2) warpsharp/warpsharp (Sh0dan's and the japanese one)
3) convolution3d/convolution3d (the latter one for yv12)

There will be more of them probably.

stax76
17th January 2004, 16:04
Isn't it possible that a small menu pops up which shows the available plugins which uses the same function (mpeg2source, in your example), from which you can select from which plugin you want to see its features? I think that would be the best solution.


looks like this is the way to go. The syntax features are a little bit tricky to program although a joke compared the impressing VisualStudio 2003.

stax76
19th January 2004, 16:42
1.0a5
-replaced controls in parameter tab with
property grid (the property control all
.NET IDE's use) which is more professional
and supports filters with 100+ parameters
(if there are any :)
-pressing any key for instance Ctrl except
arrow keys will pop up a parameter info
when the cursor is in the parameter section
-the filter list (Ctrl+Space) will display
a parameter info including plugin name +
Filter name
-support for overloaded functions (Conv3D,
Mpeg2Dec etc.) in the parameter tab and
in the parameter info which will also be
remembered when they were selected in the
parameter tab
-other small tweaks and fixes

cvs is down, I'll commit later

edit: it's online, I hope it works

stax76
19th January 2004, 22:28
I commited again some fixes and made a binary package for user feedback
to uncover bugs and flaws. I hope we can release a first beta soon

http://home.tiscalinet.de/pva2divx/AVSEdit.rar

Dreassica
19th January 2004, 22:40
Wont even start, I get an initalization error (0xc0000135).

Wilbert
19th January 2004, 22:45
Works fine for me (W2k, Athlon), well, kind of.

When I started it, I got the message "can't load settings" (or something like that), then the program started.

I only got that message the first time.

Btw, you have to install .NET Framework v1.1. Download: http://forum.doom9.org/showthread.php?s=&threadid=65016&highlight=avsedit

Wilbert
19th January 2004, 22:58
It looks very cool! One small comment.

If I use mpeg2source (and select mpeg2dec3 instead of mpeg2dec), press help, I got the helpfile of mpeg2dec?

stax76
19th January 2004, 23:07
When I started it, I got the message "can't load settings" (or something like that), then the program started.


explanation about .NET:

as soon as it's released I hope this won't never happen again unless Ms breaks compatibility which they did from .NET 1.0 to .NET 1.1. I've heard MS want to avoid this with future .NET releases. The implementation of the settings handling is one of the best code I wrote so far. I'm constantly improving it since starting with DVX where I was totally clueless of course. The type and sub type to be serialized implements the ISerializable interface which I implemented using reflection. I can add and remove fields to any type without breaking compatibility. Since it's implemented with reflection it's not more work than just adding or removing the fields which can also be tagged with a version attribute for version control for instance to reset a certain settings for a release

stax76
19th January 2004, 23:08
If I use mpeg2source (and select mpeg2dec3 instead of mpeg2dec), press help, I got the helpfile of mpeg2dec?


I'll take a look at it, thanks :)

BlindWanderer
20th January 2004, 18:33
Checked out 1.0a5

Looks very good.

how about little icons for the different variable types in the Parameters frame?

After closing the docking Parameters/Filters/Profile window i can't figure out how to get it back until i restart AVSE.

An option to specify the type of carriage return to use when saving.

The Preview frame works great, the ability to play it from start to finish would be good (instead of framesteping). I think if you try to framestep past the end of the script it should just go to the last frame, instead of not executing the framestep.

allowing for indefinite paths would be nice too.

Thats all i can think of now.

stax76
20th January 2004, 20:19
thanks for the feedback


how about little icons for the different variable types in the Parameters frame?


so far I did not figure out how it works, I'm not very experienced with graphics, for some reason it don't draw

Private Sub pgParameters_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles pgParameters.Paint
e.Graphics.DrawImage(il16.Images(0), 0, 0)
End Sub


After closing the docking Parameters/Filters/Profile window i can't figure out how to get it back until i restart AVSE


I'll have to ask the author of the docking control how to do it, it's closed source (the next .NET framework will include such controls)


An option to specify the type of carriage return to use when saving.


why is that important for a Windows only application?


the ability to play it from start to finish would be good (instead of framesteping)


you want simply play the scripts? In the preview space is play/pause, righclick is help


I think if you try to framestep past the end of the script it should just go to the last frame, instead of not executing the framestep.


I'll change it, you know about the rightclick don't you :)


allowing for indefinite paths would be nice too


you mean multible file paths as parameter list for instance for source filters? This is supported except the script parser don't notice it and therefore it will show up wrong in the parameter grid

BlindWanderer
21st January 2004, 04:49
Originally posted by Dolemite
(1) why is that important for a Windows only application?

(2)you want simply play the scripts? In the preview space is play/pause, righclick is help


1. The only reason i bring it up is becasue it seems to be using single character carriage returns which doesn't make notepad happy.

2. How did i miss the play/pause? i checked atleast 3 times. I feel silly. (yes i did find the help box).


Wishlist: it would be nice if it would highlight functions from imported scripts & autoloading scripts (and loaded the paramater info too).

stax76
22nd January 2004, 01:08
only cvs:

1.0b

-fixed line termination bug
-added support for custom functions
-parameter grid shows info for the
selected parameter

can we make a first release now?

arlsair
22nd January 2004, 16:18
I made a recent german help file (http://www.arlsair.de.vu/avisynth/german.chm) of the avisynth documentation, if you want to include it.

Wilbert
22nd January 2004, 16:51
I made a recent german help file of the avisynth documentation, if you want to include it.
I already commited a recent german help file for you :)

http://cvs.sourceforge.net/viewcvs.py/avisynth2/AVSEdit/help/

stax76
22nd January 2004, 17:24
I made some changes what is called UITypeEditor's in .NET attached as attribute the property of the selected object (ICustomTypeDescriptor to create dynamic objects) of the property grid. CVS is down again :(

-fixed line termination bug
-added support for custom functions
-parameter grid shows info for the
selected parameter
-if the parameter name is filename,
a open file dialog can be used
-if the parameter name contains color,
a color dialog can be used
-better support for overloaded functions

more suggestions for the parameter
grid would be appreciated

arlsair
22nd January 2004, 17:31
Originally posted by Wilbert
I already commited a recent german help file for you :)

http://cvs.sourceforge.net/viewcvs.py/avisynth2/AVSEdit/help/
Ah, great. But mine is newer as I translated the "abstract" part of the plugins. I will commit it as soon as the cvs works again.

P.S.: @Wilbert:
I can`t compile the chm with the link to avisynth.org. I always get an nice error. Have I to do somethink special ?

Wilbert
22nd January 2004, 19:53
Ah, great. But mine is newer as I translated the "abstract" part of the plugins. I will commit it as soon as the cvs works again.

Ok.

I can`t compile the chm with the link to avisynth.org. I always get an nice error. Have I to do somethink special ?
It also get that error. But, the resulting chm file is fine.

stax76
22nd January 2004, 20:44
cvs is still down but I uploaded the binaries to my private webspace so we still can make a release if the rest of SourceForge work. I don't know if the included filter descriptions are up to date and the help files need to be included. When I understand right there is a german help file with work by arlsair but does it integrate? I hope jernst is not to busy otherwise maybe somebody else could build the installer, the installer source is included.

http://home.tiscalinet.de/pva2divx/AVSEdit.rar

arlsair
23rd January 2004, 01:13
I updated the german chm again (now with link to the website. Thanks Wilbert), but I can`t commit it, because I can`t see the AVSEdit folder my local cvs-tree. :confused:
But you can download it here (http://www.arlsair.de.vu/avisynth/german.chm) and this file should be integrate in the release of AVSEdit, because it is the most recent one.

jernst
23rd January 2004, 08:32
IMHO, he help file should be bundled with AviSynth and not AVSEdit. AVSEdit then would make use of it from the AviSynth directory.

At least that was what was discussed earlier with Dolemite and Wilbert.

I'll prepare a release with installer and try to cleanup the repository this way if that's ok.

Wilbert
23rd January 2004, 10:41
@jernst,

Please check your pm.

stax76
23rd January 2004, 11:51
if the help files are bundled with AviSynth most likely I can read the location from the uninstall reg key

jernst
23rd January 2004, 13:45
I compiled it and bundled it with an installer.
http://dvx.sf.net/AVSEdit1.0a5.exe

If everything works Wilbert could release it as a package of the AviSynth2 sf project.

CU,

arlsair
24th January 2004, 18:51
For me it works, bu an Uninstaller would be nice.

BlindWanderer
25th January 2004, 09:57
The syntax highlighter is highlighting things in comments. Also for custom function detection if the function is commented out (when avsedit loads) it still registers it as a custom function.

no highlighting is done for clip property, script & varriable functions (like eval(), default(), floor(), IsRGB() to name a few). Just wondering if they were left out.

Wilbert
25th January 2004, 11:08
no highlighting is done for clip property, script & varriable functions (like eval(), default(), floor(), IsRGB() to name a few). Just wondering if they were left out.
That's because I didn't add them yet :)

jernst
25th January 2004, 11:17
Originally posted by arlsair
For me it works, bu an Uninstaller would be nice.
Ok, I'll do it asap.

stax76
25th January 2004, 15:25
The syntax highlighter is highlighting things in comments. Also for custom function detection if the function is commented out (when avsedit loads) it still registers it as a custom function.

no highlighting is done for clip property, script & varriable functions (like eval(), default(), floor(), IsRGB() to name a few). Just wondering if they were left out.


AVSEdit has a couple of weak points:

startup time: this is due to the .NET and AVSEdit architecture, great architecture and raw speed are two things that hate each other. The good thing is once AVSEdit was started, the next time it should start significant faster. The .NET framework includes a tool called ngen.exe which can compile the il code (AOL, ahead of time compilation) and put a native image in the global assembly cache. Performance critical assemblies of the .NET framework like the Windows.Forms classes are used that way. However I played around with this and couldn't notice significant differences between JIT compilation

AVSEdit uses the RichTextBox control of the .NET framework which don't has Drag & Drop enabled like the COM+ wrapper for the native component. So far nobody did figure out and made it public how it works

the AVSEdit highlighting implementation is quite ugly, it disables the painting of the control, selects each filter and changes the color. The alternative would be to create the rich text code, I don't know if it would be hard

the other alternative would be to replace the RichTextBox control with the text control of the SharpDevelop IDE. It is rich featured, has all the required things like drag & drop and the best is the source code is available. I'll take a look at it when it's stabilized, it was greatly improved in #D 0.98, 0.99 including the missing VB features like a form designer is expected this month. The text control is large piece of code written by a true .NET wizard so including it won't probably be easy, I know C# and more advanced .NET techniques so probably I can integrate it

jernst
27th January 2004, 23:02
Originally posted by jernst
Ok, I'll do it asap.

I was reading my nsis script and noticed that I already made an uninstaller (!)

You can uninstall AvsEdit from the add/remove programs gui in the control panel of Windows.

Tell me if you need something else...

stax76
27th January 2004, 23:14
maybe you could add uninstal to the startmenu as well if it's not there already. Imho the windows dialog is very annoying because it don't react to the keyboard, loads slow as hell and can't remove broke items (I guess it's my fault why it looks like a rats nest)

jernst
27th January 2004, 23:19
It's not in the start menu atm.

Do you people think it would be nice to have an "uninstall AVSEdit" in this program group or is an entry in the Add/remove program applet enough ?

If nobody is against it I'll put the Uninstall AVSEdit link into the program group of AviSynth and AVSEdit in next release.

arlsair
28th January 2004, 08:37
Yes, I already tried to uninstall AVSEdit over the add/remove software dialog, but there it was broken. I just was ask, if I want to remove the uninstall entry in that dialog.
So I thought, that there is no uninstaller.

bill_baroud
28th January 2004, 09:37
look into the registry (HKLM Software\Microsoft\Windows\CurrentVersion\Uninstall\) and delete the key corresponding to the object which shouldn't be here.

jernst
28th January 2004, 09:52
@arslair

You're right, the uninstaller was broke and only working if you already had a previously installed version of AVSEdit (so if you reinstall AVSEdit over another install of AVSEdit, the uninstaller will work).

Of course I now fixed it and commited the changes onto cvs, the next installer/uninstaller will be much better.

Thanks for reporting.

OBcecado
29th January 2004, 01:00
Hi, don't know if I'm posting in the right place or not, I want to congratulate you, this app rocks i liked it so much that i just finished translating it to portuguese language, i wonder if it could be included in next build of the application.
Translated file (http://ptbox.net/~ob/Portuguese.txt)




Greetz.

stax76
31st January 2004, 14:11
thanks a lot :thanks: , of course it will be included in the next release. Except some fixes concerning the parameter grid nothing has changed so far, I'm hoping the text control limitations can be addressed for the next release

OBcecado
31st January 2004, 15:39
Sorry, but i thank you for including that language file in your app :D
Anything about the translated file just say.



Greetz.

albertgasset
1st February 2004, 01:00
I've written a catalan translation of AVSEdit. If you want to include it here's the translation file (http://www.fib.upc.es/~e7716401/tmp/Català.txt).

BlindWanderer
1st February 2004, 01:55
i get a 404 when i click the link.

stax76
1st February 2004, 02:47
@albertgasset

thanks for contributing the catalan translation


@BlindWanderer

what link :confused:

albertgasset
1st February 2004, 11:33
Sorry, the name of the file was "Català.txt".
This link should work for everybody:
http://www.est.fib.upc.es/~e7716401/avisynth/avsedit_catalan.zip (http://www.fib.upc.es/~e7716401/avisynth/avsedit_catalan.zip)

Thanks

stax76
4th February 2004, 22:30
I've replaced the RichTextBox with the TextEditor control of the SharpDevelop IDE and commited it to cvs (binaries incl.), benefits are everything is build in like syntax highlighting, undo/redo buffer, commenting etc. so I could replace my amateurisch RichTextBox hacks. The highlighting strategy is defined in XML wich can be customized, I made a highlighting strategy which is of course a lot better and more colorful then the old solution. There is drag and drop to move text around with the mouse of course now and there is no flickering like with the RichTextBox.

BlindWanderer
5th February 2004, 15:13
your compiled version loads faster :)


avse gets grumpy if you rem-out stuff in the syntaxdefinition xml file (and the file is still valid xml).

stax76
5th February 2004, 18:48
you can make a native image (compile it to native maschine code) by using ngen.exe, ngen.exe is in the .NET framework dir, simply run it with AVSEdit.exe as argument

ngen.exe AVSEdit.exe

it will make a native image in the global assembly cache, maybe it will get a little bit faster. The installer could do it but I'm not sure if it's necessary. I tried to optimize the startup and I don't know if it can be made much faster. As for the editing, I started already a code review and performance test and found already a few issues.

I believe there is some xml validation performed (I had to study the code a lot in order to figure out how to use the control), I had also some errors after editing the file.

BlindWanderer
6th February 2004, 09:58
i'm just saying that the version i checked out of cvs loads faster then the release version. I got it to crash when i rem'ed out

<InvalidLines color = "White"/>

stax76
7th February 2004, 17:10
I made a new commit but there is a strange bug, after opening a avisynth script with DirectShow and closing the interfaces used for this, .NET api's that rely on com break (noticable in AVSEdit with drag and drop stop working and copying to the clipboard breaks). It does not happen when opening a avi file. I'm not very good in interoperating with native API's so finding a solution will take time