Log in

View Full Version : New AviSynth tool - AvsP v1.4.0 (6/5/07)


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17

~bT~
25th April 2007, 03:31
^ yes, options-->program settings-->video 1-->tick the 1st option.

@ qwerpoi

gr8 work with the constant updates. cheers!

I have a request.

poss to add a DONATE button? :)

krisq
25th April 2007, 08:12
O yes! Perfect job, qwerpoi! DONATE button is a must :)

Henrikx
25th April 2007, 09:19
The translation does make unnecessary work.
You delete lines of text,you do not say which lines of text you have deleted.
Example : Translation 1.3.7 AvsP Website = Line 488, in 1.3.8 Line 507.More time costs searches than the translation.
That is no more fun .

3ngel
25th April 2007, 11:46
Hi,
i'm testing your program right now (version 1.3.8) and i can say some fast suggestions:

1) Include in the compiled project the msvcr71.dll. At the moment it doesn't start if it doesn't find.

2) Add to the filter in the open dialog of the "Open..." menu the *.avi extension

3) Make an option to immediately open the preview window right after the loading of the script (or the .avi that becames script)

4) Make the preview window fit exactly the video size without any gray border up/down/left/right

5) Memorize the preview window status.
Example: if i open a first script, show preview window, than "Add tab" then open another script at the moment the preview window doesn't appear immediately but there's only white space, when i switch back to the first script the preview has gone.

6) Make an option to remember the frame status of each tab. At the moment if i select the frame 100 in the first script, then click tab on the other, it automatically render the frame 100 in the other, even if i previously was working on frame 80. Make an option to not render automatically and to remember the different frame number status.

7) Make an option to disable widht resizing of the window (in order to avoid creation of right grey border on preview window)

8) In automatic rendering within tabs, fix the seek bar position (now it doesn't reflect the frame count)

9) Remember (and autoselect) the last path in "Save Image as..." dialog box

10) Add a "Refresh" button on the bottom bar

Henrikx
25th April 2007, 11:57
Update Translation

qwerpoi
25th April 2007, 18:55
gr8 work with the constant updates. cheers!

I have a request.

poss to add a DONATE button? :)

O yes! Perfect job, qwerpoi! DONATE button is a must :)
Thanks for the praise. As for a donate button, I'd feel a bit guilty putting one up considering that there isn't one for Avisynth itself, and my stuff is being graciously hosted on the Avisynth site as well. So we'll see. If I ever do put one up, I'll make sure you guys are the first to know :)

The translation does make unnecessary work.
You delete lines of text,you do not say which lines of text you have deleted.
Example : Translation 1.3.7 AvsP Website = Line 488, in 1.3.8 Line 507.More time costs searches than the translation.
That is no more fun .
Thanks for the translation update, and sorry about the tedious work. Usually there aren't too many messages removed (or added) from one version to the next, this one was an exception. I'll see what I can do about it, I may try and put together a tool which takes the current translation file and an older version translation file and makes a new file with all new messages requiring translation on top.

1) Include in the compiled project the msvcr71.dll. At the moment it doesn't start if it doesn't find.
I don't think I'm allowed to distribute msvcr71.dll, I guess I should mention the requirement somewhere (but honestly, a huge number of programs require it, so it's a non-issue for most users).

2) Add to the filter in the open dialog of the "Open..." menu the *.avi extension
Should be doable, I'll try to have it in the next release.

3) Make an option to immediately open the preview window right after the loading of the script (or the .avi that becames script)
Is this really necessary? I imagine that most often you'd want to open a script to edit it, not necessarily view it right away. In the off case where you want to see it immediately, it's just a click or keyboard shortcut away.

4) Make the preview window fit exactly the video size without any gray border up/down/left/right
What are you referring to when you say "gray border"? If you are referring to scrollbars, they don't show up unless your video is too large to fit your monitor's screen resolution. If you are referring to the ~5 pixel gray border around the video frame, I can't get rid of them, otherwise it's possible for some of the video to get covered up by the window itself, a small buffer region is necessary.

5) Memorize the preview window status.
Example: if i open a first script, show preview window, than "Add tab" then open another script at the moment the preview window doesn't appear immediately but there's only white space, when i switch back to the first script the preview has gone.
6) Make an option to remember the frame status of each tab. At the moment if i select the frame 100 in the first script, then click tab on the other, it automatically render the frame 100 in the other, even if i previously was working on frame 80. Make an option to not render automatically and to remember the different frame number status.
The program remembers preview window status and frame status on a program level, not on a tab by tab basis. This was chosen intentionally, in order to streamline the comparison of videos. When comparing two videos (ie, one unfiltered, the other filtered), it makes it easier for the frame number to be remembered on the program level, so you don't have to keep synchronizing frames. As you point out, this is somewhat awkward when working with multiple unrelated videos, but to me this would seem to be the exception rather than the rule.

7) Make an option to disable widht resizing of the window (in order to avoid creation of right grey border on preview window)
Not sure what you mean here, you'll always get a right grey border if the video width is less than the program width. If you just want to stop AvsP from resizing the window ever, go to "Options -> Program settings..." and under the "Misc" tab uncheck "Allow AvsP to resize the winodw".

8) In automatic rendering within tabs, fix the seek bar position (now it doesn't reflect the frame count)
Not sure what you mean here. Can you provide an example?

9) Remember (and autoselect) the last path in "Save Image as..." dialog box
Good point, I'll try and have it in the next release.

10) Add a "Refresh" button on the bottom bar
Hmm, it's a reasonable request, but I'd rather not, I'd like to keep the number of buttons on the bottom bar at a minimum. Besides, AvsP will automatically refresh the video when you press any button on the bottom bar, so you can even left-click the video slider handle as a makeshift refresh button. Or use the keyboard shortcut F5.

Henrikx
25th April 2007, 19:33
@qwerpoi
THX
I also have translated only the new sentences, and copied (by Line) into the old translation 1.3.7.
Work without faults.
I must clean up the next version.1.3.9

Alain2
25th April 2007, 22:26
Thanks for this new version, again very good release with interesting features :)
The new fit inside window zoom is working well for me, and it is very useful :)

