1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-14 04:11:48 -05:00

Deep redesign: Fixed file source reporting to its GUI

This commit is contained in:
f4exb 2015-08-26 09:25:02 +02:00
parent b185ef0558
commit 03004b2eb9
5 changed files with 28 additions and 11 deletions

View File

@ -51,6 +51,7 @@ FileSourceGui::FileSourceGui(PluginAPI* pluginAPI, QWidget* parent) :
displaySettings(); displaySettings();
m_sampleSource = new FileSourceInput(m_pluginAPI->getMainWindow()->getMasterTimer()); m_sampleSource = new FileSourceInput(m_pluginAPI->getMainWindow()->getMasterTimer());
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
DSPEngine::instance()->setSource(m_sampleSource); DSPEngine::instance()->setSource(m_sampleSource);
} }
@ -105,13 +106,13 @@ bool FileSourceGui::deserialize(const QByteArray& data)
bool FileSourceGui::handleMessage(const Message& message) bool FileSourceGui::handleMessage(const Message& message)
{ {
if(FileSourceInput::MsgReportFileSourceAcquisition::match(message)) if (FileSourceInput::MsgReportFileSourceAcquisition::match(message))
{ {
m_acquisition = ((FileSourceInput::MsgReportFileSourceAcquisition&)message).getAcquisition(); m_acquisition = ((FileSourceInput::MsgReportFileSourceAcquisition&)message).getAcquisition();
updateWithAcquisition(); updateWithAcquisition();
return true; return true;
} }
else if(FileSourceInput::MsgReportFileSourceStreamData::match(message)) else if (FileSourceInput::MsgReportFileSourceStreamData::match(message))
{ {
m_sampleRate = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getSampleRate(); m_sampleRate = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getSampleRate();
m_centerFrequency = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getCenterFrequency(); m_centerFrequency = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getCenterFrequency();
@ -119,7 +120,7 @@ bool FileSourceGui::handleMessage(const Message& message)
updateWithStreamData(); updateWithStreamData();
return true; return true;
} }
else if(FileSourceInput::MsgReportFileSourceStreamTiming::match(message)) else if (FileSourceInput::MsgReportFileSourceStreamTiming::match(message))
{ {
m_samplesCount = ((FileSourceInput::MsgReportFileSourceStreamTiming&)message).getSamplesCount(); m_samplesCount = ((FileSourceInput::MsgReportFileSourceStreamTiming&)message).getSamplesCount();
updateWithStreamTime(); updateWithStreamTime();
@ -131,6 +132,21 @@ bool FileSourceGui::handleMessage(const Message& message)
} }
} }
void FileSourceGui::handleSourceMessages()
{
Message* message;
while ((message = m_sampleSource->getOutputMessageQueueToGUI()->pop()) != 0)
{
qDebug("FileSourceGui::handleSourceMessages: message: %s", message->getIdentifier());
if (handleMessage(*message))
{
delete message;
}
}
}
void FileSourceGui::displaySettings() void FileSourceGui::displaySettings()
{ {
} }

View File

@ -71,6 +71,7 @@ private:
void updateWithStreamTime(); void updateWithStreamTime();
private slots: private slots:
void handleSourceMessages();
void on_playLoop_toggled(bool checked); void on_playLoop_toggled(bool checked);
void on_play_toggled(bool checked); void on_play_toggled(bool checked);
void on_showFileDialog_clicked(bool checked); void on_showFileDialog_clicked(bool checked);

View File

@ -106,7 +106,7 @@ void FileSourceInput::openFileStream()
m_startingTimeStamp = header.startTimeStamp; m_startingTimeStamp = header.startTimeStamp;
MsgReportFileSourceStreamData *report = MsgReportFileSourceStreamData::create(m_sampleRate, m_centerFrequency, m_startingTimeStamp); // file stream data MsgReportFileSourceStreamData *report = MsgReportFileSourceStreamData::create(m_sampleRate, m_centerFrequency, m_startingTimeStamp); // file stream data
getOutputMessageQueue()->push(report); getOutputMessageQueueToGUI()->push(report);
} }
bool FileSourceInput::init(const Message& message) bool FileSourceInput::init(const Message& message)
@ -147,7 +147,7 @@ bool FileSourceInput::start(int device)
qDebug("FileSourceInput::startInput: started"); qDebug("FileSourceInput::startInput: started");
MsgReportFileSourceAcquisition *report = MsgReportFileSourceAcquisition::create(true); // acquisition on MsgReportFileSourceAcquisition *report = MsgReportFileSourceAcquisition::create(true); // acquisition on
getOutputMessageQueue()->push(report); getOutputMessageQueueToGUI()->push(report);
return true; return true;
} }
@ -167,7 +167,7 @@ void FileSourceInput::stop()
m_deviceDescription.clear(); m_deviceDescription.clear();
MsgReportFileSourceAcquisition *report = MsgReportFileSourceAcquisition::create(false); // acquisition off MsgReportFileSourceAcquisition *report = MsgReportFileSourceAcquisition::create(false); // acquisition off
getOutputMessageQueue()->push(report); getOutputMessageQueueToGUI()->push(report);
} }
const QString& FileSourceInput::getDeviceDescription() const const QString& FileSourceInput::getDeviceDescription() const
@ -217,7 +217,7 @@ bool FileSourceInput::handleMessage(const Message& message)
MsgReportFileSourceStreamTiming *report = MsgReportFileSourceStreamTiming *report =
MsgReportFileSourceStreamTiming::create(m_fileSourceThread->getSamplesCount()); MsgReportFileSourceStreamTiming::create(m_fileSourceThread->getSamplesCount());
getOutputMessageQueue()->push(report); getOutputMessageQueueToGUI()->push(report);
} }
return true; return true;
@ -235,7 +235,7 @@ bool FileSourceInput::handleMessage(const Message& message)
report = MsgReportFileSourceStreamTiming::create(0); report = MsgReportFileSourceStreamTiming::create(0);
} }
getOutputMessageQueue()->push(report); getOutputMessageQueueToGUI()->push(report);
} }
else else
{ {

View File

@ -19,7 +19,7 @@ RTLSDRGui::RTLSDRGui(PluginAPI* pluginAPI, QWidget* parent) :
displaySettings(); displaySettings();
m_sampleSource = new RTLSDRInput(); m_sampleSource = new RTLSDRInput();
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(HandleSourceMessages())); connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
DSPEngine::instance()->setSource(m_sampleSource); DSPEngine::instance()->setSource(m_sampleSource);
} }
@ -90,7 +90,7 @@ bool RTLSDRGui::handleMessage(const Message& message)
} }
} }
void RTLSDRGui::HandleSourceMessages() void RTLSDRGui::handleSourceMessages()
{ {
Message* message; Message* message;

View File

@ -49,7 +49,7 @@ private slots:
void on_samplerate_valueChanged(int value); void on_samplerate_valueChanged(int value);
void on_checkBox_stateChanged(int state); void on_checkBox_stateChanged(int state);
void updateHardware(); void updateHardware();
void HandleSourceMessages(); void handleSourceMessages();
}; };
class RTLSDRSampleRates { class RTLSDRSampleRates {