GA20: yaaaay I fixed chan osc
This commit is contained in:
parent
8f54445625
commit
6d55c8088c
|
|
@ -84,7 +84,7 @@ void DivPlatformGA20::acquireDirect(blip_buffer_t** bb, size_t off, size_t len)
|
|||
oscBuf[i]->begin(len);
|
||||
}
|
||||
|
||||
for (size_t h=off; h<off+len; h++) {
|
||||
for (size_t h=0; h<len; h++) {
|
||||
size_t advance=0;
|
||||
if (!writes.empty()) {
|
||||
QueuedWrite& w=writes.front();
|
||||
|
|
@ -93,7 +93,7 @@ void DivPlatformGA20::acquireDirect(blip_buffer_t** bb, size_t off, size_t len)
|
|||
writes.pop();
|
||||
} else {
|
||||
// heuristic
|
||||
advance=off+len-h-1;
|
||||
advance=len-h-1;
|
||||
|
||||
for (int i=0; i<4; i++) {
|
||||
if (!ga20.m_channel[i].play) continue;
|
||||
|
|
@ -109,7 +109,7 @@ void DivPlatformGA20::acquireDirect(blip_buffer_t** bb, size_t off, size_t len)
|
|||
h+=advance;
|
||||
const int out=(signed int)(ga20Buf[0]+ga20Buf[1]+ga20Buf[2]+ga20Buf[3])>>2;
|
||||
if (out!=oldOut) {
|
||||
blip_add_delta(bb[0],h,out-oldOut);
|
||||
blip_add_delta(bb[0],off+h,out-oldOut);
|
||||
oldOut=out;
|
||||
}
|
||||
for (int i=0; i<4; i++) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue