#include <VibratingString.h>
|
| | VibratingString ()=default |
| | VibratingString (float pitch, float pick, float pickup, const float *impulse, int len, sample_rate_t sampleRate, int oversample, float randomize, float stringLoss, float detune, bool state) |
| | ~VibratingString ()=default |
| | VibratingString (const VibratingString &)=delete |
| VibratingString & | operator= (const VibratingString &)=delete |
| | VibratingString (VibratingString &&) noexcept=delete |
| VibratingString & | operator= (VibratingString &&) noexcept=default |
| sample_t | nextSample () |
◆ VibratingString() [1/4]
| lmms::VibratingString::VibratingString |
( |
| ) |
|
|
default |
◆ VibratingString() [2/4]
| lmms::VibratingString::VibratingString |
( |
float | pitch, |
|
|
float | pick, |
|
|
float | pickup, |
|
|
const float * | impulse, |
|
|
int | len, |
|
|
sample_rate_t | sampleRate, |
|
|
int | oversample, |
|
|
float | randomize, |
|
|
float | stringLoss, |
|
|
float | detune, |
|
|
bool | state ) |
◆ ~VibratingString()
| lmms::VibratingString::~VibratingString |
( |
| ) |
|
|
default |
◆ VibratingString() [3/4]
| lmms::VibratingString::VibratingString |
( |
const VibratingString & | | ) |
|
|
delete |
◆ VibratingString() [4/4]
| lmms::VibratingString::VibratingString |
( |
VibratingString && | | ) |
|
|
deletenoexcept |
◆ bridgeReflection()
◆ dlAccess()
dlAccess(dl, position); Returns sample "position" samples into delay-line's past. Position "0" points to the most recently inserted sample.
◆ fromBridgeAccess()
fromBridgeAccess(dl, position); Returns spatial sample at position "position", where position zero is equal to the current upper delay-line pointer position (x = 0). In a right-going delay-line, position increases to the right, and delay increases to the right => left = past and right = future.
◆ fromBridgeUpdate()
fromBridgeUpdate(dl, insamp); Decrements current upper delay-line pointer position (i.e. the wave travels one sample to the right), moving it to the "effective" x = 0 position for the next iteration. The "bridge-reflected" sample from lower delay-line is then placed into this position.
◆ initDelayLine()
◆ nextSample()
| sample_t lmms::VibratingString::nextSample |
( |
| ) |
|
|
inline |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ resample()
◆ setDelayLine()
| void lmms::VibratingString::setDelayLine |
( |
DelayLine * | dl, |
|
|
int | pick, |
|
|
const float * | values, |
|
|
int | len, |
|
|
float | scale, |
|
|
bool | state ) |
|
inlineprivate |
setDelayLine initializes the string with an impulse at the pick position unless the impulse is longer than the string, in which case the impulse gets truncated.
◆ toBridgeAccess()
toBridgeAccess(dl, position); Returns spatial sample at position "position", where position zero is equal to the current lower delay-line pointer position (x = 0). In a left-going delay-line, position increases to the right, and delay DEcreases to the right => left = future and right = past.
◆ toBridgeUpdate()
toBridgeUpdate(dl, insamp); Places "nut-reflected" sample from upper delay-line into current lower delay-line pointer position (which represents x = 0 position). The pointer is then incremented (i.e. the wave travels one sample to the left), turning the previous position into an "effective" x = L position for the next iteration.
◆ m_choice
| int lmms::VibratingString::m_choice |
|
private |
◆ m_fromBridge
| std::unique_ptr<DelayLine> lmms::VibratingString::m_fromBridge |
|
private |
◆ m_impulse
| std::unique_ptr<float[]> lmms::VibratingString::m_impulse |
|
private |
◆ m_outsamp
| std::unique_ptr<sample_t[]> lmms::VibratingString::m_outsamp |
|
private |
◆ m_oversample
| int lmms::VibratingString::m_oversample |
|
private |
◆ m_pickupLoc
| int lmms::VibratingString::m_pickupLoc |
|
private |
◆ m_randomize
| float lmms::VibratingString::m_randomize |
|
private |
◆ m_state
| float lmms::VibratingString::m_state |
|
private |
◆ m_stringLoss
| float lmms::VibratingString::m_stringLoss |
|
private |
◆ m_toBridge
| std::unique_ptr<DelayLine> lmms::VibratingString::m_toBridge |
|
private |
The documentation for this class was generated from the following files: