/src/Clock.h
#ifndef _CLOCK_H
#define _CLOCK_H
class Clock
{
public:
Clock();
Clock(float bpm);
Clock(float bpm, int slices_per_beat);
Clock(float bpm, int slices_per_beat, int beats_per_measure);
~Clock(void);
void start();
int tick(int t);
void setBPM(float bpm);
float getBPM();
void setSlicesPerBeat(int slices_per_beat);
int getMeasure();
int getBeat();
int getSlice();
private:
void recalculate();
float bpm;
int beats_per_measure;
int slices_per_beat;
float ms_per_slice;
int slice;
int t_start;
int t_next;
};
#endif //_CLOCK_H