#include <iso_synth.h>
Collaboration diagram for iso::synth::Synth:

Public Member Functions | ||||
| void | saveWaveTables (const String &pFileName) throw (SynthException) | |||
| save wavetables to file   | ||||
| void | readWaveTables (const String &pFileName) throw (SynthException) | |||
| save wavetables to file   | ||||
| unsigned int | defaultFrameCount () const | |||
| get default framecount   | ||||
| unsigned int | defaultChannelCount () const | |||
| get default channel count   | ||||
| sample | defaultRate () const | |||
| get default rate   | ||||
| unsigned int | defaultOverlap () const | |||
| get default overlap   | ||||
| long | time () | |||
| returns elpased synth time in microseconds   | ||||
| bool | checkPatch (const String &pName) const | |||
| check if patch with corresponding name exists   | ||||
| Patch * | patch (const String &pName) throw (SynthException) | |||
| returns patch with corresponding name   | ||||
| bool | checkUnit (const String &pName) const | |||
| check if unit with corresponding name exists   | ||||
| Unit * | unit (const String &pName) throw (SynthException) | |||
| returns unit with corresponding name   | ||||
| bool | checkAudioPort (const String &pName) const | |||
| check if audio port with corresponding name exists   | ||||
| AudioPort * | audioPort (const String &pName) throw (SynthException) | |||
| returns audio port with corresponding name   | ||||
| bool | checkSwitchPort (const String &pName) const | |||
| check if switch port with corresponding name exists   | ||||
| SwitchPort * | switchPort (const String &pName) throw (SynthException) | |||
| returns switch port with corresponding name   | ||||
| EventManager & | event () | |||
| return event manager   | ||||
| void | schedule (double pTime, Unit *pUnit, const base::String &pPortName, sample pValue, double pDuration=-1, event::EventTime pTimeMode=event::EVENT_RELATIVE) throw (SynthException) | |||
| create event   | ||||
| void | schedule (double pTime, Unit *pUnit, const base::String &pPortName, const math::Vector< sample > &pValues, double pDuration=-1, event::EventTime pTimeMode=event::EVENT_RELATIVE) throw (SynthException) | |||
| create event   | ||||
| SynthCom & | com () | |||
| return communcation manager   | ||||
| void | registerPatch (Patch *pPatch) | |||
| register patch   | ||||
| void | deregisterPatch (const base::String &pPatchName) | |||
| deregister patch   | ||||
| bool | unitAutoRegister () const | |||
| return unit auto register flag   | ||||
| void | setUnitAutoRegister (bool pUnitAutoRegister) | |||
| set unit auto register flag   | ||||
| void | registerUnit (Unit *pUnit) | |||
| register unit   | ||||
| void | deregisterUnit (const base::String &pUnitName) | |||
| deregister unit   | ||||
| void | autoRegisterUnit (Unit *pUnit) throw (SynthException) | |||
| queue unit for registration when synth starts   | ||||
| void | registerUnits () | |||
| register queued units   | ||||
| void | process () | |||
| initiates one signal processing cycle   | ||||
| void | start () throw (SynthException) | |||
start signal processing and communication 
  | ||||
