audioslave |
11-17-2003 08:35 PM |
@ak47
Thanks mate! Now that error is gone, but... now I got another one - There is no function named FMF. What's this about?
EDIT: Nevermind. I read the Doom9 forum and downloaded the fmf.avs file. I just added "Import("D:\xxxxx\fmf-1.5b1.avs")" first in the script! :D
BTW The fmf.avs file looks like this (just copy it and paste it in Notepad or something and name the file "fmf-1.5b1.avs"):
Quote:
# FULL MOTION FILTER v1.5 b1 (10/07/2003) by HomiE FR (homie.fr@wanadoo.fr)
# FULL MOTION FILTER FUNCTION
function FMF(clip c,
\ float "threshold_min",float "threshold_lm",float "threshold_hm",float "threshold_max",
\ float "threshold_sc_min",float "threshold_sc_max",int "distance_sc_min",
\ float "temporal_influence",bool "chroma",int "transition_length",bool "debug",
\ val "param1_lm_min",val "param1_lm_max",
\ val "param2_lm_min",val "param2_lm_max",
\ val "param3_lm_min",val "param3_lm_max",
\ val "param4_lm_min",val "param4_lm_max",
\ val "param5_lm_min",val "param5_lm_max",
\ val "param1_mm_min",val "param1_mm_max",
\ val "param2_mm_min",val "param2_mm_max",
\ val "param3_mm_min",val "param3_mm_max",
\ val "param4_mm_min",val "param4_mm_max",
\ val "param5_mm_min",val "param5_mm_max",
\ val "param1_hm_min",val "param1_hm_max",
\ val "param2_hm_min",val "param2_hm_max",
\ val "param3_hm_min",val "param3_hm_max",
\ val "param4_hm_min",val "param4_hm_max",
\ val "param5_hm_min",val "param5_hm_max")
{
# SETTING CHROMA MOTION ESTIMATION
chroma = default(chroma,false)
global chroma = chroma
# SETTING MOTION LEVELS THRESHOLDS
threshold_min = default(threshold_min,0.0)
threshold_lm = default(threshold_lm,(chroma == true) ? 4.0 : 5.0)
threshold_hm = default(threshold_hm,(chroma == true) ? 12.0 : 15.0)
threshold_max = default(threshold_max,(chroma == true) ? 16.0 : 20.0)
global threshold_min = threshold_min
global threshold_lm = threshold_lm
global threshold_hm = threshold_hm
global threshold_max = threshold_max
# SETTING MIN/MAX SCENE CHANGE THRESHOLDS
threshold_sc_min = default(threshold_sc_min,(chroma == true) ? 20.0 : 30.0)
threshold_sc_max = default(threshold_sc_max,(chroma == true) ? 40.0 : 60.0)
global threshold_sc_min = threshold_sc_min
global threshold_sc_max = threshold_sc_max
# SETTING MIN DISTANCE BETWEEN SCENE CHANGES
distance_sc_min = default(distance_sc_min,10)
global distance_sc_min = distance_sc_min
# SETTING TEMPORAL INFLUENCE
temporal_influence = default(temporal_influence,50.0)
global temporal_influence = temporal_influence
# SETTING MOTION LEVEL TRANSITION
transition_length = default(transition_length,10)
global transition_length = transition_length
# ENABLING/DISABLING DEBUG INFORMATION
debug = default(debug,false)
global debug = debug
# SETTING MIN/MAX LOW MOTION PARAMETERS
param1_lm_min = default(param1_lm_min,0)
param1_lm_max = default(param1_lm_max,0)
param2_lm_min = default(param2_lm_min,0)
param2_lm_max = default(param2_lm_max,0)
param3_lm_min = default(param3_lm_min,0)
param3_lm_max = default(param3_lm_max,0)
param4_lm_min = default(param4_lm_min,0)
param4_lm_max = default(param4_lm_max,0)
param5_lm_min = default(param5_lm_min,0)
param5_lm_max = default(param5_lm_max,0)
global param1_lm_min = param1_lm_min
global param1_lm_max = param1_lm_max
global param2_lm_min = param2_lm_min
global param2_lm_max = param2_lm_max
global param3_lm_min = param3_lm_min
global param3_lm_max = param3_lm_max
global param4_lm_min = param4_lm_min
global param4_lm_max = param4_lm_max
global param5_lm_min = param5_lm_min
global param5_lm_max = param5_lm_max
# SETTING MIN/MAX MEDIUM MOTION PARAMETERS
param1_mm_min = default(param1_mm_min,0)
param1_mm_max = default(param1_mm_max,0)
param2_mm_min = default(param2_mm_min,0)
param2_mm_max = default(param2_mm_max,0)
param3_mm_min = default(param3_mm_min,0)
param3_mm_max = default(param3_mm_max,0)
param4_mm_min = default(param4_mm_min,0)
param4_mm_max = default(param4_mm_max,0)
param5_mm_min = default(param5_mm_min,0)
param5_mm_max = default(param5_mm_max,0)
global param1_mm_min = param1_mm_min
global param1_mm_max = param1_mm_max
global param2_mm_min = param2_mm_min
global param2_mm_max = param2_mm_max
global param3_mm_min = param3_mm_min
global param3_mm_max = param3_mm_max
global param4_mm_min = param4_mm_min
global param4_mm_max = param4_mm_max
global param5_mm_min = param5_mm_min
global param5_mm_max = param5_mm_max
# SETTING MIN/MAX HIGH MOTION PARAMETERS
param1_hm_min = default(param1_hm_min,0)
param1_hm_max = default(param1_hm_max,0)
param2_hm_min = default(param2_hm_min,0)
param2_hm_max = default(param2_hm_max,0)
param3_hm_min = default(param3_hm_min,0)
param3_hm_max = default(param3_hm_max,0)
param4_hm_min = default(param4_hm_min,0)
param4_hm_max = default(param4_hm_max,0)
param5_hm_min = default(param5_hm_min,0)
param5_hm_max = default(param5_hm_max,0)
global param1_hm_min = param1_hm_min
global param1_hm_max = param1_hm_max
global param2_hm_min = param2_hm_min
global param2_hm_max = param2_hm_max
global param3_hm_min = param3_hm_min
global param3_hm_max = param3_hm_max
global param4_hm_min = param4_hm_min
global param4_hm_max = param4_hm_max
global param5_hm_min = param5_hm_min
global param5_hm_max = param5_hm_max
# INITIALIZING MOTION LEVEL
global motion_level = 0
# INITIALIZING SCENE CHANGE THRESHOLD/SCENE CHANGE POSITION
global threshold_sc = threshold_sc_min
global pos_sc = 0
# INITIALIZING OLD/NEW/END MOTION LEVELS FOR MOTION LEVEL TRANSITIONS
global motion_level_old = 0
global motion_level_new = 0
global motion_level_end = 0
# INITIALIZING MOTION LEVEL TRANSITION POSITION
global transition = 0
# INITIALIZING AVERAGE DIFFERENCE
global diff_avg = 0.0
# INITIALIZING LOW MOTION PARAMETERS
global param1_lm = param1_lm_min
global param2_lm = param2_lm_min
global param3_lm = param3_lm_min
global param4_lm = param4_lm_min
global param5_lm = param5_lm_min
# INITIALIZING MEDIUM MOTION PARAMETERS
global param1_mm = param1_mm_min
global param2_mm = param2_mm_min
global param3_mm = param3_mm_min
global param4_mm = param4_mm_min
global param5_mm = param5_mm_min
# INITIALIZING HIGH MOTION PARAMETERS
global param1_hm = param1_hm_min
global param2_hm = param2_hm_min
global param3_hm = param3_hm_min
global param4_hm = param4_hm_min
global param5_hm = param5_hm_min
# SETTING TEMPORAL RATIOS ACCORDING TO TEMPORAL INFLUENCE
global ti1 = Pow(temporal_influence/100,0.50)
global ti2 = Pow(temporal_influence/100,2.00)
# ENABLING/DISABLING CHROMA DIFFERENCE INFORMATION
global y_ratio = (chroma == true) ? 0.50 : 1.00
global uv_ratio = (chroma == true) ? 0.50 : 0.00
# SETTING PAST/PRESENT/FUTURE CLIPS
global clip_p2 = Trim(c,0,-2)+c
global clip_p1 = Trim(c,0,-1)+c
global clip = c
global clip_f1 = Trim(c,1,0)
global clip_f2 = Trim(c,2,0)
# SETTING OLD/NEW CLIPS FOR MOTION LEVEL TRANSITIONS
global clip_old = c
global clip_new = c
# GETTING OUTPUT RESOLUTION
width = Width(Low_Motion_Filter(clip))
height = Height(Low_Motion_Filter(clip))
global clip_resized = PointResize(clip,width,height)
# COMPUTING MOTION FILTER
c = ScriptClip(clip_resized,"MF(clip)")
# GETTING DIFFERENCES BETWEEN PAST/PRESENT/FUTURE FRAMES
c = FrameEvaluate(c,"global diff_f2 = y_ratio*YDifferenceFromPrevious(clip_f2) + uv_ratio*UDifferenceFromPrevious(clip_f2) + uv_ratio*VDifferenceFromPrevious(clip_f2)")
c = FrameEvaluate(c,"global diff_f1 = y_ratio*YDifferenceFromPrevious(clip_f1) + uv_ratio*UDifferenceFromPrevious(clip_f1) + uv_ratio*VDifferenceFromPrevious(clip_f1)")
c = FrameEvaluate(c,"global diff = y_ratio*YDifferenceFromPrevious(clip) + uv_ratio*UDifferenceFromPrevious(clip) + uv_ratio*VDifferenceFromPrevious(clip)")
c = FrameEvaluate(c,"global diff_p1 = y_ratio*YDifferenceFromPrevious(clip_p1) + uv_ratio*UDifferenceFromPrevious(clip_p1) + uv_ratio*VDifferenceFromPrevious(clip_p1)")
c = FrameEvaluate(c,"global diff_p2 = y_ratio*YDifferenceFromPrevious(clip_p2) + uv_ratio*UDifferenceFromPrevious(clip_p2) + uv_ratio*VDifferenceFromPrevious(clip_p2)")
return c
}
# MOTION ESTIMATION FUNCTION
function ME()
{
# SETTING SCENE CHANGE THRESHOLD ACCORDING TO AVERAGE DIFFERENCE
global threshold_sc = PS(threshold_sc,threshold_sc_min,threshold_sc_max, threshold_min,threshold_max)
# UPDATING SCENE CHANGE POSITION
global pos_sc = (pos_sc > 0 && pos_sc < distance_sc_min) ? (pos_sc + 1) : 0
global pos_sc = (diff_f2 > threshold_sc && pos_sc == 0) ? 1 : pos_sc
# SCANNING FOR USELESS FRAMES
global ok_p2 = (pos_sc == 5 || pos_sc == 4 || pos_sc == 3) ? 0 : 1
global ok_p1 = (pos_sc == 4 || pos_sc == 3) ? 0 : 1
global ok = (pos_sc == 3) ? 0 : 1
global ok_f1 = (pos_sc == 2) ? 0 : 1
global ok_f2 = (pos_sc == 2 || pos_sc == 1) ? 0 : 1
# DISCARDING USELESS FRAMES
diff_p2_ok = diff_p2*ok_p2
diff_p1_ok = diff_p1*ok_p1
diff_ok = diff*ok
diff_f1_ok = diff_f1*ok_f1
diff_f2_ok = diff_f2*ok_f2
# COMPUTING AVERAGE DIFFERENCE
global diff_avg = (diff_ok + ti1*(diff_p1_ok+diff_f1_ok) + ti2*(diff_p2_ok+diff_f2_ok))/(ok + ti1*(ok_p1+ok_f1) + ti2*(ok_p2+ok_f2))
# STORING OLD MOTION LEVEL
global motion_level_old = motion_level
# SETTING MOTION LEVEL ACCORDING TO AVERAGE DIFFERENCE
global motion_level = (diff_avg < threshold_lm) ? 0 : motion_level
global motion_level = (diff_avg >= threshold_lm && diff_avg <= threshold_hm) ? 1 : motion_level
global motion_level = (diff_avg > threshold_hm) ? 2 : motion_level
global motion_level = (transition > 0) ? motion_level_end : motion_level
# STORING NEW MOTION LEVEL
global motion_level_new = motion_level
# SETTING TRANSITION POSITION
global transition = (transition > 0 && transition < transition_length) ? (transition + 1) : 0
global transition = (motion_level_new != motion_level_old && transition == 0 && transition_length > 0) ? 1 : transition
global transition = (pos_sc == 3) ? 0 : transition
# STORING TARGETTED MOTION LEVEL AFTER CURRENT MOTION LEVEL TRANSITION
global motion_level_end = (transition == 1) ? motion_level_new : motion_level_end
}
# PARAMETER SCALING FUNCTION
function PS(val param_in,val param_min,val param_max,float diff_min,float diff_max)
{
param_out = Spline(diff_avg,-1,param_min,diff_min,param_min,diff_max,param_max, 255,param_max,false)
param_out = (IsInt(param_in) == true) ? round(param_out) : param_out
return param_out
}
# MOTION FILTER FUNCTION
function MF(clip c)
{
# COMPUTING MOTION ESTIMATION
ME()
# SETTING LOW MOTION PARAMETERS ACCORDING TO AVERAGE DIFFERENCE
global param1_lm = (motion_level == 0) ? PS(param1_lm,param1_lm_min,param1_lm_max,threshold _min,threshold_lm) : param1_lm
global param2_lm = (motion_level == 0) ? PS(param2_lm,param2_lm_min,param2_lm_max,threshold _min,threshold_lm) : param2_lm
global param3_lm = (motion_level == 0) ? PS(param3_lm,param3_lm_min,param3_lm_max,threshold _min,threshold_lm) : param3_lm
global param4_lm = (motion_level == 0) ? PS(param4_lm,param4_lm_min,param4_lm_max,threshold _min,threshold_lm) : param4_lm
global param5_lm = (motion_level == 0) ? PS(param5_lm,param5_lm_min,param5_lm_max,threshold _min,threshold_lm) : param5_lm
# SETTING MEDIUM MOTION PARAMETERS ACCORDING TO AVERAGE DIFFERENCE
global param1_mm = (motion_level == 1) ? PS(param1_mm,param1_mm_min,param1_mm_max,threshold _lm,threshold_hm) : param1_mm
global param2_mm = (motion_level == 1) ? PS(param2_mm,param2_mm_min,param2_mm_max,threshold _lm,threshold_hm) : param2_mm
global param3_mm = (motion_level == 1) ? PS(param3_mm,param3_mm_min,param3_mm_max,threshold _lm,threshold_hm) : param3_mm
global param4_mm = (motion_level == 1) ? PS(param4_mm,param4_mm_min,param4_mm_max,threshold _lm,threshold_hm) : param4_mm
global param5_mm = (motion_level == 1) ? PS(param5_mm,param5_mm_min,param5_mm_max,threshold _lm,threshold_hm) : param5_mm
# SETTING HIGH MOTION PARAMETERS ACCORDING TO AVERAGE DIFFERENCE
global param1_hm = (motion_level == 2) ? PS(param1_hm,param1_hm_min,param1_hm_max,threshold _hm,threshold_max) : param1_hm
global param2_hm = (motion_level == 2) ? PS(param2_hm,param2_hm_min,param2_hm_max,threshold _hm,threshold_max) : param2_hm
global param3_hm = (motion_level == 2) ? PS(param3_hm,param3_hm_min,param3_hm_max,threshold _hm,threshold_max) : param3_hm
global param4_hm = (motion_level == 2) ? PS(param4_hm,param4_hm_min,param4_hm_max,threshold _hm,threshold_max) : param4_hm
global param5_hm = (motion_level == 2) ? PS(param5_hm,param5_hm_min,param5_hm_max,threshold _hm,threshold_max) : param5_hm
# APPLYING MOTION FILTER ACCORDING TO MOTION LEVEL
c = (transition == 0 && motion_level == 0) ? Low_Motion_Filter(c) : c
c = (transition == 0 && motion_level == 1) ? Medium_Motion_Filter(c) : c
c = (transition == 0 && motion_level == 2) ? High_Motion_Filter(c) : c
# APPLYING MOTION LEVEL TRANSITION
c = (transition > 0) ? Transition() : c
# PRINTING DEBUG INFORMATION
c = (debug == true) ? Debug(c) : c
return c
}
# MOTION LEVEL TRANSITION FUNCTION
function Transition()
{
# SETTING OLD CLIP ACCORDING TO OLD MOTION LEVEL
global clip_old = (transition == 1 && motion_level_old == 0) ? Low_Motion_Filter(clip) : clip_old
global clip_old = (transition == 1 && motion_level_old == 1) ? Medium_Motion_Filter(clip) : clip_old
global clip_old = (transition == 1 && motion_level_old == 2) ? High_Motion_Filter(clip) : clip_old
# SETTING NEW CLIP ACCORDING TO NEW MOTION LEVEL
global clip_new = (transition == 1 && motion_level_new == 0) ? Low_Motion_Filter(clip) : clip_new
global clip_new = (transition == 1 && motion_level_new == 1) ? Medium_Motion_Filter(clip) : clip_new
global clip_new = (transition == 1 && motion_level_new == 2) ? High_Motion_Filter(clip) : clip_new
# SETTING OLD/NEW CLIPS WEIGHT ACCORDING TO TRANSITION POSITION
weight = 1.0*(1.0 - (1.0/transition_length)*float(transition))
# MERGING OLD/NEW CLIPS ACCORDING TO WEIGHT
c = MergeLuma(clip_new,clip_old,weight)
c = MergeChroma(c,clip_old,weight)
return c
}
# DEBUG INFORMATION FUNCTION
function Debug(clip c)
{
# PRINTING VERSION INFORMATION
c = Subtitle(c,"Full Motion Filter v1.5 b1",x=20,y=30,font="lucida console",size=18,text_color=$FFFFFF)
c = Subtitle(c,"by HomiE FR (homie.fr@wanadoo.fr)",x=20,y=45,font="lucida console",size=14,text_color=$FFFFFF)
# PRINTING MOTION ESTIMATION INFORMATION
c = Subtitle(c,"motion estimation",x=20,y=75,font="lucida console",size=18,text_color=$FFFFFF)
c = Subtitle(c,"diff_p2 = "+string(diff_p2),x=20,y=95,font="lucida console",size=16,text_color=$FFCCCC)
c = (ok_p2 == 0) ? Subtitle(c,"[discarded]",x=230,y=95,font="lucida console",size=16,text_color=$FFFF66) : c
c = Subtitle(c,"diff_p1 = "+string(diff_p1),x=20,y=110,font="lucida console",size=16,text_color=$FFCCCC)
c = (ok_p1 == 0) ? Subtitle(c,"[discarded]",x=230,y=110,font="lucida console",size=16,text_color=$FFFF66) : c
c = Subtitle(c,"diff = "+string(diff),x=20,y=125,font="lucida console",size=16,text_color=$FFCCCC)
c = (ok == 0) ? Subtitle(c,"[discarded]",x=230,y=125,font="lucida console",size=16,text_color=$FFFF66) : c
c = Subtitle(c,"diff_f1 = "+string(diff_f1),x=20,y=140,font="lucida console",size=16,text_color=$FFCCCC)
c = (ok_f1 == 0) ? Subtitle(c,"[discarded]",x=230,y=140,font="lucida console",size=16,text_color=$FFFF66) : c
c = Subtitle(c,"diff_f2 = "+string(diff_f2),x=20,y=155,font="lucida console",size=16,text_color=$FFCCCC)
c = (ok_f2 == 0) ? Subtitle(c,"[discarded]",x=230,y=155,font="lucida console",size=16,text_color=$FFFF66) : c
c = Subtitle(c,"diff_avg = "+string(diff_avg),x=20,y=170,font="lucida console",size=16,text_color=$FF6666)
# PRINTING SCENE CHANGE DETECTION INFORMATION
c = Subtitle(c,"scene change detection",x=20,y=200,font="lucida console",size=18,text_color=$FFFFFF)
c = Subtitle(c,"threshold_sc = "+string(threshold_sc),x=20,y=220,font="lucida console",size=16,text_color=$CCCCFF)
c = (pos_sc == 0) ? Subtitle(c,"detection = enabled",x=20,y=235,font="lucida console",size=16,text_color=$CCCCFF) : Subtitle(c,"detection = disabled",x=20,y=235,font="lucida console",size=16,text_color=$CCCCFF)
c = (ok_p2+ok_p1+ok+ok_f1+ok_f2 == 5) ? Subtitle(c,"information = scanning...",x=20,y=250,font="lucida console",size=16,text_color=$9999FF) : Subtitle(c,"information = scene change !",x=20,y=250,font="lucida console",size=16,text_color=$9999FF)
# PRINTING FULL MOTION FILTER INFORMATION
c = Subtitle(c,"full motion filter",x=20,y=280,font="lucida console",size=18,text_color=$FFFFFF)
c = (motion_level == 0) ? Subtitle(c,"scene type = low motion",x=20,y=300,font="lucida console",size=16,text_color=$66FF66) : c
c = (motion_level == 1) ? Subtitle(c,"scene type = medium motion",x=20,y=300,font="lucida console",size=16,text_color=$66FF66) : c
c = (motion_level == 2) ? Subtitle(c,"scene type = high motion",x=20,y=300,font="lucida console",size=16,text_color=$66FF66) : c
c = (motion_level == 0) ? ((param1_lm_min != 0 || param1_lm_max != 0) ? Subtitle(c,"param1_lm = "+string(param1_lm),x=20,y=315,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param1_lm = disabled",x=20,y=315,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 0) ? ((param2_lm_min != 0 || param2_lm_max != 0) ? Subtitle(c,"param2_lm = "+string(param2_lm),x=20,y=330,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param2_lm = disabled",x=20,y=330,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 0) ? ((param3_lm_min != 0 || param3_lm_max != 0) ? Subtitle(c,"param3_lm = "+string(param3_lm),x=20,y=345,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param3_lm = disabled",x=20,y=345,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 0) ? ((param4_lm_min != 0 || param4_lm_max != 0) ? Subtitle(c,"param4_lm = "+string(param4_lm),x=20,y=360,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param4_lm = disabled",x=20,y=360,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 0) ? ((param5_lm_min != 0 || param5_lm_max != 0) ? Subtitle(c,"param5_lm = "+string(param5_lm),x=20,y=375,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param5_lm = disabled",x=20,y=375,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 1) ? ((param1_mm_min != 0 || param1_mm_max != 0) ? Subtitle(c,"param1_mm = "+string(param1_mm),x=20,y=315,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param1_mm = disabled",x=20,y=315,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 1) ? ((param2_mm_min != 0 || param2_mm_max != 0) ? Subtitle(c,"param2_mm = "+string(param2_mm),x=20,y=330,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param2_mm = disabled",x=20,y=330,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 1) ? ((param3_mm_min != 0 || param3_mm_max != 0) ? Subtitle(c,"param3_mm = "+string(param3_mm),x=20,y=345,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param3_mm = disabled",x=20,y=345,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 1) ? ((param4_mm_min != 0 || param4_mm_max != 0) ? Subtitle(c,"param4_mm = "+string(param4_mm),x=20,y=360,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param4_mm = disabled",x=20,y=360,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 1) ? ((param5_mm_min != 0 || param5_mm_max != 0) ? Subtitle(c,"param5_mm = "+string(param5_mm),x=20,y=375,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param5_mm = disabled",x=20,y=375,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 2) ? ((param1_hm_min != 0 || param1_hm_max != 0) ? Subtitle(c,"param1_hm = "+string(param1_hm),x=20,y=315,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param1_hm = disabled",x=20,y=315,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 2) ? ((param2_hm_min != 0 || param2_hm_max != 0) ? Subtitle(c,"param2_hm = "+string(param2_hm),x=20,y=330,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param2_hm = disabled",x=20,y=330,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 2) ? ((param3_hm_min != 0 || param3_hm_max != 0) ? Subtitle(c,"param3_hm = "+string(param3_hm),x=20,y=345,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param3_hm = disabled",x=20,y=345,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 2) ? ((param4_hm_min != 0 || param4_hm_max != 0) ? Subtitle(c,"param4_hm = "+string(param4_hm),x=20,y=360,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param4_hm = disabled",x=20,y=360,font="lucida console",size=16,text_color=$CCFFCC)) : c
c = (motion_level == 2) ? ((param5_hm_min != 0 || param5_hm_max != 0) ? Subtitle(c,"param5_hm = "+string(param5_hm),x=20,y=375,font="lucida console",size=16,text_color=$66FF66) : Subtitle(c,"param5_hm = disabled",x=20,y=375,font="lucida console",size=16,text_color=$CCFFCC)) : c
return c
}
|
|