new chan osc, part 4
adapt dispatch code to it
This commit is contained in:
parent
c0e4552c52
commit
a16d20e190
18 changed files with 218 additions and 88 deletions
|
|
@ -68,6 +68,9 @@ const char** DivPlatformC140::getRegisterSheet() {
|
|||
}
|
||||
|
||||
void DivPlatformC140::acquire_219(short** buf, size_t len) {
|
||||
for (int i=0; i<totalChans; i++) {
|
||||
oscBuf[i]->begin(len);
|
||||
}
|
||||
for (size_t h=0; h<len; h++) {
|
||||
while (!writes.empty()) {
|
||||
QueuedWrite w=writes.front();
|
||||
|
|
@ -92,15 +95,21 @@ void DivPlatformC140::acquire_219(short** buf, size_t len) {
|
|||
|
||||
for (int i=0; i<totalChans; i++) {
|
||||
if (c219.voice[i].inv_lout) {
|
||||
oscBuf[i]->data[oscBuf[i]->needle++]=(c219.voice[i].lout-c219.voice[i].rout)>>10;
|
||||
oscBuf[i]->putSample(h,(c219.voice[i].lout-c219.voice[i].rout)>>10);
|
||||
} else {
|
||||
oscBuf[i]->data[oscBuf[i]->needle++]=(c219.voice[i].lout+c219.voice[i].rout)>>10;
|
||||
oscBuf[i]->putSample(h,(c219.voice[i].lout+c219.voice[i].rout)>>10);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i=0; i<totalChans; i++) {
|
||||
oscBuf[i]->end(len);
|
||||
}
|
||||
}
|
||||
|
||||
void DivPlatformC140::acquire_140(short** buf, size_t len) {
|
||||
for (int i=0; i<totalChans; i++) {
|
||||
oscBuf[i]->begin(len);
|
||||
}
|
||||
for (size_t h=0; h<len; h++) {
|
||||
while (!writes.empty()) {
|
||||
QueuedWrite w=writes.front();
|
||||
|
|
@ -124,9 +133,12 @@ void DivPlatformC140::acquire_140(short** buf, size_t len) {
|
|||
buf[1][h]=c140.rout;
|
||||
|
||||
for (int i=0; i<totalChans; i++) {
|
||||
oscBuf[i]->data[oscBuf[i]->needle++]=(c140.voice[i].lout+c140.voice[i].rout)>>10;
|
||||
oscBuf[i]->putSample(h,(c140.voice[i].lout+c140.voice[i].rout)>>10);
|
||||
}
|
||||
}
|
||||
for (int i=0; i<totalChans; i++) {
|
||||
oscBuf[i]->end(len);
|
||||
}
|
||||
}
|
||||
|
||||
void DivPlatformC140::acquire(short** buf, size_t len) {
|
||||
|
|
@ -752,7 +764,7 @@ void DivPlatformC140::setFlags(const DivConfig& flags) {
|
|||
c140_bank_type(&c140,bankType);
|
||||
}
|
||||
for (int i=0; i<totalChans; i++) {
|
||||
oscBuf[i]->rate=rate;
|
||||
oscBuf[i]->setRate(rate);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue