~ubuntu-branches/ubuntu/karmic/muse/karmic-proposed

« back to all changes in this revision

Viewing changes to synti/stklib/BlowHole.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
   Waveguide reed model with a register hole
 
4
   and one tonehole
 
5
 
 
6
   by Gary P. Scavone, 2000.
 
7
*/
 
8
/***********************************************/
 
9
 
 
10
#if !defined(__BlowHole_h)
 
11
#define __BlowHole_h
 
12
 
 
13
#include "Instrmnt.h"
 
14
#include "DLineL.h"
 
15
#include "ReedTabl.h"
 
16
#include "OneZero.h"
 
17
#include "PoleZero.h"
 
18
#include "Envelope.h"
 
19
#include "Noise.h"
 
20
#include "RawWvIn.h"
 
21
 
 
22
class BlowHole : public Instrmnt
 
23
{
 
24
 protected:  
 
25
  DLineL *delays;
 
26
  ReedTabl *reedTable;
 
27
  OneZero *filter;
 
28
  PoleZero *tonehole;
 
29
  PoleZero *vent;
 
30
  Envelope *envelope;
 
31
  Noise *noise;
 
32
  RawWvIn *vibr;
 
33
  long length;
 
34
  MY_FLOAT scatter;
 
35
  MY_FLOAT th_coeff;
 
36
  MY_FLOAT r_th;
 
37
  MY_FLOAT rh_coeff;
 
38
  MY_FLOAT rh_gain;
 
39
  MY_FLOAT outputGain;
 
40
  MY_FLOAT noiseGain;
 
41
  MY_FLOAT vibrGain;
 
42
 public:
 
43
  BlowHole(MY_FLOAT lowestFreq);
 
44
  ~BlowHole();
 
45
  void clear();
 
46
  virtual void setFreq(MY_FLOAT frequency);
 
47
  void setTonehole(MY_FLOAT newValue);
 
48
  void setVent(MY_FLOAT newValue);
 
49
  void startBlowing(MY_FLOAT amplitude,MY_FLOAT rate);
 
50
  void stopBlowing(MY_FLOAT rate);
 
51
  virtual void noteOn(MY_FLOAT freq, MY_FLOAT amp);
 
52
  virtual void noteOff(MY_FLOAT amp);
 
53
  virtual MY_FLOAT tick();
 
54
  virtual void controlChange(int number, MY_FLOAT value);
 
55
};
 
56
 
 
57
#endif