diff --git a/plugins/channelrx/filesink/filesink.cpp b/plugins/channelrx/filesink/filesink.cpp index de6609421..94177c257 100644 --- a/plugins/channelrx/filesink/filesink.cpp +++ b/plugins/channelrx/filesink/filesink.cpp @@ -765,7 +765,7 @@ void FileSink::webapiFormatChannelSettings( swgFileSinkSettings->setInputFrequencyOffset(settings.m_inputFrequencyOffset); } if (channelSettingsKeys.contains("fileRecordName")) { - swgFileSinkSettings->setTitle(new QString(settings.m_fileRecordName)); + swgFileSinkSettings->setFileRecordName(new QString(settings.m_fileRecordName)); } if (channelSettingsKeys.contains("rgbColor") || force) { swgFileSinkSettings->setRgbColor(settings.m_rgbColor); diff --git a/plugins/feature/demodanalyzer/demodanalyzer.cpp b/plugins/feature/demodanalyzer/demodanalyzer.cpp index 9f3439e53..f1499d998 100644 --- a/plugins/feature/demodanalyzer/demodanalyzer.cpp +++ b/plugins/feature/demodanalyzer/demodanalyzer.cpp @@ -509,6 +509,15 @@ void DemodAnalyzer::webapiFormatFeatureSettings( response.getDemodAnalyzerSettings()->setReverseApiFeatureSetIndex(settings.m_reverseAPIFeatureSetIndex); response.getDemodAnalyzerSettings()->setReverseApiFeatureIndex(settings.m_reverseAPIFeatureIndex); + if (response.getDemodAnalyzerSettings()->getFileRecordName()) { + *response.getDemodAnalyzerSettings()->getFileRecordName() = settings.m_fileRecordName; + } else { + response.getDemodAnalyzerSettings()->setFileRecordName(new QString(settings.m_fileRecordName)); + } + + response.getDemodAnalyzerSettings()->setRecordToFile(settings.m_recordToFile ? 1 : 0); + response.getDemodAnalyzerSettings()->setRecordSilenceTime(settings.m_recordSilenceTime); + if (settings.m_spectrumGUI) { if (response.getDemodAnalyzerSettings()->getSpectrumConfig()) @@ -590,6 +599,15 @@ void DemodAnalyzer::webapiUpdateFeatureSettings( if (settings.m_rollupState && featureSettingsKeys.contains("rollupState")) { settings.m_rollupState->updateFrom(featureSettingsKeys, response.getDemodAnalyzerSettings()->getRollupState()); } + if (featureSettingsKeys.contains("fileRecordName")) { + settings.m_fileRecordName = *response.getDemodAnalyzerSettings()->getFileRecordName(); + } + if (featureSettingsKeys.contains("recordToFile")) { + settings.m_recordToFile = response.getDemodAnalyzerSettings()->getRecordToFile() != 0; + } + if (featureSettingsKeys.contains("recordSilenceTime")) { + settings.m_recordSilenceTime = response.getDemodAnalyzerSettings()->getRecordSilenceTime(); + } } void DemodAnalyzer::webapiReverseSendSettings(QList& featureSettingsKeys, const DemodAnalyzerSettings& settings, bool force) @@ -612,6 +630,15 @@ void DemodAnalyzer::webapiReverseSendSettings(QList& featureSettingsKey if (featureSettingsKeys.contains("rgbColor") || force) { swgDemodAnalyzerSettings->setRgbColor(settings.m_rgbColor); } + if (featureSettingsKeys.contains("fileRecordName")) { + swgDemodAnalyzerSettings->setFileRecordName(new QString(settings.m_fileRecordName)); + } + if (featureSettingsKeys.contains("recordToFile")) { + swgDemodAnalyzerSettings->setRecordToFile(settings.m_recordToFile ? 1 : 0); + } + if (featureSettingsKeys.contains("recordSilenceTime") || force) { + swgDemodAnalyzerSettings->setRecordSilenceTime(settings.m_recordSilenceTime); + } QString channelSettingsURL = QString("http://%1:%2/sdrangel/featureset/%3/feature/%4/settings") .arg(settings.m_reverseAPIAddress) diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 9b3c38906..3fae3bb11 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -4858,6 +4858,18 @@ margin-bottom: 20px; "rgbColor" : { "type" : "integer" }, + "fileRecordName" : { + "type" : "string", + "description" : "Output wave file name" + }, + "recordToFile" : { + "type" : "integer", + "description" : "Recording status\n * 1 - recording\n * 0 - not recording\n" + }, + "recordSilenceTime" : { + "type" : "integer", + "description" : "Record silence time before stopping recording in 10ths of seconds" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API\n * 1 - yes\n * 0 - no\n" @@ -56617,7 +56629,7 @@ except ApiException as e:
- Generated 2022-11-12T10:56:38.135+01:00 + Generated 2022-11-13T19:59:19.161+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/DemodAnalyzer.yaml b/sdrbase/resources/webapi/doc/swagger/include/DemodAnalyzer.yaml index 56c54771f..db438b039 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/DemodAnalyzer.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/DemodAnalyzer.yaml @@ -7,6 +7,18 @@ DemodAnalyzerSettings: type: string rgbColor: type: integer + fileRecordName: + type: string + description: Output wave file name + recordToFile: + type: integer + description: > + Recording status + * 1 - recording + * 0 - not recording + recordSilenceTime: + type: integer + description: Record silence time before stopping recording in 10ths of seconds useReverseAPI: type: integer description: > diff --git a/swagger/sdrangel/api/swagger/include/DemodAnalyzer.yaml b/swagger/sdrangel/api/swagger/include/DemodAnalyzer.yaml index 460da9176..0de0a2a8d 100644 --- a/swagger/sdrangel/api/swagger/include/DemodAnalyzer.yaml +++ b/swagger/sdrangel/api/swagger/include/DemodAnalyzer.yaml @@ -7,6 +7,18 @@ DemodAnalyzerSettings: type: string rgbColor: type: integer + fileRecordName: + type: string + description: Output wave file name + recordToFile: + type: integer + description: > + Recording status + * 1 - recording + * 0 - not recording + recordSilenceTime: + type: integer + description: Record silence time before stopping recording in 10ths of seconds useReverseAPI: type: integer description: > diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 9b3c38906..3fae3bb11 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -4858,6 +4858,18 @@ margin-bottom: 20px; "rgbColor" : { "type" : "integer" }, + "fileRecordName" : { + "type" : "string", + "description" : "Output wave file name" + }, + "recordToFile" : { + "type" : "integer", + "description" : "Recording status\n * 1 - recording\n * 0 - not recording\n" + }, + "recordSilenceTime" : { + "type" : "integer", + "description" : "Record silence time before stopping recording in 10ths of seconds" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API\n * 1 - yes\n * 0 - no\n" @@ -56617,7 +56629,7 @@ except ApiException as e:
- Generated 2022-11-12T10:56:38.135+01:00 + Generated 2022-11-13T19:59:19.161+01:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGDemodAnalyzerSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGDemodAnalyzerSettings.cpp index cc0575899..36c423df6 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDemodAnalyzerSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDemodAnalyzerSettings.cpp @@ -34,6 +34,12 @@ SWGDemodAnalyzerSettings::SWGDemodAnalyzerSettings() { m_title_isSet = false; rgb_color = 0; m_rgb_color_isSet = false; + file_record_name = nullptr; + m_file_record_name_isSet = false; + record_to_file = 0; + m_record_to_file_isSet = false; + record_silence_time = 0; + m_record_silence_time_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = nullptr; @@ -64,6 +70,12 @@ SWGDemodAnalyzerSettings::init() { m_title_isSet = false; rgb_color = 0; m_rgb_color_isSet = false; + file_record_name = new QString(""); + m_file_record_name_isSet = false; + record_to_file = 0; + m_record_to_file_isSet = false; + record_silence_time = 0; + m_record_silence_time_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = new QString(""); @@ -89,6 +101,11 @@ SWGDemodAnalyzerSettings::cleanup() { delete title; } + if(file_record_name != nullptr) { + delete file_record_name; + } + + if(reverse_api_address != nullptr) { delete reverse_api_address; @@ -124,6 +141,12 @@ SWGDemodAnalyzerSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", ""); + ::SWGSDRangel::setValue(&file_record_name, pJson["fileRecordName"], "QString", "QString"); + + ::SWGSDRangel::setValue(&record_to_file, pJson["recordToFile"], "qint32", ""); + + ::SWGSDRangel::setValue(&record_silence_time, pJson["recordSilenceTime"], "qint32", ""); + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); @@ -165,6 +188,15 @@ SWGDemodAnalyzerSettings::asJsonObject() { if(m_rgb_color_isSet){ obj->insert("rgbColor", QJsonValue(rgb_color)); } + if(file_record_name != nullptr && *file_record_name != QString("")){ + toJsonValue(QString("fileRecordName"), file_record_name, obj, QString("QString")); + } + if(m_record_to_file_isSet){ + obj->insert("recordToFile", QJsonValue(record_to_file)); + } + if(m_record_silence_time_isSet){ + obj->insert("recordSilenceTime", QJsonValue(record_silence_time)); + } if(m_use_reverse_api_isSet){ obj->insert("useReverseAPI", QJsonValue(use_reverse_api)); } @@ -223,6 +255,36 @@ SWGDemodAnalyzerSettings::setRgbColor(qint32 rgb_color) { this->m_rgb_color_isSet = true; } +QString* +SWGDemodAnalyzerSettings::getFileRecordName() { + return file_record_name; +} +void +SWGDemodAnalyzerSettings::setFileRecordName(QString* file_record_name) { + this->file_record_name = file_record_name; + this->m_file_record_name_isSet = true; +} + +qint32 +SWGDemodAnalyzerSettings::getRecordToFile() { + return record_to_file; +} +void +SWGDemodAnalyzerSettings::setRecordToFile(qint32 record_to_file) { + this->record_to_file = record_to_file; + this->m_record_to_file_isSet = true; +} + +qint32 +SWGDemodAnalyzerSettings::getRecordSilenceTime() { + return record_silence_time; +} +void +SWGDemodAnalyzerSettings::setRecordSilenceTime(qint32 record_silence_time) { + this->record_silence_time = record_silence_time; + this->m_record_silence_time_isSet = true; +} + qint32 SWGDemodAnalyzerSettings::getUseReverseApi() { return use_reverse_api; @@ -317,6 +379,15 @@ SWGDemodAnalyzerSettings::isSet(){ if(m_rgb_color_isSet){ isObjectUpdated = true; break; } + if(file_record_name && *file_record_name != QString("")){ + isObjectUpdated = true; break; + } + if(m_record_to_file_isSet){ + isObjectUpdated = true; break; + } + if(m_record_silence_time_isSet){ + isObjectUpdated = true; break; + } if(m_use_reverse_api_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGDemodAnalyzerSettings.h b/swagger/sdrangel/code/qt5/client/SWGDemodAnalyzerSettings.h index 963022655..0a185dcc7 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDemodAnalyzerSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGDemodAnalyzerSettings.h @@ -54,6 +54,15 @@ public: qint32 getRgbColor(); void setRgbColor(qint32 rgb_color); + QString* getFileRecordName(); + void setFileRecordName(QString* file_record_name); + + qint32 getRecordToFile(); + void setRecordToFile(qint32 record_to_file); + + qint32 getRecordSilenceTime(); + void setRecordSilenceTime(qint32 record_silence_time); + qint32 getUseReverseApi(); void setUseReverseApi(qint32 use_reverse_api); @@ -91,6 +100,15 @@ private: qint32 rgb_color; bool m_rgb_color_isSet; + QString* file_record_name; + bool m_file_record_name_isSet; + + qint32 record_to_file; + bool m_record_to_file_isSet; + + qint32 record_silence_time; + bool m_record_silence_time_isSet; + qint32 use_reverse_api; bool m_use_reverse_api_isSet;