mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2026-06-01 21:54:39 -04:00
Basic X/Y scope plot while in digital mode
This commit is contained in:
@@ -95,7 +95,7 @@ void ScopeVisualProcessor::process() {
|
||||
}
|
||||
}
|
||||
|
||||
if (audioInputData->channels == 2) {
|
||||
if (audioInputData->type == 1) {
|
||||
iMax = audioInputData->data.size();
|
||||
if (renderData->waveform_points.size() != iMax * 2) {
|
||||
renderData->waveform_points.resize(iMax * 2);
|
||||
@@ -104,11 +104,23 @@ void ScopeVisualProcessor::process() {
|
||||
renderData->waveform_points[i * 2] = (((double) (i % (iMax/2)) / (double) iMax) * 2.0 - 0.5) * 2.0;
|
||||
renderData->waveform_points[i * 2 + 1] = audioInputData->data[i] / peak;
|
||||
}
|
||||
renderData->mode = ScopePanel::SCOPE_MODE_2Y;
|
||||
} else if (audioInputData->type == 2) {
|
||||
iMax = audioInputData->data.size();
|
||||
if (renderData->waveform_points.size() != iMax) {
|
||||
renderData->waveform_points.resize(iMax);
|
||||
}
|
||||
for (i = 0; i < iMax/2; i++) {
|
||||
renderData->waveform_points[i * 2] = audioInputData->data[i * 2] / peak;
|
||||
renderData->waveform_points[i * 2 + 1] = audioInputData->data[i * 2 + 1] / peak;
|
||||
}
|
||||
renderData->mode = ScopePanel::SCOPE_MODE_XY;
|
||||
} else {
|
||||
for (i = 0; i < iMax; i++) {
|
||||
renderData->waveform_points[i * 2] = (((double) i / (double) iMax) - 0.5) * 2.0;
|
||||
renderData->waveform_points[i * 2 + 1] = audioInputData->data[i] / peak;
|
||||
}
|
||||
renderData->mode = ScopePanel::SCOPE_MODE_Y;
|
||||
}
|
||||
|
||||
renderData->spectrum = false;
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
#include "VisualProcessor.h"
|
||||
#include "AudioThread.h"
|
||||
#include "fftw3.h"
|
||||
#include "ScopePanel.h"
|
||||
|
||||
class ScopeRenderData: public ReferenceCounter {
|
||||
public:
|
||||
std::vector<float> waveform_points;
|
||||
ScopePanel::ScopeMode mode;
|
||||
int inputRate;
|
||||
int sampleRate;
|
||||
int channels;
|
||||
|
||||
Reference in New Issue
Block a user