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:
parent
b185ef0558
commit
03004b2eb9
@ -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()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user