new chan osc, part 7

i am done
This commit is contained in:
tildearrow 2025-03-02 16:14:49 -05:00
parent 6265d2cd39
commit 49a8693dcb
35 changed files with 606 additions and 217 deletions

View file

@ -46,6 +46,11 @@ void DivPlatformVIC20::acquire(short** buf, size_t len) {
0b0, 0b10, 0b100, 0b110, 0b1000, 0b1010, 0b1011, 0b1110,
0b10010, 0b10100, 0b10110, 0b11000, 0b11010, 0b100100, 0b101010, 0b101100
};
for (int i=0; i<4; i++) {
oscBuf[i]->begin(len);
}
for (size_t h=0; h<len; h++) {
if (hasWaveWrite) {
hasWaveWrite=false;
@ -69,9 +74,13 @@ void DivPlatformVIC20::acquire(short** buf, size_t len) {
vic_sound_machine_calculate_samples(vic,&samp,1,1,0,SAMP_DIVIDER);
buf[0][h]=samp;
for (int i=0; i<4; i++) {
oscBuf[i]->data[oscBuf[i]->needle++]=vic->ch[i].out?(vic->volume<<11):0;
oscBuf[i]->putSample(h,vic->ch[i].out?(vic->volume<<11):0);
}
}
for (int i=0; i<4; i++) {
oscBuf[i]->end(len);
}
}
void DivPlatformVIC20::calcAndWriteOutVol(int ch, int env) {
@ -345,7 +354,7 @@ void DivPlatformVIC20::setFlags(const DivConfig& flags) {
CHECK_CUSTOM_CLOCK;
rate=chipClock/4;
for (int i=0; i<4; i++) {
oscBuf[i]->rate=rate;
oscBuf[i]->setRate(rate);
}
}