void StartRun(double deltaMs) { }
color CalcPoint(xyz p) { return lx.hsb(0,0,0); }
boolean IsActive() { return this == DG.CurPat; }
- boolean IsFocused() { return this == midiEngine.getFocusedDeck().getActivePattern(); }
+ boolean IsFocused() { return midiEngine != null && midiEngine.getFocusedDeck() != null &&
+ this == midiEngine.getFocusedDeck().getActivePattern(); }
void onInactive() { UpdateState(); }
void onActive () { UpdateState(); StartPattern(); }
void UpdateState() { if (IsFocused() != IsActive()) { if (IsFocused()) DG.Activate(this); else DG.Deactivate(this); } }
s.v1 = new dVertex(s,strip.points.get(15));
s.v0.setOpp(s.v1); s.v1.setOpp(s.v0);
if (col < NumBackTowers) DQ[col][row] = 16*floor((iTowerStrips-1)/16);
+ else s.row=-1;
}
for (int j=0; j<iTowerStrips; j++) { for (int k=j+1; k<iTowerStrips; k++) {