@@ -667,12 +667,7 @@ void MainWindow::loadConfig()
667667 ui->enable_comp ->setChecked (DspConfig::instance ().get <bool >(DspConfig::compander_enable));
668668 ui->comp_granularity ->setValueA (DspConfig::instance ().get <int >(DspConfig::compander_granularity));
669669 ui->comp_timeconstant ->setValueA (100 * DspConfig::instance ().get <float >(DspConfig::compander_timeconstant));
670- int companderTrans = DspConfig::instance ().get <int >(DspConfig::compander_time_freq_transforms);
671- int companderTransIdx = ui->crossfeed_mode ->findData (companderTrans);
672- if (companderTransIdx < 0 )
673- Log::error (QString (" Compander TF transform index for value %1 not found" ).arg (companderTrans));
674- else
675- ui->comp_tf_transforms ->setCurrentIndex (companderTransIdx);
670+ ui->comp_tf_transforms ->setCurrentIndex (DspConfig::instance ().get <int >(DspConfig::compander_time_freq_transforms));
676671
677672 {
678673 // Parse compander response
@@ -728,7 +723,11 @@ void MainWindow::loadConfig()
728723
729724 ui->enable_eq ->setChecked (DspConfig::instance ().get <bool >(DspConfig::tone_enable));
730725 ui->eqinterpolator ->setCurrentIndex (DspConfig::instance ().get <int >(DspConfig::tone_interpolation));
731- ui->eqfiltertype ->setCurrentIndex (DspConfig::instance ().get <int >(DspConfig::tone_filtertype));
726+
727+ int filterType = DspConfig::instance ().get <int >(DspConfig::tone_filtertype);
728+ if (ui->eqfiltertype ->currentIndex () != filterType)
729+ onEqTypeUpdated (filterType);
730+ ui->eqfiltertype ->setCurrentIndex (filterType);
732731
733732 // Parse EQ String to QMap
734733 QString rawEqString = chopDoubleQuotes (DspConfig::instance ().get <QString>(DspConfig::tone_eq));
@@ -1230,6 +1229,29 @@ void MainWindow::onEqModeUpdated()
12301229 setEqMode (isFixed ? 0 : 1 );
12311230}
12321231
1232+ void MainWindow::onEqTypeUpdated (int index)
1233+ {
1234+ ui->eq_widget ->setMode (index == 0 ? LiquidMultiEqualizerWidget::FIR : LiquidMultiEqualizerWidget::IIR);
1235+ ui->eqinterpolator ->setEnabled (index == 0 );
1236+ switch (index) {
1237+ case 1 :
1238+ ui->eq_widget ->setIirOrder (4 );
1239+ break ;
1240+ case 2 :
1241+ ui->eq_widget ->setIirOrder (6 );
1242+ break ;
1243+ case 3 :
1244+ ui->eq_widget ->setIirOrder (8 );
1245+ break ;
1246+ case 4 :
1247+ ui->eq_widget ->setIirOrder (10 );
1248+ break ;
1249+ case 5 :
1250+ ui->eq_widget ->setIirOrder (12 );
1251+ break ;
1252+ }
1253+ }
1254+
12331255void MainWindow::setEqMode (int mode)
12341256{
12351257 ui->eq_holder ->setCurrentIndex (mode);
@@ -1321,6 +1343,7 @@ void MainWindow::connectActions()
13211343 connect (ui->eq_r_flex , &QAbstractButton::clicked, this , &MainWindow::applyConfig);
13221344
13231345 connect (ui->eqfiltertype , qOverload<int >(&QComboBox::currentIndexChanged), this , &MainWindow::applyConfig);
1346+ connect (ui->eqfiltertype , qOverload<int >(&QComboBox::currentIndexChanged), this , &MainWindow::onEqTypeUpdated);
13241347 connect (ui->eqinterpolator , qOverload<int >(&QComboBox::currentIndexChanged), this , &MainWindow::applyConfig);
13251348 connect (ui->conv_ir_opt , qOverload<int >(&QComboBox::currentIndexChanged), this , &MainWindow::applyConfig);
13261349
0 commit comments