| void | stop () | |||
| stop signal processing   | ||||
| void | exceptionReport (const base::Exception &pException) | |||
| report exception   | ||||
| String | info (bool pPropagate=false) const | |||
| obtain textual unit information   | ||||
Static Public Member Functions | ||||
| static Synth & | get () throw (SynthException) | |||
| get singleton instance   | ||||
| static void | destroy () | |||
| destroy singleton instance   | ||||
Protected Member Functions | ||||
| Synth () throw (SynthException) | ||||
| default constructor   | ||||
| ~Synth () | ||||
| destructor   | ||||
| void | addPatch (const String &pName, Patch *pPatch) throw (SynthException) | |||
| register patch   | ||||
| void | addUnit (const String &pName, Unit *pUnit) throw (SynthException) | |||
| register unit   | ||||
| void | addOutputUnit (OutputUnit *pOutputUnit) | |||
| add output unit   | ||||
| void | addAudioPort (const String &pName, AudioPort *pAudioPort) throw (SynthException) | |||
| register audio port   | ||||
| void | addSwitchPort (const String &pName, SwitchPort *pSwitchPort) throw (SynthException) | |||
| register switch port   | ||||
| void | removePatch (const String &pName) throw (SynthException) | |||
| remove patch   | ||||
| void | removeUnit (const String &pName) throw (SynthException) | |||
| remove unit   | ||||
| void | removeOutputUnit (const String &pName) throw (SynthException) | |||
| remove output unit   | ||||
| void | removeAudioPort (const String &pName) throw (SynthException) | |||
| remove audio port   | ||||
| void | removeSwitchPort (const String &pName) throw (SynthException) | |||
| remove switch port   | ||||
Protected Attributes | ||||
| JackClient * | mJackClient | |||
| jack client   | ||||
| QHash< String, Patch * > | mPatches | |||
| patch registry   | ||||
| QHash< String, Unit * > | mUnits | |||
| unit registry   | ||||
| QHash< String, AudioPort * > | mAudioPorts | |||
| control port registry   | ||||
| QHash< String, SwitchPort * > | mSwitchPorts | |||
| switch port registry   | ||||
| QVector< OutputUnit * > | mOutputUnits | |||
| vector of all output units   | ||||
| EventManager | mEventManager | |||
| new event manager   | ||||
| bool | mRunning | |||
| synth running   | ||||
| Time | mStartTime | |||
| synth start time   | ||||
| long | mStartMicroSecs | |||
| synth start time in micro secs   | ||||
| Time | mCurrentTime | |||
| current time   | ||||
| TimeZone | mTimeZone | |||
| time zone   | ||||
| unsigned int | mOverlap | |||
| number of window overlaps for fft   | ||||
| bool | mUnitAutoRegister | |||
| flag that tells units whether they should autoregister or not   | ||||
| QVector< Unit * > | mAutoRegisterUnits | |||
| vector of units that will be automatically registered when synth starts   | ||||
Static Protected Attributes | ||||
| static Synth * | sSynth | |||
| singleton instance   | ||||
Friends | ||||
| class | RemoveUnitEvent | |||
| class | Patch | |||
for creating, storing and controlling units
Created by Daniel Bisig on 5/17/06. Copyright 2006 Daniel Bisig All rights reserved.
| Synth::Synth | ( | ) |   throw (SynthException) [protected] | 
        
default constructor
| Synth::~Synth | ( | ) |  [protected] | 
        
destructor
| Synth & Synth::get | ( | ) |   throw (SynthException) [static] | 
        
get singleton instance
| failed | to get synth instance | 
| void Synth::destroy | ( | ) |  [static] | 
        
