From 7475eff13a5e3afd283d12d4d043012e1fa435a4 Mon Sep 17 00:00:00 2001 From: gxalpha Date: Sat, 25 Jun 2022 19:25:18 +0200 Subject: [PATCH] UI: Only offer ultrafast-fast x264 presets in Simple Mode --- UI/data/locale/en-US.ini | 3 +++ UI/window-basic-settings.cpp | 28 ++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index ac668cc85..bb4962675 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -911,6 +911,9 @@ Basic.Settings.Output.RetryDelay="Retry Delay" Basic.Settings.Output.MaxRetries="Maximum Retries" Basic.Settings.Output.Advanced="Enable Custom Encoder Settings (Advanced)" Basic.Settings.Output.EncoderPreset="Encoder Preset" +Basic.Settings.Output.EncoderPreset.ultrafast="%1 (low CPU usage, lowest quality)" +Basic.Settings.Output.EncoderPreset.veryfast="%1 (default) (medium CPU usage, standard quality)" +Basic.Settings.Output.EncoderPreset.fast="%1 (high CPU usage, high quality)" Basic.Settings.Output.CustomEncoderSettings="Custom Encoder Settings" Basic.Settings.Output.CustomMuxerSettings="Custom Muxer Settings" Basic.Settings.Output.NoSpaceFileName="Generate File Name without Space" diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index f1b08dcc2..02adf9777 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -4922,14 +4922,30 @@ void OBSBasicSettings::SimpleStreamingEncoderChanged() defaultPreset = "balanced"; preset = curAMDPreset; } else { - ui->simpleOutPreset->addItem("ultrafast", "ultrafast"); + +#define PRESET_STR(val) \ + QString(Str("Basic.Settings.Output.EncoderPreset." val)).arg(val) + ui->simpleOutPreset->addItem(PRESET_STR("ultrafast"), + "ultrafast"); ui->simpleOutPreset->addItem("superfast", "superfast"); - ui->simpleOutPreset->addItem("veryfast", "veryfast"); + ui->simpleOutPreset->addItem(PRESET_STR("veryfast"), + "veryfast"); ui->simpleOutPreset->addItem("faster", "faster"); - ui->simpleOutPreset->addItem("fast", "fast"); - ui->simpleOutPreset->addItem("medium", "medium"); - ui->simpleOutPreset->addItem("slow", "slow"); - ui->simpleOutPreset->addItem("slower", "slower"); + ui->simpleOutPreset->addItem(PRESET_STR("fast"), "fast"); +#undef PRESET_STR + + /* Users might have previously selected a preset which is no + * longer available in simple mode. Make sure we don't mess + * with their setups without them knowing. */ + if (ui->simpleOutPreset->findData(curPreset) == -1) { + ui->simpleOutPreset->addItem(curPreset, curPreset); + QStandardItemModel *model = + qobject_cast( + ui->simpleOutPreset->model()); + QStandardItem *item = + model->item(model->rowCount() - 1); + item->setEnabled(false); + } defaultPreset = "veryfast"; preset = curPreset;