Thread: Avisynth+
View Single Post
Old 29th January 2020, 00:18   #5097  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Code:
Function IsAvs26()                  { VersionNumber>=2.6}
Function IsAvsNeo()                 { FindStr(VersionString," Neo")!=0}
Function IsAvsPlus()                { FindStr(VersionString,"AviSynth+")!=0||IsAvsNeo}
Function PlusBuildNumber()          { V=VersionString Off=(!IsAvsPlus)?0:FindStr(V,"(r") return (Off==0)?0:V.MidStr(Off+2).Value.Int }  # Avs+ & Neo, (Max 24 bit, ~16M)
Function AvsPlusVersionNumber()     { Return PlusBuildNumber }  # Stub for AvsPlusBuildNumber(), suggest AvsPlusVersionNumber is deprecated.
# Return extent of string s that matches any chr in pat. Enter with n=0
Function StrMatchExtent(String s,String Pat,int n) { c=s.MidStr(n+1,1)  Return (((c=="")?0:Pat.FindStr(c))==0) ? n : s.StrMatchExtent(Pat,n+1) }
Function AvsVersionNumberString()              {
    v=VersionString  off=(FindStr(V,"AviSynth+ ")!=0)?FindStr(V,"AviSynth+ ")+10:(FindStr(V," Neo ")!=0)?FindStr(V," Neo ")+5:10
    v=v.MidStr(Off)  return v.LeftStr(StrMatchExtent(v,"0123456789.",0))
}
client
Code:
s=AvsVersionNumberString()  # Returns string eg "3.4.1" from "AviSynth+ 3.4.1 (r2983, linux3, x86_64)", works with ALL previous/current versions, can extract numbers from the string
BlankClip
subtitle(String(s))  # "3.4" for current, "3.4.1" if was implemented as such, "2.58" if old v2.58 AVS, "2.60" for AvsStd 2.6, "2.61" Latest avs std, "0.1" if NEO or avs+ build r2772.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 29th January 2020 at 02:00.
StainlessS is offline