T6W28: chan osc which does not work right
This commit is contained in:
parent
6537125976
commit
87d1cf24a1
|
@ -67,6 +67,8 @@ void T6W28_Square::run( sms_time_t time, sms_time_t end_time )
|
|||
last_amp_right = 0;
|
||||
}
|
||||
|
||||
oscBuf->putSample(time,0);
|
||||
|
||||
time += delay;
|
||||
if ( !period )
|
||||
{
|
||||
|
@ -100,6 +102,8 @@ void T6W28_Square::run( sms_time_t time, sms_time_t end_time )
|
|||
last_amp_right = amp_right;
|
||||
blip_add_delta( outputs[0], time, delta_right );
|
||||
}
|
||||
|
||||
oscBuf->putSample(time,(amp_left+amp_right)>>2);
|
||||
}
|
||||
|
||||
time += delay;
|
||||
|
@ -117,6 +121,8 @@ void T6W28_Square::run( sms_time_t time, sms_time_t end_time )
|
|||
|
||||
blip_add_delta( output_left, time, delta_left );
|
||||
blip_add_delta( output_right, time, delta_right );
|
||||
|
||||
oscBuf->putSample(time,(amp_left+amp_right)>>2);
|
||||
time += period;
|
||||
phase ^= 1;
|
||||
}
|
||||
|
@ -168,6 +174,8 @@ void T6W28_Noise::run( sms_time_t time, sms_time_t end_time )
|
|||
last_amp_right = amp_right;
|
||||
blip_add_delta( outputs[1], time, delta_right );
|
||||
}
|
||||
|
||||
oscBuf->putSample(time,(amp_left+amp_right)>>2);
|
||||
}
|
||||
|
||||
time += delay;
|
||||
|
@ -199,6 +207,8 @@ void T6W28_Noise::run( sms_time_t time, sms_time_t end_time )
|
|||
|
||||
delta_right = -delta_right;
|
||||
blip_add_delta( output_right, time, delta_right );
|
||||
|
||||
oscBuf->putSample(time,(amp_left+amp_right)>>2);
|
||||
}
|
||||
time += l_period;
|
||||
}
|
||||
|
@ -287,6 +297,7 @@ bool T6W28_Apu::end_frame( sms_time_t end_time )
|
|||
|
||||
assert( last_time >= end_time );
|
||||
last_time -= end_time;
|
||||
assert(last_time == 0);
|
||||
|
||||
return(1);
|
||||
}
|
||||
|
|
|
@ -40,6 +40,9 @@ void DivPlatformT6W28::acquireDirect(blip_buffer_t** bb, size_t len) {
|
|||
oscBuf[i]->begin(len);
|
||||
}
|
||||
t6w->output(bb[0],bb[1]);
|
||||
for (int i=0; i<4; i++) {
|
||||
t6w->osc_output(i,oscBuf[i]);
|
||||
}
|
||||
|
||||
while (!writes.empty()) {
|
||||
QueuedWrite w=writes.front();
|
||||
|
|
Loading…
Reference in a new issue