#include <iso_synth_wavetable_manager.h>
Collaboration diagram for iso::synth::WaveTableManager:
Public Member Functions | |
virtual serialize::SerializeData | serialize (const String &pSerialName=sClassName) const |
create serializeData for wavetable manager | |
Channel * | waveTable (String pWaveTableName) throw (SynthException) |
return wavetable | |
Channel * | waveTable (String pWaveTableName, FunctionList &pFunctionList) |
get wavetable | |
Channel * | getWaveTable (String pWaveTableName) throw (SynthException) |
return wavetable | |
Channel * | getWaveTable (String pWaveTableName, FunctionList &pFunctionList) |
get wavetable | |
Channel * | loadWaveTable (String pWaveTableName, String pFileName, unsigned int pChannelIndex=0) throw (SynthException) |
load wavetable | |
Channel * | createWaveTable (String pWaveTableName, String pFileName, unsigned int pChannelIndex) throw (SynthException) |
load wavetable | |
Channel * | createWaveTable (String pWaveTableName, unsigned int pTableSize) throw (SynthException) |
create zero wavetable | |
Channel * | createWaveTable (String pWaveTableName, unsigned int pTableSize, FunctionType pFunctionType, math::Vector< sample > &pControlPoints) throw (SynthException) |
create wavetable from function segments | |
Channel * | createWaveTable (String pWaveTableName, unsigned int pTableSize, FunctionType pFunctionType, math::Vector< sample > &pControlPoints, sample pControlParameter) throw (SynthException) |
create wavetable from function segments | |
Channel * | createWaveTable (String pWaveTableName, unsigned int pTableSize, FunctionType pFunctionType, math::Vector< sample > &pControlPoints, math::Vector< sample > &pControlParameters) throw (SynthException) |
create wavetable from function segments | |
Channel * | createWaveTable (String pWaveTableName, FunctionList &pFunctionList) throw (SynthException) |
create wavetable | |
void | createWaveTables (const serialize::SerializeData &pSerializeData) throw (serialize::SerializeException) |
create wavetables from configuration | |
String | info (bool pPropagate=false) const |
obtain textual wavetable manager information | |
Static Public Member Functions | |
static WaveTableManager & | get () |
get singleton instance | |
static WaveTableManager & | get (const serialize::SerializeData &pSerializeData) throw (serialize::SerializeException) |
get singleton instance | |
static void | destroy () |
destroy singleton instance | |
static serialize::Serializable * | deSerialize (const serialize::SerializeData &pSerializeData) throw (serialize::SerializeException) |
create wavetable manager from SerializeData | |
Static Public Attributes | |
static const String | sClassName |
default name | |
Protected Member Functions | |
WaveTableManager (unsigned int pWaveTableSize=sWaveTableSize) | |
parameter based constructor | |
WaveTableManager (const serialize::SerializeData &pSerializeData) throw (serialize::SerializeException) | |
serialization based constructor | |
virtual | ~WaveTableManager () |
destructor | |
void | createStandardWaveTable (String pWaveTableName) throw (SynthException) |
creates wavetable | |
Protected Attributes | |
unsigned int | mWaveTableSize |
wavetable size | |
QHash< String, Channel * > | mWaveTables |
wavetable name / channel association | |
Static Protected Attributes | |
static WaveTableManager * | sWaveTableManager |
singleton instance | |
static unsigned int | sWaveTableSize |
default wavetable size |
manager
Created by Daniel Bisig on 7/3/06. Copyright 2006 Daniel Bisig All rights reserved.
WaveTableManager::WaveTableManager | ( | unsigned int | pWaveTableSize = sWaveTableSize |
) | [protected] |
parameter based constructor
pWaveTableSize | wave table size |
WaveTableManager::WaveTableManager | ( | const serialize::SerializeData & | pSerializeData | ) | throw (serialize::SerializeException) [protected] |
serialization based constructor
pSerializeData | serialization data |
SerializeException | failed to create unit |
WaveTableManager::~WaveTableManager | ( | ) | [protected, virtual] |
destructor
WaveTableManager & WaveTableManager::get | ( | ) | [static] |
get singleton instance
WaveTableManager & WaveTableManager::get | ( | const serialize::SerializeData & | pSerializeData | ) | throw (serialize::SerializeException) [static] |
get singleton instance
pSerializeData | serialization data |
SerializeException | failed to create wavetable manager |
void WaveTableManager::destroy | ( | ) | [static] |
destroy singleton instance
serialize::SerializeData WaveTableManager::serialize | ( | const String & | pSerialName = sClassName |
) | const [virtual] |
create serializeData for wavetable manager
serialize::Serializable * WaveTableManager::deSerialize | ( | const serialize::SerializeData & | pSerializeData | ) | throw (serialize::SerializeException) [static] |
create wavetable manager from SerializeData
pSerializeData | SerializeData |
SerializeException | incompatible SerializeData |
Channel * WaveTableManager::waveTable | ( | String | pWaveTableName | ) | throw (SynthException) |
return wavetable
pWaveTableName | name of wavetable |
SynthException | unknown wavetable |
Channel * WaveTableManager::waveTable | ( | String | pWaveTableName, | |
FunctionList & | pFunctionList | |||
) |
get wavetable
pWaveTableName | name under which the wavetable is stored | |
pFunctionList | vector of function descriptors |
Channel * WaveTableManager::getWaveTable | ( | String | pWaveTableName | ) | throw (SynthException) |
return wavetable
pWaveTableName | name of wavetable |
SynthException | unknown wavetable |
Channel * WaveTableManager::getWaveTable | ( | String | pWaveTableName, | |
FunctionList & | pFunctionList | |||
) |
get wavetable
pWaveTableName | name under which the wavetable is stored | |
pFunctionList | vector of function descriptors |
Channel * WaveTableManager::loadWaveTable | ( | String | pWaveTableName, | |
String | pFileName, | |||
unsigned int | pChannelIndex = 0 | |||
) | throw (SynthException) |
load wavetable
pWaveTableName | name under which the wavetable will be stored | |
pFileName | audio file name | |
pChannelIndex | channel index into audio file |
SynthException\n | supplied name already used for other wavetable Failed to open file Channel Index exceeds bounds |
Channel * WaveTableManager::createWaveTable | ( | String | pWaveTableName, | |
String | pFileName, | |||
unsigned int | pChannelIndex | |||
) | throw (SynthException) |
load wavetable
pWaveTableName | name under which the wavetable will be stored | |
pFileName | audio file name | |
pChannelIndex | channel index into audio file |
SynthException\n | supplied name already used for other wavetable Failed to open file Channel Index exceeds bounds |
Channel * WaveTableManager::createWaveTable | ( | String | pWaveTableName, | |
unsigned int | pTableSize | |||
) | throw (SynthException) |
create zero wavetable
pWaveTableName | name under which the wavetable will be stored | |
pTableSize | size of wave table |
SynthException | supplied name already used for other wavetable |
Channel * WaveTableManager::createWaveTable | ( | String | pWaveTableName, | |
unsigned int | pTableSize, | |||
FunctionType | pFunctionType, | |||
math::Vector< sample > & | pControlPoints | |||
) | throw (SynthException) |
create wavetable from function segments
pWaveTableName | name under which the wavetable will be stored | |
pTableSize | size of wave table | |
pFunctionType | function type | |
pControlPoints | function segment points |
SynthException | supplied name already used for other wavetable or failed to create wavetable |
Channel * WaveTableManager::createWaveTable | ( | String | pWaveTableName, | |
unsigned int | pTableSize, | |||
FunctionType | pFunctionType, | |||
math::Vector< sample > & | pControlPoints, | |||
sample | pControlParameter | |||
) | throw (SynthException) |
create wavetable from function segments
pWaveTableName | name under which the wavetable will be stored | |
pTableSize | size of wave table | |
pFunctionType | function type | |
pControlPoints | function segment start and end points | |
pControlParameter | function control parameter |
SynthException | supplied name already used for other wavetable or failed to create wavetable |
Channel * WaveTableManager::createWaveTable | ( | String | pWaveTableName, | |
unsigned int | pTableSize, | |||
FunctionType | pFunctionType, | |||
math::Vector< sample > & | pControlPoints, | |||
math::Vector< sample > & | pControlParameters | |||
) | throw (SynthException) |
create wavetable from function segments
pWaveTableName | name under which the wavetable will be stored | |
pTableSize | size of wave table | |
pFunctionType | function type | |
pControlPoints | function segment start and end points | |
pControlParameters | function control parameters |
SynthException | supplied name already used for other wavetable or failed to create wavetable |
Channel * WaveTableManager::createWaveTable | ( | String | pWaveTableName, | |
FunctionList & | pFunctionList | |||
) | throw (SynthException) |
create wavetable
pWaveTableName | name under which the wavetable will be stored | |
pFunctionList | vector of function descriptors |
SynthException | supplied name already used for other wavetable |
void WaveTableManager::createWaveTables | ( | const serialize::SerializeData & | pSerializeData | ) | throw (serialize::SerializeException) |
create wavetables from configuration
pSerializeData | Wavetablemanager serialization data |
SerializeException | failed to create wavetables |
base::String WaveTableManager::info | ( | bool | pPropagate = false |
) | const |
obtain textual wavetable manager information
pPropagate | true: print content of wavetables |
void WaveTableManager::createStandardWaveTable | ( | String | pWaveTableName | ) | throw (SynthException) [protected] |
creates wavetable
pWaveTableName | name of standard wavetable |
SynthException | unknown standard wavetable name |
const base::String WaveTableManager::sClassName [static] |
default name
WaveTableManager * WaveTableManager::sWaveTableManager [static, protected] |
singleton instance
unsigned int WaveTableManager::sWaveTableSize [static, protected] |
default wavetable size
unsigned int iso::synth::WaveTableManager::mWaveTableSize [protected] |
wavetable size
QHash<String, Channel*> iso::synth::WaveTableManager::mWaveTables [protected] |
wavetable name / channel association