Synth.cpp
 All Data Structures Namespaces Files Functions Variables Macros
Public Member Functions | Private Member Functions | Private Attributes
Synth Class Reference

#include <synth.h>

Inheritance diagram for Synth:
Inheritance graph
[legend]
Collaboration diagram for Synth:
Collaboration graph
[legend]

Public Member Functions

 Synth ()
 
void add (IVoice *voice)
 
void quiet (void)
 
void keydown (int8_t pitch)
 
void keyup (int8_t pitch)
 
uint8_t get_sample (uint32_t *x)
 
void write_sample (void)
 
void compute_sample (void)
 
void ioctl (uint32_t param, uint32_t value)
 
- Public Member Functions inherited from ISynth
virtual ~ISynth ()
 

Private Member Functions

IVoiceget_next_available_voice (int8_t pitch)
 
uint32_t get_12_bit_value (void)
 

Private Attributes

IVoicevoices [32]
 
IVoiceassignments [100]
 
uint32_t num_voices
 
uint32_t next_voice_to_assign
 
Queue samples
 
uint32_t x
 
uint32_t again
 

Detailed Description

Definition at line 126 of file synth.h.

Constructor & Destructor Documentation

Synth::Synth ( )
inline

Definition at line 137 of file synth.h.

Member Function Documentation

void Synth::add ( IVoice voice)
inlinevirtual

Implements ISynth.

Definition at line 146 of file synth.h.

Referenced by main(), and setup().

Here is the caller graph for this function:

void Synth::compute_sample ( void  )
virtual

Implements ISynth.

Definition at line 145 of file synth.cpp.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

uint32_t Synth::get_12_bit_value ( void  )
private

Definition at line 156 of file synth.cpp.

Referenced by compute_sample().

Here is the call graph for this function:

Here is the caller graph for this function:

IVoice * Synth::get_next_available_voice ( int8_t  pitch)
private

Definition at line 169 of file synth.cpp.

Referenced by keydown().

Here is the caller graph for this function:

uint8_t Synth::get_sample ( uint32_t *  x)
inlinevirtual

Implements ISynth.

Definition at line 156 of file synth.h.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:

void Synth::ioctl ( uint32_t  param,
uint32_t  value 
)
inlinevirtual

Implements ISynth.

Definition at line 168 of file synth.h.

Here is the call graph for this function:

void Synth::keydown ( int8_t  pitch)
virtual

Implements ISynth.

Definition at line 123 of file synth.cpp.

Here is the call graph for this function:

void Synth::keyup ( int8_t  pitch)
virtual

Implements ISynth.

Definition at line 137 of file synth.cpp.

Here is the call graph for this function:

void Synth::quiet ( void  )
virtual

Implements ISynth.

Definition at line 114 of file synth.cpp.

Referenced by FunctionKey::keydown(), and setup().

Here is the caller graph for this function:

void Synth::write_sample ( void  )
inlinevirtual

Implements ISynth.

Reimplemented in ThreadSafeSynth.

Definition at line 162 of file synth.h.

Referenced by compute_sample(), and ThreadSafeSynth::write_sample().

Here is the call graph for this function:

Here is the caller graph for this function:

Field Documentation

uint32_t Synth::again
private

Definition at line 132 of file synth.h.

Referenced by compute_sample(), Synth(), and write_sample().

IVoice* Synth::assignments[100]
private

Definition at line 128 of file synth.h.

Referenced by get_next_available_voice(), keydown(), keyup(), quiet(), and Synth().

uint32_t Synth::next_voice_to_assign
private

Definition at line 129 of file synth.h.

Referenced by get_next_available_voice(), quiet(), and Synth().

uint32_t Synth::num_voices
private
Queue Synth::samples
private

Definition at line 131 of file synth.h.

Referenced by get_sample(), and write_sample().

IVoice* Synth::voices[32]
private

Definition at line 127 of file synth.h.

Referenced by add(), compute_sample(), get_12_bit_value(), get_next_available_voice(), ioctl(), and quiet().

uint32_t Synth::x
private

Definition at line 132 of file synth.h.

Referenced by compute_sample(), get_12_bit_value(), and write_sample().


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