diff --git a/plugins/channeltx/modssb/ssbmodgui.cpp b/plugins/channeltx/modssb/ssbmodgui.cpp index a61ae5bc5..1f45221bc 100644 --- a/plugins/channeltx/modssb/ssbmodgui.cpp +++ b/plugins/channeltx/modssb/ssbmodgui.cpp @@ -84,14 +84,14 @@ bool SSBModGUI::deserialize(const QByteArray& data) { qDebug("SSBModGUI::deserialize"); displaySettings(); - applyBandwidths(true); // does applySettings(true) + applyBandwidths(5 - ui->spanLog2->value(), true); // does applySettings(true) return true; } else { m_settings.resetToDefaults(); displaySettings(); - applyBandwidths(true); // does applySettings(true) + applyBandwidths(5 - ui->spanLog2->value(), true); // does applySettings(true) return false; } } @@ -115,7 +115,7 @@ bool SSBModGUI::handleMessage(const Message& message) else if (DSPConfigureAudio::match(message)) { qDebug("SSBModGUI::handleMessage: DSPConfigureAudio: %d", m_ssbMod->getAudioSampleRate()); - applyBandwidths(); // will update spectrum details with new sample rate + applyBandwidths(5 - ui->spanLog2->value()); // will update spectrum details with new sample rate return true; } else if (SSBMod::MsgConfigureSSBMod::match(message)) @@ -184,7 +184,7 @@ void SSBModGUI::on_flipSidebands_clicked(bool checked __attribute__((unused))) void SSBModGUI::on_dsb_toggled(bool dsb) { ui->flipSidebands->setEnabled(!dsb); - applyBandwidths(); + applyBandwidths(5 - ui->spanLog2->value()); } void SSBModGUI::on_audioBinaural_toggled(bool checked) @@ -201,21 +201,21 @@ void SSBModGUI::on_audioFlipChannels_toggled(bool checked) void SSBModGUI::on_spanLog2_valueChanged(int value) { - if ((value < 1) || (value > 5)) { + if ((value < 0) || (value > 4)) { return; } - applyBandwidths(); + applyBandwidths(5 - value); } void SSBModGUI::on_BW_valueChanged(int value __attribute__((unused))) { - applyBandwidths(); + applyBandwidths(5 - ui->spanLog2->value()); } void SSBModGUI::on_lowCut_valueChanged(int value __attribute__((unused))) { - applyBandwidths(); + applyBandwidths(5 - ui->spanLog2->value()); } void SSBModGUI::on_toneFrequency_valueChanged(int value) @@ -454,7 +454,7 @@ SSBModGUI::SSBModGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSam m_iconDSBLSB.addPixmap(QPixmap("://lsb.png"), QIcon::Normal, QIcon::Off); displaySettings(); - applyBandwidths(true); // does applySettings(true) + applyBandwidths(5 - ui->spanLog2->value(), true); // does applySettings(true) } SSBModGUI::~SSBModGUI() @@ -485,10 +485,9 @@ void SSBModGUI::applySettings(bool force) } } -void SSBModGUI::applyBandwidths(bool force) +void SSBModGUI::applyBandwidths(int spanLog2, bool force) { bool dsb = ui->dsb->isChecked(); - int spanLog2 = ui->spanLog2->value(); m_spectrumRate = m_ssbMod->getAudioSampleRate() / (1<BW->value(); int lw = ui->lowCut->value(); @@ -646,7 +645,7 @@ void SSBModGUI::displaySettings() ui->BW->blockSignals(true); ui->dsb->setChecked(m_settings.m_dsb); - ui->spanLog2->setValue(m_settings.m_spanLog2); + ui->spanLog2->setValue(5 - m_settings.m_spanLog2); ui->BW->setValue(roundf(m_settings.m_bandwidth/100.0)); s = QString::number(m_settings.m_bandwidth/1000.0, 'f', 1); diff --git a/plugins/channeltx/modssb/ssbmodgui.h b/plugins/channeltx/modssb/ssbmodgui.h index 58b5191e9..d972f2c2c 100644 --- a/plugins/channeltx/modssb/ssbmodgui.h +++ b/plugins/channeltx/modssb/ssbmodgui.h @@ -87,7 +87,7 @@ private: bool blockApplySettings(bool block); void applySettings(bool force = false); - void applyBandwidths(bool force = false); + void applyBandwidths(int spanLog2, bool force = false); void displaySettings(); void displayAGCPowerThreshold(); void updateWithStreamData(); diff --git a/plugins/channeltx/modssb/ssbmodgui.ui b/plugins/channeltx/modssb/ssbmodgui.ui index 3bd0bd02f..17d480f3e 100644 --- a/plugins/channeltx/modssb/ssbmodgui.ui +++ b/plugins/channeltx/modssb/ssbmodgui.ui @@ -53,16 +53,7 @@ 3 - - 2 - - - 2 - - - 2 - - + 2 @@ -252,6 +243,18 @@ + + + 50 + 0 + + + + + 50 + 16777215 + + Span @@ -263,10 +266,92 @@ Spectrum display frequency span - 1 + 0 - 5 + 4 + + + 1 + + + 2 + + + 2 + + + Qt::Horizontal + + + false + + + false + + + + + + + + 50 + 0 + + + + + 50 + 16777215 + + + + 6.0k + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + 50 + 0 + + + + + 50 + 16777215 + + + + Low cut + + + + + + + + 16777215 + 16 + + + + Highpass filter cutoff frequency (SSB) + + + -60 + + + 60 1 @@ -274,24 +359,33 @@ 3 - - 3 - Qt::Horizontal - - true + + QSlider::NoTicks - - true + + 5 - + + + + 50 + 0 + + + + + 50 + 16777215 + + - 6.0k + 0.3k Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -522,85 +616,6 @@ - - - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - Low cut - - - - - - - - 16777215 - 16 - - - - Highpass filter cutoff frequency (SSB) - - - -60 - - - 60 - - - 1 - - - 3 - - - Qt::Horizontal - - - QSlider::TicksAbove - - - 5 - - - - - - - - 50 - 0 - - - - - 50 - 16777215 - - - - 0.3k - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - @@ -1224,16 +1239,7 @@ 2 - - 3 - - - 3 - - - 3 - - + 3 diff --git a/plugins/channeltx/modssb/ssbmodplugin.cpp b/plugins/channeltx/modssb/ssbmodplugin.cpp index c19c2cc04..f4a5fd5cb 100644 --- a/plugins/channeltx/modssb/ssbmodplugin.cpp +++ b/plugins/channeltx/modssb/ssbmodplugin.cpp @@ -25,7 +25,7 @@ const PluginDescriptor SSBModPlugin::m_pluginDescriptor = { QString("SSB Modulator"), - QString("3.14.2"), + QString("3.14.5"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true,