Loading...
Searching...
No Matches
Nodes::AudioLooper::Node Struct Reference

Classes

struct  ins
 
struct  passthrough_selector
 
struct  State
 
struct  ui
 

Public Types

enum class  LoopMode { Play , Record , Overdub , Stop }
 
enum class  Postaction { Play , Overdub }
 
enum class  Restart { Always , Recording }
 
enum class  Passthrough { None , Record , Full }
 
using tick = ossia::token_request
 

Public Member Functions

 halp_meta (name, "Looper (audio)") halp_meta(c_name
 
 Looper (audio)") halp_meta(category
 
Audio Utilities halp_meta (author, "ossia score") halp_meta(manual_url
 
Audio Utilities Loop audio halp_meta (uuid, "a0ad4227-ac3d-448b-a19b-19581ed4e2c6")
 
 halp_meta (recommended_height, 65)
 
void enterMode (LoopMode m, Restart restart)
 
void fade (const ossia::token_request &tk)
 
void changeAction (const ossia::token_request &tk)
 
void checkPostAction (const std::string &postaction, int postaction_bars, const ossia::token_request &tk, State &st)
 
void operator() (const tick &tk)
 
void preAction (ossia::token_request tk, Postaction postaction, int postaction_bars, Passthrough passthrough, Restart restart)
 
void action (const ossia::token_request &tk, Passthrough pt)
 
void action (int64_t start, int64_t length, Passthrough pt)
 
void play (int64_t first_pos, int64_t samples)
 
void silence (int64_t first_pos, int64_t samples)
 
void mix_input (int64_t first_pos, int64_t samples)
 
void stop (int64_t first_pos, int64_t samples)
 
void record (int64_t first_pos, int64_t samples)
 
void record_noecho (int64_t first_pos, int64_t samples)
 
void overdub (int64_t first_pos, int64_t samples)
 
void overdub_noecho (int64_t first_pos, int64_t samples)
 

Public Attributes

Audio Utilities https: halp_meta(description
 
struct Nodes::AudioLooper::Node::ins inputs
 
struct { 
 
   halp::mimic_audio_bus<"out", &ins::audio >   audio 
 
outputs 
 
struct Nodes::AudioLooper::Node::State state
 
ossia::exec_state_facade ossia_state
 

Member Enumeration Documentation

◆ Passthrough

Enumerator
None 

The input is never heard, in any mode.

Record 

Heard while recording and overdubbing; playback is the loop alone.

Full 

Always heard, mixed over the loop during playback.

◆ Restart

Where the loop is read from when the mode changes.

Order matters: the first is what the object did before there was a choice.

Enumerator
Always 

Every change of mode reads the loop from its beginning again.

Recording 

Only a recording does; playing and overdubbing carry straight on.

Member Function Documentation

◆ enterMode()

void Nodes::AudioLooper::Node::enterMode ( LoopMode  m,
Restart  restart 
)
inline

Taking up a mode. A recording always starts its buffer again – there is nothing yet to carry on from. Whether playing and overdubbing do is what the Restart setting is for: reading the loop from the top on every change jumps, which is heard when overdubbing hands over to playing.

◆ silence()

void Nodes::AudioLooper::Node::silence ( int64_t  first_pos,
int64_t  samples 
)
inline

Outlet buffers come from a pool and are resized, not cleared: writing nothing leaves the previous tick's audio in them.


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