# HG changeset patch # User cannam # Date 1173697211 0 # Node ID d3995d2b5e088947c0b29858289c8352a4b5924a # Parent 2403ae53b8a54ca15993502ceae0649514a48821 * Fix from Craig Sapp for incorrect mixdown code diff -r 2403ae53b8a5 -r d3995d2b5e08 host/vamp-simple-host.cpp --- a/host/vamp-simple-host.cpp Fri Mar 02 12:26:53 2007 +0000 +++ b/host/vamp-simple-host.cpp Mon Mar 12 11:00:11 2007 +0000 @@ -322,15 +322,22 @@ } } - for (int c = 0; c < sfinfo.channels; ++c) { - int tc = c; - if (mix) tc = 0; - for (int j = 0; j < blockSize && j < count; ++j) { - plugbuf[tc][j] += filebuf[j * channels + c]; + for (int j = 0; j < blockSize && j < count; ++j) { + int tc = 0; + for (int c = 0; c < sfinfo.channels; ++c) { + tc = c; + if (mix) tc = 0; + plugbuf[tc][j] += filebuf[j * sfinfo.channels + c]; } + if (mix) { + plugbuf[0][j] /= sfinfo.channels; + } + } - if (plugin->getInputDomain() == Vamp::Plugin::FrequencyDomain) { - transformInput(plugbuf[tc], blockSize); + if (plugin->getInputDomain() == Vamp::Plugin::FrequencyDomain) { + for (int c = 0; c < sfinfo.channels; ++c) { + transformInput(plugbuf[c], blockSize); + if (mix) break; } }