- if (!isFocused()) return;
- for (int i=0; i<NumApcRows ; i++) for (int j=0; j<NumApcCols; j++) SetLight(i, j, 0);
- for (int i=48;i< 56 ; i++) SetKnob(0, i, 0);
- for (int i=16;i< 20 ; i++) SetKnob(0, i, 0);
-
- for (int i=0; i<CurPat.picks.size() ; i++) SetLight (GetPick(i).CurRow, GetPick(i).CurCol, 3);
- for (int i=0; i<CurPat.bools.size() ; i++) SetLight (GetBool(i).row, GetBool(i).col, GetBool(i).b ? 3 : 0);
- for (int i=0; i<CurPat.params.size(); i++) SetKnob ( 0, i<=55 ? 48+i : 16 + i - 8, int(GetParam(i).Val()*127) );
+ if (!isFocused() || APCOut == null) return;
+ for (int i=53;i< 58; i++) for (int j=0; j<NumApcCols; j++) SetNoteOn(i, j, 0);
+ for (int i=48;i< 56; i++) SetKnob(0, i, 0);
+ for (int i=16;i< 20; i++) SetKnob(0, i, 0);
+
+ for (int i=0; i<CurPat.params.size(); i++) SetKnob ( 0, i<8 ? 48+i : 16 + i - 8, int(GetParam(i).Val()*127) );
+ for (int i=0; i<CurPat.picks .size(); i++) SetNoteOn (GetPick(i).CurRow, GetPick(i).CurCol, 3);
+ for (int i=0; i<CurPat.bools .size(); i++) if (GetBool(i).b) SetNoteOn (GetBool(i).row, GetBool(i).col, 1);
+ else SetNoteOff (GetBool(i).row, GetBool(i).col, 0);