|
Sound Byte Libs 0.5.1-121-g3358a44
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
|
A bow over a set of tables: velocity, pressure and select, all smoothed. More...
A bow over a set of tables: velocity, pressure and select, all smoothed.
Definition at line 124 of file bow_set.hpp.
#include <bow_set.hpp>
Public Member Functions | |
| BowSet () | |
| void | set_tables (const BowTable *tables, uint8_t count) |
| The tables this bow can be played with (TableSet::set_tables). | |
| void | set_select_su (float su) |
| Which table: crossfades across the set. Smoothed. | |
| void | advance (uint16_t n) |
| void | reset () |
Public Member Functions inherited from sbl::dsp::pm::Bow< TableSet > | |
| Bow () | |
| TableSet & | law () |
| The law, for its own parameters (a table, a rosin). | |
| const TableSet & | law () const |
| void | set_velocity_su (float su) |
| How fast the bow travels across the string. Smoothed. | |
| void | set_pressure_su (float su) |
| How hard it presses: which force slice the law reads. Zero is no contact. Smoothed. | |
| void | advance (uint16_t n) |
| A block's worth of port movement. | |
| float | excite (const JunctionState &j) |
| One sample: the force on the string for the junction's state. | |
| float | energy () const |
| A bow stores nothing: it only does work on the string. | |
| void | reset () |
| bool | sticking () const |
| True while the bow holds the string (with weight on it). | |
| float | limit () const |
| The static limit the bow holds the string with right now, in wave units. | |
| float | force () const |
| The force injected on the last sample, in wave units. | |
| diagram::Ports | describe (diagram::Graph &g, uint8_t group, const char *name="bow") const |
| The velocity source into the friction junction. Never called from audio code. | |
Static Public Attributes | |
| static constexpr float | DEFAULT_SELECT_SU = 0.0f |
Static Public Attributes inherited from sbl::dsp::pm::Bow< TableSet > | |
| static constexpr float | DEFAULT_VELOCITY_SU |
| static constexpr float | DEFAULT_PRESSURE_SU |
| static constexpr float | MAX_VELOCITY |
| wave units at full speed | |
| static constexpr float | SMOOTH_MS |
| static constexpr float | MIN_PRESSURE_SU |
|
inline |
|
inline |
The tables this bow can be played with (TableSet::set_tables).
Definition at line 135 of file bow_set.hpp.
References sbl::dsp::pm::Bow< TableSet >::law(), and sbl::dsp::pm::TableSet::set_tables().
|
inline |
Which table: crossfades across the set. Smoothed.
Definition at line 138 of file bow_set.hpp.
References sbl::dsp::math::clamp01(), and sbl::dsp::primitives::SmoothedPort::set().
|
inline |
Definition at line 140 of file bow_set.hpp.
References sbl::dsp::pm::Bow< Law >::advance(), sbl::dsp::primitives::SmoothedPort::advance(), sbl::dsp::pm::Bow< TableSet >::law(), and sbl::dsp::pm::TableSet::set_select_su().
|
inline |
Definition at line 145 of file bow_set.hpp.
References sbl::dsp::pm::Bow< TableSet >::law(), sbl::dsp::pm::Bow< Law >::reset(), sbl::dsp::primitives::SmoothedPort::reset(), sbl::dsp::types::SAMPLE_RATE_F, sbl::dsp::pm::TableSet::set_select_su(), sbl::dsp::primitives::SmoothedPort::set_time_ms(), sbl::dsp::pm::Bow< TableSet >::SMOOTH_MS, and sbl::dsp::primitives::SmoothedPort::value().
|
staticconstexpr |
Definition at line 126 of file bow_set.hpp.
Referenced by BowSet().