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"],