mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-09-28 15:56:33 -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")) {
|
if (channelSettingsKeys.contains("bandpassEnable")) {
|
||||||
settings.m_bandpassEnable = response.getAmDemodSettings()->getBandpassEnable() != 0;
|
settings.m_bandpassEnable = response.getAmDemodSettings()->getBandpassEnable() != 0;
|
||||||
}
|
}
|
||||||
|
if (channelSettingsKeys.contains("audioDeviceName")) {
|
||||||
|
settings.m_audioDeviceName = *response.getAmDemodSettings()->getAudioDeviceName();
|
||||||
|
}
|
||||||
|
|
||||||
if (frequencyOffsetChanged)
|
if (frequencyOffsetChanged)
|
||||||
{
|
{
|
||||||
@ -419,6 +422,12 @@ void AMDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& respo
|
|||||||
} else {
|
} else {
|
||||||
response.getAmDemodSettings()->setTitle(new QString(settings.m_title));
|
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)
|
void AMDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response)
|
||||||
|
@ -605,6 +605,9 @@ int NFMDemod::webapiSettingsPutPatch(
|
|||||||
if (channelSettingsKeys.contains("volume")) {
|
if (channelSettingsKeys.contains("volume")) {
|
||||||
settings.m_volume = response.getNfmDemodSettings()->getVolume();
|
settings.m_volume = response.getNfmDemodSettings()->getVolume();
|
||||||
}
|
}
|
||||||
|
if (channelSettingsKeys.contains("audioDeviceName")) {
|
||||||
|
settings.m_audioDeviceName = *response.getNfmDemodSettings()->getAudioDeviceName();
|
||||||
|
}
|
||||||
|
|
||||||
if (frequencyOffsetChanged)
|
if (frequencyOffsetChanged)
|
||||||
{
|
{
|
||||||
@ -657,6 +660,12 @@ void NFMDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& resp
|
|||||||
} else {
|
} else {
|
||||||
response.getNfmDemodSettings()->setTitle(new QString(settings.m_title));
|
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)
|
void NFMDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& response)
|
||||||
|
@ -749,6 +749,9 @@ margin-bottom: 20px;
|
|||||||
},
|
},
|
||||||
"title" : {
|
"title" : {
|
||||||
"type" : "string"
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"audioDeviceName" : {
|
||||||
|
"type" : "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description" : "AMDemod"
|
"description" : "AMDemod"
|
||||||
@ -1569,6 +1572,9 @@ margin-bottom: 20px;
|
|||||||
},
|
},
|
||||||
"title" : {
|
"title" : {
|
||||||
"type" : "string"
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"audioDeviceName" : {
|
||||||
|
"type" : "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description" : "NFMDemod"
|
"description" : "NFMDemod"
|
||||||
@ -20097,7 +20103,7 @@ except ApiException as e:
|
|||||||
</div>
|
</div>
|
||||||
<div id="generator">
|
<div id="generator">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
Generated 2018-03-29T01:40:29.446+02:00
|
Generated 2018-03-29T07:44:35.585+02:00
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -25,6 +25,8 @@ AMDemodSettings:
|
|||||||
type: integer
|
type: integer
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
|
audioDeviceName:
|
||||||
|
type: string
|
||||||
|
|
||||||
AMDemodReport:
|
AMDemodReport:
|
||||||
description: AMDemod
|
description: AMDemod
|
||||||
|
@ -37,6 +37,8 @@ NFMDemodSettings:
|
|||||||
type: integer
|
type: integer
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
|
audioDeviceName:
|
||||||
|
type: string
|
||||||
|
|
||||||
NFMDemodReport:
|
NFMDemodReport:
|
||||||
description: NFMDemod
|
description: NFMDemod
|
||||||
|
@ -25,6 +25,8 @@ AMDemodSettings:
|
|||||||
type: integer
|
type: integer
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
|
audioDeviceName:
|
||||||
|
type: string
|
||||||
|
|
||||||
AMDemodReport:
|
AMDemodReport:
|
||||||
description: AMDemod
|
description: AMDemod
|
||||||
|
@ -37,6 +37,8 @@ NFMDemodSettings:
|
|||||||
type: integer
|
type: integer
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
|
audioDeviceName:
|
||||||
|
type: string
|
||||||
|
|
||||||
NFMDemodReport:
|
NFMDemodReport:
|
||||||
description: NFMDemod
|
description: NFMDemod
|
||||||
|
@ -749,6 +749,9 @@ margin-bottom: 20px;
|
|||||||
},
|
},
|
||||||
"title" : {
|
"title" : {
|
||||||
"type" : "string"
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"audioDeviceName" : {
|
||||||
|
"type" : "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description" : "AMDemod"
|
"description" : "AMDemod"
|
||||||
@ -1569,6 +1572,9 @@ margin-bottom: 20px;
|
|||||||
},
|
},
|
||||||
"title" : {
|
"title" : {
|
||||||
"type" : "string"
|
"type" : "string"
|
||||||
|
},
|
||||||
|
"audioDeviceName" : {
|
||||||
|
"type" : "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"description" : "NFMDemod"
|
"description" : "NFMDemod"
|
||||||
@ -20097,7 +20103,7 @@ except ApiException as e:
|
|||||||
</div>
|
</div>
|
||||||
<div id="generator">
|
<div id="generator">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
Generated 2018-03-29T01:40:29.446+02:00
|
Generated 2018-03-29T07:44:35.585+02:00
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -44,6 +44,8 @@ SWGAMDemodSettings::SWGAMDemodSettings() {
|
|||||||
m_rgb_color_isSet = false;
|
m_rgb_color_isSet = false;
|
||||||
title = nullptr;
|
title = nullptr;
|
||||||
m_title_isSet = false;
|
m_title_isSet = false;
|
||||||
|
audio_device_name = nullptr;
|
||||||
|
m_audio_device_name_isSet = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
SWGAMDemodSettings::~SWGAMDemodSettings() {
|
SWGAMDemodSettings::~SWGAMDemodSettings() {
|
||||||
@ -68,6 +70,8 @@ SWGAMDemodSettings::init() {
|
|||||||
m_rgb_color_isSet = false;
|
m_rgb_color_isSet = false;
|
||||||
title = new QString("");
|
title = new QString("");
|
||||||
m_title_isSet = false;
|
m_title_isSet = false;
|
||||||
|
audio_device_name = new QString("");
|
||||||
|
m_audio_device_name_isSet = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -82,6 +86,9 @@ SWGAMDemodSettings::cleanup() {
|
|||||||
if(title != nullptr) {
|
if(title != nullptr) {
|
||||||
delete title;
|
delete title;
|
||||||
}
|
}
|
||||||
|
if(audio_device_name != nullptr) {
|
||||||
|
delete audio_device_name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SWGAMDemodSettings*
|
SWGAMDemodSettings*
|
||||||
@ -111,6 +118,8 @@ SWGAMDemodSettings::fromJsonObject(QJsonObject &pJson) {
|
|||||||
|
|
||||||
::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
|
::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
|
||||||
|
|
||||||
|
::SWGSDRangel::setValue(&audio_device_name, pJson["audioDeviceName"], "QString", "QString");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
@ -151,6 +160,9 @@ SWGAMDemodSettings::asJsonObject() {
|
|||||||
if(title != nullptr && *title != QString("")){
|
if(title != nullptr && *title != QString("")){
|
||||||
toJsonValue(QString("title"), title, obj, QString("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;
|
return obj;
|
||||||
}
|
}
|
||||||
@ -235,6 +247,16 @@ SWGAMDemodSettings::setTitle(QString* title) {
|
|||||||
this->m_title_isSet = true;
|
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
|
bool
|
||||||
SWGAMDemodSettings::isSet(){
|
SWGAMDemodSettings::isSet(){
|
||||||
@ -248,6 +270,7 @@ SWGAMDemodSettings::isSet(){
|
|||||||
if(m_bandpass_enable_isSet){ isObjectUpdated = true; break;}
|
if(m_bandpass_enable_isSet){ isObjectUpdated = true; break;}
|
||||||
if(m_rgb_color_isSet){ isObjectUpdated = true; break;}
|
if(m_rgb_color_isSet){ isObjectUpdated = true; break;}
|
||||||
if(title != nullptr && *title != QString("")){ 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);
|
}while(false);
|
||||||
return isObjectUpdated;
|
return isObjectUpdated;
|
||||||
}
|
}
|
||||||
|
@ -66,6 +66,9 @@ public:
|
|||||||
QString* getTitle();
|
QString* getTitle();
|
||||||
void setTitle(QString* title);
|
void setTitle(QString* title);
|
||||||
|
|
||||||
|
QString* getAudioDeviceName();
|
||||||
|
void setAudioDeviceName(QString* audio_device_name);
|
||||||
|
|
||||||
|
|
||||||
virtual bool isSet() override;
|
virtual bool isSet() override;
|
||||||
|
|
||||||
@ -94,6 +97,9 @@ private:
|
|||||||
QString* title;
|
QString* title;
|
||||||
bool m_title_isSet;
|
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;
|
m_rgb_color_isSet = false;
|
||||||
title = nullptr;
|
title = nullptr;
|
||||||
m_title_isSet = false;
|
m_title_isSet = false;
|
||||||
|
audio_device_name = nullptr;
|
||||||
|
m_audio_device_name_isSet = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
SWGNFMDemodSettings::~SWGNFMDemodSettings() {
|
SWGNFMDemodSettings::~SWGNFMDemodSettings() {
|
||||||
@ -88,6 +90,8 @@ SWGNFMDemodSettings::init() {
|
|||||||
m_rgb_color_isSet = false;
|
m_rgb_color_isSet = false;
|
||||||
title = new QString("");
|
title = new QString("");
|
||||||
m_title_isSet = false;
|
m_title_isSet = false;
|
||||||
|
audio_device_name = new QString("");
|
||||||
|
m_audio_device_name_isSet = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -107,6 +111,9 @@ SWGNFMDemodSettings::cleanup() {
|
|||||||
if(title != nullptr) {
|
if(title != nullptr) {
|
||||||
delete title;
|
delete title;
|
||||||
}
|
}
|
||||||
|
if(audio_device_name != nullptr) {
|
||||||
|
delete audio_device_name;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SWGNFMDemodSettings*
|
SWGNFMDemodSettings*
|
||||||
@ -146,6 +153,8 @@ SWGNFMDemodSettings::fromJsonObject(QJsonObject &pJson) {
|
|||||||
|
|
||||||
::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
|
::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
|
||||||
|
|
||||||
|
::SWGSDRangel::setValue(&audio_device_name, pJson["audioDeviceName"], "QString", "QString");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
@ -201,6 +210,9 @@ SWGNFMDemodSettings::asJsonObject() {
|
|||||||
if(title != nullptr && *title != QString("")){
|
if(title != nullptr && *title != QString("")){
|
||||||
toJsonValue(QString("title"), title, obj, QString("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;
|
return obj;
|
||||||
}
|
}
|
||||||
@ -335,6 +347,16 @@ SWGNFMDemodSettings::setTitle(QString* title) {
|
|||||||
this->m_title_isSet = true;
|
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
|
bool
|
||||||
SWGNFMDemodSettings::isSet(){
|
SWGNFMDemodSettings::isSet(){
|
||||||
@ -353,6 +375,7 @@ SWGNFMDemodSettings::isSet(){
|
|||||||
if(m_ctcss_index_isSet){ isObjectUpdated = true; break;}
|
if(m_ctcss_index_isSet){ isObjectUpdated = true; break;}
|
||||||
if(m_rgb_color_isSet){ isObjectUpdated = true; break;}
|
if(m_rgb_color_isSet){ isObjectUpdated = true; break;}
|
||||||
if(title != nullptr && *title != QString("")){ 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);
|
}while(false);
|
||||||
return isObjectUpdated;
|
return isObjectUpdated;
|
||||||
}
|
}
|
||||||
|
@ -81,6 +81,9 @@ public:
|
|||||||
QString* getTitle();
|
QString* getTitle();
|
||||||
void setTitle(QString* title);
|
void setTitle(QString* title);
|
||||||
|
|
||||||
|
QString* getAudioDeviceName();
|
||||||
|
void setAudioDeviceName(QString* audio_device_name);
|
||||||
|
|
||||||
|
|
||||||
virtual bool isSet() override;
|
virtual bool isSet() override;
|
||||||
|
|
||||||
@ -124,6 +127,9 @@ private:
|
|||||||
QString* title;
|
QString* title;
|
||||||
bool m_title_isSet;
|
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
|
# - Descriptive message fragment
|
||||||
commands = [
|
commands = [
|
||||||
["/deviceset/0/device", "PUT", None, {"hwType": "BladeRF"}, "setup BladeRF on Rx 0"],
|
["/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", "POST", None, None, "add Rx 1 device set"],
|
||||||
["/deviceset/1/device", "PUT", None, {"hwType": "SDRdaemonSource"}, "setup SDRdaemonSource on Rx 1"],
|
["/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"],
|
["/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