diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index 4ec610a32..301e90034 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -757,7 +757,8 @@ Basic.Settings.Video.DownscaleFilter.Lanczos="Lanczos (Sharpened scaling, 32 sam Basic.Settings.Audio="Audio" Basic.Settings.Audio.SampleRate="Sample Rate" Basic.Settings.Audio.Channels="Channels" -Basic.Settings.Audio.MeterDecayRate="Audio Meter Decay Rate" +Basic.Settings.Audio.Meters="Meters" +Basic.Settings.Audio.MeterDecayRate="Decay Rate" Basic.Settings.Audio.MeterDecayRate.Fast="Fast" Basic.Settings.Audio.MeterDecayRate.Medium="Medium (Type I PPM)" Basic.Settings.Audio.MeterDecayRate.Slow="Slow (Type II PPM)" @@ -768,12 +769,13 @@ Basic.Settings.Audio.MultiChannelWarning.Enabled="WARNING: Surround sound audio Basic.Settings.Audio.MultichannelWarning="If streaming, check to see if your streaming service supports both surround sound ingest and surround sound playback. Twitch, Facebook 360 Live, Mixer RTMP, Smashcast are examples where surround sound is fully supported. Although Facebook Live and YouTube Live both accept surround ingest, Facebook Live downmixes to stereo, and YouTube Live plays only two channels.\n\nOBS audio filters are compatible with surround sound, though VST plugin support isn't guaranteed." Basic.Settings.Audio.MultichannelWarning.Title="Enable surround sound audio?" Basic.Settings.Audio.MultichannelWarning.Confirm="Are you sure you want to enable surround sound audio?" -Basic.Settings.Audio.DesktopDevice="Desktop Audio Device" -Basic.Settings.Audio.DesktopDevice2="Desktop Audio Device 2" -Basic.Settings.Audio.AuxDevice="Mic/Auxiliary Audio Device" -Basic.Settings.Audio.AuxDevice2="Mic/Auxiliary Audio Device 2" -Basic.Settings.Audio.AuxDevice3="Mic/Auxiliary Audio Device 3" -Basic.Settings.Audio.AuxDevice4="Mic/Auxiliary Audio Device 4" +Basic.Settings.Audio.Devices="Devices" +Basic.Settings.Audio.DesktopDevice="Desktop Audio" +Basic.Settings.Audio.DesktopDevice2="Desktop Audio 2" +Basic.Settings.Audio.AuxDevice="Mic/Auxiliary Audio" +Basic.Settings.Audio.AuxDevice2="Mic/Auxiliary Audio 2" +Basic.Settings.Audio.AuxDevice3="Mic/Auxiliary Audio 3" +Basic.Settings.Audio.AuxDevice4="Mic/Auxiliary Audio 4" Basic.Settings.Audio.EnablePushToMute="Enable Push-to-mute" Basic.Settings.Audio.PushToMuteDelay="Push-to-mute delay" Basic.Settings.Audio.EnablePushToTalk="Enable Push-to-talk" @@ -796,7 +798,7 @@ Basic.Settings.Advanced.Video.ColorSpace="YUV Color Space" Basic.Settings.Advanced.Video.ColorRange="YUV Color Range" Basic.Settings.Advanced.Video.ColorRange.Partial="Partial" Basic.Settings.Advanced.Video.ColorRange.Full="Full" -Basic.Settings.Advanced.Audio.MonitoringDevice="Audio Monitoring Device" +Basic.Settings.Advanced.Audio.MonitoringDevice="Monitoring Device" Basic.Settings.Advanced.Audio.MonitoringDevice.Default="Default" Basic.Settings.Advanced.Audio.DisableAudioDucking="Disable Windows audio ducking" Basic.Settings.Advanced.StreamDelay="Stream Delay" diff --git a/UI/forms/OBSBasicSettings.ui b/UI/forms/OBSBasicSettings.ui index b1e93be6b..42eb599e2 100644 --- a/UI/forms/OBSBasicSettings.ui +++ b/UI/forms/OBSBasicSettings.ui @@ -3601,271 +3601,475 @@ - - - QFormLayout::AllNonFixedFieldsGrow + + + 0 - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + 0 - - - - Basic.Settings.Audio.SampleRate + + 0 + + + 0 + + + + + QFrame::NoFrame - - sampleRate + + QFrame::Plain - - - - - - 44.1khz - - - 0 - - - - 44.1khz - - - - - 48khz - - - - - - - - Basic.Settings.Audio.Channels - - - channelSetup - - - - - - - Mono - - - 0 - - - - Mono - - - - - Stereo - - - - - 2.1 - - - - - 4.0 - - - - - 4.1 - - - - - 5.1 - - - - - 7.1 - - - - - - - - - 170 - 0 - - - - Basic.Settings.Audio.DesktopDevice - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - desktopAudioDevice1 - - - - - - - true - - - - - - - Basic.Settings.Audio.DesktopDevice2 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - desktopAudioDevice2 - - - - - - - true - - - - - - - Basic.Settings.Audio.AuxDevice - - - auxAudioDevice1 - - - - - - - true - - - - - - - Basic.Settings.Audio.AuxDevice2 - - - auxAudioDevice2 - - - - - - - true - - - - - - - Basic.Settings.Audio.AuxDevice3 - - - auxAudioDevice3 - - - - - - - true - - - - - - - Basic.Settings.Audio.MeterDecayRate - - - meterDecayRate - - - - - - - Basic.Settings.Audio.MeterDecayRate.Fast - - - 0 - - - - Basic.Settings.Audio.MeterDecayRate.Fast - - - - - Basic.Settings.Audio.MeterDecayRate.Medium - - - - - Basic.Settings.Audio.MeterDecayRate.Slow - - - - - - - - Basic.Settings.Audio.PeakMeterType - - - peakMeterType - - - - - - - 0 - - - - Basic.Settings.Audio.PeakMeterType.SamplePeak - - - - - Basic.Settings.Audio.PeakMeterType.TruePeak - - - - - - true - + + + 0 + 0 + 594 + 807 + + + + QFrame::Plain + + + true + + 0 0 - 98 - 28 + 594 + 807 + + + 0 + + + 0 + + + 0 + + + 9 + + + + + + + + Basic.Settings.General + + + + QFormLayout::AllNonFixedFieldsGrow + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 2 + + + + + + 170 + 0 + + + + Basic.Settings.Audio.SampleRate + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + sampleRate + + + + + + + 44.1khz + + + 0 + + + + 44.1khz + + + + + 48khz + + + + + + + + Basic.Settings.Audio.Channels + + + channelSetup + + + + + + + Mono + + + 0 + + + + Mono + + + + + Stereo + + + + + 2.1 + + + + + 4.0 + + + + + 4.1 + + + + + 5.1 + + + + + 7.1 + + + + + + + + + + + Basic.Settings.Audio.Devices + + + + QFormLayout::AllNonFixedFieldsGrow + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 2 + + + + + + 170 + 0 + + + + Basic.Settings.Audio.DesktopDevice + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + desktopAudioDevice1 + + + + + + + true + + + + + + + Basic.Settings.Audio.DesktopDevice2 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + desktopAudioDevice2 + + + + + + + true + + + + + + + Basic.Settings.Audio.AuxDevice + + + auxAudioDevice1 + + + + + + + true + + + + + + + Basic.Settings.Audio.AuxDevice2 + + + auxAudioDevice2 + + + + + + + true + + + + + + + Basic.Settings.Audio.AuxDevice3 + + + auxAudioDevice3 + + + + + + + true + + + + + + + true + + + + + + + Basic.Settings.Audio.AuxDevice4 + + + auxAudioDevice4 + + + + + + + + + + Basic.Settings.Audio.Meters + + + + QFormLayout::AllNonFixedFieldsGrow + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 2 + + + + + + 170 + 0 + + + + Basic.Settings.Audio.MeterDecayRate + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + meterDecayRate + + + + + + + Basic.Settings.Audio.MeterDecayRate.Fast + + + 0 + + + + Basic.Settings.Audio.MeterDecayRate.Fast + + + + + Basic.Settings.Audio.MeterDecayRate.Medium + + + + + Basic.Settings.Audio.MeterDecayRate.Slow + + + + + + + + Basic.Settings.Audio.PeakMeterType + + + peakMeterType + + + + + + + 0 + + + + Basic.Settings.Audio.PeakMeterType.SamplePeak + + + + + Basic.Settings.Audio.PeakMeterType.TruePeak + + + + + + + + + + + Basic.Settings.Advanced + + + + QFormLayout::AllNonFixedFieldsGrow + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 2 + + + + + Basic.Settings.Advanced.Audio.MonitoringDevice + + + monitoringDevice + + + + + + + + + + Qt::Horizontal + + + + 170 + 20 + + + + + + + + Basic.Settings.Advanced.Audio.DisableAudioDucking + + + + + + + + + + Basic.Settings.Hotkeys + + + + QFormLayout::AllNonFixedFieldsGrow + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 2 + + + + + + + + @@ -3895,36 +4099,6 @@ - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - true - - - - - - - Basic.Settings.Audio.AuxDevice4 - - - auxAudioDevice4 - - - @@ -4553,57 +4727,6 @@ - - - - Basic.Settings.Audio - - - - QFormLayout::AllNonFixedFieldsGrow - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - 2 - - - - - Basic.Settings.Advanced.Audio.MonitoringDevice - - - monitoringDevice - - - - - - - - - - Basic.Settings.Advanced.Audio.DisableAudioDucking - - - - - - - Qt::Horizontal - - - - 170 - 20 - - - - - - - @@ -5262,7 +5385,8 @@ auxAudioDevice4 meterDecayRate peakMeterType - audioSourceScrollArea + monitoringDevice + disableAudioDucking baseResolution outputResolution downscaleFilter @@ -5280,8 +5404,6 @@ colorRange disableOSXVSync resetOSXVSync - monitoringDevice - disableAudioDucking filenameFormatting overwriteIfExists autoRemux diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index c34c5988e..330d6d016 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -295,10 +295,6 @@ OBSBasicSettings::OBSBasicSettings(QWidget *parent) ui->listWidget->setAttribute(Qt::WA_MacShowFocusRect, false); - auto policy = ui->audioSourceScrollArea->sizePolicy(); - policy.setVerticalStretch(true); - ui->audioSourceScrollArea->setSizePolicy(policy); - HookWidget(ui->language, COMBO_CHANGED, GENERAL_CHANGED); HookWidget(ui->theme, COMBO_CHANGED, GENERAL_CHANGED); HookWidget(ui->enableAutoUpdates, CHECK_CHANGED, GENERAL_CHANGED); @@ -2006,17 +2002,21 @@ void OBSBasicSettings::LoadAudioDevices() void OBSBasicSettings::LoadAudioSources() { + if (ui->audioSourceLayout->rowCount() > 0) { + QLayoutItem *forDeletion = ui->audioSourceLayout->takeAt(0); + delete forDeletion->widget(); + delete forDeletion; + } auto layout = new QFormLayout(); layout->setVerticalSpacing(15); layout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); - ui->audioSourceScrollArea->takeWidget()->deleteLater(); audioSourceSignals.clear(); audioSources.clear(); auto widget = new QWidget(); widget->setLayout(layout); - ui->audioSourceScrollArea->setWidget(widget); + ui->audioSourceLayout->addRow(widget); const char *enablePtm = Str("Basic.Settings.Audio.EnablePushToMute"); const char *ptmDelay = Str("Basic.Settings.Audio.PushToMuteDelay"); @@ -2095,6 +2095,8 @@ void OBSBasicSettings::LoadAudioSources() ptmCB, pttSB, pttCB, pttSB); auto label = new OBSSourceLabel(source); + label->setMinimumSize(QSize(170, 0)); + label->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter); connect(label, &OBSSourceLabel::Removed, [=]() { @@ -2120,9 +2122,9 @@ void OBSBasicSettings::LoadAudioSources() if (layout->rowCount() == 0) - ui->audioSourceScrollArea->hide(); + ui->audioHotkeysGroupBox->hide(); else - ui->audioSourceScrollArea->show(); + ui->audioHotkeysGroupBox->show(); } void OBSBasicSettings::LoadAudioSettings()