madmaxoft/SkauTan

Rewrite song position UI into a single component

Closed this issue · 1 comments

The song position UI (position slider + playback time label + remaining time label) should get replaced with an easier-to-use UI:

  • Has an overview of the audio waveform of the entire file
  • Clicking the waveform seeks to that place immediately
  • Playback time not bound to the song data, but rather to the audio output (so it's monotonically increasing, even after seeking)
  • Remaining time should take into account the tempo change
  • The component should be reusable, at least between the PlayerWindow and DlgQuickPlayer
  • The component should handle all its signal / slot connections when given a Player instance.

Note: There should be three times: Song position, PlaybackTime and Remaining time.
Song position is the position within the song, using the current tempo, and is the basis for the visual position indicator.
Playback time is the total time a song has been playing; it ignores tempo changes and seeking and just monotonically increases.
Remaining time is the time left until the song ends from the current position, using the current tempo.