Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

syn::OscModuleBase Class Reference

base class for OscModule<type> template type. More...

#include <OscModule.h>

Inheritance diagram for syn::OscModuleBase:

Inheritance graph
[legend]
Collaboration diagram for syn::OscModuleBase:

Collaboration graph
[legend]
List of all members.

Public Methods

 OscModuleBase ()
virtual ~OscModuleBase ()
 destructor. More...

virtual void setFreq (float freq)=0
 set frequency of emitted waveform in HZ. More...

virtual void setFreqControl (float param)=0
 Set the sampling rate of the osc (alters frequency, aka. More...

virtual void setFreqControlSensitivity (float octaves=1.0f)=0
 Set how sensative setFreq() is. More...

virtual float freq () const=0
virtual float freqControl () const=0
virtual float freqControlSensitivity () const=0
parameter access
virtual void getParam (const std::string &key, MultivariateType &value)
 a way to get module params without knowing the real funcs. More...

virtual void setParam (const std::string &key, const MultivariateType &value)
 a way to set module params without knowing the real funcs. More...


Detailed Description

base class for OscModule<type> template type.

See also:
OscModule

Definition at line 48 of file OscModule.h.


Constructor & Destructor Documentation

syn::OscModuleBase::OscModuleBase ( ) [inline]
 

Definition at line 51 of file OscModule.h.

syn::OscModuleBase::~OscModuleBase ( ) [inline, virtual]
 

destructor.

Definition at line 54 of file OscModule.h.


Member Function Documentation

void syn::OscModuleBase::setFreq ( float freq ) [pure virtual]
 

set frequency of emitted waveform in HZ.

Parameters:
freq   is a value between 20 and 22050 (typically)

Reimplemented in syn::OscModule.

Referenced by setParam().

void syn::OscModuleBase::setFreqControl ( float param ) [pure virtual]
 

Set the sampling rate of the osc (alters frequency, aka.

pitch bend)

Parameters:
param   ranges from -1 to 1. param == 0 plays wavetable as is. param < 0 samples wavetable slower (lower pitch) param > 0 samples wavetable faster (raises pitch) The equation used for sample rate is == 2 ^ (freqSensitivity() * param). Musically, setFreq() changes the pitch by freqSensitivity() octaves.
  • For example, when freqSensitivity() == 1 and when param == 1, the pitch is raised by one octave.
  • For example, when freqSensitivity() == 1 and when param == -1, the pitch is lowered by one octave. Use setfreqSensitivity() to adjust the pitch bend sensitivity.
See also:
setfreqSensitivity

Reimplemented in syn::OscModule.

Referenced by setParam().

void syn::OscModuleBase::setFreqControlSensitivity ( float octaves = 1.0f ) [pure virtual]
 

Set how sensative setFreq() is.

Musically, this affects by how many octaves setFreq() will affect the sound.

Reimplemented in syn::OscModule.

float syn::OscModuleBase::freq ( ) const [pure virtual]
 

Reimplemented in syn::OscModule.

Referenced by getParam().

float syn::OscModuleBase::freqControl ( ) const [pure virtual]
 

Reimplemented in syn::OscModule.

Referenced by getParam().

float syn::OscModuleBase::freqControlSensitivity ( ) const [pure virtual]
 

Reimplemented in syn::OscModule.

Referenced by getParam().

void syn::OscModuleBase::getParam ( const std::string & key,
MultivariateType & value ) [inline, virtual]
 

a way to get module params without knowing the real funcs.

Reimplemented from syn::Module.

Reimplemented in syn::AdsrEnvModule.

Definition at line 89 of file OscModule.h.

void syn::OscModuleBase::setParam ( const std::string & key,
const MultivariateType & value ) [inline, virtual]
 

a way to set module params without knowing the real funcs.

Reimplemented from syn::Module.

Reimplemented in syn::AdsrEnvModule.

Definition at line 100 of file OscModule.h.


The documentation for this class was generated from the following file:
Generated at Mon Apr 15 09:28:04 2002 for subsynth by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001