libpsynth 0.2.1
Public Types | Public Member Functions
psynth::synth::multi_point_envelope< Range, ValuesPtr > Class Template Reference

#include <multi_point_envelope.hpp>

Inheritance diagram for psynth::synth::multi_point_envelope< Range, ValuesPtr >:
Inheritance graph
[legend]
Collaboration diagram for psynth::synth::multi_point_envelope< Range, ValuesPtr >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Range range
typedef Range::value_type value_type
typedef ValuesPtr values_ptr

Public Member Functions

 multi_point_envelope (values_ptr val)
void set_values (values_ptr vals)
values_ptr get_values ()
float time () const
void set_time (float time)
void restart ()
void press ()
 Start the envelope effect.
void release ()
 Start finishing the envelope.
PSYNTH_FORCEINLINE value_type update ()
 Updates the envelope for one sample.
value_type update (std::size_t sample)
 Updates the envelope for several samples.
void update (const range &samples)
 Fills a buffer with samples from the envelope.
bool finished ()
 Returns wether the envelope has finished.

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
class psynth::synth::multi_point_envelope< Range, ValuesPtr >


Member Typedef Documentation

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
typedef Range psynth::synth::multi_point_envelope< Range, ValuesPtr >::range

Reimplemented from psynth::synth::envelope< Range >.

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
typedef Range::value_type psynth::synth::multi_point_envelope< Range, ValuesPtr >::value_type

Reimplemented from psynth::synth::envelope< Range >.

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
typedef ValuesPtr psynth::synth::multi_point_envelope< Range, ValuesPtr >::values_ptr

Constructor & Destructor Documentation

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
psynth::synth::multi_point_envelope< Range, ValuesPtr >::multi_point_envelope ( values_ptr  val) [inline]

Member Function Documentation

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
bool psynth::synth::multi_point_envelope< Range, ValuesPtr >::finished ( ) [inline, virtual]

Returns wether the envelope has finished.

Returns:
true if the envelope has finished and false otherwise.

Implements psynth::synth::envelope< Range >.

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
values_ptr psynth::synth::multi_point_envelope< Range, ValuesPtr >::get_values ( ) [inline]
template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
void psynth::synth::multi_point_envelope< Range, ValuesPtr >::press ( ) [inline, virtual]

Start the envelope effect.

Implements psynth::synth::envelope< Range >.

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
void psynth::synth::multi_point_envelope< Range, ValuesPtr >::release ( ) [inline, virtual]

Start finishing the envelope.

Implements psynth::synth::envelope< Range >.

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
void psynth::synth::multi_point_envelope< Range, ValuesPtr >::restart ( ) [inline]
template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
void psynth::synth::multi_point_envelope< Range, ValuesPtr >::set_time ( float  time) [inline]
template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
void psynth::synth::multi_point_envelope< Range, ValuesPtr >::set_values ( values_ptr  vals) [inline]
template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
float psynth::synth::multi_point_envelope< Range, ValuesPtr >::time ( ) const [inline]
template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
void psynth::synth::multi_point_envelope< Range, ValuesPtr >::update ( const range &  samples) [inline, virtual]

Fills a buffer with samples from the envelope.

Parameters:
samplesThe buffer to fill.
n_samplesThe number of samples to fill.

Implements psynth::synth::envelope< Range >.

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
PSYNTH_FORCEINLINE value_type psynth::synth::multi_point_envelope< Range, ValuesPtr >::update ( ) [inline, virtual]

Updates the envelope for one sample.

Returns:
The value of the envelope.

Implements psynth::synth::envelope< Range >.

template<class Range, typename ValuesPtr = envelope_values<typename sound::sample_type<Range>::type>*>
value_type psynth::synth::multi_point_envelope< Range, ValuesPtr >::update ( std::size_t  samples) [virtual]

Updates the envelope for several samples.

Parameters:
samplesthe number of samples to advance.
Returns:
The value of the envelope after.

Implements psynth::synth::envelope< Range >.


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