protected override bool OnScroll(InputState state) { if (state.Mouse.ScrollDelta.X + state.Mouse.ScrollDelta.Y > 0) { clock.SeekBackward(!clock.IsRunning); } else { clock.SeekForward(!clock.IsRunning); } return(true); }
protected override bool OnScroll(ScrollEvent e) { if (e.ScrollDelta.X + e.ScrollDelta.Y > 0) { clock.SeekBackward(!clock.IsRunning); } else { clock.SeekForward(!clock.IsRunning); } return(true); }
protected override bool OnWheel(InputState state) { if (state.Mouse.WheelDelta > 0) { clock.SeekBackward(true); } else { clock.SeekForward(true); } return(true); }
private void seek(UIEvent e, int direction) { double amount = e.ShiftPressed ? 2 : 1; if (direction < 1) { clock.SeekBackward(!clock.IsRunning, amount); } else { clock.SeekForward(!clock.IsRunning, amount); } }
private void seek(UIEvent e, int direction) { double amount = e.ShiftPressed ? 4 : 1; bool trackPlaying = clock.IsRunning; if (trackPlaying) { // generally users are not looking to perform tiny seeks when the track is playing, // so seeks should always be by one full beat, bypassing the beatDivisor. // this multiplication undoes the division that will be applied in the underlying seek operation. amount *= beatDivisor.Value; } if (direction < 1) { clock.SeekBackward(!trackPlaying, amount); } else { clock.SeekForward(!trackPlaying, amount); } }