File: ModalBar.h

package info (click to toggle)
stk 5.0.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,908 kB
  • sloc: cpp: 33,513; ansic: 3,216; sh: 2,900; tcl: 2,444; perl: 114; objc: 60; makefile: 54
file content (65 lines) | stat: -rw-r--r-- 1,508 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef STK_MODALBAR_H
#define STK_MODALBAR_H

#include "Modal.h"

namespace stk {

/***************************************************/
/*! \class ModalBar
    \brief STK resonant bar instrument class.

    This class implements a number of different
    struck bar instruments.  It inherits from the
    Modal class.

    Control Change Numbers: 
       - Stick Hardness = 2
       - Stick Position = 4
       - Vibrato Gain = 1
       - Vibrato Frequency = 11
       - Direct Stick Mix = 8
       - Volume = 128
       - Modal Presets = 16
         - Marimba = 0
         - Vibraphone = 1
         - Agogo = 2
         - Wood1 = 3
         - Reso = 4
         - Wood2 = 5
         - Beats = 6
         - Two Fixed = 7
         - Clump = 8

    by Perry R. Cook and Gary P. Scavone, 1995--2023.
*/
/***************************************************/

class ModalBar : public Modal
{
public:
  //! Class constructor.
  ModalBar( void );

  //! Class destructor.
  ~ModalBar( void );

  //! Set stick hardness (0.0 - 1.0).
  void setStickHardness( StkFloat hardness );

  //! Set stick position (0.0 - 1.0).
  void setStrikePosition( StkFloat position );

  //! Select a bar preset (currently modulo 9).
  void setPreset( int preset );

  //! Set the modulation (vibrato) depth (0.0 - 1.0).
  void setModulationDepth( StkFloat mDepth );

  //! Perform the control change specified by \e number and \e value (0.0 - 128.0).
  void controlChange( int number, StkFloat value );
};

} // stk namespace

#endif