destroy singleton instance
| void Synth::saveWaveTables | ( | const String & | pFileName | ) | throw (SynthException) | 
save wavetables to file
| pFileName | file name | 
| SynthException | failed to save wavetables | 
| void Synth::readWaveTables | ( | const String & | pFileName | ) | throw (SynthException) | 
save wavetables to file
| pFileName | file name | 
| SynthException | failed to save wavetables | 
| unsigned int Synth::defaultFrameCount | ( | ) | const | 
get default framecount
| unsigned int Synth::defaultChannelCount | ( | ) | const | 
get default channel count
| sample Synth::defaultRate | ( | ) | const | 
get default rate
| unsigned int Synth::defaultOverlap | ( | ) | const | 
get default overlap
| long Synth::time | ( | ) | 
returns elpased synth time in microseconds
time since the synth has been started
| bool Synth::checkPatch | ( | const String & | pName | ) | const | 
check if patch with corresponding name exists
| Patch * Synth::patch | ( | const String & | pName | ) | throw (SynthException) | 
returns patch with corresponding name
| pName | name of patch | 
| SynthException | no patch with corresponding name found | 
| bool Synth::checkUnit | ( | const String & | pName | ) | const | 
check if unit with corresponding name exists
| Unit * Synth::unit | ( | const String & | pName | ) | throw (SynthException) | 
returns unit with corresponding name
| pName | name of unit | 
| SynthException | no unit with corresponding name found | 
| bool Synth::checkAudioPort | ( | const String & | pName | ) | const | 
check if audio port with corresponding name exists
| AudioPort * Synth::audioPort | ( | const String & | pName | ) | throw (SynthException) | 
returns audio port with corresponding name
| pName | name of audio port | 
| SynthException | no audio port with corresponding name found | 
| bool Synth::checkSwitchPort | ( | const String & | pName | ) | const | 
check if switch port with corresponding name exists
| SwitchPort * Synth::switchPort | ( | const String & | pName | ) | throw (SynthException) | 
returns switch port with corresponding name
| pName | name of switch port | 
| SynthException | no switch port with corresponding name found | 
| EventManager & Synth::event | ( | ) | 
return event manager
| void Synth::schedule | ( | double | pTime, | |
| Unit * | pUnit, | |||
| const base::String & | pPortName, | |||
| sample | pValue, | |||
| double |  pDuration = -1,  | 
        |||
| event::EventTime |  pTimeMode = event::EVENT_RELATIVE | |||
| ) | throw (SynthException) | 
create event
| pTime | time in milisecs when event will take place | |
| pUnit | unit name | |
| pPortName | port name | |
| pValue | value for event target | |
| pDuration | duration over which the parameter changes it's values (-1: ignore duration parameter) | |
| pTimeMode | whether pTime is relative to current time or absolute (with regard to start of program) | 
| SynthException | port name not found | 
| void Synth::schedule | ( | double | pTime, | |
| Unit * | pUnit, | |||
| const base::String & | pPortName, | |||
| const math::Vector< sample > & | pValues, | |||
| double |  pDuration = -1,  | 
        |||
| event::EventTime |  pTimeMode = event::EVENT_RELATIVE | |||
| ) | throw (SynthException) | 
create event
| pTime | time in milisecs when event will take place | |
| pUnit | unit name | |
| pPortName | port name | |
| pValues | values for event target | |
| pDuration | duration over which the parameter changes it's values (-1: ignore duration parameter) | |
| pTimeMode | whether pTime is relative to current time or absolute (with regard to start of program) | 
| SynthException | port name not found | 
| SynthCom & Synth::com | ( | ) | 
return communcation manager
| void Synth::registerPatch | ( | Patch * | pPatch | ) | 
register patch
| pPatch | patch | 
| void Synth::deregisterPatch | ( | const base::String & | pPatchName | ) | 
deregister patch
| pPatchName | patch name | 
| bool Synth::unitAutoRegister | ( | ) | const | 
return unit auto register flag
| void Synth::setUnitAutoRegister | ( | bool | pUnitAutoRegister | ) | 
set unit auto register flag
| pUnitAutoRegister | unit auto register flag | 
| void Synth::registerUnit | ( | Unit * | pUnit | ) | 
register unit
| pUnit | unit | 
| void Synth::deregisterUnit | ( | const base::String & | pUnitName | ) | 
deregister unit
| pUnitName | unit name | 
| void Synth::autoRegisterUnit | ( | Unit * | pUnit | ) | throw (SynthException) | 
queue unit for registration when synth starts
| pUnit | unit | 
| unit | already queued for registration | 
| void Synth::registerUnits | ( | ) | 
register queued units
| void Synth::process | ( | ) | 
initiates one signal processing cycle
calls the process function of all the registered output units
| void Synth::start | ( | ) | throw (SynthException) | 
| void Synth::stop | ( | ) | 
stop signal processing
| void Synth::exceptionReport | ( | const base::Exception & | pException | ) | 
report exception
| pException | exception | 
| base::String Synth::info | ( | bool |  pPropagate = false           | 
          ) | const | 
