add soft-clipping of mixed sounds using tanh

expose ADSR to TinyAudio API
enable envelope when playing wav files
This commit is contained in:
Erwin Coumans
2017-04-28 12:39:51 -07:00
parent 821ad96549
commit c95a1c9c33
8 changed files with 51 additions and 19 deletions

View File

@@ -80,6 +80,12 @@ b3SoundSource::~b3SoundSource()
delete m_data;
}
void b3SoundSource::setADSR( double attack, double decay, double sustain, double release)
{
m_data->m_envelope.setValues(attack,decay,sustain,release);
}
bool b3SoundSource::computeSamples(double* sampleBuffer, int numSamples, double sampleRate)
{
@@ -110,7 +116,7 @@ bool b3SoundSource::computeSamples(double* sampleBuffer, int numSamples, double
if (m_data->m_oscillators[osc].m_type == 128)
{
int frame = 0;
double data = m_data->m_oscillators[osc].m_amplitude * m_data->m_wavFilePtr->tick(frame,&m_data->m_oscillators[osc].m_wavTicker);
double data = env * m_data->m_oscillators[osc].m_amplitude * m_data->m_wavFilePtr->tick(frame,&m_data->m_oscillators[osc].m_wavTicker);
samples[osc] += data;
numActive++;
}