hydrogen 1.2.6
Synth Class Reference

A simple synthetizer... More...

#include <Synth.h>

Inheritance diagram for Synth:
Object< Synth > Base

Public Member Functions

 Synth ()
 Constructor of the Synth.
 
 ~Synth ()
 
int getPlayingNotesNumber ()
 
void noteOff (Note *pNote)
 Stop playing a note.
 
void noteOn (Note *pNote)
 Start playing a note.
 
void process (uint32_t nFrames)
 
void setAudioOutput (AudioOutput *pAudioOutput)
 
- Public Member Functions inherited from Object< Synth >
 Object ()
 
 Object (const Object< Synth > &other)
 
- Public Member Functions inherited from Base
 Base ()
 
 Base (const Base &other)
 
virtual const char * class_name () const
 
void logBacktrace () const
 Print the current stack at point into the debug log.
 
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG.
 
virtual QString toQString (const QString &sPrefix="", bool bShort=true) const
 Formatted string version for debugging purposes.
 

Data Fields

float * m_pOut_L
 
float * m_pOut_R
 

Private Attributes

float m_fTheta
 
AudioOutputm_pAudioOutput
 
std::vector< Note * > m_playingNotesQueue
 

Additional Inherited Members

- Static Public Member Functions inherited from Base
static const char * _class_name ()
 return the class name
 
static QString base_clock (const QString &sMsg)
 Measures the current time and stores it in __last_clock.
 
static QString base_clock_in (const QString &sMsg)
 
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation !
 
static bool count_active ()
 
static int getAliveObjectCount ()
 
static object_map_t getObjectMap ()
 
static Loggerlogger ()
 return the logger instance
 
static int objects_count ()
 
static void printObjectMapDiff (object_map_t map)
 Creates the difference between a snapshot of the object map and its current state and prints it to std::cout.
 
static void set_count (bool flag)
 enable/disable class instances counting
 
static void write_objects_map_to (std::ostream &out, object_map_t *map=nullptr)
 output the full objects map to a given ostream
 
static void write_objects_map_to_cerr ()
 output objects map to stderr
 
- Static Public Attributes inherited from Base
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes.
 
- Protected Member Functions inherited from Object< Synth >
 ~Object ()
 
- Protected Member Functions inherited from Base
 ~Base ()
 
- Static Protected Member Functions inherited from Base
static void registerClass (const char *name, const atomic_obj_cpt_t *counters)
 
- Static Protected Attributes inherited from Base
static bool __count = false
 should we count class instances
 
static timeval __last_clock = { 0, 0 }
 
static Logger__logger = nullptr
 
static bool bLogColors = true
 

Detailed Description

A simple synthetizer...

Definition at line 42 of file Synth.h.

Constructor & Destructor Documentation

◆ Synth()

Synth ( )

Constructor of the Synth.

It is called by AudioEngine::AudioEngine() and stored in AudioEngine::m_pSynth.

Definition at line 34 of file Synth.cpp.

◆ ~Synth()

~Synth ( )

Definition at line 49 of file Synth.cpp.

Member Function Documentation

◆ getPlayingNotesNumber()

int getPlayingNotesNumber ( )
inline

Definition at line 67 of file Synth.h.

◆ noteOff()

void noteOff ( Note * pNote)

Stop playing a note.

Definition at line 70 of file Synth.cpp.

◆ noteOn()

void noteOn ( Note * pNote)

Start playing a note.

Definition at line 59 of file Synth.cpp.

◆ process()

void process ( uint32_t nFrames)

Definition at line 94 of file Synth.cpp.

◆ setAudioOutput()

void setAudioOutput ( AudioOutput * pAudioOutput)

Definition at line 120 of file Synth.cpp.

Field Documentation

◆ m_fTheta

float m_fTheta
private

Definition at line 75 of file Synth.h.

◆ m_pAudioOutput

AudioOutput* m_pAudioOutput
private

Definition at line 76 of file Synth.h.

◆ m_playingNotesQueue

std::vector<Note*> m_playingNotesQueue
private

Definition at line 73 of file Synth.h.

◆ m_pOut_L

float* m_pOut_L

Definition at line 46 of file Synth.h.

◆ m_pOut_R

float* m_pOut_R

Definition at line 47 of file Synth.h.