obtain textual unit information
| pPropagate | if true, the unit calls the info methods of its input ports | 
| void Synth::addPatch | ( | const String & | pName, | |
| Patch * | pPatch | |||
| ) |   throw (SynthException) [protected] | 
        
register patch
| pName | name of patch | |
| pPatch | patch | 
| SynthException | patch name already exists | 
| void Synth::addUnit | ( | const String & | pName, | |
| Unit * | pUnit | |||
| ) |   throw (SynthException) [protected] | 
        
register unit
| pName | name of unit | |
| pUnit | unit | 
| SynthException | unit name already exists | 
| void Synth::addOutputUnit | ( | OutputUnit * | pOutputUnit | ) |  [protected] | 
        
add output unit
| pOutputUnit | output unit | 
| void Synth::addAudioPort | ( | const String & | pName, | |
| AudioPort * | pAudioPort | |||
| ) |   throw (SynthException) [protected] | 
        
register audio port
| pName | name of audio port | |
| pAudioPort | audio port | 
| SynthException | name already exists | 
| void Synth::addSwitchPort | ( | const String & | pName, | |
| SwitchPort * | pSwitchPort | |||
| ) |   throw (SynthException) [protected] | 
        
register switch port
| pName | name of switch port | |
| pSwitchPort | switch port | 
| SynthException | name already exists | 
| void Synth::removePatch | ( | const String & | pName | ) |   throw (SynthException) [protected] | 
        
| void Synth::removeUnit | ( | const String & | pName | ) |   throw (SynthException) [protected] | 
        
| void Synth::removeOutputUnit | ( | const String & | pName | ) |   throw (SynthException) [protected] | 
        
remove output unit
| pName | name of output unit | 
| SynthException | output unit not found | 
| void Synth::removeAudioPort | ( | const String & | pName | ) |   throw (SynthException) [protected] | 
        
remove audio port
| pName | name of audio port | 
| SynthException | audio port not found | 
| void Synth::removeSwitchPort | ( | const String & | pName | ) |   throw (SynthException) [protected] | 
        
remove switch port
| pName | name of switch port | 
| SynthException | switch port not found | 
friend class RemoveUnitEvent [friend]           | 
        
friend class Patch [friend]           | 
        
Synth * Synth::sSynth [static, protected]           | 
        
singleton instance
JackClient* iso::synth::Synth::mJackClient [protected]           | 
        
jack client
QHash<String, Patch*> iso::synth::Synth::mPatches [protected]           | 
        
patch registry
QHash<String, Unit*> iso::synth::Synth::mUnits [protected]           | 
        
unit registry
QHash<String, AudioPort*> iso::synth::Synth::mAudioPorts [protected]           | 
        
control port registry
QHash<String, SwitchPort*> iso::synth::Synth::mSwitchPorts [protected]           | 
        
switch port registry
QVector<OutputUnit*> iso::synth::Synth::mOutputUnits [protected]           | 
        
vector of all output units
EventManager iso::synth::Synth::mEventManager [protected]           | 
        
new event manager
bool iso::synth::Synth::mRunning [protected]           | 
        
synth running
Time iso::synth::Synth::mStartTime [protected]           | 
        
synth start time
the time the synth has been started
long iso::synth::Synth::mStartMicroSecs [protected]           | 
        
synth start time in micro secs
the time the synth has been started in micro secs
Time iso::synth::Synth::mCurrentTime [protected]           | 
        
current time
TimeZone iso::synth::Synth::mTimeZone [protected]           | 
        
time zone
unsigned int iso::synth::Synth::mOverlap [protected]           | 
        
number of window overlaps for fft
bool iso::synth::Synth::mUnitAutoRegister [protected]           | 
        
flag that tells units whether they should autoregister or not
QVector<Unit*> iso::synth::Synth::mAutoRegisterUnits [protected]           | 
        
vector of units that will be automatically registered when synth starts
 1.5.1