X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=MarkSlee.pde;h=a67f719de99eadc90367791df291c75149e682d9;hb=6702151ac6a806d916403b2a60e3dc1e52b712aa;hp=68d8de143f334e81c41b3317ff9f9286f586ef4e;hpb=e7f14d4d86fc5f0228895b610971a032fa096394;p=SugarCubes.git diff --git a/MarkSlee.pde b/MarkSlee.pde index 68d8de1..a67f719 100644 --- a/MarkSlee.pde +++ b/MarkSlee.pde @@ -705,3 +705,32 @@ class Traktor extends SCPattern { } } } + +class ColorFuckerEffect extends SCEffect { + + BasicParameter hueShift = new BasicParameter("HSHFT", 0); + BasicParameter sat = new BasicParameter("SAT", 1); + BasicParameter bright = new BasicParameter("BRT", 1); + + ColorFuckerEffect(GLucose glucose) { + super(glucose); + addParameter(hueShift); + addParameter(bright); + addParameter(sat); + } + + public void doApply(int[] colors) { + float bMod = bright.getValuef(); + float sMod = sat.getValuef(); + float hMod = hueShift.getValuef(); + if (bMod < 1 || sMod < 1 || hMod > 0) { + for (int i = 0; i < colors.length; ++i) { + colors[i] = color( + (hue(colors[i]) + hueShift.getValuef()*360.) % 360, + saturation(colors[i]) * sat.getValuef(), + brightness(colors[i]) * bright.getValuef() + ); + } + } + } +}