mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-04-01 09:08:51 -04:00
Multiple audio support: Web API: AMDemod and NFMDemod: implemented audio device name in settings
This commit is contained in:
parent
b7065c8c83
commit
acb96acd85
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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:
|
||||
</div>
|
||||
<div id="generator">
|
||||
<div class="content">
|
||||
Generated 2018-03-29T01:40:29.446+02:00
|
||||
Generated 2018-03-29T07:44:35.585+02:00
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -25,6 +25,8 @@ AMDemodSettings:
|
||||
type: integer
|
||||
title:
|
||||
type: string
|
||||
audioDeviceName:
|
||||
type: string
|
||||
|
||||
AMDemodReport:
|
||||
description: AMDemod
|
||||
|
@ -37,6 +37,8 @@ NFMDemodSettings:
|
||||
type: integer
|
||||
title:
|
||||
type: string
|
||||
audioDeviceName:
|
||||
type: string
|
||||
|
||||
NFMDemodReport:
|
||||
description: NFMDemod
|
||||
|
@ -25,6 +25,8 @@ AMDemodSettings:
|
||||
type: integer
|
||||
title:
|
||||
type: string
|
||||
audioDeviceName:
|
||||
type: string
|
||||
|
||||
AMDemodReport:
|
||||
description: AMDemod
|
||||
|
@ -37,6 +37,8 @@ NFMDemodSettings:
|
||||
type: integer
|
||||
title:
|
||||
type: string
|
||||
audioDeviceName:
|
||||
type: string
|
||||
|
||||
NFMDemodReport:
|
||||
description: NFMDemod
|
||||
|
@ -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:
|
||||
</div>
|
||||
<div id="generator">
|
||||
<div class="content">
|
||||
Generated 2018-03-29T01:40:29.446+02:00
|
||||
Generated 2018-03-29T07:44:35.585+02:00
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -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"],
|
||||
|
Loading…
Reference in New Issue
Block a user