X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=DanUtil.pde;h=c7c8e706d82c49dc1aac97c34d5a6ae0dea245d4;hb=1c44211b1a15965afee7056a2f1d43a1306df61b;hp=f0cc7067f53c4f14e70d668d418c0bd2dd7edfbf;hpb=5096de16133c3422e8f9627dd86d1c5f103e9469;p=SugarCubes.git diff --git a/DanUtil.pde b/DanUtil.pde index f0cc706..c7c8e70 100644 --- a/DanUtil.pde +++ b/DanUtil.pde @@ -90,12 +90,11 @@ public class DPat extends SCPattern void rotateX (PVector p, PVector o, float nSin, float nCos) { p.set(p.x,nCos*(p.y-o.y) - nSin*(p.z-o.z) + o.y , nSin*(p.y-o.y) + nCos*(p.z-o.z) + o.z ); } void rotateY (PVector p, PVector o, float nSin, float nCos) { p.set( nSin*(p.z-o.z) + nCos*(p.x-o.x) + o.x,p.y, nCos*(p.z-o.z) - nSin*(p.x-o.x) + o.z ); } - BasicParameter addParam(String label, double value) { BasicParameter p = new BasicParameter(label, value); addParameter(p); return p; } + BasicParameter addParam(String label, double value) { BasicParameter p = new BasicParameter(label, value); addParameter(p); return p; } PVector vT1 = new PVector(), vT2 = new PVector(); - float calcCone (PVector v1, PVector v2, PVector c) { // use vec.angleBetween() for this - vT1.set(v1); vT2.set(v2); vT1.sub(c); vT2.sub(c); - return degrees(PVector.angleBetween(vT1,vT2)); } + float calcCone (PVector v1, PVector v2, PVector c) { vT1.set(v1); vT2.set(v2); vT1.sub(c); vT2.sub(c); + return degrees(PVector.angleBetween(vT1,vT2)); } Pick addPick(String name, int def, int _max, String[] desc) { Pick P = new Pick(name, def, _max+1, nMaxRow, desc); @@ -156,6 +155,16 @@ public class DPat extends SCPattern //println (model.xMax + " " + model.yMax + " " + model.zMax); //for (MidiOutputDevice o: RWMidi.getOutputDevices()) { if (o.toString().contains("APC")) { APCOut = o.createOutput(); break;}} } + + float spin() { + float raw = val(pSpin); + if (raw <= 0.45) { + return raw + 0.05; + } else if (raw >= 0.55) { + return raw - 0.05; + } + return 0.5; + } void setAPCOutput(MidiOutput output) { APCOut = output;