pinterf / AviSynthPlus

AviSynth with improvements
http://avs-plus.net
208 stars 24 forks source link

Allow to use {} instead eval(""" """) #34

Closed Onemeshnik closed 5 years ago

Onemeshnik commented 5 years ago

You extended script language for using If (x>0) {

} Instead of x>0? eval("""

""")

But if you want to use easier format, you need to rewrite your script.

If you allow {} instead eval(""" """) you just can find and replace eval(""" to { and """) to } So you get syntax highlight and you do not need rewrite script

pinterf commented 5 years ago

Sorry, I don't think that existing Avisynth syntax should be modified just to have an easier text editor task for the person who updates old scripts. On the other hand, one can only do that if the string is a single whole constant, and is not a result of concatenation.

Onemeshnik commented 5 years ago

Eval construction is evil (when I started it, I did not know avisynth). Official instruction do not contain instruction about avisynth+ extensions so, most of scripts do not use that. http://avisynth.nl/index.php/Block_statements

image image

So for using comfortable format you have to port statement to another format which is more unfortable. Avisynth+ already has GScript for more comfortable syntax, but for old script it's useless :( Thanks anyway

pinterf commented 5 years ago

Yep, there can be plans. But this is a freetime project. Resources are extremely limited, both for coding (lately only me) and for creating up-to-date documentation (additional few people).

realfinder commented 5 years ago

there is script use them https://github.com/AviSynth/avs-scripts/blob/master/maa2+.avsi and there are others https://github.com/AviSynth/avs-scripts but most them outdated now

most scripts don't use that avs+ feature to keep normal avs compatibility but there are some exclusive avs+ scripts (see some in doom9) and maybe they will become more and more by the time