diff --git a/plugins/channelrx/demodam/amdemod.cpp b/plugins/channelrx/demodam/amdemod.cpp index d92a73cc5..8ee8182e0 100644 --- a/plugins/channelrx/demodam/amdemod.cpp +++ b/plugins/channelrx/demodam/amdemod.cpp @@ -371,6 +371,9 @@ int AMDemod::webapiSettingsPutPatch( if (channelSettingsKeys.contains("bandpassEnable")) { settings.m_bandpassEnable = response.getAmDemodSettings()->getBandpassEnable() != 0; } + if (channelSettingsKeys.contains("audioDeviceName")) { + settings.m_audioDeviceName = *response.getAmDemodSettings()->getAudioDeviceName(); + } if (frequencyOffsetChanged) { @@ -419,6 +422,12 @@ void AMDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& respo } else { response.getAmDemodSettings()->setTitle(new QString(settings.m_title)); } + + if (response.getAmDemodSettings()->getAudioDeviceName()) { + *response.getAmDemodSettings()->getAudioDeviceName() = settings.m_audioDeviceName; + } else { + response.getAmDemodSettings()->setAudioDeviceName(new QString(settings.m_audioDeviceName)); + } } void AMDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response) diff --git a/plugins/channelrx/demodnfm/nfmdemod.cpp b/plugins/channelrx/demodnfm/nfmdemod.cpp index 55e477577..afa73f299 100644 --- a/plugins/channelrx/demodnfm/nfmdemod.cpp +++ b/plugins/channelrx/demodnfm/nfmdemod.cpp @@ -605,6 +605,9 @@ int NFMDemod::webapiSettingsPutPatch( if (channelSettingsKeys.contains("volume")) { settings.m_volume = response.getNfmDemodSettings()->getVolume(); } + if (channelSettingsKeys.contains("audioDeviceName")) { + settings.m_audioDeviceName = *response.getNfmDemodSettings()->getAudioDeviceName(); + } if (frequencyOffsetChanged) { @@ -657,6 +660,12 @@ void NFMDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& resp } else { response.getNfmDemodSettings()->setTitle(new QString(settings.m_title)); } + + if (response.getNfmDemodSettings()->getAudioDeviceName()) { + *response.getNfmDemodSettings()->getAudioDeviceName() = settings.m_audioDeviceName; + } else { + response.getNfmDemodSettings()->setAudioDeviceName(new QString(settings.m_audioDeviceName)); + } } void NFMDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response) diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 635859c5d..fd68e1c5a 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -749,6 +749,9 @@ margin-bottom: 20px; }, "title" : { "type" : "string" + }, + "audioDeviceName" : { + "type" : "string" } }, "description" : "AMDemod" @@ -1569,6 +1572,9 @@ margin-bottom: 20px; }, "title" : { "type" : "string" + }, + "audioDeviceName" : { + "type" : "string" } }, "description" : "NFMDemod" @@ -20097,7 +20103,7 @@ except ApiException as e:
- Generated 2018-03-29T01:40:29.446+02:00 + Generated 2018-03-29T07:44:35.585+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/AMDemod.yaml b/sdrbase/resources/webapi/doc/swagger/include/AMDemod.yaml index 37a05eb34..9505df9c5 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AMDemod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AMDemod.yaml @@ -25,6 +25,8 @@ AMDemodSettings: type: integer title: type: string + audioDeviceName: + type: string AMDemodReport: description: AMDemod diff --git a/sdrbase/resources/webapi/doc/swagger/include/NFMDemod.yaml b/sdrbase/resources/webapi/doc/swagger/include/NFMDemod.yaml index 7d18d0cc2..bdbdde412 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/NFMDemod.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/NFMDemod.yaml @@ -37,6 +37,8 @@ NFMDemodSettings: type: integer title: type: string + audioDeviceName: + type: string NFMDemodReport: description: NFMDemod diff --git a/swagger/sdrangel/api/swagger/include/AMDemod.yaml b/swagger/sdrangel/api/swagger/include/AMDemod.yaml index 37a05eb34..9505df9c5 100644 --- a/swagger/sdrangel/api/swagger/include/AMDemod.yaml +++ b/swagger/sdrangel/api/swagger/include/AMDemod.yaml @@ -25,6 +25,8 @@ AMDemodSettings: type: integer title: type: string + audioDeviceName: + type: string AMDemodReport: description: AMDemod diff --git a/swagger/sdrangel/api/swagger/include/NFMDemod.yaml b/swagger/sdrangel/api/swagger/include/NFMDemod.yaml index 7d18d0cc2..bdbdde412 100644 --- a/swagger/sdrangel/api/swagger/include/NFMDemod.yaml +++ b/swagger/sdrangel/api/swagger/include/NFMDemod.yaml @@ -37,6 +37,8 @@ NFMDemodSettings: type: integer title: type: string + audioDeviceName: + type: string NFMDemodReport: description: NFMDemod diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 635859c5d..fd68e1c5a 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -749,6 +749,9 @@ margin-bottom: 20px; }, "title" : { "type" : "string" + }, + "audioDeviceName" : { + "type" : "string" } }, "description" : "AMDemod" @@ -1569,6 +1572,9 @@ margin-bottom: 20px; }, "title" : { "type" : "string" + }, + "audioDeviceName" : { + "type" : "string" } }, "description" : "NFMDemod" @@ -20097,7 +20103,7 @@ except ApiException as e:
- Generated 2018-03-29T01:40:29.446+02:00 + Generated 2018-03-29T07:44:35.585+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.cpp index d9b74809e..a5b0c7b8e 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.cpp @@ -44,6 +44,8 @@ SWGAMDemodSettings::SWGAMDemodSettings() { m_rgb_color_isSet = false; title = nullptr; m_title_isSet = false; + audio_device_name = nullptr; + m_audio_device_name_isSet = false; } SWGAMDemodSettings::~SWGAMDemodSettings() { @@ -68,6 +70,8 @@ SWGAMDemodSettings::init() { m_rgb_color_isSet = false; title = new QString(""); m_title_isSet = false; + audio_device_name = new QString(""); + m_audio_device_name_isSet = false; } void @@ -82,6 +86,9 @@ SWGAMDemodSettings::cleanup() { if(title != nullptr) { delete title; } + if(audio_device_name != nullptr) { + delete audio_device_name; + } } SWGAMDemodSettings* @@ -111,6 +118,8 @@ SWGAMDemodSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&audio_device_name, pJson["audioDeviceName"], "QString", "QString"); + } QString @@ -151,6 +160,9 @@ SWGAMDemodSettings::asJsonObject() { if(title != nullptr && *title != QString("")){ toJsonValue(QString("title"), title, obj, QString("QString")); } + if(audio_device_name != nullptr && *audio_device_name != QString("")){ + toJsonValue(QString("audioDeviceName"), audio_device_name, obj, QString("QString")); + } return obj; } @@ -235,6 +247,16 @@ SWGAMDemodSettings::setTitle(QString* title) { this->m_title_isSet = true; } +QString* +SWGAMDemodSettings::getAudioDeviceName() { + return audio_device_name; +} +void +SWGAMDemodSettings::setAudioDeviceName(QString* audio_device_name) { + this->audio_device_name = audio_device_name; + this->m_audio_device_name_isSet = true; +} + bool SWGAMDemodSettings::isSet(){ @@ -248,6 +270,7 @@ SWGAMDemodSettings::isSet(){ if(m_bandpass_enable_isSet){ isObjectUpdated = true; break;} if(m_rgb_color_isSet){ isObjectUpdated = true; break;} if(title != nullptr && *title != QString("")){ isObjectUpdated = true; break;} + if(audio_device_name != nullptr && *audio_device_name != QString("")){ isObjectUpdated = true; break;} }while(false); return isObjectUpdated; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.h b/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.h index 44e6e82df..3fbd078a8 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAMDemodSettings.h @@ -66,6 +66,9 @@ public: QString* getTitle(); void setTitle(QString* title); + QString* getAudioDeviceName(); + void setAudioDeviceName(QString* audio_device_name); + virtual bool isSet() override; @@ -94,6 +97,9 @@ private: QString* title; bool m_title_isSet; + QString* audio_device_name; + bool m_audio_device_name_isSet; + }; } diff --git a/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.cpp index 7f142b703..6a7ced10d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.cpp @@ -54,6 +54,8 @@ SWGNFMDemodSettings::SWGNFMDemodSettings() { m_rgb_color_isSet = false; title = nullptr; m_title_isSet = false; + audio_device_name = nullptr; + m_audio_device_name_isSet = false; } SWGNFMDemodSettings::~SWGNFMDemodSettings() { @@ -88,6 +90,8 @@ SWGNFMDemodSettings::init() { m_rgb_color_isSet = false; title = new QString(""); m_title_isSet = false; + audio_device_name = new QString(""); + m_audio_device_name_isSet = false; } void @@ -107,6 +111,9 @@ SWGNFMDemodSettings::cleanup() { if(title != nullptr) { delete title; } + if(audio_device_name != nullptr) { + delete audio_device_name; + } } SWGNFMDemodSettings* @@ -146,6 +153,8 @@ SWGNFMDemodSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString"); + ::SWGSDRangel::setValue(&audio_device_name, pJson["audioDeviceName"], "QString", "QString"); + } QString @@ -201,6 +210,9 @@ SWGNFMDemodSettings::asJsonObject() { if(title != nullptr && *title != QString("")){ toJsonValue(QString("title"), title, obj, QString("QString")); } + if(audio_device_name != nullptr && *audio_device_name != QString("")){ + toJsonValue(QString("audioDeviceName"), audio_device_name, obj, QString("QString")); + } return obj; } @@ -335,6 +347,16 @@ SWGNFMDemodSettings::setTitle(QString* title) { this->m_title_isSet = true; } +QString* +SWGNFMDemodSettings::getAudioDeviceName() { + return audio_device_name; +} +void +SWGNFMDemodSettings::setAudioDeviceName(QString* audio_device_name) { + this->audio_device_name = audio_device_name; + this->m_audio_device_name_isSet = true; +} + bool SWGNFMDemodSettings::isSet(){ @@ -353,6 +375,7 @@ SWGNFMDemodSettings::isSet(){ if(m_ctcss_index_isSet){ isObjectUpdated = true; break;} if(m_rgb_color_isSet){ isObjectUpdated = true; break;} if(title != nullptr && *title != QString("")){ isObjectUpdated = true; break;} + if(audio_device_name != nullptr && *audio_device_name != QString("")){ isObjectUpdated = true; break;} }while(false); return isObjectUpdated; } diff --git a/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.h b/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.h index 8ec59c048..d96cdd488 100644 --- a/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGNFMDemodSettings.h @@ -81,6 +81,9 @@ public: QString* getTitle(); void setTitle(QString* title); + QString* getAudioDeviceName(); + void setAudioDeviceName(QString* audio_device_name); + virtual bool isSet() override; @@ -124,6 +127,9 @@ private: QString* title; bool m_title_isSet; + QString* audio_device_name; + bool m_audio_device_name_isSet; + }; } diff --git a/swagger/sdrangel/examples/devicesets_config.py b/swagger/sdrangel/examples/devicesets_config.py index 779059cf1..827074a25 100755 --- a/swagger/sdrangel/examples/devicesets_config.py +++ b/swagger/sdrangel/examples/devicesets_config.py @@ -13,7 +13,7 @@ base_url = "http://127.0.0.1:8091/sdrangel" # - Descriptive message fragment commands = [ ["/deviceset/0/device", "PUT", None, {"hwType": "BladeRF"}, "setup BladeRF on Rx 0"], - ["/preset", "PATCH", None, {"deviceSetIndex": 0, "preset": {"groupName": "OM144", "centerFrequency": 145640000, "type": "R", "name": "Repeaters extended"}}, "load preset on Rx 0"], + ["/preset", "PATCH", None, {"deviceSetIndex": 0, "preset": {"groupName": "OM144", "centerFrequency": 145480000, "type": "R", "name": "Rept + Simplex + DV"}}, "load preset on Rx 0"], ["/deviceset", "POST", None, None, "add Rx 1 device set"], ["/deviceset/1/device", "PUT", None, {"hwType": "SDRdaemonSource"}, "setup SDRdaemonSource on Rx 1"], ["/preset", "PATCH", None, {"deviceSetIndex": 1, "preset": {"groupName": "OM430", "centerFrequency": 439550000, "type": "R", "name": "F5ZKP Daemon RPi3 SUSE"}}, "load preset on Rx 1"],