Sound Byte Libs 0.5.1-121-g3358a44
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
sbl::dsp::pm::TableSet Class Reference

Detailed Description

Definition at line 25 of file bow_set.hpp.

#include <bow_set.hpp>

Public Member Functions

void set_tables (const BowTable *tables, uint8_t count)
 The tables, in the order the select sweeps them. The array must outlive the set.
 
uint8_t count () const
 
const BowTable * tables () const
 
void set_select_su (float su)
 Which table: 0 the first, 1 the last, a crossfade between neighbours. Applied at once.
 
void set_force_su (float su)
 
float process (float dv_free)
 One sample: relative velocity in, the crossfaded force out (wave units).
 
bool sticking () const
 The table you hear — the one with the larger crossfade weight — holds the string.
 
float limit () const
 
void reset ()
 
diagram::Ports describe (diagram::Graph &g, uint8_t group, const char *name="friction") const
 One junction per running table. in/out is the first; the second is the named port "table B".
 

Static Public Attributes

static constexpr uint8_t MAX_TABLES = 8
 

Member Function Documentation

◆ set_tables()

void sbl::dsp::pm::TableSet::set_tables ( const BowTable *  tables,
uint8_t  count 
)
inline

The tables, in the order the select sweeps them. The array must outlive the set.

Definition at line 32 of file bow_set.hpp.

References count(), MAX_TABLES, and tables().

Referenced by sbl::dsp::pm::BowSet::set_tables().

◆ count()

uint8_t sbl::dsp::pm::TableSet::count ( ) const
inline

Definition at line 40 of file bow_set.hpp.

Referenced by set_tables().

◆ tables()

const BowTable * sbl::dsp::pm::TableSet::tables ( ) const
inline

Definition at line 41 of file bow_set.hpp.

Referenced by set_tables().

◆ set_select_su()

void sbl::dsp::pm::TableSet::set_select_su ( float  su)
inline

Which table: 0 the first, 1 the last, a crossfade between neighbours. Applied at once.

Definition at line 44 of file bow_set.hpp.

References sbl::dsp::math::clamp01().

Referenced by sbl::dsp::pm::BowSet::advance(), and sbl::dsp::pm::BowSet::reset().

◆ set_force_su()

void sbl::dsp::pm::TableSet::set_force_su ( float  su)
inline

Definition at line 49 of file bow_set.hpp.

References sbl::dsp::pm::TableFriction::set_force_su().

◆ process()

float sbl::dsp::pm::TableSet::process ( float  dv_free)
inline

One sample: relative velocity in, the crossfaded force out (wave units).

Definition at line 55 of file bow_set.hpp.

References sbl::dsp::pm::TableFriction::process().

◆ sticking()

bool sbl::dsp::pm::TableSet::sticking ( ) const
inline

The table you hear — the one with the larger crossfade weight — holds the string.

Definition at line 66 of file bow_set.hpp.

References sbl::dsp::pm::TableFriction::sticking().

◆ limit()

float sbl::dsp::pm::TableSet::limit ( ) const
inline

Definition at line 67 of file bow_set.hpp.

References sbl::dsp::pm::TableFriction::limit().

◆ reset()

void sbl::dsp::pm::TableSet::reset ( )
inline

Definition at line 69 of file bow_set.hpp.

References sbl::dsp::pm::TableFriction::reset().

◆ describe()

diagram::Ports sbl::dsp::pm::TableSet::describe ( diagram::Graph &  g,
uint8_t  group,
const char *  name = "friction" 
) const
inline

One junction per running table. in/out is the first; the second is the named port "table B".

Definition at line 75 of file bow_set.hpp.

References sbl::dsp::diagram::Ports::add(), sbl::dsp::pm::TableFriction::describe(), and sbl::dsp::diagram::Ports::in.

Member Data Documentation

◆ MAX_TABLES

constexpr uint8_t sbl::dsp::pm::TableSet::MAX_TABLES = 8
staticconstexpr
Note
All public methods are ISR-safe — bounded computation, no I/O.

Definition at line 29 of file bow_set.hpp.

Referenced by set_tables().


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