| 843 | } |
| 844 | |
| 845 | void StepSequencer::IntSliderUpdated(IntSlider* slider, int oldVal, double time) |
| 846 | { |
| 847 | if (slider == mNumMeasuresSlider) |
| 848 | { |
| 849 | mGrid->SetGrid(GetNumSteps(mStepInterval, mNumMeasures), mNumRows); |
| 850 | if (mNumMeasures > oldVal) |
| 851 | { |
| 852 | int newChunkCount = ceil(float(mNumMeasures) / oldVal); |
| 853 | int stepsPerChunk = GetNumSteps(mStepInterval, oldVal); |
| 854 | for (int chunk = 1; chunk < newChunkCount; ++chunk) |
| 855 | { |
| 856 | for (int col = 0; col < stepsPerChunk && col + stepsPerChunk * chunk < mGrid->GetCols(); ++col) |
| 857 | { |
| 858 | for (int row = 0; row < mGrid->GetRows(); ++row) |
| 859 | { |
| 860 | mGrid->SetVal(col + stepsPerChunk * chunk, row, mGrid->GetVal(col, row), false); |
| 861 | } |
| 862 | } |
| 863 | } |
| 864 | } |
| 865 | } |
| 866 | } |
| 867 | |
| 868 | void StepSequencer::ButtonClicked(ClickButton* button, double time) |
| 869 | { |