Commit graph

3469 commits

Author SHA1 Message Date
Ryan Foster 9d88b632ae UI: Add step value to Multitrack Video maximum bitrate control
All other bitrate setting fields in the UI have a single-step value of
50. Without setting this, the single-step value is 1, which makes using
the scroll wheel a bit tedious.

While this could arguably be higher, let's make this consistent first
and then consider changing the values across the application later.
2024-06-17 10:36:17 -04:00
Ryan Foster 0d7478c017 UI: Set Multitrack Video maximum bitrate limit default to 0/Auto
There were some reports that the default value of 8000 was confusing
because it implies that the automaticaly selected and used value is 8000
Kbps. Set it to 0 which should hopefully make it more obvious that OBS
is not sending 0 Kbps.
2024-06-15 16:40:53 -07:00
Ryan Foster 62830cd8c7 UI: Fix icon-size values in theme files
The Qt docs on icon-size say its Type is Length, which is further
defined as, "A number followed by a measurement unit."

https://doc.qt.io/qt-6/stylesheet-reference.html#icon-size
https://doc.qt.io/qt-6/stylesheet-reference.html#length

This fixes the following logged Qt warning:
QCssParser::sizeValue: Too many values provided
2024-06-15 16:11:49 -07:00
cg2121 dcd2f19c83 UI: Remove redundant addAction call
This removes a redundant addAction call in the studio mode program
context menu.
2024-06-15 16:08:24 -07:00
gxalpha 7cd5ede1e0 UI: Initialize YoutubeChatDock chat input members in constructor
Currently, the chat input elements (lineEdit, sendButton, and
chatLayout) are initialized when the QCefWidget gets set. This is
problematic behavior that only happened to work because we're a bit
lucky: The chat is only enabled after a widget is set, and it's only set
once. Without those conditions, the chat dock would crash when enabling
the chat before a widget is set, and the elements would get recreated if
the widget is set a second time, resulting in the original elements not
getting freed and leaking.
Moving the element creation to the constructor fixes both of these
problems, as now they're created immediately and only once.

Detected by PVS-Studio.
2024-06-15 16:06:38 -07:00
gxalpha f462ffb224 UI: Initialize max length of LineEditAutoResize in constructor
LineEditAutoResize didn't have its maxLength initialized in the
constructor, leaving it to be a random value until set via setMaxLength.
The one place where LineEditAutoResize was used immediately set this
after calling the constructor, but if we use this anywhere else in the
future it makes sense to have this initialized.
As it is meant to mostly behave like a QLineEdit, lets use the same
default value of 32767.

Detected by PVS-Studio.
2024-06-15 16:06:38 -07:00
Ruwen Hahn 600a564039 UI: Add composition_gpu_index to multitrack video postdata 2024-06-14 20:08:26 -04:00
Alex Luccisano d7e2636316 UI: Change multitrack video configId
Schema has changed this field from "obsConfigId" to
"clientConfigId". Updated the name to match.
2024-06-14 20:08:26 -04:00
derrod d2a7f01295 updater: Use static blake2 and fix building with Debug runtimes 2024-06-14 18:10:04 -04:00
Ruwen Hahn e4305b0a50 UI: Hide multitrack video options for custom output
Custom output doesn't currently allow specifying a config URL, so
disable relevant settings for now
2024-06-14 17:39:11 -04:00
Ruwen Hahn 40bf8b3c06 UI: Make audio_configurations.vod optional
This is only required if VOD is supported by the service and VOD
track is enabled; otherwise there's no need to supply the key
or an empty array
2024-06-14 17:33:31 -04:00
Ryan Foster 021adac2d0 UI: Fix submenu arrow indicator position in menus
Commit b11d61c89f added padding-right to
provide some minimal padding for this element. This was seemingly
accounted for in the Yami Base Theme (Yami.obt), but was missed in the
Yami Classic Variant Theme (Yami_Classic.ovt).

Re-add the padding-right to restore the padding.
2024-06-14 14:43:40 -04:00
Ryan Foster b1643c2ac9 UI: Add unit suffix to Multitrack Video bitrate limit control 2024-06-14 14:42:03 -04:00
Andrew Francis 14d2c80560 UI: Re-arrange multitrack-video schema to version 2024-06-04
Co-authored-by: Ruwen Hahn <haruwenz@twitch.tv>
2024-06-14 13:12:19 -04:00
Andrew Francis ce4171908b UI: Remove default values from multitrack-video.hpp
These are always overridden in goliveapi-postdata.cpp

Co-authored-by: Ruwen Hahn <haruwenz@twitch.tv>
2024-06-14 13:12:19 -04:00
Ryan Foster 77d31fa33f UI: Restore visibility of Advanced Settings warning
The warning message when changing Advanced settings that require a
restart was lost. Restore it.

Amends commit 7d55942601.
2024-06-13 14:42:25 -04:00
derrod 718bd0b265 UI: Use unique_ptr for theme objects 2024-06-12 18:41:11 -04:00
derrod 4a46d2d722 UI: Fix themeDir buffer being resized incorrectly
c677bac875 changed the order here, but
this also resulted in the string having whatever size was necessary for
the install data path, rather than being large enough to fit a userdata
path. To fix this, move the resize operaetion *after* the buit-in
themes are searched, and also bump it to 1024 just to be sure.

