#include <PartialUtils.h>
Public Member Functions | |
PartialMutator (double x) | |
Construct a new PartialMutator from a constant mutation factor. | |
PartialMutator (const Envelope &e) | |
PartialMutator (const PartialMutator &rhs) | |
Construct a new PartialMutator that is a copy of another. | |
virtual | ~PartialMutator (void) |
Destroy this PartialMutator, deleting its Envelope. | |
PartialMutator & | operator= (const PartialMutator &rhs) |
virtual void | operator() (Partial &p) const =0 |
Protected Attributes | |
Envelope * | env |
PartialMutator is an abstract base class for Partial mutators, functors that operate on Partials according to a time-varying envelope. The base class manages a polymorphic Envelope instance that provides the time-varying mutation parameters.
Loris::PartialUtils::PartialMutator::PartialMutator | ( | const Envelope & | e | ) |
Construct a new PartialMutator from an Envelope representing a time-varying mutation factor.
virtual void Loris::PartialUtils::PartialMutator::operator() | ( | Partial & | p | ) | const [pure virtual] |
Function call operator: apply a mutation factor to the specified Partial. Derived classes must implement this member.
Implemented in Loris::PartialUtils::AmplitudeScaler, Loris::PartialUtils::BandwidthScaler, Loris::PartialUtils::BandwidthSetter, Loris::PartialUtils::FrequencyScaler, Loris::PartialUtils::NoiseRatioScaler, and Loris::PartialUtils::PitchShifter.
PartialMutator& Loris::PartialUtils::PartialMutator::operator= | ( | const PartialMutator & | rhs | ) |
Make this PartialMutator a duplicate of another one.
rhs | is the PartialMutator to copy. |
Envelope* Loris::PartialUtils::PartialMutator::env [protected] |
pointer to an envelope that governs the time-varying mutation