summaryrefslogtreecommitdiff
path: root/nyqstk/include/ModalBar.h
diff options
context:
space:
mode:
Diffstat (limited to 'nyqstk/include/ModalBar.h')
-rw-r--r--nyqstk/include/ModalBar.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/nyqstk/include/ModalBar.h b/nyqstk/include/ModalBar.h
new file mode 100644
index 0000000..2336b29
--- /dev/null
+++ b/nyqstk/include/ModalBar.h
@@ -0,0 +1,66 @@
+/***************************************************/
+/*! \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 - 2005.
+*/
+/***************************************************/
+
+#ifndef STK_MODALBAR_H
+#define STK_MODALBAR_H
+
+#include "Modal.h"
+
+namespace Nyq
+{
+
+class ModalBar : public Modal
+{
+public:
+ //! Class constructor.
+ ModalBar();
+
+ //! Class destructor.
+ ~ModalBar();
+
+ //! 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.
+ 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);
+};
+
+} // namespace Nyq
+
+#endif