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

« back to all changes in this revision

Viewing changes to synti/stklib/DLineN.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
/*
 
3
   Non-Interpolating Delay Line
 
4
   Object by Perry R. Cook 1995-96.
 
5
   Revised by Gary Scavone, 1999.
 
6
   Added methods by Julius Smith, 2000.
 
7
 
 
8
   This one uses either a delay line of
 
9
   maximum length specified on creation
 
10
   or a default length of 2047 samples.
 
11
   A non-interpolating delay line is
 
12
   typically used in non-time varying
 
13
   (reverb) applications.
 
14
 */
 
15
/*******************************************/
 
16
 
 
17
#if !defined(__DLineN_h)
 
18
#define __DLineN_h
 
19
 
 
20
#include "Filter.h"
 
21
 
 
22
class DLineN : public Filter
 
23
{
 
24
protected:  
 
25
  long inPoint;
 
26
  long outPoint;
 
27
  long length;
 
28
  MY_FLOAT currentDelay;
 
29
public:
 
30
  DLineN();
 
31
  DLineN(long max_length);
 
32
  ~DLineN();  
 
33
  void clear();
 
34
  void setDelay(MY_FLOAT length);
 
35
  MY_FLOAT energy(void);
 
36
  long currentInPoint(void);
 
37
  long currentOutPoint(void);
 
38
  MY_FLOAT contentsAt(int n);
 
39
  MY_FLOAT contentsAtNowMinus(int n);
 
40
  MY_FLOAT delay(void);
 
41
  MY_FLOAT tick(MY_FLOAT sample);
 
42
};
 
43
 
 
44
#endif
 
45