Skip to content

daisysp::Looper

More...

#include <looper.h>

Public Types

Name
enum class Mode

Public Functions

Name
Looper()
~Looper()
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

class daisysp::Looper;

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

Enumerator Value Description
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 Looper

inline Looper()

function ~Looper

inline ~Looper()

function Init

inline void Init(
    float * mem,
    size_t size
)

function Process

inline float Process(
    const float input
)

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.


function Clear

inline void Clear()

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


function TrigRecord

inline void 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 Recording

inline const bool Recording() const

Returns true if the looper is currently being written to.


function RecordingQueued

inline const bool RecordingQueued() const

function IncrementMode

inline void IncrementMode()

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


function SetMode

inline void SetMode(
    Mode mode
)

Sets the recording mode to the specified Mode.


function GetMode

inline const Mode GetMode() const

Returns the specific recording mode that is currently set.


function ToggleReverse

inline void ToggleReverse()

function SetReverse

inline void SetReverse(
    bool state
)

function GetReverse

inline bool GetReverse() const

function ToggleHalfSpeed

inline void ToggleHalfSpeed()

function SetHalfSpeed

inline void SetHalfSpeed(
    bool state
)

function GetHalfSpeed

inline bool GetHalfSpeed() const

function IsNearBeginning

inline bool IsNearBeginning()

---

Updated on 2024-01-03 at 19:38:46 +0000