implement several effects

volume slides, vibrato, slides and portamento
This commit is contained in:
tildearrow 2021-05-14 14:16:48 -05:00
parent 775b88dae2
commit eb692ca9a9
6 changed files with 82 additions and 16 deletions

View file

@ -9,8 +9,9 @@ struct DivChannelState {
std::vector<DivDelayedCommand> delayed;
int note, pitch, portaSpeed, portaNote;
int volume, volSpeed;
int vibratoDepth, vibratoRate;
int tremoloDepth, tremoloRate;
int vibratoDepth, vibratoRate, vibratoPos;
int tremoloDepth, tremoloRate, tremoloPos;
bool doNote;
DivChannelState():
note(-1),
@ -21,8 +22,11 @@ struct DivChannelState {
volSpeed(0),
vibratoDepth(0),
vibratoRate(0),
vibratoPos(0),
tremoloDepth(0),
tremoloRate(0) {}
tremoloRate(0),
tremoloPos(0),
doNote(false) {}
};
class DivEngine {
@ -36,6 +40,8 @@ class DivEngine {
int changeOrd, changePos;
DivChannelState chan[17];
short vibTable[60];
blip_buffer_t* bb[2];
short temp[2], prevSample[2];
short* bbOut[2];