ryan1990 / buddysystem

React Native Mobile time tracker app used to capture music practice sessions.
0 stars 0 forks source link

Add Metronome to app #2

Open ryan1990 opened 5 years ago

ryan1990 commented 5 years ago

Add a metronome feature that is usable whether practice session stopwatch is running or not. It can be on it's own screen or be part of the stopwatch screen (decide what is best). Metronome usage should not interrupt the session stopwatch. User should be able to adjust the Beats Per Minute (BPM) for the metronome (the frequency it produces sound). Allow a range of 10 to 1000 beats per minute.

ryan-accelya commented 4 years ago

Possible breakdown of tasks:

  1. Create a new Metronome component (to hold the code for following tasks) that will be rendered within StopwatchScreen component.
  2. Have app play sound like a metronome click.
  3. Create timer mechanism that plays this sound at a regular time (like every second). For an example: https://github.com/ryan1990/buddysystem/blob/master/components/StopwatchScreen.js
  4. Store 2 variables in state of the Metronome Component. One for metronome is on/off and another for metronome tempo.
  5. Make metronome adhere to these state variables.
  6. Add buttons/UI to start/stop metronome and adjust tempo by setting the states within the Metronome component.