~ubuntu-branches/ubuntu/feisty/muse/feisty

« back to all changes in this revision

Viewing changes to synti/stklib/DLineA.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Kobras
  • Date: 2002-04-23 17:28:23 UTC
  • Revision ID: james.westby@ubuntu.com-20020423172823-w8yplzr81a759xa3
Tags: upstream-0.5.2
ImportĀ upstreamĀ versionĀ 0.5.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*******************************************/
 
2
/*  AllPass Interpolating Delay Line       */
 
3
/*  Object by Perry R. Cook 1995-96.       */
 
4
/*  Revised by Gary P. Scavone, 1999.      */
 
5
/*                                         */
 
6
/*  This one uses a delay line of maximum  */
 
7
/*  length specified on creation, and      */
 
8
/*  interpolates fractional length using   */
 
9
/*  an all-pass filter.  This version is   */
 
10
/*  more efficient for computing static    */
 
11
/*  length delay lines (alpha and coeff    */
 
12
/*  are computed only when the length      */
 
13
/*  is set, there probably is a more       */
 
14
/*  efficient computational form if alpha  */
 
15
/*  is changed often (each sample)).       */
 
16
/*                                         */
 
17
/*******************************************/
 
18
 
 
19
 
 
20
#if !defined(__DLineA_h)
 
21
#define __DLineA_h
 
22
 
 
23
#include "Filter.h"
 
24
 
 
25
class DLineA : public Filter
 
26
{
 
27
  protected:  
 
28
    long inPoint;
 
29
    long outPoint;
 
30
    long length;
 
31
    MY_FLOAT alpha;
 
32
    MY_FLOAT coeff;
 
33
    MY_FLOAT lastIn;
 
34
  public:
 
35
    DLineA();
 
36
    DLineA(long max_length);
 
37
    ~DLineA();
 
38
    void clear();
 
39
    void setDelay(MY_FLOAT length);
 
40
    MY_FLOAT tick(MY_FLOAT sample);
 
41
};
 
42
 
 
43
#endif