Having a central beat clock will make things easier to manage, at least when it comes to music.
Starting basic, we'll need to expose the psuedotype within the OBS object:
To do anything extra fun, we'll also need to know when the beat started:
Once we have this piece of information, we can begin to derive more information:
We'll want to make setting a .BPM and .BeatStart easy:
Then we'll want to get creative:
We will want to manage BPM with timers and events
Having a central beat clock will make things easier to manage, at least when it comes to music.
Starting basic, we'll need to expose the psuedotype within the OBS object:
$OBS.Beatshould be anOBS.Beatsingleton #186OBS.Beat.BPMshould get and set the BPM #187To do anything extra fun, we'll also need to know when the beat started:
OBS.Beat.BeatStartshould get and set the [DateTime] the beat started #188Once we have this piece of information, we can begin to derive more information:
OBS.Beat.Durationshould get (and set) the duration of the beat #189OBS.Beat.BeatCountshould return the number of beats since the beat started #190We'll want to make setting a
.BPMand.BeatStarteasy:OBS.Beat.TapBPM()should let a BPM be tapped out #191Then we'll want to get creative:
OBS.Beat.Sin/Sineshould return the sine of the current beat #192OBS.Beat.Cos/Cosineshould return the cosine of the current beat #193OBS.Beat.Angleshould get the current beat, expressed as an angle #194We will want to manage BPM with timers and events
OBS.Beat.Timershould get and set the[Timer]used to track BPM #195