// // Programmer: Craig Stuart Sapp // Creation Date: Fri May 2 15:18:35 GMT-0800 1997 // Last Modified: Thu Nov 27 21:29:49 GMT-0800 1997 // Filename: ...sig/maint/code/Generator/Envelope/Envelope.h // Web Address: http://sig.sapp.org/include/sigSignal/Envelope.h // Documentation: http://sig.sapp.org/doc/classes/Envelope // Syntax: C++ // #ifndef _ENVELOPE_H_INCLUDED #define _ENVELOPE_H_INCLUDED #include "Generator.h" #include "EnvelopeString.h" class Envelope : public Generator, public EnvelopeString { public: Envelope (const char *aString = "(0 0; 1 0)", int durationInSamples = 0); ~Envelope (); void action (void); int activeQ (void); long getDurationSamples (void); double getDurationSeconds (void); long getEnvelopeSamples (void); sampleType output (int channel); void printState (void); void setDuration (long samples); void setDuration (int samples); void setDuration (double seconds); void setDurationSamples (long samples); void setDurationSeconds (double seconds); void trigger (int startPoint = 0); protected: long currPoint; // current point long currSample; // current sample Array sampleTimes; // points as samples int active; // true if generating envelope char interpType; // current interpolation type sampleType outputValue; // value to be sent out of the object sampleType linearIncrement; sampleType geometricIncrement; // private functions: void calculateNextSample (void); }; #endif /* _ENVELOPE_H_INCLUDED */ // md5sum: 79f8b2edb6c28e9bdca496d210781df4 Envelope.h [20010708]