hydrogen 1.2.5
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 ()
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.