1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/blumia-PineappleSynth

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Voice.cpp 973 Байты
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Chris Xiong Отправлено 25.08.2016 19:34 68b47fa
#include "Voice.h"
double Voice::nextSample() {
if (!isActive) return 0.0;
double oscillator1Output = mOscillatorMix == 1 ? 0.0 : mOscillator1.nextSample();
double oscillator2Output = mOscillatorMix == 0 ? 0.0 : mOscillator2.nextSample();
double oscillatorSum = ((1 - mOscillatorMix) * oscillator1Output) + (mOscillatorMix * oscillator2Output);
double ampEnvelopeValue = mAmpEnvelope.nextSample();
double filterEnvelopeValue = mFilterEnvelope.nextSample();
oscillatorSum *= mAmpEnvelopeAmount * 0.01;
mFilter.setCutoffMod(filterEnvelopeValue * mFilterEnvelopeAmount); // ignore LFO now.
return mFilter.process(oscillatorSum * ampEnvelopeValue * mVelocity / 127.0);
}
void Voice::setFree() {
isActive = false;
}
// Do reset after every noteoff
void Voice::reset() {
mNoteNumber = -1;
mVelocity = 0;
pbendamount = 0;
//mOscillatorMix = 0;
mOscillator1.reset();
mOscillator2.reset();
mAmpEnvelope.reset();
mFilterEnvelope.reset();
mFilter.reset();
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/blumia-PineappleSynth.git
git@api.gitlife.ru:oschina-mirror/blumia-PineappleSynth.git
oschina-mirror
blumia-PineappleSynth
blumia-PineappleSynth
master