void Transpose(int direction) { history.AddHistroyAtSelection( ); if (patternView.boxSelection.isSelecting) { patternView.boxSelection.FinalizeSelection(); } if (patternView.boxSelection.hasSelection) { patternView.boxSelection.DoOperation((int line, int chn, int col) => { if (col != 0) { return; } int newNote = TransposeNote(direction, songData.GetData(chn, line, col)); songData.SetData(chn, line, col, newNote); }); } else if (patternView.position.dataColumn == 0) { int newNote = TransposeNote(direction, patternView.GetDataAtSelection()); patternView.SetDataAtSelection(newNote); } }