| 1444 | } |
| 1445 | |
| 1446 | void NoteStepSequencer::SyncGridToSeq() |
| 1447 | { |
| 1448 | mGrid->Clear(); |
| 1449 | for (int i = 0; i < NSS_MAX_STEPS; ++i) |
| 1450 | { |
| 1451 | if (mTones[i] < 0) |
| 1452 | continue; |
| 1453 | |
| 1454 | mGrid->SetVal(i, mTones[i], mVels[i] > 0 ? mNoteLengths[i] : 0, false); |
| 1455 | mVelocityGrid->SetVal(i, 0, mVels[i] / 127.0f, false); |
| 1456 | } |
| 1457 | mGrid->SetGrid(mLength, mNoteRange); |
| 1458 | mVelocityGrid->SetGrid(mLength, 1); |
| 1459 | if (mGridControlTarget->GetGridController()) |
| 1460 | { |
| 1461 | int maxXOffset = mLength - mGridControlTarget->GetGridController()->NumCols(); |
| 1462 | if (maxXOffset >= 0) |
| 1463 | mGridControlOffsetXSlider->SetExtents(0, maxXOffset); |
| 1464 | int maxYOffset = mNoteRange - mGridControlTarget->GetGridController()->NumRows(); |
| 1465 | if (maxYOffset >= 0) |
| 1466 | mGridControlOffsetYSlider->SetExtents(0, maxYOffset); |
| 1467 | |
| 1468 | mGridControlOffsetX = MAX(MIN(mGridControlOffsetX, maxXOffset), 0); |
| 1469 | mGridControlOffsetY = MAX(MIN(mGridControlOffsetY, maxYOffset), 0); |
| 1470 | } |
| 1471 | } |
| 1472 | |
| 1473 | void NoteStepSequencer::OnScaleChanged() |
| 1474 | { |
nothing calls this directly
no test coverage detected