From 3f16fd027656eaca0ed62f9c90c4da56385bb3bf Mon Sep 17 00:00:00 2001 From: Mark Slee Date: Tue, 25 Feb 2014 18:01:08 -0800 Subject: [PATCH] Remove transition management from glucose --- DanKaminsky.pde | 2 +- _Internals.pde | 28 ++++++++++++++++++++++------ _UIImplementation.pde | 17 ++++++++++------- code/GLucose.jar | Bin 2556 -> 2201 bytes code/HeronLX.jar | Bin 132403 -> 132537 bytes 5 files changed, 33 insertions(+), 14 deletions(-) diff --git a/DanKaminsky.pde b/DanKaminsky.pde index c94b573..88fd543 100644 --- a/DanKaminsky.pde +++ b/DanKaminsky.pde @@ -7,7 +7,7 @@ class GenericController { if(p!=null) { p.setValue(val); } } if(type==1) { - p = glucose.getSelectedTransition().getParameters().get(num); + p = lx.engine.getDeck(RIGHT_DECK).getFaderTransition().getParameters().get(num); if(p!=null) { p.setValue(val); } } if(type==2) { diff --git a/_Internals.pde b/_Internals.pde index 100607a..0ee146d 100644 --- a/_Internals.pde +++ b/_Internals.pde @@ -34,13 +34,16 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -final int VIEWPORT_WIDTH = 900; -final int VIEWPORT_HEIGHT = 700; +static final int VIEWPORT_WIDTH = 900; +static final int VIEWPORT_HEIGHT = 700; + +static final int LEFT_DECK = 0; +static final int RIGHT_DECK = 1; // The trailer is measured from the outside of the black metal (but not including the higher welded part on the front) -final float TRAILER_WIDTH = 192; -final float TRAILER_DEPTH = 192; -final float TRAILER_HEIGHT = 33; +static final float TRAILER_WIDTH = 192; +static final float TRAILER_DEPTH = 192; +static final float TRAILER_HEIGHT = 33; int targetFramerate = 60; int startMillis, lastMillis; @@ -50,6 +53,8 @@ GLucose glucose; LX lx; Model model; LXPattern[] patterns; +LXTransition[] transitions; +DiscreteParameter activeTransition; Effects effects; MappingTool mappingTool; GrizzlyOutput[] grizzlies; @@ -140,8 +145,19 @@ void setup() { engine.setPatterns(patterns = _leftPatterns(lx)); engine.addDeck(_rightPatterns(lx)); logTime("Built patterns"); - glucose.setTransitions(transitions(lx)); + + // Transitions + transitions = transitions(lx); + activeTransition = new DiscreteParameter("TRANSITION", transitions.length); + activeTransition.addListener(new LXParameterListener() { + public void onParameterChanged(LXParameter parameter) { + lx.engine.getDeck(RIGHT_DECK).setFaderTransition(transitions[activeTransition.getValuei()]); + } + }); + lx.engine.getDeck(RIGHT_DECK).setFaderTransition(transitions[activeTransition.getValuei()]); logTime("Built transitions"); + + // Effects glucose.lx.addEffects(_effectsArray(effects = new Effects())); logTime("Built effects"); diff --git a/_UIImplementation.pde b/_UIImplementation.pde index 3f0c630..1257f6f 100644 --- a/_UIImplementation.pde +++ b/_UIImplementation.pde @@ -15,8 +15,9 @@ class UIBlendMode extends UIWindow { public UIBlendMode(float x, float y, float w, float h) { super(lx.ui, "BLEND MODE", x, y, w, h); List items = new ArrayList(); - for (LXTransition t : glucose.getTransitions()) { - items.add(new TransitionScrollItem(t)); + int i = 0; + for (LXTransition t : transitions) { + items.add(new TransitionScrollItem(t, i++)); } final UIScrollList tList; (tList = new UIScrollList(1, UIWindow.TITLE_LABEL_HEIGHT, w-2, 60)).setItems(items).addToContainer(this); @@ -30,11 +31,13 @@ class UIBlendMode extends UIWindow { class TransitionScrollItem extends UIScrollList.AbstractItem { private final LXTransition transition; - private String label; + private final int index; + private final String label; - TransitionScrollItem(LXTransition transition) { + TransitionScrollItem(LXTransition transition, int index) { this.transition = transition; - label = className(transition, "Transition"); + this.index = index; + this.label = className(transition, "Transition"); } public String getLabel() { @@ -42,7 +45,7 @@ class UIBlendMode extends UIWindow { } public boolean isSelected() { - return transition == glucose.getSelectedTransition(); + return index == activeTransition.getValuei(); } public boolean isPending() { @@ -50,7 +53,7 @@ class UIBlendMode extends UIWindow { } public void onMousePressed() { - glucose.setSelectedTransition(transition); + activeTransition.setValue(this.index); } } diff --git a/code/GLucose.jar b/code/GLucose.jar index 1920a31defe1ce4a78d845ef7d9718d45d800b5f..e1b6aa62fe0124c5d2190d5d8676bfa8872c207b 100755 GIT binary patch delta 1409 zcmV-{1%CSc6PXbVP)h>@3IG5I003f-kqjvUVULkFj{;nek;oweIggR+Bm!HHlMw;n z4qT5}MCBYf3ho2|0CWkH{{b6+g;r}*8)X!J-XyRjEYPITl7bYp)+Cgs7i(*wRT@&7 zHc%u;3su`~vV^6}Zp>~F>ZM-lU4MWxezsq&Bk9D>IDYm=_{l$^W3A`xCWNFHnc+Qq z&U?;t?z{Q@-(P+Oa0K7BVaksoOt<4AX83q5fM+qwvW$ee03?@rUBY~S00CTL<}yDm z@Uh6p6}Edr!kbLr3XsB8KCUsVwBtImeB>mk?dZjlA9*ZG&;sbgY#UaX-rz$IU=@Z0 zQ$j(YGr6>+X6>|Q*{Y!y1>}@LG@&b&rCI{gd~!CEx;QNmO0OtuN?ccrd^}?pH6uSN z(2+0=%T^3~UeQacK&w)JDCnv!5Kb40W>&Q<(u-%!q8gtWcdp3Dqpu4D)5~hnG?b!k z#r5@g`Z8VYv{apfQFCrkDI=$nrbr3+)5)`QS0|E*3tp-y1Ol_E$#Zpy5a?1HGNIUa zxDl6ZO^>sfJoqzO-camPkzzg4bUl{N>!qw|sqx9QL-#e-X7n_F0Z3~Et(k^EcO?3_ ziue*{j=+OTF4tVzqmlpf5N%cc$eUQec$nc(JH#aH(ZP5T(&-8dWwsB_oDm8Ebe)#%a7F zV;vhZZsJ{m{-=d6<2}4DBZ-8JS1~T*1KgstWqgQ_WPFT&PXq>@J|;45zE{sJatOqs%SWR!h2K(+VXG9)uik(qi;6Z-W4hqMJC4XQ;Mq z+qc=9=T}XC56#!3j%n^J?WQ{)G}mp~R`k0XplVt1ZZ9j=w7PCPHWatdaG1tL--7RS z`&t{}hU#TDs8g$iW0p8T*IYB>Gt?fNnxrbLqwdR6HOO-0abx?4sM=OCY_m;QRGZpH zXv(C(oNmzfVTe97pzli<&tpHmIA0*nLo~>vP0vAp9%DyFTR=37gG6h3apDhc;}0Xm zOGNyO4u1^o@Z%*MC&>wtbP?r0Z%F*;JOuGFPF63&WZ)s%5&IdQ;R?JST#D7yMxUtW ztE&lKysFw5TEMUVL$P~kiFr5C8oLi^;U3yH;fW1z!cTl)Vfes3v~NNtFxgv1$ECYf zB-+`3DpEI54!ezY%IK{5qV23|3_2wvO;@9fNNWWpnVv;dy`|31=lt{*3|0-MOl}1qz?t9rK>r za@3IG5I0032KkqjvURB4enj{;O_k;owet!RDbp?okE+08R~){{b6+jaO+`6K52D-UJvD1|$*02m)G{B&bo;YDKIFsMO#F zMbugylQE8lNtzj~+P$^=zSq`nw$<*{9*u{3j;EjdBl@AIf1)0(y?17kkN_6W;a%?X z-1n{nfBgH~4FK)9T!}*-1ff*nFk-yKy$C^N+7Vt75{`ONX;U-_$GoV2!g0PN`82|d z&exQemNZ`!VdTiBr6smhe~=8u7S?RG#qSNj$|;PkZqUp7r24 zoRRRn7xST3;sxGcXV0LrQW~6{t|s>7;531fuCoDyA9+ z$wgwRj2hY5WwA)fl{_iniyl=oDP75!MkIMM5*;SSOhZl5W7N3)s6IWelBDPps4_E( zZfK@P<^&e+FIFxv31={WA;g9pVu9+QdZN9X2M_l2c5ic28X@3+-QBlkYk?vJW~fE6 zA;YzH3`R{Y8DTP6@C;}PT`@;99?-HmB zh9-+~S$8T<;65cDFHP3U;Qv_&l?o7GT}B;Aolr}`D%NYdW^NEz8=NwE#c>~@hmohl z{k(UChA0{d)$C4xB~u)%vS4UGrLKlZgX6OoBKmamS7VeYhlA79<=6Pg^gvNb3A9p> ziva8-ld>&AMgy82qY$ZjiSnjX>{K5kR}Yv6N z(0up4lJNz9hGcw+^Af(2@io4Yu@CztT##`Q-%9vS#`pMv22g2iHjQe@IJcX}L0;D? z<461?<7ae9_(jGg93;<6?9=QiAniDO%&KL7A##1Dno-OY;noz-AW9Prj*>Ll03D%y z)b;i-psBz`rj3jy6;5}r&V?Q4p|meF$*A^HIoTn9p{Dfb2G{t(=uYr=pq~0=qG9SI zLpyC35{-yTE&uviMNm1fxcH7L#&-3jY3b0r%XI5fJTvp~HFm~x1y63OdP395VneAj zy%vLX>L+E8WpboPjU5-5&CZlaF^4~0laMJe6w}QLrF(qGbxyZyr!Y0H5C%?BIgU_B zQllJyYdaEJDzcL*&7^u$m5~nnqpa!_gr$?U>I9Ngp`=)8rfgEKNsFN=G-+5e2zppNz~@pQS>|P2ItvTY_>K`W_&p-G}|1ZRx1~O zWX-nXr>$ZPGhO%{bvekL*yTv~kb?{v3GXGj#zX8Q9nN94MQ||2P%mKdn3=__%NERT zP6NauIu7I!6(W^$@WPGbwbQJfMMFP_d{*X=9XpAOhIbNqBUPX!{nl^xRDgO92dAdn=H-qXl&y{Q~L#fstIz- zcM%@Tv%d=Vy>Q=xOU$`xc|>0>2W^&9CtgP2SGVV?;~^YyWU8$@{o0T5;$a+gSc}*( z+UNX=dDk(Y`r#h`f-Dx&^A~2ZD2v582ih!6LI1r35w7t32T)4^0u%!Z000O8099#O zL;wH)000000000000{sD0001!DhDM3RB4k@2S5T;X_J!&F#@e}{0C4D cRB2g67cEupQ3e12P7RY<2ss982mk;80CU1X00000 diff --git a/code/HeronLX.jar b/code/HeronLX.jar index d57c4d43dd53c0948f8bf015f3656fe735bf642c..7c388a7187aa6cce3490c50164ba4cf90dbee62f 100755 GIT binary patch delta 5640 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 AIsgCw delta 5425 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 -- 2.34.1