a few notes:
- bug : resizing the width of the script window makes a strange bug on the video window right side that is sort of resized as well (independant windows in my config)
- cosmetic : when the cursor is in the video window, the pos and hex values appear in the status bar (default status bar, didn't customize it yet ^^), but this slightly pushes the right side infos [edit] this is not always the case apparently..
- bug ? : maybe check the display code of the video window, I got the impression that when resizing the window it displays the resized picture and refreshes again a second time straight away, which then takes twice longer to display than before I think (important for heavy scripts like the ones I write ^^) ; seeking with the cursor below doesn't produce the double refresh, so it's probably just when the window is resized
- cosmetic : the cursors / toggles / etc area is not hidden automatically any more when there is no specific avsp code in scripts

++ and thanks again for all your work on this excellent avs tool!

lolent
26th April 2007, 01:57
I have discover this soft thanks to Alain2 (thanks to him :p).
AvsP is a very impressive and powerful Avisynth tool.
Thank you qwerpoi to have created this amazing program and continued to develop it. ;)

Kuukunen
26th April 2007, 05:00
First of all, it's a great tool. Thanks. This post really ran a bit long, originally I meant to only write about the memory thing and #2. Then I started remember all these nice ideas I've had while using AvsP. So I've really put thought in them and it would make me sad if you didn't do the same. I really think they're all worth implementing.

There has been troubles with memory usage when there's buggy filters. (One easy mistake would be to put all RemoveGrain dlls in the plugin folder.) It happens with AVSEdit too, but as it's so easy to load/close Avisynth with AvsP, it becomes very easily visible. Just toggling tags etc for a minute gives 500MB or so memory usage. Using the "release all video from memory", closing previews and tabs leaves still 250MB. Closing the program gives access violation error. ("blah blah memory could not be 'read'") Would it be somehow possible to cope with buggy filters? Would it be possible to make the error manifest when it happens, not when you close AvsP? Also the preview avs's are of course left behind.

There's also a small bug. When I edit a togglable tag manually, (change =0 to =1) the corresponding checkbox won't update. This might not be a bug, since fixing it would require that the tag&slider window to refresh at every update, but thought I'd let you know.

Ok, anyways, to the real stuff.

1) Ctrl-tab. Maybe it's because I use Opera and not Firefox, but I don't like the way Ctrl-tab works. I'd prefer that it would work the same way as in Opera or Alt-tab in Windows. I mean it shouldn't move to the next tab, but to the one that was last open. (And traverse the stack if you keep Ctrl down.) Why? Because it would be so much easier to jump back and forth between two tabs even though there are other tabs open. (If you want to compare them for example.) Now I have to make sure there are only two tabs open. You could move the "next tab" function to some other shortcut.

2) The preview window. I don't know how other people compare two scripts, but when I want to look at the small detail, I might open two scripts in two tabs. Then zoom the video to, say, 300%. The first annoyance is that it hides the script under the preview and I have to resize it. Then if I want to have the other script in the same position, I have to resize that tab's preview window to match the other. (Pixel perfect.) But the time it gets really annoying is when I do a typo on the script and it gives me error message. The preview window resizes itself to match the "video". I fix the typo and the preview fills the screen again! And of course I have to yet again get the right size to match the other tab. My solution: If some people like the way it currently handles, at least add two options: "Never ever resize the preview window." and "Preview window is the same size for all tabs."

3) Reopening a file. When I have a script open and I play around with it. If I notice it's not going in a good direction, I might want to get the previous save I run into some troubles. Even if I click Open and open the file, it refuses to do so. It would be great if opening a file would actually reopen it even if it's already there. Or better yet, if there was a "Reopen". (See #4) Ok, this is a small annoyance, closing the tab and then opening works, but still...

4) Multiple tabs of a same file. AvsP's sliders and togglable tags are great. So it would be good to have the possibility of having the same script open in two tabs so I'd be able to play around with the toggles and sliders and compare it to some other setting of the same script.

5) Information about video. I don't know how feasible this is to implement, but when comparing filters and their settings, sometimes it's very important to know how fast they are. It would rock to have small text somewhere that tells how fast the frame was rendered. (SPF or FPS) This idea could be taken further and you could have optional other stuff too, like PSNR displayed somewhere, but that's not as important as the time.

6) Misc. improvments on the interactive AvsP-only stuff. (I really don't know what to call them.) As you said, it might revolutionize the way I create scripts. I'm thinking about making a big meta-script that has all sorts of possibilities I can control with toggles and sliders. There are a couple of things I'd like before that though.

6.1) Export. It already saves the scripts in a format Avisynth can understand, but sometimes it might be nice to have a File->Export that saves the script so that there are no AvsP-stuff in comments and there wouldn't be as much empty lines. I think in normal save it should also consider only lines that really are empty as empty lines and remove lines with toggles, separators etc.

6.2) Radio buttons. It's a small usability improvement, but I'd really like it. There are checkboxes now, but it would be awesome to be able to select between two or more filters that do the same thing in different way using radio buttons. Now I have to deselect the other and select the other. On the list it would behave exactly the same as a checkbox, except that it looks like radio button of course, but in the script, it would have a second name to link it to other radio buttons, like: [filtersetname,filtername=1]

6.3) The tags&sliders window needs a new way of sorting things, mainly they should appear in the order they are in the script. I think the sliders shouldn't be separated from the checkboxes. So if I enable a filter using a togglable tag, the slider appears under that checkbox.

6.4) Nested checkboxes/radio buttons should be in the order of the starting tag, not the ending, and checkboxes should be able to hide other checkboxes/radio buttons like they hide sliders at the moment. For the sake of appearance and usability, it might be better if they were indented. Now that I think of it... things would be less messy if there was a possibility to hide the stuff that's under a checkbox/radio button. Like, by default toggling a tag on would display all things nested under it, but there's also a small arrow-thingy that can hide all of it without disabling the section.

6.5) Toggles/sliders with a same name. Again a minor usability thing. Would be fun to be able to use same names in the sliders. For example "strength" etc might be present in lots of filters. If this causes troubles internally, AvsP could handle the names combined with the "parent" toggle. For example "Deblocking/DeBlock/Strength". Or even better, handled with the line number so it would be possible to have a same name even on the same nesting level. It would also help in a situation where you want to be able to play around with the order of the filters. For example you could copy a section A to be before AND after section B. Then you could use a radio button to select if section A is really handled before or after B. (And the names of the sliders would be the same.)

6.6) Sliders work great, but sometimes I want to edit it a bit more precisely and I have to go to that part of the script and edit it. But if you're playing around with the slider, it would be faster to be able to edit the number directly. Simplest way of doing this would be to change the blue text that shows the slider's strength into a textbox.

6.7) Small naming and appearance things. There's really no need for "Toggle blah section". Just "blah" would be enough. People know what it means. Also, I'd like if it was possible to combine a separator and a checkbox for big meta-toggles like described in the next paragraph.

So all put together, for example I click on a checkbox for "Denoising" then a set of radio buttons appear that I could use to select the actual filter used. When I select one of those filters the slider(s) and toggles for its options appear.

I realize this makes writing Avisynth scripts very different. You could have a AvsP script file that can be used as a template to create Avisynth scripts. I don't know if some old school elite encoders like it because it might make things too "easy". :P

There's really no reason one wouldn't be able to make a huge AvsP-script that could be developed in its own thread. (Accompanied with a zip that has all the filters for it of course.)

Or you could have a AvsP script excerpts for specific filters. So you can copypaste it in your file to get sliders etc for its settings.

This is the future! Woo!

foxyshadis
26th April 2007, 16:27
Would it be somehow possible to cope with buggy filters? Would it be possible to make the error manifest when it happens, not when you close AvsP? Also the preview avs's are of course left behind.
I don't believe this is actually possible. I've been stung by it as well, but the problem is that the only way Avsp could do this is to generate an allocation map of everything it didn't allocate, and forcibly deallocate that, but you'd bascally have to reimplement a memory manager to do that reliably. That's why I was a fan of having avisynth in another process (and for crashes), but now that avsp is integrating much more tightly that isn't even feasible.

1) Ctrl-tab. Maybe it's because I use Opera and not Firefox, but I don't like the way Ctrl-tab works. I'd prefer that it would work the same way as in Opera or Alt-tab in Windows. I mean it shouldn't move to the next tab, but to the one that was last open. (And traverse the stack if you keep Ctrl down.) Why? Because it would be so much easier to jump back and forth between two tabs even though there are other tabs open. (If you want to compare them for example.) Now I have to make sure there are only two tabs open. You could move the "next tab" function to some other shortcut.
I'd hate that. I'd prefer ctrl+number to directly access the first ten tabs, and some function key to switch between the current and last-viewed tab. (Editplus uses F12 for this.) Your method is actually the default in firefox as well, they copied opera, but I've always found it completely impossible to navigate between more than a few tabs without always having memorized the order I last looked at everything, so I simply never use that feature. The current avsp behavior is the windows standard for ctrl-tab in MDI apps. (And ctrl-alt-tab isn't taken, for what it's worth.)

2) The preview window. I don't know how other people compare two scripts, but when I want to look at the small detail, I might open two scripts in two tabs. Then zoom the video to, say, 300%. The first annoyance is that it hides the script under the preview and I have to resize it. Then if I want to have the other script in the same position, I have to resize that tab's preview window to match the other. (Pixel perfect.) But the time it gets really annoying is when I do a typo on the script and it gives me error message. The preview window resizes itself to match the "video". I fix the typo and the preview fills the screen again! And of course I have to yet again get the right size to match the other tab. My solution: If some people like the way it currently handles, at least add two options: "Never ever resize the preview window." and "Preview window is the same size for all tabs."
Options->Misc->Allow Avsp to resize the preview window. :D

3) Reopening a file. When I have a script open and I play around with it. If I notice it's not going in a good direction, I might want to get the previous save I run into some troubles. Even if I click Open and open the file, it refuses to do so. It would be great if opening a file would actually reopen it even if it's already there. Or better yet, if there was a "Reopen". (See #4) Ok, this is a small annoyance, closing the tab and then opening works, but still...
Unintuitive feature time: Double click on one of the tabs. That will clone the current contents to a new tab. From there you can undo back to wherever you wanted to be, or close+reopen, whatever. I admit this is more of a workaround than a solution to your problem.

4) Multiple tabs of a same file. AvsP's sliders and togglable tags are great. So it would be good to have the possibility of having the same script open in two tabs so I'd be able to play around with the toggles and sliders and compare it to some other setting of the same script.
The tab double click again.

5) Information about video. I don't know how feasible this is to implement, but when comparing filters and their settings, sometimes it's very important to know how fast they are. It would rock to have small text somewhere that tells how fast the frame was rendered. (SPF or FPS) This idea could be taken further and you could have optional other stuff too, like PSNR displayed somewhere, but that's not as important as the time.
I wouldn't mind a performance metric. You can use avstimer to get a more granual profile, but a top-level overview is nice too. (I have a version of avstimer that can do float fps & spf, because sometimes I make scripts that need them....)

No issue with the whole #6 section, though 6.4 might be a bit too ambitious in the near term, although necessary. The main thing I'd add is that the syntax becomes unwieldy for working with a whole filter's arguments at once, because of the duplication of the filter & argument name in the title of each; a "whole filter" style of slider definition would make sense. But the UI generation are quite prickly, I understand that well enough that I've just avoided that chunk of avsp's code. >.>

Kuukunen
26th April 2007, 20:27
I'd hate that. I'd prefer ctrl+number to directly access the first ten tabs, and some function key to switch between the current and last-viewed tab. (Editplus uses F12 for this.) Your method is actually the default in firefox as well, they copied opera, but I've always found it completely impossible to navigate between more than a few tabs without always having memorized the order I last looked at everything, so I simply never use that feature. The current avsp behavior is the windows standard for ctrl-tab in MDI apps. (And ctrl-alt-tab isn't taken, for what it's worth.)
Well, the main point was that it would be somehow easily possible to switch between two tabs even though there are multiple open. Those suggestions would work fine too. (Or well, Ctrl-Alt-Tab might be a bit cumbersome.) I guess it's all a matter of preference, I use Ctrl-Tab in Opera all the time.
Options->Misc->Allow Avsp to resize the preview window. :D
Naturally options was the first place I looked. I noticed the option, but... I don't know if it's a bug or not, but it doesn't work that way. It's called "Allow AvsP to resize the window." (not preview) so I figured it might mean the whole window. Anyways, it's not doing what I want. When I typo, it will still resize the window and when I fix and have zoom on, it will resize it to take all space. The second half of my point was invalidated though. I was using the older version and apparently the new version has preview sized the same for all tabs. Yay.

