15th February 2002 00:49 UTC
Repost
I'll just repost my previous AVS wishlist which seems to have vanished from the forums completely...
Huge wishlist... some ideas are more realistic than others.
- Wrap-ability for dynamic shift (have to use a 1x1 DM now)
- XOR, bit-negation and bit-shifting operators (^, ~, >>, <<)
- Add built-in constants like pi, 2pi, pi/2, e, ln(2), log2(e), ... into the language.
- Ability to set dot-size for drawing (like line-width)
- Ability to change between dot/lines mode in a SSC dynamically per frame and per point
- A complete change out of resolution-dependent units. They are still used in line width, font size, ... Or provide the option for pixel-units or avs-units (0..1)
- Replace all color selectors by either a color-blender (like most are now) or add a piece of code to assign red/green/blue-values.
- Add "current" to the buffer-list for Buffer Blending an effect-list. This would be like placing a Buffer Save at the end of your effect list and using that as blend-buffer.
- Add a contrast slider to the buffer-blending mode for effect-lists. It would apply this contrast to the blend-buffer in order to provide a quicker transition from transparent into opaque.
- Document *all* functions :) (missing functions docs: atan2 and exp). Exp would probably not be used a lot, but atan2 is vital for conversion between cartesian and polar coordinates.
- Expand the 'language' with conditional jumps and returns. It would allow much better code to be written. Of course you would need to teach people things like "minimize the number of jumps" or "make sure that the lesser frequent outcome of condition causes the jump and not the most frequent outcome".
- Fix a dynamic movement not handling extremely large (both pos and neg) alpha values too well. Auto-clamping would be nice.
- An option to alternatively mirror movements and/or dynamic movements in both X and Y direction. Like the alternate buffer save/restore. Preferably separate for X and Y.
(hard to explain) A checkbox for the Dynamic movement that, when wrapping is on, chooses the nearest X,Y coordinates for a gridsquare (preferably separate checkbox for x and y). For example when one gridspot contains the coordinate (0.1,0.1) and the next contains (0.99, 0.99), then it would convert the second into (-0.01,-0.01). Or of course the first into (1.1,1.1), so that the 'shorter route' is taken instead of the long route. - A checkbox for the dynamic movement that , when wrapping is on, tiles the image mirrored at the edges so that you don't get non-matching edges. The same as using x=asin(sin(x*1.57))/1.57. Preferably separate for X and Y.
- Ability for APE's to use the built-in expression evaluation library...or make it publicly usable through a DLL.
- Ability for Render -> Bitmap to read JPEG and PNG (support is standard built-in into Windows98 and higher). No GIF, because GIF is bad (software patents suck) and PNG is a much better replacement.
- Improved beat detection. I've noticed that it performs bad even on techno tracks where there is a clear beat. Maybe AVS' b-detection is made for unclear beats and weird drums? (Idea: a simply "nudge" button that allows the user to indicate a beat... press the button a few times yourself in order to hint AVS in the right direction)
- An explanation of just what those sliders in Colorfade mean... I think most people sorta get them, but a correct description would be nice :)
- Improve the code editor boxes:
- Syntax hilighting and bracket colouring
- No length restriction on code (ok an 8K limit should be acceptable :)
- Multi-line editboxes everywhere... I like to space out my code. Perhaps adding tabs to the more complex effect-dialogs would help?