14 #ifndef _CROSS_FADE_QUEUE_H_
15 #define _CROSS_FADE_QUEUE_H_
17 #include "Properties.h"
28 std::vector<double> fadeTbl_;
30 Properties::fadeMode fadeType_;
31 void computeFadeTbl();
32 void notifyCrossFades();
33 std::deque<CrossFade*> fadeQueue_;
65 double tick(
double fadeInInput,
double fadeOutInput);
long fadeThreshold() const
Get fade threshold in samples.
bool atStart() const
True if at beginning of crossfade.
~CrossFadeQueue()
Class destructor.
bool isActive() const
True if a crossfade is underway, false othewise.
void fadeFunction(Properties::fadeMode fadeType)
Set fade type (LINEAR, COS, COS_SQUARED, TANH, SQRT, LOG, SIGMOID)
CrossFadeQueue(long fadeThreshold, long fadeLength, Properties::fadeMode fadeType, double sampleRate)
double fadeLength() const
Get fade time in samples.
bool startFade()
Triggers a crossfade, returns true if fade has started.
double getTblValAt(int index) const
Returns crossfade table value at given index.
void increment()
Increment top level crossfade.
void finishFade()
Manages cleanup and end of crossfade.
int size()
Return number of crossfades being queued.
double tick(double fadeInInput, double fadeOutInput)
Out value of crossfade.