Well #3 and #4 were just minor things anyways, not too important. Although usually when you open open a file again, you get the new content, in AvsP it's completely ignored. (Apparently) And yea, I didn't know you could double click a tab to copy it.
I wouldn't mind a performance metric. You can use avstimer to get a more granual profile, but a top-level overview is nice too. (I have a version of avstimer that can do float fps & spf, because sometimes I make scripts that need them....)
I like Kronos. But where could I get a avstimer that does floats? :o

Alain2
27th April 2007, 00:31
French translation updated

oh and one additional note following my previous post:
- The custom resizer for the video zoom method has disappeared from options.. Or am I not looking at the right place ? Or have you removed it because of the new video directly generated via avisynth layout ? What is the method used now, and is this feature coming back in future releases ?

foxyshadis
27th April 2007, 02:12
Naturally options was the first place I looked. I noticed the option, but... I don't know if it's a bug or not, but it doesn't work that way. It's called "Allow AvsP to resize the window." (not preview) so I figured it might mean the whole window. Anyways, it's not doing what I want. When I typo, it will still resize the window and when I fix and have zoom on, it will resize it to take all space. The second half of my point was invalidated though. I was using the older version and apparently the new version has preview sized the same for all tabs. Yay.
I can't replicate your exact problem, but I found another problem related to zoom: With resize enabled, going from 25%->200% does nothing. In fact it doesn't resize in zooms higher than 100% at all. I can see both good and bad sides to that, though. It might be that the zoom+resize code is just a little iffy.

I like Kronos. But where could I get a avstimer that does floats? :o

http://foxyshadis.slightlydark.com/random/AvsTimer.zip

The funny thing is that float support was built-in from the beginning, but kassandro disabled it in his original release. Weird. All I did was enable it and add an spf option. I also updated the docs with the new filter definition.

qwerpoi
27th April 2007, 02:25
- bug : resizing the width of the script window makes a strange bug on the video window right side that is sort of resized as well (independant windows in my config)
Not sure what you mean. Can you give a specific example?

- cosmetic : when the cursor is in the video window, the pos and hex values appear in the status bar (default status bar, didn't customize it yet ^^), but this slightly pushes the right side infos [edit] this is not always the case apparently..
Yeah, when the status bar message gets too long for the window, it behaves a little strangely. I didn't write that code, so a fix is not possible unless I write my own status bar from scratch. Generally speaking the problem will only show up when the window size is relatively small, so you can either resize the window or customize the status bar message to something smaller.

- bug ? : maybe check the display code of the video window, I got the impression that when resizing the window it displays the resized picture and refreshes again a second time straight away, which then takes twice longer to display than before I think (important for heavy scripts like the ones I write ^^) ; seeking with the cursor below doesn't produce the double refresh, so it's probably just when the window is resized
- cosmetic : the cursors / toggles / etc area is not hidden automatically any more when there is no specific avsp code in scripts
These problems aren't really bugs, they only occur when you use the "fit inside window" zoom mode. In this mode a video refresh is necessary whenever the window changes size. Also in this mode I forced the sub-windows to stay in the same positions when you switch tabs, to keep the video window height and width constant. Keep in mind that if you are comparing videos with the same resolution, you don't need to use the "fit inside window" option, I changed the display code to keep the video window height constant when switching between tabs with the same video resolution.

I have discover this soft thanks to Alain2 (thanks to him :p).
AvsP is a very impressive and powerful Avisynth tool.
Thank you qwerpoi to have created this amazing program and continued to develop it. ;)
You're welcome, glad you find the program useful.

There has been troubles with memory usage when there's buggy filters.
I agree that AvsP is a memory hog, especially working with big videos and intensive filters. I can't guarantee I can do anything about it, but I will give some consideration to your concerns and try and determine the best way to handle it.

When I edit a togglable tag manually, (change =0 to =1) the corresponding checkbox won't update.
I'll check it out, thanks for letting me know.

1) Ctrl-tab. Maybe it's because I use Opera and not Firefox, but I don't like the way Ctrl-tab works. I'd prefer that it would work the same way as in Opera or Alt-tab in Windows.
I don't really use Ctrl+Tab much, it's just sort of the standard for tabbed text editors. If the video preview is visible and has focus, you can actually use the number keys to jump to the appropriate tab (counting from zero, the "0" or the "~" key jumps to the zeroth tab, "1" jumps to the first tab, etc.) One idea I had a long time ago was to put a little bitmap on each tab whenever the video preview had focus, where each bitmap would be the appropriate keyboard shortcut to jump to it, basically to make the feature less invisible. I'll take your thoughts and foxyshadis' thoughts into consideration, and try and come up with something everyone can use.

2) The preview window. I don't know how other people compare two scripts, but when I want to look at the small detail, I might open two scripts in two tabs. Then zoom the video to, say, 300%. The first annoyance is that it hides the script under the preview and I have to resize it. Then if I want to have the other script in the same position, I have to resize that tab's preview window to match the other. (Pixel perfect.) But the time it gets really annoying is when I do a typo on the script and it gives me error message. The preview window resizes itself to match the "video". I fix the typo and the preview fills the screen again! And of course I have to yet again get the right size to match the other tab. My solution: If some people like the way it currently handles, at least add two options: "Never ever resize the preview window." and "Preview window is the same size for all tabs."
Valid complaints, and as you point out, the new version fixes one of them (same resolution videos keep the same window position when switching tabs now). To fix the other problem (error clips), I can change the code to NOT change the video window height whenever an error clip is shown. That should cover most cases, I'll give it a bit more thought, I may add your suggested options if it simplifies things. Ah, I yearn for the days when AvsP didn't let you resize the video window at all, obviously limited, but definitely simpler for me :)

3) Reopening a file. When I have a script open and I play around with it. If I notice it's not going in a good direction, I might want to get the previous save I run into some troubles. Even if I click Open and open the file, it refuses to do so. It would be great if opening a file would actually reopen it even if it's already there. Or better yet, if there was a "Reopen". (See #4) Ok, this is a small annoyance, closing the tab and then opening works, but still...
Sounds reasonable, I'll consider it. What I'll likely do is if you try to open a file that's already open with changes, prompt you to reload and overwrite those changes. For now be aware that AvsP has an infinite undo, so you could keep on hitting Ctrl+Z until you get back to a good point or the original state.

4) Multiple tabs of a same file.
Might cause some problems, so I'd rather not, since as foxyshadis pointed out double-clicking the tab to make a copy will get you the result you need.

5) Information about video. I don't know how feasible this is to implement, but when comparing filters and their settings, sometimes it's very important to know how fast they are. It would rock to have small text somewhere that tells how fast the frame was rendered. (SPF or FPS) This idea could be taken further and you could have optional other stuff too, like PSNR displayed somewhere, but that's not as important as the time.
Interesting suggestion, but it also sounds like a lot of work :), so I'll add it to my to-do list but I can't guarantee how long it will take until I look into it some more.

6) Misc. improvments on the interactive AvsP-only stuff. (I really don't know what to call them.) As you said, it might revolutionize the way I create scripts. I'm thinking about making a big meta-script that has all sorts of possibilities I can control with toggles and sliders. There are a couple of things I'd like before that though.
I have been working on a completely different way of constructing user sliders, based upon a few of the observations you brought up. Although it may not address all stuff you brought up in 6.1 - 6.7 (you weren't kidding about the long post :)), after the next version is released, we can determine what still needs to be done.

French translation updated

oh and one additional note following my previous post:
- The custom resizer for the video zoom method has disappeared from options.. Or am I not looking at the right place ? Or have you removed it because of the new video directly generated via avisynth layout ? What is the method used now, and is this feature coming back in future releases ?
Thanks for the translation update. The custom resizer did indeed disappear, due to the fact that the video is being generated through Avisynth directly. The resizer is still an Avisynth resize, a BicubicResize with default weights. Bringing back the custom resize option will take some work, I'll try and bring it back in a release or two.

qwerpoi
27th April 2007, 02:36
I can't replicate your exact problem, but I found another problem related to zoom: With resize enabled, going from 25%->200% does nothing. In fact it doesn't resize in zooms higher than 100% at all. I can see both good and bad sides to that, though. It might be that the zoom+resize code is just a little iffy.
Looks like you posted about the same time as I did. The behavior you're describing is not a bug, basically when you refresh a video with the program resize option enabled, AvsP determines the necessary program size to show the video without scrollbars, along with the user sliders (if any are defined). If it turns out that the necessary program size is bigger than the current screen resolution (ie, you're working with a honking big video), then AvsP doesn't bother to resize the program window, and your video will show up with scrollbars accordingly.

foxyshadis
27th April 2007, 02:47
In pyavs_avifile.py, how about changing:

resizeScript = 'Import("%s").ConvertToRGB().BicubicResize(%i,%i)' % (previewname, fitWidth, fitHeight)

to

resizeScript = 'Import("%%s").ConvertToRGB().%s' % 'BicubicResize(%i,%i)'
resizeScript = resizeScript % (previewname, fitWidth, fitHeight)

Where the Bicubic in this case is a placeholder for the actual option string, however that would get transferred into the avs class. Or really, even just making the name a string placeholder would work, the only routine use of custom arguments here are lanczos/blackman taps.

Perhaps it could check for the nearest round number percentage, so that if 100% fits but 200% doesn't, then going from 25%->200% will at least give you a window size of 100%. I'm not too worried about it though.

qwerpoi
27th April 2007, 03:03
In pyavs_avifile.py, how about changing:

resizeScript = 'Import("%s").ConvertToRGB().BicubicResize(%i,%i)' % (previewname, fitWidth, fitHeight)

to

resizeScript = 'Import("%%s").ConvertToRGB().%s' % 'BicubicResize(%i,%i)'
resizeScript = resizeScript % (previewname, fitWidth, fitHeight)

Where the Bicubic in this case is a placeholder for the actual option string, however that would get transferred into the avs class. Or really, even just making the name a string placeholder would work, the only routine use of custom arguments here are lanczos/blackman taps.

Yeah, that'll work, but pyavs_avifile.py is the backwards compatible version, pyavs.py is the one that communicates directly with Avisynth (I should have mentioned this somewhere, the source files have pretty confusing names now :(). The new display method does not use temporary preview scripts anymore, since they were no longer necessary. Therefore an Avisynth Invoke() is required to generate the resize. So in order to implement the custom resize, I need to parse the arguments out of the string - not impossible, but if it's done incorrectly the video preview will fail without apparent reason. If I don't allow for custom arguments, then it should be simple to let the user choose which Avisynth resize to use. But that would seem like a half-way customization to me, I imagine the only ones using this feature would be people with advanced customization needs.

Perhaps it could check for the nearest round number percentage, so that if 100% fits but 200% doesn't, then going from 25%->200% will at least give you a window size of 100%. I'm not too worried about it though.
Interesting. Might give it a shot, although I might not - your approach would definitely be more correct and less confusing, but I'm not too worried about it either :).

krisq
27th April 2007, 11:00
I don't know why but 'Video Information' window doesn't give me parity info. It's always displaying 'none'. Info() in script has no problem with this.

Dr.Khron
27th April 2007, 13:14
For now be aware that AvsP has an infinite undo, so you could keep on hitting Ctrl+Z until you get back to a good point or the original state.


AS far as I'm concerned, this is the number one feature that makes AvsP better then using Notepad.
Plus, the little asterix on the tab to tell you when you've re-matched to the saved copy is brilliant. Simple but very useful.
Sometimes is just nice to work backwards, kind of a "what was I thinking?" thing on your way to back to saved state.


One question, I havn't quite figured out how the Sessions work for bookmarks... Its not possible to save bookmarks seperatley, is it? They seem to save with the session, but they also auto-save with the current session. Sometimes tho, I've lost the bookmarks if I havn't made a deliberate effort to save a session.

Alain2
27th April 2007, 21:25
Not sure what you mean. Can you give a specific example?
before (http://img184.imageshack.us/img184/5745/tempwq9.jpg)
after (http://img361.imageshack.us/img361/4595/tempgd8.jpg) (resize of the width of the script window)

[edit]first time in a long time I see a crash, nice feature the new error log :)
[Fri Apr 27 23:37:29 2007]
Traceback (most recent call last):
File "AvsP.py", line 5153, in OnMenuVideoSwitchMode
File "AvsP.py", line 7870, in ShowVideoFrame
File "AvsP.py", line 8216, in UpdateScriptAVI
File "pyavs.pyo", line 237, in __init__
ZeroDivisionError: float division
Traceback (most recent call last):
File "AvsP.py", line 6310, in OnPaintVideoWindow
File "AvsP.py", line 8441, in PaintAVIFrame
AttributeError: 'NoneType' object has no attribute 'DrawFrame'
Traceback (most recent call last):
File "AvsP.py", line 6310, in OnPaintVideoWindow
File "AvsP.py", line 8441, in PaintAVIFrame
AttributeError: 'NoneType' object has no attribute 'DrawFrame'
Traceback (most recent call last):
File "AvsP.py", line 6310, in OnPaintVideoWindow
File "AvsP.py", line 8441, in PaintAVIFrame
AttributeError: 'NoneType' object has no attribute 'DrawFrame
[...]

Btw I didn't stress it enough but I do love the new fit inside window zoom, that's exactely the zoom option I was hoping you to add :D

ChiDragon
28th April 2007, 03:55
I don't know why but 'Video Information' window doesn't give me parity info. It's always displaying 'none'. Info() in script has no problem with this.

It appears that's down to this:
if v.IsFrameBased:
fieldframebased = _('Frame Based')
parity = _('None')
parityshort = _('None')
else:
fieldframebased = _('Field Based')
if parity == 0:
parity = _('Top Field First')
parityshort = _('TFF')
else:
parity = _('Bottom Field First')
parityshort = _('BFF')

qwerpoi, Frame/Field Based isn't an indication of progressive/interlaced. :p

That said, I'm getting BFF reported even with AssumeTFF().SeparateFields() and SeparateFields().AssumeTFF().

Veiga
28th April 2007, 04:18
qwerpoi.

Nice work again. Thanks
new update translation for v138

AlanHK
28th April 2007, 05:07
I've used Avsp for a few days, so have no doubt missed a few things, I've spent a few hours reading this thread but 672 messages is a lot to digest....

To me the killer feature is sliders. But these seem oddly de-emphasised in the GUI.
Though the screenshots show them, which is what first drew my attention to the project, I had to spend quite a while rummaging through the interface to find how to use them.
For instance, the r-click has "Avisynth function/Autocomplete". No mention of "sliders". The "function definition" has "presets", again, the word "slider" is absent. All these presets are initially blank, so I was just copying and pasting my slider definitions from an external text file till I stumbled across references to the "preset" method of storing them. I think there's room to label this, say "Preset (values and sliders)". Though users will surely want to customise these, wouldn't it be useful to have sliders defined out of the box for most functions? Though there is a facility for importing and exporting these, is there any repository that collects useful definitions?

A smaller issue, the blue "initial value" seems to be reset when a tab is opened, or reopened. So after playing with the sliders and switching back and forth between a few tabs, there is no way to restore the default values except by deleting and reinserting the function. I understand why this happens, but the word "initial" is a bit misleading. Perhaps it could be mentioned in the docs.

I have a problem with the r-click menu. If I have the cursor in a function name I've just written, and r-click and choose "Show calltip", nothing happens. If I choose "Autocomplete", it shows the calltip. The other functions work as expected.

qwerpoi
28th April 2007, 07:06
I don't know why but 'Video Information' window doesn't give me parity info. It's always displaying 'none'. Info() in script has no problem with this.


qwerpoi, Frame/Field Based isn't an indication of progressive/interlaced. :p

That said, I'm getting BFF reported even with AssumeTFF().SeparateFields() and SeparateFields().AssumeTFF().
D'oh. That's the downside of releasing the source, people get to poke around and see what kind of idiot you are :). Clearly I'm no interlacing guru. I'll try and have this stuff worked out by the next release, in the meantime if you want your parity info you'll have to rely on the old Info() standby.

One question, I havn't quite figured out how the Sessions work for bookmarks... Its not possible to save bookmarks seperatley, is it? They seem to save with the session, but they also auto-save with the current session. Sometimes tho, I've lost the bookmarks if I havn't made a deliberate effort to save a session.
You're right, bookmarks save with sessions. It may be possible that you didn't lose any bookmarks between sessions, the bookmarks won't show up visually under the frame slider if for example your current video has only 100 frames and all the bookmarks are larger than 100. You can right-click the video and check out the "Navigate -> Go to bookmark" menu to be sure.

before (http://img184.imageshack.us/img184/5745/tempwq9.jpg)
after (http://img361.imageshack.us/img361/4595/tempgd8.jpg) (resize of the width of the script window)

[edit]first time in a long time I see a crash, nice feature the new error log :)


Btw I didn't stress it enough but I do love the new fit inside window zoom, that's exactely the zoom option I was hoping you to add :D
Thanks for pointing out the bugs, I'll try and figure out what's going on. And I'm glad you like the fit inside window option, it was surprisingly difficult to implement properly. Still needs some ironing out, but I'm happy that currently it's more-or-less functional.

qwerpoi.

Nice work again. Thanks
new update translation for v138
Thanks for the translation update, I'll update the links when the attachment is approved.

To me the killer feature is sliders. But these seem oddly de-emphasised in the GUI.
Though the screenshots show them, which is what first drew my attention to the project, I had to spend quite a while rummaging through the interface to find how to use them.
Yeah, I admit there's a lot to rummage through, so user sliders may not be the easiest thing to learn at first. In the beginning there were a lot fewer features, so I'd argue it was simpler to figure everything out, c'est la vie :). I guess I need to make it more prominent, but if you're totally lost towards the basic usage of AvsP, you should check out the animated flash demo on the AvsP website (there's a link to it directly in AvsP, in the "Help -> Animated Tutorial" menu). Also you can read the "User sliders" section in the docs (again in the "Help -> User sliders" menu).

A little aside: To me AvsP's killer feature isn't user sliders, it's the tabbed text editor, which allows for direct video comparisons (an absolute must in video editing) without the need for lining up windows. But that's sort of hard to sell at a glance, user sliders have that instant visual appeal (and of course they're very useful themselves). Generally I imagine most people will give the program a shot because of user sliders, but hopefully they stick around because the program is well rounded and has every feature you could possibly want from an Avisynth editor. Perhaps too many features :), but ultimately that never bothered me much, since I figure at the least anyone who has used Notepad with Avisynth will be right at home, and figure out any extra features along the way.

As for your concerns about user slider usage, as I've mentioned a couple of times earlier, I'm working on a new method of generating user sliders to tackle some of the clunkier aspects of the current approach. This includes putting together some form of database for all existing filters (not trivial). I still have a lot of work to do, I think I might post a thread in the Avisynth dev forum with a general outline of the new approach, such that people can offer feedback and possibly help out with the generation of the complete database.

I have a problem with the r-click menu. If I have the cursor in a function name I've just written, and r-click and choose "Show calltip", nothing happens. If I choose "Autocomplete", it shows the calltip. The other functions work as expected.
Ah, the "Show calltip" function only works when the cursor is inside the function arguments (now that you point it out, I should change this behavior). The "Autocomplete" function is supposed to be used when you have only typed in a portion of a function name, it will then bring up the list of filters which start with that portion of text. Autocomplete is called automatically when you start a word with a capital letter, the menu option is only there if the text you type started with a lower case letter or for some reason you closed the autocomplete list window (by clicking away). You generally don't need to use either function, since most of the time they are activated automatically. The reason they don't have much in the way of explanation is because they are standard features in many programming editors. Sorry about any confusion they may have caused.

AlanHK
28th April 2007, 07:50
you should check out the animated flash demo on the AvsP website (there's a link to it directly in AvsP, in the "Help -> Animated Tutorial" menu).

I saw that, it's what made me persist in working out how to do the things shown there.

A little aside: To me AvsP's killer feature isn't user sliders, it's the tabbed text editor

The sliders are, to me anyway, brand new. The tabbed screens are very useful, but before I was using several instances of VDub and clicking between them. Avsp is obviously much better, keeping the screens synchronised, etc, but the tabs are not new functionality.

Ah, the "Show calltip" function... The reason they don't have much in the way of explanation is because they are standard features in many programming editors.
OK. The last programming editor I used was vi, and before that punchcards. So I'm not familiar with IDEs. These days I use Ultraedit for the scraps of code I write.

Henrikx
28th April 2007, 10:29
Error ?
http://img291.imageshack.us/img291/9017/avsperrorfx4.th.jpg (http://img291.imageshack.us/my.php?image=avsperrorfx4.jpg)

ChiDragon
29th April 2007, 04:13
qwerpoi, small thing. AVS files with "&" in the filename are shown with an underline in its place. Can you change the label style or something so that this doesn't happen?

lolent
29th April 2007, 15:32
I have some troubles when I try to play videos with any kind of scripts (just with directshowsource or with a script that has source load + resize + crop, etc...)
The preview doesn't function with internal and external player.:confused:

http://img58.imageshack.us/img58/8991/playingerroryl0.png


PS : I use Avisynth 2.5.7 & AvsP 1.3.8

chipzoller
29th April 2007, 16:20
Is the resize calculator under "tools" still scheduled to be included at some point?

Terranigma
29th April 2007, 17:39
I have some troubles when I try to play videos with any kind of scripts (just with directshowsource or with a script that has source load + resize + crop, etc...)
The preview doesn't function with internal and external player.:confused:

http://img58.imageshack.us/img58/8991/playingerroryl0.png


PS : I use Avisynth 2.5.7 & AvsP 1.3.8
Since I assume your sources are YV12, I suggest you need a YV12 Decoder. Check karl_lillevold's Post (http://forum.doom9.org/showthread.php?p=339383#post339383) and install Helix YV12

lolent
29th April 2007, 22:47
I have Helix YV12 codec install on my computer, I don't think it's that...

Wilbert
29th April 2007, 23:01
You need to set vidc.yv12="i420vfw.dll" in your registry file. Look it up in the YV12 faq if you want to know how to do that.

~bT~
30th April 2007, 00:16
edited: found my answer.

lolent
30th April 2007, 16:44
You need to set vidc.yv12="i420vfw.dll" in your registry file. Look it up in the YV12 faq if you want to know how to do that.

thanks Wilbert, I will have a look. :)

qwerpoi
30th April 2007, 18:29
Sorry for the lack of replies recently, been having some ugly computer issues, resulting in an os reinstall. Thankfully I didn't lose any data, and I've nearly got everything running back to normal now.

Error ?
http://img291.imageshack.us/img291/9017/avsperrorfx4.th.jpg (http://img291.imageshack.us/my.php?image=avsperrorfx4.jpg)

qwerpoi, small thing. AVS files with "&" in the filename are shown with an underline in its place. Can you change the label style or something so that this doesn't happen?
Thanks for bringing up these bugs, I'll try and have them fixed by the next release.

I have some troubles when I try to play videos with any kind of scripts (just with directshowsource or with a script that has source load + resize + crop, etc...)
The preview doesn't function with internal and external player.:confused:
As already mentioned, it's more of an Avisynth related issue than an AvsP issue, verified by the fact that the external player doesn't work either. That being said, the error message that pops up in AvsP is surely cryptic, so I'll try and catch that exception and have it report something more meaningful when such an error occurs.

Is the resize calculator under "tools" still scheduled to be included at some point?
Kind of, kind of not. I mentioned it a bit here (http://forum.doom9.org/showthread.php?p=992028#post992028).

chipzoller
30th April 2007, 19:28
@qwerpoi
PM sent with model for your calculator.

Rachima
30th April 2007, 22:38
Hi qwerpoi,

I also post my request from PM here to the thread. Maybe that someone who read here, know about Python and the COM-Interface and can give some help.


... would it be possible for you to support Windows COM-Interface by Macro?

I have written a Tool for Visual Colorcorrection (http://forum.doom9.org/showthread.php?t=125275), what would be very useful to have directly in the AvsP. Also there may be other people like me, that don't know Python, but e.g. VB6. For those the COM-Interface would be very helpful, too.

For some testing I have created a little package with a dummy_com.dll and dummy.exe, and also an example with PHP calling the app via COM. It is located here: COM_Test.zip (http://biriba.de/avisynth/COM_Test.zip)


Seems interesting, I'll definitely give it a shot. You should be aware that I'm kind of swamped at the moment, so it might not be immediate, but I'll do my best to make sure it happens. In my estimate it should be doable (using either the Python pywin32 library or possibly the Python ctypes library), the biggest concern there would be increasing the size of the AvsP executable by including those libraries. But I'll take a further look into it.

lolent
1st May 2007, 00:54
You need to set vidc.yv12="i420vfw.dll" in your registry file. Look it up in the YV12 faq if you want to know how to do that.

I do that but it's not solve my problem, I have the same error message in AvsP Error Window... :-/

Rachima
1st May 2007, 10:06
Hi qwerpoi,

I have done some Recherche to that COM-Stuff with Python. As you mentioned, it needs e.g. Pythons win32com (win32?) or ctypes library.

More common used with ActiveX-DLLs is the win32com. Also there are two ways to call a COM-App with it:

A)
import win32com.client
myCom = win32com.client.Dispatch("MYLIB.MYLIB")

This way, the called App 'lives' directly in the AvsP.exe.
So if the ComApp crashes, AvsP crashes too. :(


B)
import win32com.client
myCom = win32com.client.DispatchEx("MYLIB.MYLIB")

This way called, the App is surrogated by dllhost.dll.
In case it crashes now, the AvsP.exe is unconcerned! :)


For the COM_Test.zip (http://biriba.de/avisynth/COM_Test.zip), the Macro may look something like that:

import win32com.client

# get Text of Script in current selected Tab
# better this should be not all text, but
# from start of Document to current Cursor-Position
inputText = GetText()

# create the COM-Object
vcc = win32com.client.DispatchEx("vcc4avs.cls_Test")

# call the Dialog and wait until it closes
outputText = vcc.OpenDialog(inputText)

# insert any generated Code at CursorPosition
InsertText(outputText)

# release the COM-Object
del vcc # is this right way ??


Hope this help a bit, so you have more time to concentrate
to the major things.


Rachima

martino
1st May 2007, 19:12
I don't know whether this was suggested before, but you know when you drag an AVI file into a script in AvsP it automatically places AVISource() to load the video. The same with DirectShowSource() for other types of video files. Would it be possible to do the same with dragging DLL files, so it would do LoadPlugin("location_of_file.dll)?

And the second one might be a bit tricky, Import() for *.avsi files? I know that these don't have to be just functions, but usually they are...

Thank You

krisq
1st May 2007, 20:51
I don't know whether this was suggested before, but you know when you drag an AVI file into a script in AvsP it automatically places AVISource() to load the video. The same with DirectShowSource() for other types of video files. Would it be possible to do the same with dragging DLL files, so it would do LoadPlugin("location_of_file.dll)?

And the second one might be a bit tricky, Import() for *.avsi files? I know that these don't have to be just functions, but usually they are...

Thank You

You can already do both. Check 'Options/Extension Templates...' ;)

Terranigma
1st May 2007, 21:52
I do that but it's not solve my problem, I have the same error message in AvsP Error Window... :-/

lolent, could you post your script?
I would'nt of said anything about helix yv12, had I seen the attached image. it could be a script error, like a missing bracket, or perhaps you're trying to use something that's not compatible. I've gotten a similar message like that earlier when I was trying to use an improper custom avisynth script.

lolent
2nd May 2007, 01:09
I just load my d2v file (made with DGIndex 1.4.8) by drag and drop it into AvsP, nothing more in the script but I can't play the file and I don't no why :(

Aeolis
2nd May 2007, 16:47
Hello folks,

I really would like to congratulated AvsP developer for its wonderful work. Excellent software! I have tried to run AvsP 1.38 in my system, but it never runs it always displays this error log:

[Wed Apr 25 12:13:09 2007]
Traceback (most recent call last):
File "AvsP.py", line 9301, in ?
File "wx\_core.pyo", line 7700, in __init__
File "wx\_core.pyo", line 7352, in _BootstrapApp
File "AvsP.py", line 9293, in OnInit
File "AvsP.py", line 2988, in __init__
File "AvsP.py", line 3407, in getOptionsDict
UnicodeEncodeError: 'ascii' codec can't encode characters in position 28-29: ordinal not in range(128)

Somebody help me! I really love this software because I use Avisynth several times for video editing, so AvsP is a must for me. Please, any ideas?

See you later,

Aeolis

ChiDragon
2nd May 2007, 19:12
Sounds like maybe you have some non-English letters in your path that AvsP is having trouble with.

Aeolis
2nd May 2007, 19:34
Hello folks,

Thank you ChiDragon. My current path to AvsP is:

C:\AvsP\AvsP.exe

See you later,

Aeolis

ChiDragon
3rd May 2007, 01:04
I meant the path to your AviSynth script, sorry for being unclear.

Rachima
3rd May 2007, 09:04
Hi qwerpoi,

it's me again, :)
maybe there is an alternative solution for COM. For my app it is possible to use PIPE instead of COM. I have done a test with new installed Python on my system :) :
import subprocess
process = subprocess.Popen('C:/test.exe', shell=True, stdout=subprocess.PIPE)
process.wait()
Text = process.stdout.read()

This works on system, but not with AvsP-Macro.
Error-MsgBox is: "an integer is required"
and it is meant to "stdout=subprocess.PIPE" in Popen
I also have tried "stdout=-1", what work on system too, but also not in AvsP-Macro. (AvsP binary Version 1.3.7 + 1.3.8)
(My PythonVersion on system is 2.5)


Rachima

Aeolis
3rd May 2007, 13:13
Hello folks,

Thank you very much again ChiDragon, but I think that I wasn't clear enough.
Until today AvsP main window has never open in my PC. I mean I always click its .exe, a log windows pop-up and close, after that nothing more and I have to go to AvsP directory to read the error log. That is my problem, any ideas?

See you later,

Aeolis