More Sound Blaster 16+ / ViBRA 16 fixes, added optional PC speaker control via the Sound Blaster 16+ / ViBRA 16, and removed some left-over temporary code from device.c.
This commit is contained in:
@@ -88,15 +88,20 @@ speaker_update(void)
|
||||
void
|
||||
speaker_get_buffer(int32_t *buffer, int len, UNUSED(void *priv))
|
||||
{
|
||||
int32_t val;
|
||||
double val_l, val_r;
|
||||
|
||||
speaker_update();
|
||||
|
||||
if (!speaker_mute) {
|
||||
for (int c = 0; c < len * 2; c += 2) {
|
||||
val = speaker_buffer[c >> 1];
|
||||
buffer[c] += val;
|
||||
buffer[c + 1] += val;
|
||||
val_l = val_r = (double) speaker_buffer[c >> 1];
|
||||
/* Apply PC speaker volume and filters */
|
||||
if (filter_pc_speaker != NULL) {
|
||||
filter_pc_speaker(0, &val_l, filter_pc_speaker_p);
|
||||
filter_pc_speaker(1, &val_r, filter_pc_speaker_p);
|
||||
}
|
||||
buffer[c] += (int32_t) val_l;
|
||||
buffer[c + 1] += (int32_t) val_r;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user