Added code

This commit is contained in:
除村 武志
2020-02-26 17:13:02 +09:00
parent 64dcb731c2
commit 941a120dea
126 changed files with 19555 additions and 1 deletions

62
Source/PulseVoice.cpp Normal file
View File

@ -0,0 +1,62 @@
/*
==============================================================================
PulseVoice.cpp
Created: 11 Nov 2019 9:36:51pm
Author: 除村 武志
==============================================================================
*/
#include "PulseVoice.h"
//---------------------------------------------
//
// Pulse Voice
//
//---------------------------------------------
PulseVoice::PulseVoice (SettingRefs* sRefs) : TonalVoice (sRefs) {}
void PulseVoice::startNote (int midiNoteNumber, float velocity, SynthesiserSound*, int currentPitchBendPosition)
{
TonalVoice::startNote (midiNoteNumber, velocity, 0, currentPitchBendPosition);
currentDutySequenceFrame = 0;
currentDuty = (PulseDuty) ((int) (*settingRefs->duty));
}
float PulseVoice::voltageForAngle (double angle)
{
float rate = 1.0;
switch (currentDuty)
{
case kPulseDuty125:
rate = 0.25;
break;
case kPulseDuty250:
rate = 0.50;
break;
case kPulseDuty500:
rate = 1.00;
break;
default:
break;
}
return angle < rate * MathConstants<float>::pi ? -1.0 : 1.0;
}
void PulseVoice::advanceControlFrame()
{
TonalVoice::advanceControlFrame();
if (settingRefs->isDutySequenceEnabled())
{
currentDutySequenceFrame = settingRefs->dutySequence.nextIndexOf (currentDutySequenceFrame);
currentDuty = (PulseDuty)settingRefs->dutySequence.valueAt (currentDutySequenceFrame);
}
}