~ubuntu-branches/ubuntu/breezy/muse/breezy

« back to all changes in this revision

Viewing changes to synti/stklib/BowedBar.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Kobras
  • Date: 2004-02-07 15:18:22 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040207151822-es27xxkzbcxkebjm
Tags: 0.6.3-1
* New upstream version.
* Added patches:
  + [10_alsa_init_fix] New, from upstream CVS.
    Initialize direction variable when setting Alsa parameters.
  + [10_canvas_translation_fix] New, from upstream CVS.
    Do not translate tooltips twice in canvas popup.
  + [10_checkbox_fix] New, from upstream CVS.
    Use proper set/test methods on metronome checkboxes.
  + [10_html_doc_cleanup] New.
    Fix links and HTML errors in documentation.
  + [20_allow_system_timer] New.
    The new upstream version fails by default if the real-time clock
    could not be accessed (usually the case when not running suid-root).
    This patch reverts the old behaviour of falling back to the more
    inaccurate system timer.
* Updated patches:
  + [11_PIC_fixes_fixup] Rediffed.
* Removed patches:
  + [20_no_atomic_asm] Merged upstream.
* debian/compat: Splice out debhelper compatibility level from rules file.
* debian/control: Build-depend on latest jack release by default.
  Closes: #228788
* debian/control: Bump standards version.
* debian/control: Use auto-generated debconf dependency via misc:Depends.
* debian/control: Minor tweaks to the long description.
* debian/control: Tighten fluidsynth build dependency to sane version.
* debian/muse.doc-base: New. Register HTML documentation with doc-base.
* debian/templates: Tiny rewording, and typo fix.
* debian/templates, debian/po/*: Switch to po-debconf for translations.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*********************************************/
2
 
/*  Bowed Bar model                          */
3
 
/*  by Georg Essl, 1999                      */
4
 
/*  For details refer to:                    */
5
 
/*    G.Essl, P.R.Cook: "Banded Waveguides:  */
6
 
/*    Towards Physical Modelling of Bar      */
7
 
/*    Percussion Instruments", ICMC'99       */
8
 
/*********************************************/
9
 
 
10
 
#if !defined(__BowedBar_h)
11
 
#define __BowedBar_h
12
 
 
13
 
#include "Instrmnt.h"
14
 
#include "DLineN.h"
15
 
#include "BowTabl.h"
16
 
#include "ADSR.h"
17
 
#include "BiQuad.h"
18
 
 
19
 
class BowedBar : public Instrmnt
20
 
{
21
 
 protected:     
22
 
  BowTabl *bowTabl;
23
 
  ADSR *adsr;
24
 
  BiQuad *bandpass;
25
 
  MY_FLOAT maxVelocity;
26
 
  MY_FLOAT modes[4];
27
 
  DLineN delay[4];
28
 
  int NR_MODES;
29
 
  float Zs[4][2];
30
 
  MY_FLOAT coeffs[4][2];
31
 
  float filtOut[4];
32
 
  float filtIn[4];
33
 
  MY_FLOAT filtGain[4];
34
 
  MY_FLOAT freq;
35
 
  int length;
36
 
  MY_FLOAT R;
37
 
  MY_FLOAT GAIN;
38
 
  MY_FLOAT gains[4];
39
 
  MY_FLOAT slope;
40
 
  MY_FLOAT velinput;
41
 
  MY_FLOAT integration_const;
42
 
  int trackVel;
43
 
  MY_FLOAT bowvel, bowTarg, bowPos, lastBowPos;
44
 
  int doPluck;
45
 
 
46
 
 public:
47
 
  BowedBar();
48
 
  ~BowedBar();
49
 
  void tuneBandPasses();
50
 
  void clear();
51
 
  void startBowing(MY_FLOAT amplitude,MY_FLOAT rate);
52
 
  void stopBowing(MY_FLOAT rate);
53
 
  void pluck(MY_FLOAT amp);
54
 
  void setStrikePosition(MY_FLOAT position);
55
 
  void noteOn(MY_FLOAT freq, MY_FLOAT amp);
56
 
  void noteOff(MY_FLOAT amp);
57
 
  void setFreq(MY_FLOAT frequency);
58
 
  void controlChange(int number, MY_FLOAT value);
59
 
  MY_FLOAT tick();
60
 
};
61
 
 
62
 
#endif