Skip to content

Commit

Permalink
Adding missing waveform builder sysex command
Browse files Browse the repository at this point in the history
  • Loading branch information
ZILtoid1991 committed May 26, 2024
1 parent 58ac4c1 commit f9d64eb
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions pixelperfectengine/src/pixelperfectengine/audio/modules/qm816.d
Original file line number Diff line number Diff line change
Expand Up @@ -1527,6 +1527,26 @@ public class QM816 : AudioModule {
channels[ch].preset);
}
break;
case 0x20: //Waveform builder
const waveSel = msg[msgPos + 1];
const waveformType = msg[msgPos + 2];
switch (waveformType) {
case 0x50: //square waveform
wavetables[waveSel] = generatePulseWave((msg[msgPos + 2]<<3) | (msg[msgPos + 3]>>4));
break;
case 0x54: //Triangular wave
wavetables[waveSel] = generateTriangularWave((msg[msgPos + 2]<<3) | (msg[msgPos + 3]>>4));
break;
case 0x74: //Integrated triangular wave
wavetables[waveSel] = integrateTriangularWave(generateTriangularWave
((msg[msgPos + 2]<<3) | (msg[msgPos + 3]>>4)));
break;
case 0x53: //Sine wave
wavetables[waveSel] = generateSinewave([msg[msgPos + 2], msg[msgPos + 3], msg[msgPos + 4], msg[msgPos + 5]]);
break;
default: break;
}
break;
default:
break;
}
Expand Down

0 comments on commit f9d64eb

Please sign in to comment.