More zoom tweaks, fix half-band tuner step

This commit is contained in:
Charles J. Cliffe
2015-12-13 14:09:04 -05:00
parent d448f6dfc4
commit be8cde6ce3
2 changed files with 14 additions and 12 deletions
+13 -11
View File
@@ -186,17 +186,19 @@ void SpectrumVisualProcessor::process() {
if (is_view.load()) {
long freqDiff = shiftFrequency - lastShiftFrequency;
double binPerHz = double(bandwidth) / double(fftSizeInternal);
int numShift = round(double(abs(freqDiff)) / binPerHz);
if (numShift < fftSizeInternal/2) {
if (freqDiff > 0) {
memmove(&fft_result_ma[0], &fft_result_ma[numShift], (fftSizeInternal-numShift) * sizeof(double));
memmove(&fft_result_maa[0], &fft_result_maa[numShift], (fftSizeInternal-numShift) * sizeof(double));
} else {
memmove(&fft_result_ma[numShift], &fft_result_ma[0], (fftSizeInternal-numShift) * sizeof(double));
memmove(&fft_result_maa[numShift], &fft_result_maa[0], (fftSizeInternal-numShift) * sizeof(double));
if (lastBandwidth!=0) {
double binPerHz = double(lastBandwidth) / double(fftSizeInternal);
int numShift = floor(double(abs(freqDiff)) / binPerHz);
if (numShift < fftSizeInternal/2 && numShift) {
if (freqDiff > 0) {
memmove(&fft_result_ma[0], &fft_result_ma[numShift], (fftSizeInternal-numShift) * sizeof(double));
memmove(&fft_result_maa[0], &fft_result_maa[numShift], (fftSizeInternal-numShift) * sizeof(double));
} else {
memmove(&fft_result_ma[numShift], &fft_result_ma[0], (fftSizeInternal-numShift) * sizeof(double));
memmove(&fft_result_maa[numShift], &fft_result_maa[0], (fftSizeInternal-numShift) * sizeof(double));
}
}
}
}