Skip to content

Class daisysp::Looper

ClassList > daisysp > Looper

More...

  • #include <looper.h>

Public Types

Type Name
enum Mode

Public Functions

Type Name
void Clear ()
bool GetHalfSpeed () const
float GetIncrementSize () const
const Mode GetMode () const
float GetPos () const
size_t GetRecSize () const
bool GetReverse () const
void IncrementMode ()
void Init (float * mem, size_t size)
bool IsNearBeginning () const
Looper ()
float Process (const float input)
const bool Recording () const
const bool RecordingQueued () const
void SetHalfSpeed (bool state)
void SetIncrementSize (float increment)
void SetMode (Mode mode)
void SetReverse (bool state)
void ToggleHalfSpeed ()
void ToggleReverse ()
void TrigRecord ()
~Looper ()

Detailed Description

Multimode audio looper

Modes are: * Normal * Onetime Dub * Replace * Frippertronics

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

Public Types Documentation

enum Mode

enum daisysp::Looper::Mode {
    NORMAL,
    ONETIME_DUB,
    REPLACE,
    FRIPPERTRONICS
};

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.


Public Functions Documentation

function Clear

inline void daisysp::Looper::Clear () 

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


function GetHalfSpeed

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

function GetIncrementSize

inline float daisysp::Looper::GetIncrementSize () const

function GetMode

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

Returns the specific recording mode that is currently set.


function GetPos

inline float daisysp::Looper::GetPos () const

function GetRecSize

inline size_t daisysp::Looper::GetRecSize () const

function GetReverse

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

function IncrementMode

inline void daisysp::Looper::IncrementMode () 

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


function Init

inline void daisysp::Looper::Init (
    float * mem,
    size_t size
) 

function IsNearBeginning

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

function Looper

inline daisysp::Looper::Looper () 

function Process

inline float daisysp::Looper::Process (
    const  float input
) 

Handles reading/writing to the Buffer depending on the mode.


function Recording

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

Returns true if the looper is currently being written to.


function RecordingQueued

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

function SetHalfSpeed

inline void daisysp::Looper::SetHalfSpeed (
    bool state
) 

function SetIncrementSize

inline void daisysp::Looper::SetIncrementSize (
    float increment
) 

function SetMode

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

Sets the recording mode to the specified Mode.


function SetReverse

inline void daisysp::Looper::SetReverse (
    bool state
) 

function ToggleHalfSpeed

inline void daisysp::Looper::ToggleHalfSpeed () 

function ToggleReverse

inline void daisysp::Looper::ToggleReverse () 

function TrigRecord

inline void daisysp::Looper::TrigRecord () 

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.


function ~Looper

inline daisysp::Looper::~Looper () 


The documentation for this class was generated from the following file external-docs/DaisySP/Source/Utility/looper.h