This resulted in a crash due to a bug in os_get_path_internal() which
will need to be fixed separately.
2024-06-12 17:57:02 -04:00
derrod 21adf0930f UI: Prevent recursion in theme dependencies 2024-06-11 18:25:40 -04:00
Ryan Foster cfd692ca15 updater: Fix defaultlib conflict
Trying to build in Debug fails due a default lib conflict:
LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use
/NODEFAULTLIB:library

Instead, we can set the updater to always use /MT instead of /MTd.
2024-06-11 18:25:05 -04:00
Ruwen Hahn 0f4e33c33e UI: Discard state if stream attempt is canceled
Repro steps:
1. Enable an incompatible setting in settings
2. Start stream, hit cancel on incompatible settings dialog
3. Disable incompatible setting in settings
4. Start stream -> crash
2024-06-11 13:27:15 -04:00
derrod 0cfae862cd updater: Compile with static VC runtime 2024-06-11 13:24:07 -04:00
derrod 6779052902 updater: Check and update VC runtime version 2024-06-11 13:24:07 -04:00
Ryan Foster 051c11e7b2 UI: Translate Multitrack Video error dialog buttons
The Yes and No standard buttons are not translated unless we manually
set the translated text ourselves.
2024-06-11 13:22:31 -04:00
tytan652 c677bac875 UI: Avoid allowing to override provided themes 2024-06-10 17:01:21 -04:00
derrod 00c68981ab UI: Check VC++ Runtime version on startup 2024-06-10 16:51:50 -04:00
Warchamp7 4e13cff8f1 UI: Center widgets in vertical mixer layout 2024-06-10 16:48:32 -04:00
gxalpha c7dc09e862 UI: Fix mute checkbox positioning on macOS
Likely related to QTBUG-2699, QMacStyle appears to screw up the size of
this checkbox. Ignoring the style's layout rect fixes this.
2024-06-10 16:48:32 -04:00
Warchamp7 a989fefa0b UI: Fix audio meter and slider blocking mousewheel 2024-06-10 16:48:32 -04:00
Warchamp7 86c337d4e7 UI: Adjust audio mixer slider size and spacing 2024-06-10 16:48:32 -04:00
Warchamp7 56d6fb4c62 UI: Group horizontal audio mixer buttons 2024-06-10 16:48:32 -04:00
Warchamp7 7d55942601 UI: Clean up Settings widget structure and styling 2024-06-10 15:33:50 -04:00
gxalpha 14fa71f749 UI: Connect replay buffer stopping to signal instead of slot 2024-06-09 16:12:02 -04:00
derrod 0680b642e9 UI: Always show chapter marker hotkey 2024-06-08 17:03:09 -07:00
gxalpha 298e858f63 UI: Improve macOS properties tooltip spacing workaround
QMacStyle appears to have an issue where it messes up the positions of
some widgets. The previous workaround added extra spacing to force the
icon further to the right. Forcing the widget rectangle to be used
instead of the one made by the style also fixes this, arguably in a
nicer way.
See also b760b24ff0 which does this for
checkboxes in the source tree.
2024-06-08 16:59:38 -07:00
Richard Stanway f9f4171d56 UI: Add null checks before doing some API calls
Harmless, but generated a debug warning for null pointers passed into
the API.
2024-06-08 15:25:04 -04:00
derrod 51e3bd5e3d UI: Remove unnecessary string copy from log filter 2024-06-08 14:06:23 -04:00
derrod 28f056882a UI: Fix multitrack stream key query parameter concatenation 2024-06-07 17:36:55 -04:00
derrod c1fdbf064f UI: Simplify multitrack encoder availability check 2024-06-07 16:00:42 -04:00
derrod e223e7b5ca UI: Add config option to use MP4 for debug recording 2024-06-07 15:50:34 -04:00
derrod 5db2ff9413 UI: Remove dead code from multitrack output 2024-06-07 14:53:53 -04:00
jcm bd36daa395 UI: Address logging buffer size discrepancies 2024-06-07 17:38:06 +02:00
Translation Updater 8999d9fef9 Update translations from Crowdin 2024-06-07 09:47:58 +00:00
Ruwen Hahn f9d86aeac8 UI: Enable custom server entry for Amazon IVS 2024-06-06 16:09:24 -04:00
Ryan Foster deee0e331f UI: Remove redundant assignments
Detected by PVS-Studio.
2024-06-06 14:21:16 -04:00
Ryan Foster ae5c034acc UI: Fix incompatible settings message when streaming Multitrack Video
When streaming with Multitrack Video (Enhanced Broadcasting) and
incompatible settings, the warning message was missing parts of the
string due to incorrect translation string keys.

Additionally, use Unicode arrows to direct users through UI elements.
2024-06-06 14:21:02 -04:00
Ryan Foster d6b7f7ed4f UI: Remove GPU LUID from system info for Multitrack Video
After further review, this is not needed.
2024-06-06 14:02:21 -04:00
Ryan Foster da8fc0d516 UI: Disable Multitrack Video by default 2024-06-06 14:00:34 -04:00
Richard Stanway ffdf541672 UI: Fix crash when entering settings
We refer to VOD tracks as 1-6 but internally the array is 0-5 so there's
an off-by-one error here.
2024-06-05 19:23:40 -04:00
tytan652 116107bc86 UI: Fix Qt platform override in CMake 3
This override is still needed until Qt minimum version requirement is
increased to at least 6.3.0.

ui-config.h.in and CMake 2 are modified to avoid USE_XDG redefinition in
CMake 3.
2024-06-05 18:33:47 -04:00