version 1.9, 2013/12/31 12:27:49 |
version 1.10, 2014/02/08 15:17:37 |
|
|
} else |
} else |
in = res_in; |
in = res_in; |
|
|
nch = s->mix.slot_cmax - s->mix.slot_cmin + 1; |
nch = s->mix.cmap.nch; |
vol = ADATA_MUL(s->mix.weight, s->mix.vol) / s->mix.join; |
vol = ADATA_MUL(s->mix.weight, s->mix.vol) / s->mix.join; |
cmap_add(&s->mix.cmap, in, out, vol, todo); |
cmap_add(&s->mix.cmap, in, out, vol, todo); |
|
|
offs = 0; |
offs = 0; |
for (i = s->mix.join - 1; i > 0; i--) { |
for (i = s->mix.join - 1; i > 0; i--) { |
offs += nch; |
offs += nch; |
if (offs > s->mix.cmap.inext) |
|
break; |
|
cmap_add(&s->mix.cmap, (adata_t *)in + offs, out, vol, todo); |
cmap_add(&s->mix.cmap, (adata_t *)in + offs, out, vol, todo); |
} |
} |
offs = 0; |
offs = 0; |
for (i = s->mix.expand - 1; i > 0; i--) { |
for (i = s->mix.expand - 1; i > 0; i--) { |
offs += nch; |
offs += nch; |
if (offs > s->mix.cmap.onext) |
|
break; |
|
cmap_add(&s->mix.cmap, in, (adata_t *)out + offs, vol, todo); |
cmap_add(&s->mix.cmap, in, (adata_t *)out + offs, vol, todo); |
} |
} |
return todo; |
return todo; |
|
|
|
|
out = (s->sub.resampbuf) ? s->sub.resampbuf : res_out; |
out = (s->sub.resampbuf) ? s->sub.resampbuf : res_out; |
|
|
nch = s->sub.slot_cmax - s->sub.slot_cmin + 1; |
nch = s->sub.cmap.nch; |
vol = ADATA_UNIT / s->sub.join; |
vol = ADATA_UNIT / s->sub.join; |
cmap_copy(&s->sub.cmap, in, out, vol, todo); |
cmap_copy(&s->sub.cmap, in, out, vol, todo); |
|
|