23 |
#include "modulationsystem.h" |
#include "modulationsystem.h" |
24 |
|
|
25 |
float** ModulationSystem::pDestinationParameter = NULL; |
float** ModulationSystem::pDestinationParameter = NULL; |
26 |
uint ModulationSystem::SampleRate; |
uint ModulationSystem::uiSampleRate; |
27 |
uint ModulationSystem::FragmentSize; |
uint ModulationSystem::uiMaxSamplesPerCycle; |
28 |
|
|
29 |
void ModulationSystem::Initialize(uint SampleRate, uint FragmentSize) { |
void ModulationSystem::Initialize(uint SampleRate, uint MaxSamplesPerCycle) { |
30 |
ModulationSystem::FragmentSize = FragmentSize; |
ModulationSystem::uiMaxSamplesPerCycle = MaxSamplesPerCycle; |
31 |
ModulationSystem::SampleRate = SampleRate; |
ModulationSystem::uiSampleRate = SampleRate; |
32 |
if (!pDestinationParameter) { |
if (!pDestinationParameter) { |
33 |
pDestinationParameter = new float*[destination_count]; |
pDestinationParameter = new float*[destination_count]; |
34 |
pDestinationParameter[0] = new float[destination_count * FragmentSize]; |
pDestinationParameter[0] = new float[destination_count * MaxSamplesPerCycle]; |
35 |
for (int i = 1; i < destination_count; i++) { |
for (int i = 1; i < destination_count; i++) { |
36 |
pDestinationParameter[i] = pDestinationParameter[i - 1] + FragmentSize; |
pDestinationParameter[i] = pDestinationParameter[i - 1] + MaxSamplesPerCycle; |
37 |
} |
} |
38 |
} |
} |
39 |
} |
} |
50 |
* by 'dst' with the constant value given by val. |
* by 'dst' with the constant value given by val. |
51 |
*/ |
*/ |
52 |
void ModulationSystem::ResetDestinationParameter(ModulationSystem::destination_t dst, float val) { |
void ModulationSystem::ResetDestinationParameter(ModulationSystem::destination_t dst, float val) { |
53 |
for (int i = 0; i < FragmentSize; i++) pDestinationParameter[dst][i] = val; |
for (int i = 0; i < uiMaxSamplesPerCycle; i++) pDestinationParameter[dst][i] = val; |
54 |
} |
} |