Riferimenti per la classe Envelope

Questa classe implementa un generatore d'inviluppo, basato sul controllo dell'attacco (attack) e decadimento (decay) espressi in % della durata totale dell'inviluppo. Il valore di "sustain" è implicito ossia:. Continua...

#include <Envelope.h>

Diagramma delle classi per Envelope

Inheritance graph
[legenda]
Diagramma di collaborazione per Envelope:

Collaboration graph
[legenda]
Lista di tutti i membri.

Membri pubblici

 Envelope (const float &sr, GenTable *shape, const INTERPOLATION &interp=LINEAR)
 Costruttore.
 ~Envelope ()
 Distruttore.
void setShape (GenTable *shape)
 Imposta il puntatore all'ggetto "GenTable" contenente la forma d'onda.
void setInterp (const INTERPOLATION &type=LINEAR)
 Imposta l'interpolazione.
void inArg (const float &dur, const float &attack, const float &decay)
 Imposta la durata, l'attacco e il decadimento dell'inviluppo.
void setDuration (const float &dur)
 Imposta la sola durata dell'inviluppo. (in secondi).
void setAttack (const float &attack)
 Imposta il solo valore di attacco dell'inviluppo. (in % della durata).
void setDecay (const float &decay)
 Imposta il solo valore di decadimento dell'inviluppo. (in % della durata).
void reinitEnv ()
 Resetta lo stato dell'inviluppo einiziandolo con gli ultimi parametri.
virtual float outSig ()
 Calcola il campione (sample) e ritorna il valore.
float outTrapezoid ()
 Come outSig () ma genera direttamente un trapezoide.

Attributi protetti

float _attack
float _decay
float _sus
GenTable_shape

Descrizione Dettagliata

Questa classe implementa un generatore d'inviluppo, basato sul controllo dell'attacco (attack) e decadimento (decay) espressi in % della durata totale dell'inviluppo. Il valore di "sustain" è implicito ossia:.

_sus = _dur - (_attack + _decay);

by Alessandro Petrolati 2006. www.alessandro-petrolati.com ale_petrolati@alice.it

Definizione alla linea 26 del file Envelope.h.


Documentazione dei costruttori e dei distruttori

Envelope::Envelope ( const float &  sr,
GenTable shape,
const INTERPOLATION &  interp = LINEAR 
)

Costruttore.

Inizializza l'oggetto con un fattore di campionamento (Sampling Rate). Il valore espresso deve essere supportato dall' hardware device. Inoltre è necessario esprimere un puntatore a una classe "Generator" e il metodo di interpolazione usato dall'Inviluppo (DISABLE,LINEAR,CUBIC).


Documentazione delle funzioni membro

void Envelope::inArg ( const float &  dur,
const float &  attack,
const float &  decay 
)

Imposta la durata, l'attacco e il decadimento dell'inviluppo.

La durata è espressa in secondi, l'attacco e il decadimento sono espressi come percentuale (%) della durata. Sono possibili valori compresi tra 0 e 0.5, ossia il 50% della durata dell'inviluppo per ciascun parametro. Con l'attacco e il decadimento impostati a 0.5, viene generato un prototipo triangolare, mentre con valori minori di 0.5, si produce un trapezoide. Con valori prossimi allo 0, il prototipo degenera in un rettangolare.

N.B. Questa funzione provoca l'INIZIALIZZAZIONE dell'inviluppo, in modo analodo procede this->setDuration (); Le funzioni impostano i parametri dell'inviluppo (ASD), quando l'inviluppo è stato generato le successive chiamate della funzione outSig () fa ritornare l'ultimo valore del campione generato.

virtual float Envelope::outSig (  )  [virtual]

Calcola il campione (sample) e ritorna il valore.

Ad ogni chiamata si incrementa la fase interna. L'incremento dipende dalla durata espressa. Il valore della "phase", viene utilizzato come indice di tabella su un prototipo di tipo "Window".

Reimplementa Phasor.

void Envelope::setInterp ( const INTERPOLATION &  type = LINEAR  ) 

Imposta l'interpolazione.

Imposta la funzione usata dall'oggetto, sono possibili i seguenti metodi: DISABLE = non interpolato. LINEAR = interpolazione lineare a 2 punti. CUBIC = interpolazione cubica.


La documentazione per questa classe è stata generata a partire dal seguente file:
Generato il Tue Dec 26 14:42:39 2006 per AudioDrome da  doxygen 1.4.7