#include <Envelope.h>

Public Member Functions | |
| ADSR () | |
| ADSR (LineMode mode, float t, float a, float d, float s, float r) | |
| Minimal version - ADSR. | |
| ADSR (LineMode mode, float t, float i, float a, float d, float s, float r) | |
| with initial delay - IADSR | |
| ADSR (float t, float a, float d, float s, float r) | |
| Minimal version - ADSR. | |
| ADSR (float t, float i, float a, float d, float s, float r) | |
| with initial delay - IADSR | |
| ~ADSR () | |
| void | setAttack (float attack) |
| Special accessors. | |
| void | setDecay (float decay) |
| void | setSustain (float sustain) |
| void | setRelease (float release) |
| void | release (void) |
Most of this is inherited from Envelope. This design is an extended ADSR envelope with an initial constant segment and offset (default = 0; this can be used to make an attack delay as on ARP ADSRs), attack time and max. val (default = 1.0), decay time, sustain level, and release time and final value (default = 0.0). All times are assumed to be given in seconds. Note that there are many variations on the constructor. The 5 line segments used internally look something like the following
| / . | / \ . | / \--------------- . | / \ . |---/ \ . | \----- . --------------------------------------------------------------------
Note that, internally, the breakpoints are kept with cumulative times, whereas the line segments only have start/stop Y values and durations (i.e., no absolute time reference).
| csl::ADSR::ADSR | ( | ) | [inline] |
| ADSR::ADSR | ( | LineMode | mode, | |
| float | t, | |||
| float | a, | |||
| float | d, | |||
| float | s, | |||
| float | r | |||
| ) |
| ADSR::ADSR | ( | LineMode | mode, | |
| float | t, | |||
| float | i, | |||
| float | a, | |||
| float | d, | |||
| float | s, | |||
| float | r | |||
| ) |
with initial delay - IADSR
| ADSR::ADSR | ( | float | t, | |
| float | a, | |||
| float | d, | |||
| float | s, | |||
| float | r | |||
| ) |
| ADSR::ADSR | ( | float | t, | |
| float | i, | |||
| float | a, | |||
| float | d, | |||
| float | s, | |||
| float | r | |||
| ) |
with initial delay - IADSR
| csl::ADSR::~ADSR | ( | ) | [inline] |
| void ADSR::setAttack | ( | float | attack | ) |
Special accessors.
Operations --.
References csl::Envelope::calculateSegments(), csl::LineSegment::duration(), csl::Envelope::mSegmentMap, csl::Envelope::mSegments, and csl::Envelope::mValues.
Referenced by csl::BasicFMInstrument::parseArgs(), csl::BasicFMInstrument::playNote(), csl::AdditiveInstrument::playNote(), csl::FancyFMInstrument::playOSC(), csl::AdditiveInstrument::playOSC(), csl::BasicFMInstrument::setParameter(), and csl::AdditiveInstrument::setParameter().
| void ADSR::setDecay | ( | float | decay | ) |
References csl::Envelope::calculateSegments(), csl::Envelope::mSegmentMap, and csl::Envelope::mValues.
Referenced by csl::BasicFMInstrument::parseArgs(), csl::BasicFMInstrument::playNote(), csl::AdditiveInstrument::playNote(), csl::FancyFMInstrument::playOSC(), csl::AdditiveInstrument::playOSC(), csl::BasicFMInstrument::setParameter(), and csl::AdditiveInstrument::setParameter().
| void ADSR::setSustain | ( | float | sustain | ) |
References csl::Envelope::calculateSegments(), csl::Envelope::mSegments, and csl::LineSegment::setEnd().
Referenced by csl::BasicFMInstrument::parseArgs(), csl::BasicFMInstrument::playNote(), csl::AdditiveInstrument::playNote(), csl::AdditiveInstrument::playOSC(), csl::BasicFMInstrument::setParameter(), and csl::AdditiveInstrument::setParameter().
| void ADSR::setRelease | ( | float | release | ) |
References csl::Envelope::calculateSegments(), csl::Envelope::mDuration, csl::Envelope::mSegmentMap, and csl::Envelope::mValues.
Referenced by csl::BasicFMInstrument::parseArgs(), csl::BasicFMInstrument::playNote(), csl::AdditiveInstrument::playNote(), csl::AdditiveInstrument::playOSC(), csl::BasicFMInstrument::setParameter(), and csl::AdditiveInstrument::setParameter().
| void ADSR::release | ( | void | ) |
References csl::Envelope::mCurrentMark, and csl::Envelope::mValues.
Referenced by input_read_interpret_test().
1.5.8