kopia lustrzana https://github.com/f4exb/sdrangel
Channel Rx / GUI new messaging system
rodzic
5ab144da82
commit
95891164d5
|
@ -636,7 +636,7 @@ void ATVDemod::applySettings()
|
|||
int sampleRate = m_objRFRunning.m_blndecimatorEnable ? m_objRunningPrivate.m_intTVSampleRate : m_objRunning.m_intSampleRate;
|
||||
MsgReportEffectiveSampleRate *report;
|
||||
report = MsgReportEffectiveSampleRate::create(sampleRate, m_objRunningPrivate.m_intNumberSamplePerLine);
|
||||
getOutputMessageQueue()->push(report);
|
||||
getMessageQueueToGUI()->push(report);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -242,7 +242,7 @@ void ATVDemodGUI::handleSourceMessages()
|
|||
{
|
||||
Message* message;
|
||||
|
||||
while ((message = m_objATVDemod->getOutputMessageQueue()->pop()) != 0)
|
||||
while ((message = getInputMessageQueue()->pop()) != 0)
|
||||
{
|
||||
if (handleMessage(*message))
|
||||
{
|
||||
|
@ -285,6 +285,7 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
|
|||
|
||||
m_objScopeVis = new ScopeVisNG(ui->glScope);
|
||||
m_objATVDemod = new ATVDemod(m_objScopeVis);
|
||||
m_objATVDemod->setMessageQueueToGUI(getInputMessageQueue());
|
||||
m_objATVDemod->setATVScreen(ui->screenTV);
|
||||
|
||||
m_objChannelizer = new DownChannelizer(m_objATVDemod);
|
||||
|
@ -337,7 +338,7 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
|
|||
ui->scopeGUI->changeTrigger(0, triggerData);
|
||||
ui->scopeGUI->focusOnTrigger(0); // re-focus to take changes into account in the GUI
|
||||
|
||||
connect(m_objATVDemod->getOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||
connect(getInputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||
|
||||
QChar delta = QChar(0x94, 0x03);
|
||||
ui->fmDeviationLabel->setText(delta);
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#include <dsp/basebandsamplesink.h>
|
||||
#include "util/message.h"
|
||||
|
||||
BasebandSampleSink::BasebandSampleSink()
|
||||
BasebandSampleSink::BasebandSampleSink() :
|
||||
m_guiMessageQueue(0)
|
||||
{
|
||||
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()));
|
||||
}
|
||||
|
|
|
@ -37,11 +37,12 @@ public:
|
|||
virtual bool handleMessage(const Message& cmd) = 0; //!< Processing of a message. Returns true if message has actually been processed
|
||||
|
||||
MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; } //!< Get the queue for asynchronous inbound communication
|
||||
MessageQueue *getOutputMessageQueue() { return &m_outputMessageQueue; } //!< Get the queue for asynchronous outbound communication
|
||||
virtual void setMessageQueueToGUI(MessageQueue *queue) { m_guiMessageQueue = queue; }
|
||||
MessageQueue *getMessageQueueToGUI() { return m_guiMessageQueue; }
|
||||
|
||||
protected:
|
||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
||||
MessageQueue m_outputMessageQueue; //!< Queue for asynchronous outbound communication
|
||||
MessageQueue *m_guiMessageQueue; //!< Input message queue to the GUI
|
||||
|
||||
protected slots:
|
||||
void handleInputMessages();
|
||||
|
|
|
@ -58,8 +58,6 @@ public:
|
|||
~ThreadedBasebandSampleSink();
|
||||
|
||||
const BasebandSampleSink *getSink() const { return m_basebandSampleSink; }
|
||||
MessageQueue* getInputMessageQueue() { return m_basebandSampleSink->getInputMessageQueue(); } //!< Return pointer to sample sink's input message queue
|
||||
MessageQueue* getOutputMessageQueue() { return m_basebandSampleSink->getOutputMessageQueue(); } //!< Return pointer to sample sink's output message queue
|
||||
|
||||
void start(); //!< this thread start()
|
||||
void stop(); //!< this thread exit() and wait()
|
||||
|
|
Ładowanie…
Reference in New Issue