#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