libpsynth 0.2.1
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
psynth::graph::node_oscillator Class Reference

#include <node_oscillator.hpp>

Inheritance diagram for psynth::graph::node_oscillator:
Inheritance graph
[legend]
Collaboration diagram for psynth::graph::node_oscillator:
Collaboration graph
[legend]

List of all members.

Public Types

enum  in_audio_socket_id { N_IN_A_SOCKETS }
enum  in_control_socket_id { IN_C_FREQUENCY, IN_C_AMPLITUDE, IN_C_TRIGGER, N_IN_C_SOCKETS }
enum  wave_type {
  OSC_SINE, OSC_SQUARE, OSC_TRIANGLE, OSC_SAWTOOTH,
  OSC_MOOGSAW, OSC_EXP, N_OSC_TYPES
}
enum  mod_type { MOD_FM = 0, MOD_AM, MOD_PM, N_MOD_TYPES }
enum  param_id {
  PARAM_WAVE = node::N_COMMON_PARAMS, PARAM_MODULATOR, PARAM_FREQUENCY, PARAM_AMPLITUDE,
  N_PARAM
}

Public Member Functions

 node_oscillator (const audio_info &prop, int obj_type, const std::string &name, int n_audio_out, int n_control_out)
 ~node_oscillator ()

Public Attributes

int m_param_wave
int m_param_wave_new
int m_param_mod
float m_param_freq
float m_param_ampl
bool m_restart

Static Public Attributes

static constexpr float DEFAULT_FREQ = 110.0f
static constexpr float DEFAULT_AMPL = 0.4f

Protected Types

typedef boost::variant
< synth::oscillator
< synth::sine_generator >
, synth::oscillator
< synth::square_generator >
, synth::oscillator
< synth::triangle_generator >
, synth::oscillator
< synth::sawtooth_generator >
, synth::oscillator
< synth::moogsaw_generator >
, synth::oscillator
< synth::exp_generator > > 
any_oscillator

Protected Member Functions

void update_osc_params ()
void update_osc (sample *out)

Protected Attributes

any_oscillator m_oscillator

Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
N_IN_A_SOCKETS 
Enumerator:
IN_C_FREQUENCY 
IN_C_AMPLITUDE 
IN_C_TRIGGER 
N_IN_C_SOCKETS 
Enumerator:
MOD_FM 
MOD_AM 
MOD_PM 
N_MOD_TYPES 
Enumerator:
PARAM_WAVE 
PARAM_MODULATOR 
PARAM_FREQUENCY 
PARAM_AMPLITUDE 
N_PARAM 
Enumerator:
OSC_SINE 
OSC_SQUARE 
OSC_TRIANGLE 
OSC_SAWTOOTH 
OSC_MOOGSAW 
OSC_EXP 
N_OSC_TYPES 

Constructor & Destructor Documentation

psynth::graph::node_oscillator::node_oscillator ( const audio_info &  prop,
int  obj_type,
const std::string &  name,
int  n_audio_out,
int  n_control_out 
)
psynth::graph::node_oscillator::~node_oscillator ( )

Member Function Documentation

void psynth::graph::node_oscillator::update_osc ( sample *  out) [protected]
void psynth::graph::node_oscillator::update_osc_params ( ) [protected]

Member Data Documentation

constexpr float psynth::graph::node_oscillator::DEFAULT_AMPL = 0.4f [static]
constexpr float psynth::graph::node_oscillator::DEFAULT_FREQ = 110.0f [static]

The documentation for this class was generated from the following files: