aboutsummaryrefslogtreecommitdiff
path: root/src/audio.ts
diff options
context:
space:
mode:
authorJoris2021-05-13 14:50:51 +0200
committerJoris2021-05-13 14:58:26 +0200
commit221b6451fb4f8559a10e7fefebd13ce125ef29d0 (patch)
tree3ab337b7b2d40e8235f887046a580b0850540f11 /src/audio.ts
parent5c636f11cdfed82634ee572645d765b704941b68 (diff)
downloadtabata-221b6451fb4f8559a10e7fefebd13ce125ef29d0.tar.gz
tabata-221b6451fb4f8559a10e7fefebd13ce125ef29d0.tar.bz2
tabata-221b6451fb4f8559a10e7fefebd13ce125ef29d0.zip
Rewrite in TypeScript
BuckleScript is no longer maintained. Choose a widely used techno that will still be maintained in the following years.
Diffstat (limited to 'src/audio.ts')
-rw-r--r--src/audio.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/audio.ts b/src/audio.ts
new file mode 100644
index 0000000..bdf64eb
--- /dev/null
+++ b/src/audio.ts
@@ -0,0 +1,19 @@
+import * as Config from 'config'
+import * as State from 'state'
+
+const start = new Audio('sound/start.mp3')
+const stop = new Audio('sound/stop.mp3')
+const endTabata = new Audio('sound/end-tabata.mp3')
+const endTraining = new Audio('sound/end-training.mp3')
+
+export function playFromStep(config: Config.Config, state: State.State) {
+ if (state.step === State.Step.Work && state.remaining === config.work) {
+ start.play()
+ } else if (state.step === State.Step.Rest && state.remaining === config.rest) {
+ stop.play()
+ } else if (state.step === State.Step.Prepare && state.remaining === config.prepare) {
+ endTabata.play()
+ } else if (state.step === State.Step.End) {
+ endTraining.play()
+ }
+}