UI: Add buffer size to 'simple' settings

This commit is contained in:
jp9000
2015-02-06 03:56:19 -08:00
parent 07007bcc6e
commit a2373b1258
4 changed files with 138 additions and 26 deletions
+26
View File
@@ -142,6 +142,8 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent)
HookWidget(ui->simpleOutUseCBR, CHECK_CHANGED, OUTPUTS_CHANGED);
HookWidget(ui->simpleOutPreset, COMBO_CHANGED, OUTPUTS_CHANGED);
HookWidget(ui->simpleOutCustom, EDIT_CHANGED, OUTPUTS_CHANGED);
HookWidget(ui->simpleOutUseBufsize, CHECK_CHANGED, OUTPUTS_CHANGED);
HookWidget(ui->simpleOutVBufsize, SCROLL_CHANGED, OUTPUTS_CHANGED);
HookWidget(ui->channelSetup, COMBO_CHANGED, AUDIO_RESTART);
HookWidget(ui->sampleRate, COMBO_CHANGED, AUDIO_RESTART);
HookWidget(ui->desktopAudioDevice1, COMBO_CHANGED, AUDIO_CHANGED);
@@ -442,6 +444,8 @@ void OBSBasicSettings::LoadSimpleOutputSettings()
"FilePath");
int videoBitrate = config_get_uint(main->Config(), "SimpleOutput",
"VBitrate");
int videoBufsize = config_get_uint(main->Config(), "SimpleOutput",
"Bufsize");
int audioBitrate = config_get_uint(main->Config(), "SimpleOutput",
"ABitrate");
bool reconnect = config_get_bool(main->Config(), "SimpleOutput",
@@ -454,6 +458,8 @@ void OBSBasicSettings::LoadSimpleOutputSettings()
"UseAdvanced");
bool useCBR = config_get_bool(main->Config(), "SimpleOutput",
"UseCBR");
bool useBufsize = config_get_bool(main->Config(), "SimpleOutput",
"UseBufsize");
const char *preset = config_get_string(main->Config(), "SimpleOutput",
"Preset");
const char *custom = config_get_string(main->Config(), "SimpleOutput",
@@ -461,6 +467,9 @@ void OBSBasicSettings::LoadSimpleOutputSettings()
ui->simpleOutputPath->setText(path);
ui->simpleOutputVBitrate->setValue(videoBitrate);
ui->simpleOutUseBufsize->setChecked(useBufsize);
ui->simpleOutVBufsize->setValue(
useBufsize ? videoBufsize : videoBitrate);
SetComboByName(ui->simpleOutputABitrate,
std::to_string(audioBitrate).c_str());
@@ -647,8 +656,12 @@ void OBSBasicSettings::SaveOutputSettings()
SaveSpinBox(ui->simpleOutMaxRetries, "SimpleOutput", "MaxRetries");
SaveCheckBox(ui->simpleOutAdvanced, "SimpleOutput", "UseAdvanced");
SaveCheckBox(ui->simpleOutUseCBR, "SimpleOutput", "UseCBR");
SaveCheckBox(ui->simpleOutUseBufsize, "SimpleOutput", "UseBufsize");
SaveCombo(ui->simpleOutPreset, "SimpleOutput", "Preset");
SaveEdit(ui->simpleOutCustom, "SimpleOutput", "x264Settings");
if (ui->simpleOutUseBufsize->isChecked())
SaveSpinBox(ui->simpleOutVBufsize, "SimpleOutput", "VBufsize");
}
void OBSBasicSettings::SaveAudioSettings()
@@ -723,6 +736,19 @@ void OBSBasicSettings::closeEvent(QCloseEvent *event)
event->ignore();
}
void OBSBasicSettings::on_simpleOutUseBufsize_toggled(bool checked)
{
if (!checked)
ui->simpleOutVBufsize->setValue(
ui->simpleOutputVBitrate->value());
}
void OBSBasicSettings::on_simpleOutputVBitrate_valueChanged(int val)
{
if (!ui->simpleOutUseBufsize->isChecked())
ui->simpleOutVBufsize->setValue(val);
}
void OBSBasicSettings::on_listWidget_itemSelectionChanged()
{
int row = ui->listWidget->currentRow();