#@gui _ #@gui Channel Overblur/Overline/Blur/Sharpen: fx_OOBS, _fx_OOBS_preview(0) #@gui : sep = separator() #@gui : 1. Color Space = choice("RGB/sRGB","HSV/HSV8","HSL/HSL8","HSI/HSI8","LCH/LCH8","Lab/Lab8","YCbCr/YCbCrGLIC","YIQ/YIQ8","YUV/YUV8","XYZ/XYZ8") #@gui : 2. Alt Choice = bool(0) #@gui : sep = separator() #@gui : note = note("Configuration for filter") #@gui : 3. Use Master Editor(Manipulate multiple channels at once?) = bool(1) #@gui : 4. Edit Channel #1? = bool(1) #@gui : 5. Edit Channel #2? = bool(1) #@gui : 6. Edit Channel #3? = bool(1) #@gui : 7. Edit Alpha Channel? = bool(0) #@gui : sep = separator() #@gui : sep = separator() #@gui : note = note("Master Editor") #@gui : 8. Overblur/Overline/Sharpen/Blur = choice ("Overblur","Overline","Blur","Sharpen") #@gui : 9. Effect Factor = float (1,.1,100) #@gui : 10. Multiplication Factor = float (1,.1,10) #@gui : 11. Effect Opacity = float (100,.01,100) #@gui : sep = separator() #@gui : sep = separator() #@gui : note = note("Channel #1") #@gui : 12. Effect Factor = float (1,.1,10) #@gui : 13. Overblur/Overline/Sharpen/Blur = choice ("Overblur","Overline","Blur","Sharpen") #@gui : 14. Multiplication Factor = float (1,.1,10) #@gui : 15. Effect Opacity = float (100,.01,100) #@gui : sep = separator() #@gui : note = note("Channel #2") #@gui : 16. Overblur/Overline/Sharpen/Blur = choice ("Overblur","Overline","Blur","Sharpen") #@gui : 17. Effect Factor = float (1,.1,10) #@gui : 18. Multiplication Factor = float (1,.1,10) #@gui : 19. Effect Opacity = float (100,.01,100) #@gui : sep = separator() #@gui : note = note("Channel #3") #@gui : 20. Overblur/Overline/Sharpen/Blur = choice ("Overblur","Overline","Blur","Sharpen") #@gui : 21. Effect Factor = float (1,.1,10) #@gui : 22. Multiplication Factor = float (1,.1,10) #@gui : 23. Effect Opacity = float (100,.01,100) #@gui : sep = separator() #@gui : note = note("Alpha Channel") #@gui : 24. Overblur/Overline/Sharpen/Blur = choice ("Overblur","Overline","Blur","Sharpen") #@gui : 25. Effect Factor = float (1,.1,10) #@gui : 26. Multiplication Factor = float (1,.1,10) #@gui : 27. Effect Opacity = float (100,.01,100) #@gui : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical","Duplicate top","Duplicate left","Duplicate bottom","Duplicate right","Duplicate horizontal","Duplicate vertical","Checkered","Checkered inverse") #@gui : sep = separator(), note = note("Author : Reptorian Latest update: 2018/12/24.") fx_OOBS: split_opacity local[0] if {$2==0} if ($1==1} rgb2hsv elif ($1==2} rgb2hsl elif ($1==3} rgb2hsi elif ($1==4} rgb2lch elif ($1==5} rgb2lab elif ($1==6} rgb2ycbcr elif ($1==7} rgb2yiq elif ($1==8} rgb2yuv elif ($1==9} rgb2xyz fi elif {$2==1} if {$1==0} rgb2srgb elif {$1==1} rgb2hsv8 elif {$1==2} rgb2hsl8 elif {$1==3} rgb2hsi8 elif {$1==4} rgb2lch8 elif {$1==5} rgb2lab8 elif {$1==6} rgb2ycbcrglic elif {$1==7} rgb2yiq8 elif {$1==8} rgb2yuv8 elif {$1==9} rgb2xyz8 fi fi s c if {$3==1} if {$4==1} local[0] +oobs_edit[0] $8,$9,$10 -blend[0,1] normal,$11/100 endl fi if {$5==1} local[1] +oobs_edit[0] $8,$9,$10 -blend[0,1] normal,$11/100 endl fi if {$6==1} local[2] +oobs_edit[0] $8,$9,$10 -blend[0,1] normal,$11/100 endl fi elif {$3==0} if {$4==1} local[0] +oobs_edit[0] $12,$13,$14 -blend[0,1] normal,$15/100 endl fi if {$5==1} local[1] +oobs_edit[0] $16,$17,$18 -blend[0,1] normal,$19/100 endl fi if {$6==1} local[2] +oobs_edit[0] $19,$20,$21 -blend[0,1] normal,$22/100 endl fi fi a c if {$2==0} if ($1==1} hsv2rgb elif ($1==2} hsl2rgb elif ($1==3} hsi2rgb elif ($1==4} lch2rgb elif ($1==5} lab2rgb elif ($1==6} ycbcr2rgb elif ($1==7} yiq2rgb elif ($1==8} yuv2rgb elif ($1==9} xyz2rgb fi elif {$2==1} if {$1==0} srgb2rgb elif {$1==1} hsv82rgb elif {$1==2} hsl82rgb elif {$1==3} hsi82rgb elif {$1==4} lch82rgb elif {$1==5} lab82rgb elif {$1==6} ycbcrglic2rgb elif {$1==7} yiq82rgb elif {$1==8} yuv82rgb elif {$1==9} xyz82rgb fi fi endl local[1] if {$3==1} +oobs_edit[0] $8,$9,$10 -blend[0,1] interpolation,$11/100 elif {$3==0} +oobs_edit[0] $23,$24,$25 -blend[0,1] interpolation,$26/100 fi endl a c oobs_edit : if {$1==0} -overblur_overline[0] 0,$2,$3 fi if {$1==1} -overblur_overline[0] 1,$2,$3 fi if {$1==2} -blur[0] {$2*$3} fi if {$1==3} -sharpen[0] {$2*$3} fi overblur_overline : if {$1==0} +blur[0] $2 elif {$1==1} +sharpen[0] $2 fi +blend[0,1] difference mul[2] $3 remove[1] -blend[0,1] add _fx_OOBS_preview : gui_split_preview "fx_OOBS ${1--2}",$-1