OpenWareLaboratory
|
Public Member Functions | |
void | adjust (uint16_t s) |
AdjustableTapTempo (float sr, size_t min, size_t max) | |
void | adjustSpeed (float s) |
Adjust the tap tempo period. More... | |
void | clock () |
void | clock (size_t steps) |
float | getBeatsPerMinute () |
Get tap tempo in BPM. More... | |
float | getFrequency () |
Get tap tempo frequency. More... | |
size_t | getPeriodInSamples () |
Get tap tempo period in samples. More... | |
bool | isOn () |
void | resetAdjustment (uint16_t s) |
void | resetSpeed (float s) |
void | setBeatsPerMinute (float bpm) |
Set tap tempo in BPM. More... | |
void | setFrequency (float freq) |
Set tap tempo frequency. More... | |
void | setPeriodInSamples (size_t value) |
Set tap tempo period in samples. More... | |
void | setRange (float value) |
void | trigger (bool on) |
void | trigger (bool on, int delay) |
Static Public Member Functions | |
static float | bpmToFrequency (float bpm) |
static float | bpmToSamplePeriod (float bpm, float sr) |
static AdjustableTapTempo * | create (float sr, size_t limit) |
static AdjustableTapTempo * | create (float sr, size_t min, size_t max) |
static void | destroy (AdjustableTapTempo *obj) |
static void | destroy (TapTempo *obj) |
static float | frequencyToBpm (float freq) |
static float | frequencyToSamplePeriod (float hz, float sr) |
static float | samplePeriodToBpm (float samples, float sr) |
Protected Member Functions | |
float | scale (float s) |
Protected Attributes | |
bool | ison |
const size_t | max_limit |
const size_t | min_limit |
float | range = 4 |
size_t | samples |
float | speed |
const float | sr |
size_t | trig |
Definition at line 105 of file TapTempo.h.
|
inline |
Definition at line 116 of file TapTempo.h.
Referenced by create().
|
inline |
Definition at line 129 of file TapTempo.h.
References adjustSpeed().
|
inline |
Adjust the tap tempo period.
speed | should be in the range [0, 1] which corresponds to the configured adjustable range: from bpm/(range/2) to bpm*(range/2) A value of 0.5 corresponds to unity. |
Definition at line 139 of file TapTempo.h.
References abs, clamp, TapTempo::max_limit, TapTempo::min_limit, range, TapTempo::samples, scale(), and speed.
Referenced by adjust().
|
inlinestaticinherited |
Definition at line 79 of file TapTempo.h.
Referenced by TapTempo::bpmToSamplePeriod().
|
inlinestaticinherited |
Definition at line 88 of file TapTempo.h.
References TapTempo::bpmToFrequency(), and TapTempo::sr.
Referenced by TapTempo::setBeatsPerMinute().
|
inlineinherited |
Definition at line 34 of file TapTempo.h.
References TapTempo::min_limit, and TapTempo::trig.
|
inlineinherited |
Definition at line 38 of file TapTempo.h.
References TapTempo::max_limit, and TapTempo::trig.
|
inlinestatic |
Definition at line 148 of file TapTempo.h.
References AdjustableTapTempo(), and TapTempo::sr.
|
inlinestatic |
Definition at line 151 of file TapTempo.h.
References AdjustableTapTempo(), max, min, and TapTempo::sr.
|
inlinestatic |
Definition at line 154 of file TapTempo.h.
|
inlinestaticinherited |
Definition at line 100 of file TapTempo.h.
|
inlinestaticinherited |
Definition at line 82 of file TapTempo.h.
Referenced by TapTempo::samplePeriodToBpm().
|
inlinestaticinherited |
Definition at line 85 of file TapTempo.h.
References TapTempo::sr.
|
inlineinherited |
Get tap tempo in BPM.
Definition at line 46 of file TapTempo.h.
References TapTempo::samplePeriodToBpm(), TapTempo::samples, and TapTempo::sr.
|
inlineinherited |
Get tap tempo frequency.
Definition at line 58 of file TapTempo.h.
References TapTempo::samples, and TapTempo::sr.
|
inlineinherited |
Get tap tempo period in samples.
Definition at line 70 of file TapTempo.h.
References TapTempo::samples.
|
inlineinherited |
Definition at line 19 of file TapTempo.h.
References TapTempo::ison.
|
inline |
Definition at line 119 of file TapTempo.h.
References resetSpeed().
|
inline |
Definition at line 122 of file TapTempo.h.
References scale(), and speed.
Referenced by resetAdjustment().
|
inlinestaticinherited |
Definition at line 91 of file TapTempo.h.
References TapTempo::frequencyToBpm(), TapTempo::samples, and TapTempo::sr.
Referenced by TapTempo::getBeatsPerMinute().
|
inlineprotected |
Definition at line 109 of file TapTempo.h.
Referenced by adjustSpeed(), and resetSpeed().
|
inlineinherited |
Set tap tempo in BPM.
Definition at line 52 of file TapTempo.h.
References TapTempo::bpmToSamplePeriod(), TapTempo::samples, and TapTempo::sr.
|
inlineinherited |
Set tap tempo frequency.
Definition at line 64 of file TapTempo.h.
References TapTempo::samples, and TapTempo::sr.
|
inlineinherited |
Set tap tempo period in samples.
Definition at line 76 of file TapTempo.h.
References TapTempo::samples.
|
inline |
Definition at line 125 of file TapTempo.h.
References range.
|
inlineinherited |
Definition at line 22 of file TapTempo.h.
|
inlineinherited |
Definition at line 25 of file TapTempo.h.
References TapTempo::ison, TapTempo::max_limit, TapTempo::min_limit, TapTempo::samples, and TapTempo::trig.
|
protectedinherited |
Definition at line 11 of file TapTempo.h.
Referenced by TapTempo::isOn(), and TapTempo::trigger().
|
protectedinherited |
Definition at line 8 of file TapTempo.h.
Referenced by adjustSpeed(), TapTempo::clock(), TapTempo::create(), and TapTempo::trigger().
|
protectedinherited |
Definition at line 7 of file TapTempo.h.
Referenced by adjustSpeed(), TapTempo::clock(), and TapTempo::trigger().
|
protected |
Definition at line 108 of file TapTempo.h.
Referenced by adjustSpeed(), and setRange().
|
protectedinherited |
Definition at line 9 of file TapTempo.h.
Referenced by adjustSpeed(), TapTempo::getBeatsPerMinute(), TapTempo::getFrequency(), TapTempo::getPeriodInSamples(), TapTempo::samplePeriodToBpm(), TapTempo::setBeatsPerMinute(), TapTempo::setFrequency(), TapTempo::setPeriodInSamples(), and TapTempo::trigger().
|
protected |
Definition at line 107 of file TapTempo.h.
Referenced by adjustSpeed(), and resetSpeed().
|
protectedinherited |
Definition at line 6 of file TapTempo.h.
Referenced by TapTempo::bpmToSamplePeriod(), create(), TapTempo::create(), TapTempo::frequencyToSamplePeriod(), TapTempo::getBeatsPerMinute(), TapTempo::getFrequency(), TapTempo::samplePeriodToBpm(), TapTempo::setBeatsPerMinute(), and TapTempo::setFrequency().
|
protectedinherited |
Definition at line 10 of file TapTempo.h.
Referenced by TapTempo::clock(), and TapTempo::trigger().