mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-13 20:01:46 -05:00
Deep redesign: Fixed file source reporting to its GUI
This commit is contained in:
parent
b185ef0558
commit
03004b2eb9
@ -51,6 +51,7 @@ FileSourceGui::FileSourceGui(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
displaySettings();
|
||||
|
||||
m_sampleSource = new FileSourceInput(m_pluginAPI->getMainWindow()->getMasterTimer());
|
||||
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||
DSPEngine::instance()->setSource(m_sampleSource);
|
||||
}
|
||||
|
||||
@ -105,13 +106,13 @@ bool FileSourceGui::deserialize(const QByteArray& data)
|
||||
|
||||
bool FileSourceGui::handleMessage(const Message& message)
|
||||
{
|
||||
if(FileSourceInput::MsgReportFileSourceAcquisition::match(message))
|
||||
if (FileSourceInput::MsgReportFileSourceAcquisition::match(message))
|
||||
{
|
||||
m_acquisition = ((FileSourceInput::MsgReportFileSourceAcquisition&)message).getAcquisition();
|
||||
updateWithAcquisition();
|
||||
return true;
|
||||
}
|
||||
else if(FileSourceInput::MsgReportFileSourceStreamData::match(message))
|
||||
else if (FileSourceInput::MsgReportFileSourceStreamData::match(message))
|
||||
{
|
||||
m_sampleRate = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getSampleRate();
|
||||
m_centerFrequency = ((FileSourceInput::MsgReportFileSourceStreamData&)message).getCenterFrequency();
|
||||
@ -119,7 +120,7 @@ bool FileSourceGui::handleMessage(const Message& message)
|
||||
updateWithStreamData();
|
||||
return true;
|
||||
}
|
||||
else if(FileSourceInput::MsgReportFileSourceStreamTiming::match(message))
|
||||
else if (FileSourceInput::MsgReportFileSourceStreamTiming::match(message))
|
||||
{
|
||||
m_samplesCount = ((FileSourceInput::MsgReportFileSourceStreamTiming&)message).getSamplesCount();
|
||||
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()
|
||||
{
|
||||
}
|
||||
|
@ -71,6 +71,7 @@ private:
|
||||
void updateWithStreamTime();
|
||||
|
||||
private slots:
|
||||
void handleSourceMessages();
|
||||
void on_playLoop_toggled(bool checked);
|
||||
void on_play_toggled(bool checked);
|
||||
void on_showFileDialog_clicked(bool checked);
|
||||
|
@ -106,7 +106,7 @@ void FileSourceInput::openFileStream()
|
||||
m_startingTimeStamp = header.startTimeStamp;
|
||||
|
||||
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)
|
||||
@ -147,7 +147,7 @@ bool FileSourceInput::start(int device)
|
||||
qDebug("FileSourceInput::startInput: started");
|
||||
|
||||
MsgReportFileSourceAcquisition *report = MsgReportFileSourceAcquisition::create(true); // acquisition on
|
||||
getOutputMessageQueue()->push(report);
|
||||
getOutputMessageQueueToGUI()->push(report);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -167,7 +167,7 @@ void FileSourceInput::stop()
|
||||
m_deviceDescription.clear();
|
||||
|
||||
MsgReportFileSourceAcquisition *report = MsgReportFileSourceAcquisition::create(false); // acquisition off
|
||||
getOutputMessageQueue()->push(report);
|
||||
getOutputMessageQueueToGUI()->push(report);
|
||||
}
|
||||
|
||||
const QString& FileSourceInput::getDeviceDescription() const
|
||||
@ -217,7 +217,7 @@ bool FileSourceInput::handleMessage(const Message& message)
|
||||
|
||||
MsgReportFileSourceStreamTiming *report =
|
||||
MsgReportFileSourceStreamTiming::create(m_fileSourceThread->getSamplesCount());
|
||||
getOutputMessageQueue()->push(report);
|
||||
getOutputMessageQueueToGUI()->push(report);
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -235,7 +235,7 @@ bool FileSourceInput::handleMessage(const Message& message)
|
||||
report = MsgReportFileSourceStreamTiming::create(0);
|
||||
}
|
||||
|
||||
getOutputMessageQueue()->push(report);
|
||||
getOutputMessageQueueToGUI()->push(report);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -19,7 +19,7 @@ RTLSDRGui::RTLSDRGui(PluginAPI* pluginAPI, QWidget* parent) :
|
||||
displaySettings();
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@ -90,7 +90,7 @@ bool RTLSDRGui::handleMessage(const Message& message)
|
||||
}
|
||||
}
|
||||
|
||||
void RTLSDRGui::HandleSourceMessages()
|
||||
void RTLSDRGui::handleSourceMessages()
|
||||
{
|
||||
Message* message;
|
||||
|
||||
|
@ -49,7 +49,7 @@ private slots:
|
||||
void on_samplerate_valueChanged(int value);
|
||||
void on_checkBox_stateChanged(int state);
|
||||
void updateHardware();
|
||||
void HandleSourceMessages();
|
||||
void handleSourceMessages();
|
||||
};
|
||||
|
||||
class RTLSDRSampleRates {
|
||||
|
Loading…
Reference in New Issue
Block a user