DaisySP
Loading...
Searching...
No Matches
daisysp::Looper Class Reference

#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 ()
 

Detailed Description

Multimode audio looper

Modes are:

  • Normal
  • Onetime Dub
  • Replace
  • Frippertronics

Read more about the looper modes in the mode enum documentation.

Member Enumeration Documentation

◆ Mode

enum class daisysp::Looper::Mode
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.

Member Function Documentation

◆ Clear()

void daisysp::Looper::Clear ( )
inline

Effectively erases the buffer Note: This does not actually change what is in the buffer

◆ GetMode()

const Mode daisysp::Looper::GetMode ( ) const
inline

Returns the specific recording mode that is currently set.

◆ IncrementMode()

void daisysp::Looper::IncrementMode ( )
inline

Increments the Mode by one step useful for buttons, etc. that need to step through the Looper modes.

◆ Process()

float daisysp::Looper::Process ( const float input)
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.

◆ Recording()

const bool daisysp::Looper::Recording ( ) const
inline

Returns true if the looper is currently being written to.

◆ SetMode()

void daisysp::Looper::SetMode ( Mode mode)
inline

Sets the recording mode to the specified Mode.

◆ TrigRecord()

void daisysp::Looper::TrigRecord ( )
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.


The documentation for this class was generated from the following file: