Commit Graph

318 Commits

Author SHA1 Message Date
derrod
ef45248e40 UI: Fix ifdef for YouTube dock integration 2023-09-05 12:06:46 -04:00
Ryan Foster
ece8df2ace UI: Increase minimum output resolution to 32x32
Some hardware encoders fail in indecipherable ways if you try to at
certain low resolutions such as 17x17 or 19x19, but works at 20x20.
However, there is no good way to determine what the minimum working
resolution is for every possible encoder. There isn't that much
difference between 8x8 and 32x32, except that the latter will reduce or
eliminate such odd failure cases, so let's increase the minimum required
output resolution by just a little bit.
2023-08-26 16:32:24 -07:00
derrod
3e29844af7 UI: Set advanced audio encoder to invalid if missing 2023-08-15 15:54:07 -07:00
gxalpha
6721154924 UI: Use QCheckBox::toggled signal for checkbox changes
Like in 4f8b17d61, "toggled" is the signal that listens for changes
however they may have happened (including through things like
accessibility software), whereas clicked only is emitted on mouse
clicks. We should react to any kind of change, whatever prompted it.
2023-08-12 13:58:06 -04:00
gxalpha
4f8b17d612 UI: Use QGroupBox::toggled signal for group changes
The QGroupBox::clicked is specifically for mouse clicks. This means that
it's not emitted if the "checked" property is modified through other
means than the mouse, for example programatically or through
accessibility software like VoiceOver.
However, we do want to catch such events, so the QGroupBox::toggle
signal (which as per the Qt documentation is the notified signal for the
"checked" property) is the appropriate one to use.
2023-08-11 21:10:11 -04:00
Ryan Foster
64139a6bbd CI: Update to clang-format 16
This commit also modifies UI, libobs, and plugins.
2023-08-10 16:07:25 -04:00
Lain
78cb2aa361 UI: Fix case where cef func may not be present
Due to a particular... plugin we all know and love, the new
QCefWidget::executeJavascript() function may not actually be present as
it should be. So, we have to verify that it's available, and only use it
in that case.
2023-08-05 04:35:31 -07:00
Lain
e86b2950a2 UI: Fix build error (forgot macro) 2023-08-03 18:43:01 -07:00
Lain
0c6fa0a2ba UI: Fix YouTubeAppDock crash
Apparently the YouTube app dock thing didn't take into consideration the
fact that the user may have the browser source available, but may not
have browser docks available (via the `cef` global). This is because
certain system configurations do not support browser widgets, such as
Wayland on Linux.

(Lain note: There's multiple things I'm unhappy about here. I'm mostly
going to blame myself for multiple reasons.)
2023-08-03 18:25:25 -07:00
Yuriy Chumak
81b588137a UI: Add "YouTube Control Panel" dock panel
New dock panel with integrated youtube studio live control room.
This commit also modifies CI files.
2023-08-02 17:49:05 -07:00
derrod
c3ac912065 UI: Refactor getting the default encoder for a format 2023-08-01 11:43:38 -07:00
derrod
2f78bb7991 UI: Replace FFmpeg encoder alias with long name
The alias is not really helpful and sometimes confusing, e.g. for HEVC
(without libx265) it ends up being "hevc_nvenc (hevc_amf)" since it just
contains the name of the default encoder. So instead of using the name
of the default encoder, show the full name of the encoder instead.
2023-08-01 11:43:38 -07:00
derrod
c20bf0271c UI: Refactor FFmpeg utilities codec/format enumeration 2023-08-01 11:43:38 -07:00
derrod
c1cd268532 UI: Fix matching FFmpeg formats/codecs 2023-08-01 11:43:38 -07:00
derrod
f0407dd1cd UI: Migrate from libff 2023-07-30 15:58:21 -07:00
Lain
346b93c9c4 Merge pull request #8689 from gxalpha/no-more-signal-slot-macro
UI: SIGNAL and SLOT macros begone!
2023-07-29 16:32:56 -07:00
James Hurley
488a96bc4b UI: Add IPv4 / IPv6 selection setting
This commit adds a field in Settings -> Advanced called
'IP Address Family' that allows users to select IPv4 and
IPv6, IPv4 Only, or IPv6 Only.
2023-07-24 17:10:30 -07:00
gxalpha
a3991f9db8 UI: Replace SIGNAL and SLOT macros for HookWidget methods 2023-07-21 13:19:52 +02:00
gxalpha
0513e848d9 UI: Replace SIGNAL and SLOT macros in settings 2023-07-21 13:19:52 +02:00
derrod
593664dcdb clang-format: Set AllowShortLambdasOnASingleLine to Inline 2023-07-15 16:14:55 -07:00
derrod
dcc07cfe4e clang-format: Set AllowAllConstructorInitializersOnNextLine to false 2023-07-15 16:14:55 -07:00
gxalpha
a4834efde9 UI: Remove Qt 5 ifdef guards and code 2023-07-12 13:22:13 -04:00
Norihiro Kamae
846cdafbed UI: Fix changed state of audio settings
When changing audio channels, sample rate, or audio buffering settings
multiple times by hitting `Apply` button, the internal `changed` state
got corrupted. To avoid this, set the changed state when changed
something, but do not clear the changed state.
2023-06-17 16:42:14 -07:00
derrod
ef3a67708e UI: Support PCM in MP4 2023-06-10 17:10:30 -07:00
gxalpha
4b37692939 UI: Disallow exiting settings with no track in advanced mode 2023-05-24 12:30:27 -04:00
gxalpha
2bc368349f UI: Disallow exiting settings with no track in simple mode 2023-05-24 12:30:27 -04:00
Lain
106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
gxalpha
96f1eec735 UI: Clean up disabling simpleFlvTracks
Since this widget is disabled every time it's shown and we're not
enabling this anywhere, it can just be disabled in the UI form.
2023-05-13 16:49:26 -07:00
derrod
0c0ec90eac UI: Fix FLAC missing from builtin codecs list 2023-05-05 12:48:19 -04:00
derrod
36d30cad19 UI: Fix simple mode replay buffer maximum not being set 2023-04-14 19:35:59 -04:00
derrod
f3c075f19f UI: Do not disable events when disabling codecs 2023-04-12 17:17:11 +00:00
Richard Stanway
9cdd847445 UI: Fix incorrect use of QT_TO_UTF8 in SpeakerLayoutChanged
The string is immediately destroyed after use, so taking a pointer to it
ends up pointing to invalid memory. Let's avoid using QT_TO_UTF8 here.
2023-04-05 21:26:21 +00:00
derrod
16909e0566 UI: Fix simple mode container check 2023-04-05 09:45:56 -07:00
gxalpha
5fe8dac563 UI: Fix "Unqualified call to 'std::move'" warnings 2023-04-04 16:24:35 -07:00
gxalpha
5444732c91 UI: Use name instead of internal extension for incompatible codec check 2023-04-04 17:27:45 +00:00
derrod
69ac2b7aaa UI: Fix Simple Mode compat check only checking video codec 2023-04-04 00:54:28 +00:00
derrod
5a375defa8 UI: Rework recording format handling 2023-04-04 00:54:28 +00:00
derrod
288dfd2660 UI: Remove unused uppercase format string 2023-04-03 16:18:48 +02:00
cg2121
3a610c698e UI: Remove UNUSED_PARAMETER where unnecessary
Since cpp allows removing the unused parameters from the function name,
UNUSED_PARAMETER is not needed, unless it is in an ifdef.
2023-04-01 16:54:02 -07:00
gxalpha
2f2fc33f91 UI: Disallow closing settings without selected codec or format 2023-04-01 16:43:07 -07:00
gxalpha
240a718818 UI: Guard ResetInvalidSelection check behind Qt < 6.5.1 2023-04-01 16:25:49 -07:00
derrod
c8d274edac UI: Only use FFmpeg compat check for external codecs
For all the codecs we ship with OBS we can use a hardcoded lookup
instead as the FFmpeg one is unreliable.
2023-04-01 16:19:27 -07:00
gxalpha
454a701431 UI: Fix simple stream encoder changed signal-slot connection 2023-03-28 22:51:00 +11:00
derrod
b86e878a75 UI: Switch format tooltip based on user selection 2023-03-25 18:57:01 -07:00
pkv
d18b38e784 UI: Enable multiple audio tracks in Simple Output recording
This adds support for multiple audio tracks in Simple Output for
recordings.
This is enabled for all quality presets (including "Lossless") except
"Same as Stream".
This is also enabled for the Replay Buffer.
An exception is made for flv recording format since it only allows a
single audio track.
The recorded track (and streaming track) is then Track 1 as before.

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 20:54:07 -04:00
derrod
f1223ca566 UI: Set fragmented MP4/MOV as default for beta/rc
Also includes a migration to a new key to ensure backwards-compatibility
of profile config.
2023-03-25 16:28:56 -07:00
derrod
b79363400c UI: Disable incompatible codec/container options
In advanced mode codecs that are incompatible are disabled.
In simple mode codecs are disabled if recording encoders are used,
but containers are disabled when stream encoders are used.
2023-03-25 16:12:36 -07:00
derrod
b686c971ad UI: Remove ProRes Warning 2023-03-25 16:12:36 -07:00
tytan652
3c909558fa UI: Make simple audio codec name translatable
Also adds "(Default)" to the AAC combobox option.
2023-03-24 09:14:09 +01:00
Norihiro Kamae
81117fa5cb UI: Separate translation of filename format tooltip
The tooltip string describing the filename format had many lines. It
made difficult for translators to update newly added format strings.
This commit separates the string so that each format string has each
translation.
Also construct HTML so that the column aligns.
2023-03-23 23:00:47 +11:00