From 82b6b67f3ca9db09b520713b24139d068861c008 Mon Sep 17 00:00:00 2001 From: "Charles J. Cliffe" Date: Sun, 16 Nov 2014 19:14:15 -0500 Subject: [PATCH] Re-connect scope to demodulator output data --- src/AppFrame.cpp | 10 ++++++++++ src/visual/ScopeCanvas.h | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/AppFrame.cpp b/src/AppFrame.cpp index 5e80e3a..075d2dd 100644 --- a/src/AppFrame.cpp +++ b/src/AppFrame.cpp @@ -165,6 +165,16 @@ void AppFrame::OnDemodInput(wxThreadEvent& event) { AudioThreadTask task = AudioThreadTask(AudioThreadTask::AUDIO_THREAD_DATA); task.setData(*new_buffer); threadQueueAudio->addTask(task, AudioThreadQueue::AUDIO_PRIORITY_HIGHEST); + + if (scopeCanvas->waveform_points.size() != new_buffer->size() * 2) { + scopeCanvas->waveform_points.resize(new_buffer->size() * 2); + } + + for (int i = 0, iMax = new_buffer->size(); i < iMax; i++) { + scopeCanvas->waveform_points[i * 2 + 1] = (*new_buffer)[i] * 0.5f; + scopeCanvas->waveform_points[i * 2] = ((double) i / (double) iMax); + } + } else { std::cout << "Incoming Demod data empty?" << std::endl; } diff --git a/src/visual/ScopeCanvas.h b/src/visual/ScopeCanvas.h index 03faf9e..ab8b544 100644 --- a/src/visual/ScopeCanvas.h +++ b/src/visual/ScopeCanvas.h @@ -12,6 +12,8 @@ class ScopeCanvas: public wxGLCanvas { public: + std::vector waveform_points; + ScopeCanvas(wxWindow *parent, int *attribList = NULL); ~ScopeCanvas(); @@ -23,7 +25,6 @@ private: void OnIdle(wxIdleEvent &event); wxWindow *parent; - std::vector waveform_points; ScopeContext *glContext; // event table