+ // The quality group.
+ QActionGroup *quality_group = new QActionGroup(ui->interpolation_menu);
+ quality_group->addAction(ui->quality_0_action);
+ quality_group->addAction(ui->quality_1_action);
+ quality_group->addAction(ui->quality_2_action);
+ quality_group->addAction(ui->quality_3_action);
+ quality_group->addAction(ui->quality_4_action);
+ if (global_flags.interpolation_quality == 0) {
+ ui->quality_0_action->setChecked(true);
+ } else if (global_flags.interpolation_quality == 1) {
+ ui->quality_1_action->setChecked(true);
+ } else if (global_flags.interpolation_quality == 2) {
+ ui->quality_2_action->setChecked(true);
+ } else if (global_flags.interpolation_quality == 3) {
+ ui->quality_3_action->setChecked(true);
+ } else if (global_flags.interpolation_quality == 4) {
+ ui->quality_4_action->setChecked(true);
+ } else {
+ assert(false);
+ }
+ connect(ui->quality_0_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 0, _1));
+ connect(ui->quality_1_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 1, _1));
+ connect(ui->quality_2_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 2, _1));
+ connect(ui->quality_3_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 3, _1));
+ connect(ui->quality_4_action, &QAction::toggled, bind(&MainWindow::quality_toggled, this, 4, _1));
+
+ // The cue-in point padding group.
+ QActionGroup *in_padding_group = new QActionGroup(ui->in_padding_menu);
+ in_padding_group->addAction(ui->in_padding_0_action);
+ in_padding_group->addAction(ui->in_padding_1_action);
+ in_padding_group->addAction(ui->in_padding_2_action);
+ in_padding_group->addAction(ui->in_padding_5_action);
+ if (global_flags.cue_in_point_padding_seconds <= 1e-3) {
+ ui->in_padding_0_action->setChecked(true);
+ } else if (fabs(global_flags.cue_in_point_padding_seconds - 1.0) < 1e-3) {
+ ui->in_padding_1_action->setChecked(true);
+ } else if (fabs(global_flags.cue_in_point_padding_seconds - 2.0) < 1e-3) {
+ ui->in_padding_2_action->setChecked(true);
+ } else if (fabs(global_flags.cue_in_point_padding_seconds - 5.0) < 1e-3) {
+ ui->in_padding_5_action->setChecked(true);
+ } else {
+ // Nothing to check, which is fine.
+ }
+ connect(ui->in_padding_0_action, &QAction::toggled, bind(&MainWindow::in_padding_toggled, this, 0.0, _1));
+ connect(ui->in_padding_1_action, &QAction::toggled, bind(&MainWindow::in_padding_toggled, this, 1.0, _1));
+ connect(ui->in_padding_2_action, &QAction::toggled, bind(&MainWindow::in_padding_toggled, this, 2.0, _1));
+ connect(ui->in_padding_5_action, &QAction::toggled, bind(&MainWindow::in_padding_toggled, this, 5.0, _1));
+
+ // Same for the cue-out padding.
+ QActionGroup *out_padding_group = new QActionGroup(ui->out_padding_menu);
+ out_padding_group->addAction(ui->out_padding_0_action);
+ out_padding_group->addAction(ui->out_padding_1_action);
+ out_padding_group->addAction(ui->out_padding_2_action);
+ out_padding_group->addAction(ui->out_padding_5_action);
+ if (global_flags.cue_out_point_padding_seconds <= 1e-3) {
+ ui->out_padding_0_action->setChecked(true);
+ } else if (fabs(global_flags.cue_out_point_padding_seconds - 1.0) < 1e-3) {
+ ui->out_padding_1_action->setChecked(true);
+ } else if (fabs(global_flags.cue_out_point_padding_seconds - 2.0) < 1e-3) {
+ ui->out_padding_2_action->setChecked(true);
+ } else if (fabs(global_flags.cue_out_point_padding_seconds - 5.0) < 1e-3) {
+ ui->out_padding_5_action->setChecked(true);
+ } else {
+ // Nothing to check, which is fine.
+ }
+ connect(ui->out_padding_0_action, &QAction::toggled, bind(&MainWindow::out_padding_toggled, this, 0.0, _1));
+ connect(ui->out_padding_1_action, &QAction::toggled, bind(&MainWindow::out_padding_toggled, this, 1.0, _1));
+ connect(ui->out_padding_2_action, &QAction::toggled, bind(&MainWindow::out_padding_toggled, this, 2.0, _1));
+ connect(ui->out_padding_5_action, &QAction::toggled, bind(&MainWindow::out_padding_toggled, this, 5.0, _1));
+