Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


Delay Class Reference

#include <Delay.h>

Inheritance diagram for Delay:

Filter Stk DelayA DelayL List of all members.

Detailed Description

STK non-interpolating delay line class.

This protected Filter subclass implements a non-interpolating digital delay-line. A fixed maximum length of 4095 and a delay of zero is set using the default constructor. Alternatively, the delay and maximum length can be set during instantiation with an overloaded constructor.

A non-interpolating delay line is typically used in fixed delay-length applications, such as for reverberation.

by Perry R. Cook and Gary P. Scavone, 1995 - 2007.


Public Member Functions

 Delay ()
 Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
 Delay (unsigned long delay, unsigned long maxDelay)
 Overloaded constructor which specifies the current and maximum delay-line lengths.
virtual ~Delay ()
 Class destructor.
void clear ()
 Clears the internal state of the delay line.
void setMaximumDelay (unsigned long delay)
 Set the maximum delay-line length.
void setDelay (unsigned long delay)
 Set the delay-line length.
unsigned long getDelay (void) const
 Return the current delay-line length.
StkFloat energy (void) const
 Calculate and return the signal energy in the delay-line.
StkFloat contentsAt (unsigned long tapDelay)
 Return the value at tapDelay samples from the delay-line input.
StkFloat lastOut (void) const
 Return the last computed output value.
virtual StkFloat nextOut (void)
 Return the value which will be output by the next call to tick().
virtual StkFloat tick (StkFloat sample)
 Input one sample to the filter and return one output.
virtual StkFramestick (StkFrames &frames, unsigned int channel=0)
 Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.


Constructor & Destructor Documentation

Delay::Delay unsigned long  delay,
unsigned long  maxDelay
 

Overloaded constructor which specifies the current and maximum delay-line lengths.

An StkError will be thrown if the delay parameter is less than zero, the maximum delay parameter is less than one, or the delay parameter is greater than the maxDelay value.


Member Function Documentation

void Delay::setMaximumDelay unsigned long  delay  ) 
 

Set the maximum delay-line length.

This method should generally only be used during initial setup of the delay line. If it is used between calls to the tick() function, without a call to clear(), a signal discontinuity will likely occur. If the current maximum length is greater than the new length, no change will be made.

void Delay::setDelay unsigned long  delay  ) 
 

Set the delay-line length.

The valid range for theDelay is from 0 to the maximum delay-line length.

StkFloat Delay::contentsAt unsigned long  tapDelay  ) 
 

Return the value at tapDelay samples from the delay-line input.

The tap point is determined modulo the delay-line length and is relative to the last input value (i.e., a tapDelay of zero returns the last input value).

virtual StkFloat Delay::nextOut void   )  [virtual]
 

Return the value which will be output by the next call to tick().

This method is valid only for delay settings greater than zero!

Reimplemented in DelayA, and DelayL.

virtual StkFrames& Delay::tick StkFrames frames,
unsigned int  channel = 0
[virtual]
 

Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.

The channel argument should be zero or greater (the first channel is specified by 0). An StkError will be thrown if the channel argument is equal to or greater than the number of channels in the StkFrames object.

Reimplemented from Filter.


The documentation for this class was generated from the following file:
The Synthesis ToolKit in C++ (STK)
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved.