DaisySP
|
#include <looper.h>
Public Types | |
enum class | Mode { NORMAL , ONETIME_DUB , REPLACE , FRIPPERTRONICS } |
Public Member Functions | |
void | Init (float *mem, size_t size) |
float | Process (const float input) |
void | Clear () |
void | TrigRecord () |
const bool | Recording () const |
const bool | RecordingQueued () const |
void | IncrementMode () |
void | SetMode (Mode mode) |
const Mode | GetMode () const |
void | ToggleReverse () |
void | SetReverse (bool state) |
bool | GetReverse () const |
void | ToggleHalfSpeed () |
void | SetHalfSpeed (bool state) |
bool | GetHalfSpeed () const |
bool | IsNearBeginning () |
Multimode audio looper
Modes are:
Read more about the looper modes in the mode enum documentation.
|
strong |
Normal Mode: Input is added to the existing loop infinitely while recording
Onetime Dub Mode: Recording starts at the first sample of the buffer and is added to the existing buffer contents. Recording automatically stops after one full loop.
Replace Mode: Audio in the buffer is replaced while recording is on.
Frippertronics Mode: infinite looping recording with fixed decay on each loop. The module acts like tape-delay set up.
|
inline |
Effectively erases the buffer Note: This does not actually change what is in the buffer
|
inline |
Returns the specific recording mode that is currently set.
|
inline |
Increments the Mode by one step useful for buttons, etc. that need to step through the Looper modes.
|
inline |
Handles reading/writing to the Buffer depending on the mode.
This is a way of 'seamless looping' The first N samps after recording is done are recorded with the input faded out.
|
inline |
Returns true if the looper is currently being written to.
|
inline |
Sets the recording mode to the specified Mode.
|
inline |
Engages/Disengages the recording, depending on Mode. In all modes, the first time this is triggered a new loop will be started. The second trigger will set the loop size, and begin playback of the loop.