Factor slot loop bodies in nuked_generate into process_slot
Co-Authored-By: Evan Ramos <1585791+hendricks266@users.noreply.github.com>
This commit is contained in:
@@ -1265,11 +1265,18 @@ nuked_write_reg_buffered(void *priv, uint16_t reg, uint8_t val)
|
|||||||
dev->wrbuf_last = (writebuf_last + 1) % WRBUF_SIZE;
|
dev->wrbuf_last = (writebuf_last + 1) % WRBUF_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void process_slot(slot_t *slot)
|
||||||
|
{
|
||||||
|
slot_calc_fb(slot);
|
||||||
|
env_calc(slot);
|
||||||
|
phase_generate(slot);
|
||||||
|
slot_generate(slot);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
nuked_generate(void *priv, int32_t *bufp)
|
nuked_generate(void *priv, int32_t *bufp)
|
||||||
{
|
{
|
||||||
nuked_t *dev = (nuked_t *) priv;
|
nuked_t *dev = (nuked_t *) priv;
|
||||||
slot_t *slot;
|
|
||||||
chan_t *ch;
|
chan_t *ch;
|
||||||
wrbuf_t *writebuf;
|
wrbuf_t *writebuf;
|
||||||
int16_t **out;
|
int16_t **out;
|
||||||
@@ -1280,13 +1287,8 @@ nuked_generate(void *priv, int32_t *bufp)
|
|||||||
|
|
||||||
bufp[1] = dev->mixbuff[1];
|
bufp[1] = dev->mixbuff[1];
|
||||||
|
|
||||||
for (i = 0; i < 15; i++) {
|
for (i = 0; i < 15; i++)
|
||||||
slot = &dev->slot[i];
|
process_slot(&dev->slot[i]);
|
||||||
slot_calc_fb(slot);
|
|
||||||
env_calc(slot);
|
|
||||||
phase_generate(slot);
|
|
||||||
slot_generate(slot);
|
|
||||||
}
|
|
||||||
|
|
||||||
mix = 0;
|
mix = 0;
|
||||||
|
|
||||||
@@ -1299,23 +1301,13 @@ nuked_generate(void *priv, int32_t *bufp)
|
|||||||
|
|
||||||
dev->mixbuff[0] = mix;
|
dev->mixbuff[0] = mix;
|
||||||
|
|
||||||
for (i = 15; i < 18; i++) {
|
for (i = 15; i < 18; i++)
|
||||||
slot = &dev->slot[i];
|
process_slot(&dev->slot[i]);
|
||||||
slot_calc_fb(slot);
|
|
||||||
env_calc(slot);
|
|
||||||
phase_generate(slot);
|
|
||||||
slot_generate(slot);
|
|
||||||
}
|
|
||||||
|
|
||||||
bufp[0] = dev->mixbuff[0];
|
bufp[0] = dev->mixbuff[0];
|
||||||
|
|
||||||
for (i = 18; i < 33; i++) {
|
for (i = 18; i < 33; i++)
|
||||||
slot = &dev->slot[i];
|
process_slot(&dev->slot[i]);
|
||||||
slot_calc_fb(slot);
|
|
||||||
env_calc(slot);
|
|
||||||
phase_generate(slot);
|
|
||||||
slot_generate(slot);
|
|
||||||
}
|
|
||||||
|
|
||||||
mix = 0;
|
mix = 0;
|
||||||
|
|
||||||
@@ -1328,13 +1320,8 @@ nuked_generate(void *priv, int32_t *bufp)
|
|||||||
|
|
||||||
dev->mixbuff[1] = mix;
|
dev->mixbuff[1] = mix;
|
||||||
|
|
||||||
for (i = 33; i < 36; i++) {
|
for (i = 33; i < 36; i++)
|
||||||
slot = &dev->slot[i];
|
process_slot(&dev->slot[i]);
|
||||||
slot_calc_fb(slot);
|
|
||||||
env_calc(slot);
|
|
||||||
phase_generate(slot);
|
|
||||||
slot_generate(slot);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((dev->timer & 0x3f) == 0x3f)
|
if ((dev->timer & 0x3f) == 0x3f)
|
||||||
dev->tremolopos = (dev->tremolopos + 1) % 210;
|
dev->tremolopos = (dev->tremolopos + 1) % 210;
|
||||||
|
Reference in New Issue
Block a user