johnwdubois / rezonator

Rezonator: Dynamics of human engagement
34 stars 1 forks source link

Spacebar vs. ENTER for audio playback #623

Open johnwdubois opened 3 years ago

johnwdubois commented 3 years ago

Background The Spacebar and ENTER key are both useful for controlling audio playback, but they should have slightly different functions.

Describe the solution you'd like

Spacebar function The Spacebar retains the user’s current location as an “audio landmark” or reference point.

  1. When the user presses Spacebar in the Main screen, test for:
    • What is the user’s current location (the current Line or Unit)?
    • Is audio currently playing?
  2. If audio is NOT currently playing, then:
    • Rezonator takes note of the current cursor location (e.g. the current Unit), and assigns the AudioLandmarkTime based on the UnitStart time for this Unit.
    • When the user presses the Spacebar the first time, Rezonator starts playing audio, beginning from AudioLandmarkTime (e.g. from the UnitStart time for the current Unit)
    • When the user presses the spacebar a second time (while audio is playing), Rezonator stops playing.
    • If the user presses the spacebar again (a third time), Rezonator starts playing audio, starting from the original starting point (AudioLandmarkTime).

ENTER key function The ENTER key resets the user’s location, creating a new “audio landmark” as a reference point.

  1. If the user presses the ENTER key while audio is playing, Rezonator stops playing, and remembers the timestamp of the audio location where it stopped. (That is, it resets the AudioLandmarkTime to the place it stopped.)
  2. If the user presses Spacebar again, Rezonator starts playing audio from the point where it had stopped previously (AudioLandmarkTime), but does not reset.
  3. If the user presses Spacebar again, repeat as in the previous step (no resetting).
  4. Obviously Rezonator should test for any open dialogue boxes, so that the ENTER key has the intended function.

Additional context See also #112 , #116, and #114.

Georgio-Klironomos commented 3 years ago

We'll be using the term "Audio BookMark" instead

Georgio-Klironomos commented 3 years ago

@johnwdubois We've got this feature working with prototypical UI, though there are a few changes in the design we'd like your feedback on: 1) The AudioBookmarkTime is created by the Enter key when Audio is not playing, instead of the Spacebar. The reasoning here is to have Spacebar only pause and play Audio, while Enter is the key used for placing the AudioBookmarkTime Hopefully this will prevent the user from accidentally placing bookmarks and make the different keys' functionality more intuitive. 2) The bookmark created (by the Enter key) while Audio is not playing is designated by the User's current Focus Line (AKA the top line), instead of the unit their cursor is hovering over. This prevents edge cases of the mouse not being over a unit, and is also hopefully more intuitive.

Georgio-Klironomos commented 3 years ago

@johnwdubois With the UI more polished, the feature is complete. Now we just need to user test.

Georgio-Klironomos commented 3 years ago

The Spacebar and Enter key functions have been user tested and performs well.