0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

3227 Commits

Author SHA1 Message Date
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
Richard Stanway
a781f4a887 UI: Don't std::move main in SetUndoProperties
main is used later in the function, making this undefined behavior.
Though we can move the scene_name string.

Detected by PVS Studio.
2023-04-03 21:47:14 +02:00
derrod
288dfd2660 UI: Remove unused uppercase format string 2023-04-03 16:18:48 +02:00
Jim
d166bee3b6 Revert "UI: Fix preview rendering order"
This reverts commit bb34315f90.
2023-04-01 18:00:44 -07: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
cg2121
7475261542 UI: Fix rotation handle when source is flipped
The rotation handle and cursor would be drawn at the wrong spot
if the source was flipped.
2023-04-01 16:48:24 -07:00
cg2121
30682e999e UI: Use UUIDs for QDataStream
UUIDs are more robust than names as they can't be changed.
2023-04-01 16:45:48 -07:00
cg2121
bb34315f90 UI: Fix preview rendering order
The spacing helpers were being rendered above the preview
safe areas.
2023-04-01 16:44:38 -07:00
gxalpha
2f2fc33f91 UI: Disallow closing settings without selected codec or format 2023-04-01 16:43:07 -07:00
Ryan Foster
60139cbdfe Revert "UI: Remove bitness strings"
This reverts commit 64d4ae0106.
2023-04-01 16:35:10 -07:00
gxalpha
240a718818 UI: Guard ResetInvalidSelection check behind Qt < 6.5.1 2023-04-01 16:25:49 -07:00
derrod
61efa3cbeb UI: Fix replay buffer with fragmented formats 2023-04-01 16:24:40 -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
6fc9235b09 cmake: Enable "sortable" flag in UI for large lists 2023-04-01 16:15:41 -07:00
Richard Stanway
e0f674de86 UI: Add AMD AV1 encoder to simple output mode
Fixes https://github.com/obsproject/obs-studio/issues/8584
2023-03-30 22:04:07 -04:00
Richard Stanway
9a24b1ad06 UI: Update Windows DLL blocklist
- Add Bandicam
- Add VirtualMotionCapture (unity capture)
- Add HolisticMotionCapture (unity capture)

Fixes https://github.com/obsproject/obs-studio/issues/8552
2023-03-30 21:16:35 -04:00
derrod
2560187611 UI: Remux fragmented containers to regular counterparts
Also disables record-as-MKV when using fmp4.
2023-03-29 19:17:24 +00:00
derrod
8e1cae4f02 UI: Remux mp4/mov to mp4/mov with suffix 2023-03-29 19:17:08 +00:00
derrod
624a0da302 UI: Only adjust size of properties on first draw 2023-03-29 19:16:56 +00:00
tytan652
0d9f15cf3d UI: Improve AV1 fallbacks while changing services
This makes AV1 encoders fallback to their H264 counterpart rather than
just falling back to x264 while changing services.
2023-03-29 19:16:46 +00:00
PatTheMav
0b136c3a39 UI: Add exportOptions property lists for Xcode archiving 2023-03-29 10:31:57 -04:00
derrod
16c078960d UI: Fix missing masking in unassigned audio mix check 2023-03-29 03:16:45 +02:00
derrod
1ea100e537 UI: Fix updater parameters missing a space 2023-03-29 02:08:58 +02:00
derrod
5fbe9cdb41 updater: Add workaround for broken CLI arguments 2023-03-29 02:08:46 +02:00
tytan652
ffe5a2f152 UI: Add missing compile definitions for service integrations 2023-03-28 14:48:47 +02:00
gxalpha
454a701431 UI: Fix simple stream encoder changed signal-slot connection 2023-03-28 22:51:00 +11:00
tytan652
b11d0523fb UI: Load service before creating the output handler 2023-03-27 14:33:24 -04:00
Norihiro Kamae
fad82d0f9c cmake: Fix obs-frontend-apiConfig.cmake included from 3rd party plugin 2023-03-27 14:09:19 -04:00
Translation Updater
7c5560bf1b Update translations from Crowdin 2023-03-27 13:39:03 +00:00
Norihiro Kamae
e4eeecf3df cmake: Fix OBS_INSTALL_PREFIX
Before 349372b3b3, OBS_INSTALL_PREFIX contained trailing slash so that
it can concatinate with further paths.
2023-03-27 15:30:05 +02:00
Jim
c79cf009e2 UI/cmake: Fix portable mode (config) not working on Linux 2023-03-27 00:10:48 -07:00
PatTheMav
349372b3b3 cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
Vainock
4ef4fb59d9 UI: Rename blending mode "Additive" to "Add" in UI 2023-03-26 14:19:30 -07:00
Jim
e233931dff
Merge pull request #8522 from nquah/enhanced-rtmp
Enable AV1, HEVC via RTMP to YouTube
2023-03-26 14:07:37 -07:00
Norihiro Kamae
c5d32881db UI: Ignore the leap seconds in tooltip of time format
The range was 00-61 but 61 is confusing. Let's ignore the leap seconds
and set 59 as the maximum.
2023-03-26 13:52:45 -04:00
Yuriy Chumak
7dbc829c15 libobs,UI: Add output failure code for HDR being unsupported 2023-03-26 16:37:31 +02:00
pkv
5d287734a8 UI: Switch RecFormat to RecFormat2
Commit f1223ca566
(UI: Set fragmented MP4/MOV as default for beta/rc)
changed RecFormat to RecFormat2.
This conflicts with the use of RecFormat introduced in
d18b38e784
(UI: Enable multiple audio tracks in Simple Output recording).
This fixes the issue.
An unused var is also removed.

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 23:45:47 -07:00
Jim
39afa665a1 UI: Always print debug log to stdout if Debug build
Makes it easier to debug certain issues when building on non-Windows
machines.
2023-03-25 22:51:25 -07:00
Ryan Foster
9b270c38e8 UI: Remove unused variable
This variable was added in d18b38e784,
but it is not used. Let's remove it.
2023-03-26 00:21:04 -04:00
derrod
b86e878a75 UI: Switch format tooltip based on user selection 2023-03-25 18:57:01 -07:00
shiina424
fe716ef39e UI: Fix translation key 2023-03-25 18:29:07 -07:00
pkv
d57d09e229 UI: Move tracks in Advanced Standard Recording
Per request of our UI design chief, the tracks from Standard Recording
(Advanced Output) are moved below the audio encoder field.
Additionally, for consistency with Simple output, the video encoder
field is moved above the audio encoder (suggestion from Rodney).

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 20:54:07 -04: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
cg2121
1b68944107 UI: Fix transform dialog not being closable
If the user clicked away from the source, while the transform dialog is open,
the whole dialog would be disabled. The user then couldn't click close or
press escape to close the dialog. The only way for them to close it was to
click on another source to re-enable it.
2023-03-26 10:55:16 +11:00
cg2121
1ac609f1ff UI, libobs: Fix not handled in switch warnings
These warnings were being spit out by GCC on Linux.
2023-03-26 10:47:01 +11: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
Richard Stanway
5182368009 UI: Properly handle SIGINT on non-Windows platforms
Running Qt code in a signal handler is not safe. Per the Qt docs, we
instead create a pair of sockets and a QSocketNotifier so that the
signal handler can notify the main thread which can process the exit
request without risk.

Reference: https://doc.qt.io/archives/qt-6.3/unix-signals.html
Reference: https://man7.org/linux/man-pages/man7/signal-safety.7.html
2023-03-25 16:17:02 -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
derrod
dc84a8da20 UI: Add unassigned indicator and warning to mixer 2023-03-25 16:08:25 -07:00
tytan652
79b7e61f0a UI: Fix issue from stream settings Qt slots refactor
5a40934 refactored slots around services but a
on_service_currentIndexChanged() was not replaced by ServiceChanged().

The latter contains the code that was in the former before the refactor.

5a409347d5
2023-03-25 17:08:05 -04:00
derrod
67c7cfecb1 UI: Remove outdated NSIS data 2023-03-25 10:22:16 +01:00
jpark37
ddee7ff6fe decklink-output-ui: Align render output paths
Use the render path that preview uses for non-preview rendering, which
uses the GPU to rescale rather than the CPU and pulls the image from the
GPU before pixel format conversion happens. This means it's no longer
necessary to select BGRA to use the keyer anymore.
2023-03-24 15:18:45 -07:00
tytan652
21289b2777 UI: Save protocol in non-custom services 2023-03-24 16:07:40 -04: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
tytan652
04a4f2b725 UI: Fix simple fallback audio codec name 2023-03-24 09:14:09 +01:00
PatTheMav
fe34045d6a UI: Remove unused variables to fix errors in the CMake 3.0 rework 2023-03-23 16:48:59 -04: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
tytan652
f2f00f1676 UI: Fix audio archive encoder using the stream track 2023-03-22 15:30:56 -04:00
Exeldro
b11d61c89f UI: Add space for right arrow in menu 2023-03-21 16:09:27 -04:00
tytan652
d529f2c35f UI: Fix inconsistencies in FindProtocol
- Fallback to RTMP if custom server is empty.
- Check if RTMPS is supported since OBS Studio can be built without it.
2023-03-21 15:17:15 -04:00
Jim
0a9ed4569b
Merge pull request #7814 from jpark37/decklink-preview-rescale
decklink: Move preview output rescaling to GPU
2023-03-20 01:42:36 -07:00
tytan652
eef63cd188 UI: Enforce stream audio to Opus if service is FTL 2023-03-20 01:09:52 -07:00
tytan652
b2f25fb4b9 UI: Default advance record audio to AAC 2023-03-20 01:09:52 -07:00
tytan652
215426b65b UI: Use connect infos check in before stream check
Ask the service directly rather than checking the presence of a key and
a URL.
2023-03-19 18:27:44 +01:00
tytan652
5fe417bce1 UI: Add audio codec selections 2023-03-19 17:27:43 +01:00
tytan652
b15684aa17 UI: Add Opus bitrate map and per encoder bitrate list
Also refactors AAC bitrate map too.
2023-03-19 17:27:43 +01:00
tytan652
ea2858705c UI: Select streaming output based on the protocol 2023-03-19 17:16:13 +01:00
tytan652
8d6cacc35b UI: Remove hardcoded stream codec list 2023-03-19 17:08:06 +01:00
tytan652
44ca002d02 UI: Use protocol to enable network options 2023-03-19 17:08:06 +01:00
tytan652
e00e2712cf UI: Use protocol to list compatible codecs 2023-03-19 17:08:06 +01:00
tytan652
5a409347d5 UI: Refactor Qt slots in stream settings page 2023-03-19 16:49:56 +01:00
Jim
6eace37e06
Merge pull request #8229 from derrod/hashed-tables
Hashtable Adventures
2023-03-19 00:34:44 -07:00
田七不甜
c3990e882a UI: Fix Dark and System themes select list height 2023-03-18 15:56:22 -07:00
cg2121
b0fbf25e24 UI: Fix media controls shortcuts being global
The play, pause and restart shortcuts were being called as global
shortcuts, being triggered no matter what. This fixes this by calling
the shortcut actions only when the media controls widget has focus.
2023-03-18 15:51:05 -07:00
Norihiro Kamae
434bdc1768 libobs: Fix possible use-after-free of obs_scene_t
When creating a group, a newly allocated group `sub_scene` is released
just after calling `obs_scene_add_internal`.
If another thread released the scene-item, which is the sub_scene,
use-after-free might happen.
2023-03-18 15:34:47 -07:00
Norihiro Kamae
0959a22de3 UI: Fix possible use-after-free of obs_scene_t 2023-03-18 15:34:47 -07:00
Norihiro Kamae
23a0b7cacd UI: Fix possible use-after-free of obs_source_t
Also removes an implicit pair of successive obs_source_getref and
obs_source_release calls from OBSSource.
2023-03-18 15:34:47 -07:00
gxalpha
8ce4a2a154 UI: Fix macOS crash when saving general settings without Sparkle 2023-03-18 15:32:56 -07:00
gxalpha
c958ffa9f4 UI: Properly update filter properties after resetting 2023-03-18 15:31:00 -07:00
tytan652
a0905d3972 obs-outputs,UI: Disable Windows-only options on non-Windows
"New Socket Loop" and "Low Latency Mode" RTMP options are only available
on Windows.

Those options should be ignored and forced-disabled on non-Windows
builds.
2023-03-18 15:29:50 -07:00
Richard Stanway
e305b0f172 UI: Add old Vtuber Maker versions to DLL blocklist
This DLL is based on Unity Capture and suffers from the same deadlock
bug as many similar filters. A fixed version was released on 2023-03-14.
https://store.steampowered.com/news/app/1368950/view/3674412925835790027
2023-03-18 15:23:52 -07:00
derrod
09b6786f1a UI: Add Help menu action to show What's New dialog 2023-03-18 15:21:52 -07:00
derrod
5083c2a2e2 UI: Remove Windows 7 browser hwaccel check 2023-03-18 15:19:48 -07:00
Norihiro Kamae
3d5c4ff56e UI: Remove empty clause 2023-03-18 15:16:44 -07:00
derrod
c971e0ead3 UI: Fix capitalisation of SysTrayEnabled 2023-03-18 10:47:50 +01:00
tytan652
e6873d3278 UI: Refactor integration and browser docks
Use the QAction provided by QDockWidget with new Qt connection rather
than creating a new one for each dock.

Separate extra browser docks from extra docks, the latter is meant for
plugin/integration docks.
2023-03-17 20:21:08 +11:00
tytan652
63e3e0acd0 UI: Refactor main docks toggle action
Use the QAction provided by QDockWidget with new Qt connection rather
than creating a new one for each dock.
2023-03-17 20:21:08 +11:00
cg2121
a870ae2fb9 UI: Remove platform string from title bar
This cleans up the title bar text.
2023-03-17 19:06:50 +11:00
derrod
b31344d82e updater: Fix building in Debug 2023-03-12 20:50:45 +01:00
derrod
02225aa8bf UI: Reset UUIDs in duplicated collection 2023-03-12 01:11:38 +01:00
gxalpha
ab04bb1f55 UI: Don't show Update section in settings when built without Sparkle 2023-03-11 15:37:28 -08:00
gxalpha
aee268c944 UI: Don't show video-only async filters for synchronous sources
Expands the filter_compatible check to return false if the source isn't
async and the filter is not an audio filter, filtering out e.g. the
"Video Delay (Async)" filter from browser sources (which have audio but
don't have async video).
Amends 845e056551.
2023-03-11 15:24:07 -08:00
cg2121
b82c8ccdcf UI: Limit preview scrolling
This prevents the preview from being scrolled on forever.
2023-03-11 15:22:23 -08:00
derrod
f55b251fa8 UI: Sort and pretty-print exported collections 2023-03-10 23:55:42 +01:00
gxalpha
bb4e6f9e51 UI: Don't try to make OBSBasic parent of ControlsSplitButton
Passing the parent of a QLayout sets it directly as the top-level layout
(as per the QLayout docs). This is obviously not what is intended here.
Luckily it doesn't even work since the main window of course already has
a layout which would need to be explicitly removed before, but it makes
Qt yell at us for trying.
2023-03-11 09:38:46 +11:00
derrod
705173a0c3 UI: Add fragmented MP4/MOV formats 2023-03-10 17:12:36 -05:00
derrod
05b1be4f27 UI: Add MP4 to remuxable extensions 2023-03-10 17:12:36 -05:00
gxalpha
4c9ebc753c UI: Create OBSPermissions on stack
This fixes the window leaking and may improve performance.
2023-03-10 13:49:52 -05:00
Stefan Murawski
95cbd21a3b UI/installer: Add quotes around UninstallString
This follows recommended practice from NSIS documentation.

This fixes issue #7935.
2023-03-10 12:58:33 -05:00
Bartłomiej Piotrowski
853ae5ea6e UI: Set flathub::manifest
Currently, the manifest URL on Flathub Beta website points to the
deprecated manifest hosted on Flathub. The flathub::manifest key
is undocumented attribute that will update the website to use the
proper location.

This key will not affect appstream other than providing enough
information to the Flathub website.
2023-03-09 20:33:44 -03:00
gxalpha
b1c96bba86 UI: Re-raise remux dialog after selecting file on macOS 2023-03-09 16:05:40 -05:00
Richard Stanway
9d4a7f01dd UI: Add DLL blocking functionality for Windows
Adds a NtMapViewOfSection hook which we can use before DLLs are loaded
to decide whether to abort the process. This is useful for blocking
known problematic DLLs that cause crashes. In addition, the PE timestamp
can be checked to block only older DLLs such as older versions of Vtuber
virtual cameras with known deadlock bugs.

A simple counter of each DLL is used for logging purposes. Since DLLs
can be blocked at any time, the output is only logged on exit of OBS.
2023-03-09 14:16:34 -05:00
derrod
f3b1a1cf1f UI: Use bilinear scaling for YT thumbnail 2023-03-08 18:41:20 -05:00
derrod
c99256cf21 UI: Do not set default locale 2023-03-08 18:06:51 -05:00
derrod
c55fcbbb12 UI: Use binary mode for QuickReadFile
When not using binary mode (i.e. text mode) CRLF will be converted to
LF, which means that the size provided by tellg() is no longer correct,
and reading prematurely hits an EOF and sets the fail bit.
2023-03-08 22:50:49 +01:00
derrod
5dd1d00a03 UI: Add mutex to reading public key file 2023-03-08 22:50:49 +01:00
derrod
2c48e61207 UI,obs-vst: Set Qt RCC format to 1
v2 introduces last-modified timestamps that ruin reproducibility.
2023-03-07 18:13:24 -05:00
derrod
0ece23dff2 updater: Bump version 2023-03-07 15:34:27 -05:00
derrod
2790e1ab1b updater: Use native WinHTTP decompression (remove zlib) 2023-03-07 15:34:27 -05:00
derrod
fc5a84ed5d updater: Use zstd for patch manifest request 2023-03-07 15:34:27 -05:00
derrod
f29e1fdee4 updater: Switch to Zstandard for delta updates
zstd is faster, less resource intensive, and produces smaller
files than bsdiff + LZMA.

Overall, it's a significant improvement for our workflow.
2023-03-07 15:34:27 -05:00
derrod
787c5f67a8 updater: Add Zstandard for compressed downloads
Using zstd reduces the download size for updates by about 2/3.
2023-03-07 15:34:27 -05:00
gxalpha
78d195a5df UI: Make T-Bar unclickable
The T-Bar should only be draggable and not act on clicks.
2023-03-07 13:47:51 -05:00
shiina424
2eb10cd94e UI: Fix disabled text color in dark theme 2023-03-06 19:02:38 -03:00
cg2121
b464ba8129 UI: Set min/max zoom levels for preview
Prevents the preview from zooming in or out too far.
Min zoom: 10%
Max zoom: 1000%
2023-03-04 16:31:49 -08:00
cg2121
03a94aee41 UI: Fix wrong program scene if tbar is aborted
The program scene would be incorrect if the tbar was released
at its original position.
2023-03-04 16:31:37 -08:00
cg2121
6e22af932d UI: Fix preview disabled in studio mode
If OBS is set to minimize to system tray on startup and studio mode is
enabled, the preview would be disabled when showing OBS, if the preview
in non studio mode was disabled.
2023-03-04 16:24:22 -08:00
cg2121
290c1569a9 UI: Don't hardcode properties label colors
Makes the label have colors based on themes, instead of hard coding.
2023-03-04 16:21:01 -08:00
cg2121
a3defd4f58 UI: Fix spacing helpers when rotated and flipped
If the scene item was rotated greater than 45 degrees, and flipped
vertically or horizontally, the spacing helpers would be drawn
incorrectly. This fixes the issue by checking the scale before
the rotation, instead of after.
2023-03-04 16:18:38 -08:00
Richard Stanway
bb7ca3c2c3 UI: Add mutex for writing to the log file
fstream is not thread-safe and the act of writing the string and the
newline are two separate operations which could execute concurrently in
multiple threads, resulting in lines joining together followed by two
newlines. Due to the presence of a static mutex, this also removes
inline on the function.
2023-03-04 15:34:17 -08:00
derrod
8ba646c842 updater: Check if awaited instance matches current install
Also replaces any secondary usages of GetCurrentDirectory with cached
static variable.

Co-Authored-By: Richard Stanway <r1ch@r1ch.net>
2023-03-03 21:47:56 +00:00
derrod
08733a0e1a updater: Remove 32-bit Support 2023-03-01 20:18:03 -05:00
derrod
d15dce99d0 updater: Multi-threaded delta patching 2023-03-01 16:20:43 -05:00
derrod
60844505d0 UI: Replace uses of token-pasting operator 2023-03-01 20:39:53 +01:00
Norihiro Kamae
22a98c279e UI: Fix tabstops on settings dialog 2023-03-01 10:50:10 -05:00
derrod
77e4c1c305 cmake: Check if Sparkle options are non-empty 2023-02-27 13:06:26 -05:00
PatTheMav
953e0eda53 UI: Remove unused variable 2023-02-27 18:40:52 +01:00
tytan652
6734c9cbc8 UI: Stop virtual camera if active while exiting
Avoid potential memory leaks and crashes.
2023-02-25 16:06:59 -08:00
tytan652
0f560a9136 UI: Fix scene/source in virtual camera config if renamed 2023-02-25 16:06:59 -08:00
tytan652
501a3e926d UI: Refactor Virtual Camera source selector dialog 2023-02-25 16:06:59 -08:00
derrod
e5690a1f65 UI: Use unordered_map for hotkey duplicate detection 2023-02-25 15:28:35 -08:00
derrod
af4012e1b1 UI: Set QT_NO_SUBTRACTOPAQUESIBLINGS env var
This speeds up drawing the hotkey list *significantly* and doesn't seem
to break anything else. But it is kind of a hack.
2023-02-25 15:25:31 -08:00
derrod
c3543273e4 UI: Defer creation of hotkey dupe icon until needed 2023-02-25 15:21:29 -08:00
derrod
11e5afa2b2 UI: Support platform-specific WhatsNew entries 2023-02-25 15:08:27 -08:00
tytan652
2a2d8fc1bb UI: Remove mf_aac references 2023-02-24 14:34:34 +01:00
gxalpha
5d0a1c0010 UI: Don't load global plugins in portable mode
Portable mode is meant to be separated from the rest of the system, and
as such it doesn't make sense to load globally installed plugins there.

On Windows, there currently are only two major plugins that install
themselves there. Plugins installing themselves there is good, but it
currently also means that even portable instances load them which can
make testing and debugging in a clean environment annoying.
2023-02-24 14:11:21 +01:00
gxalpha
d405193aeb UI: Only set portable mode variable if supported
Previously, all the functions of portable mode wouldn't work if compiled
without it, but the log still show it as enabled if the argument was
set. This could lead to confusion.
Additionally, we don't even show the option in the help string (--help),
so it should just be a no-op.
2023-02-24 14:11:21 +01:00
Georges Basile Stavracas Neto
a1a98f9cfd plugins: Drop win-ivcam
Apparently this was a prototype from Intel that never really
properly launched. Remove the plugin.
2023-02-24 14:04:29 +01:00
jpark37
463bf0dff5 libobs,UI: Add P216/P416 pixel formats
Will be useful for ProRes.
2023-02-21 18:48:44 +01:00
gxalpha
4bcd86b395 UI: Disable replay buffer checkbox when using custom FFmpeg 2023-02-20 23:46:59 +01:00
derrod
644b73eb46 UI: Add confirmation dialog for resetting properties 2023-02-20 23:46:01 +01:00
gxalpha
8d4a0b3645 UI: Use valueChanged() signal for T-Bar everywhere
The sliderMoved signal doesn't trigger when clicking on the slider, only
the valueChanged signal. According to QTBUG-72995 this is intentional,
since the documentation states that sliderDown also needs to be true for
the sliderMoved signal to be triggered. As for why sliderDown isn't true
when clicking, or why that would even be necessary for a signal that
should trigger when the slider is moved (and it very clearly moves)
remains a mystery.

Also gets rid of the wrong usage of the on_foo_bar slot declaration,
which should only be used for signals where the sender is part of a UI
file and it gets connected automatically. While it of course is possible
to connect it manually, this is against convention and can cause
confusion. In this case it was particularly wrong since even if tBar was
part of a UI file (which it isn't), the method should have been called
on_tBar_valueChanged instead of on_tbar_position_valueChanged.
2023-02-20 19:10:32 +01:00
shiina424
a44700871b UI: Fix window text when disabled in dark theme 2023-02-20 12:15:04 -05:00
derrod
2b33fb3ad2 UI: Massive improve hotkey search performance 2023-02-19 15:41:54 -08:00
jpark37
593a0f034c decklink-output-ui: Move preview rescale to GPU
Internal keyer computes with straight alpha, so use DrawAlphaDivide.
2023-02-19 11:46:20 -08:00
gxalpha
19a0afe526 UI: Don't double-delete children of deleted widgets
These widgets are all children of updateSettingsGroupBox, meaning they
get deleted when updateSettingsGroupBox gets deleted. This means that
the first two calls are unnecessary and the third one segfaults as
updateChannelLabel is gone already.
Just delete the parent widget instead.
2023-02-19 20:39:47 +01:00
bin
27981b15e9 UI: Fix compile error when obs-browser disabled 2023-02-19 20:39:23 +01:00
gxalpha
e438037960 UI: Use native color dialog on macOS 2023-02-19 04:10:51 +01:00
tytan652
9e6a482c66 UI: Fix button callback in OBSPropertiesView created with an id
Before calling the button callback, two values are null-checked but when
the property is created with an id (const char*). Those values are null
which prevent the callback from being called.
2023-02-18 17:47:19 -08:00
derrod
9d71d2f7fd cmake: Remove ENABLE_SPARKLE_UPDATER option
Since public key and appcast are now options we simply rely on those to
decide whether or not to enable Sparkle.
2023-02-19 01:35:56 +01:00
derrod
12a27d8b99 UI: Add update channels (macOS) 2023-02-19 01:35:56 +01:00
derrod
0972da9e1a UI: Merge win-update and nix-update 2023-02-19 01:35:56 +01:00
tytan652
64176daaf4 UI: Force Wayland usage on Ubuntu GNOME
XDG_CURRENT_DESKTOP is set to "ubuntu:GNOME" on Ubuntu custom version of
GNOME.
2023-02-18 16:20:39 -08:00
PatTheMav
8b0843803e UI: Remove unused variables 2023-02-18 15:22:33 -08:00
gxalpha
623af15821 UI: Connect Reset button in Transform dialog with main window directly 2023-02-18 15:19:21 -08:00
cg2121
64d4ae0106 UI: Remove bitness strings
This removes the bitness strings from the title bar and about dialog.
2023-02-18 15:09:11 -08:00
derrod
b44910726d UI: Defer Settings window hotkey loading 2023-02-18 15:04:23 -08:00
bin
559925ebaa UI: Check item whether selected before select
To prevent item from being selected again,
then mess up the qt internal list order.
2023-02-15 23:09:42 +01:00
gxalpha
9afc3cabca UI: Refactor / Clean up addNudge 2023-02-15 14:11:46 -05:00
Richard Stanway
e9504326f9 UI: Remove unnecessary null checks 2023-02-15 13:40:13 -05:00
Richard Stanway
2ac43052f9 UI: Fix memory leak of remux window 2023-02-15 13:40:13 -05:00
Richard Stanway
bff7928b50 UI: Avoid division by zero when calculating slider position
Detected by UBSan.
2023-02-15 13:40:13 -05:00
Richard Stanway
1f278bb18b UI: Set remux entry state before adding to queue
When adding to the queue, this triggers rowCountChanged which then
calls canClearFinished, reading undefined memory for state if this is
not set. The correct state is set immediately after by checkInputPath.

Detected by UBSan.
2023-02-15 13:40:13 -05:00
Richard Stanway
7c8acd48a9 UI: Improved implementation for sorting filters menu
Rather than finding the insertion point and iterating the vector for
each item, let's sort it afterwards.
2023-02-15 12:48:08 -05:00
bin
60e014e0e3 UI: Correct browse behavior in non-empty input edit line 2023-02-15 11:22:03 -05:00
gxalpha
c24ec240af UI: Remove unused Qt crash reporter code
The crash reporter made with Qt was introduced in 824c7b0, but then was
quickly replaced by a native OS implementation in d42a7ce. This code has
been lying around ever since.
2023-02-13 10:34:18 -05:00
cg2121
7a838e877f UI: Fix scene item edit drag & drop bug
If an user exits the source tree edit mode, without changing the name,
the scene item would become undraggable until the scene is refreshed.
We were setting the focus to just the label, not the whole widget.
2023-02-12 02:46:12 -08:00
gxalpha
3e4bbe85c8 UI: Remove workaround for current scene being deselectable on Qt 6.4.3+
Qt 6.2 introduced an issue where SingleSelection item views would
deselect the current item if the user clicked on empty area in the
widget.
This was very confusing in the scene tree as it was now possible to
unselect the current scene. A workaround for this in OBS was added in
08e4ee6 and expanded on in dc30cf0, but being quite hacky it never was
the perfect solution.
I since dug into Qt and fixed the issue upstream in qt/qtbase@f11e5435c7
for Qt 6.4.3 and newer, so we can remove the workaround when using those
versions (with the long term goal of removing the code altogether).
2023-02-11 16:01:27 -08:00
derrod
5bdf492f8a UI: Avoid excessive config reads when drawing preview 2023-02-11 15:58:40 -08:00
Ilya Melamed
213ce75328 UI: Add check for null widgetForAction result
In some cases, `QToolbar::widgetForAction` may return `nullptr`. This
causes a crash on affected system.

To mitigate this, we check for `widgetForAction` result and skip
operating on a NULL widget.
2023-02-11 15:56:19 -08:00
derrod
a0b5c1b3f5 UI: Fix properties widget being cut off until resize 2023-02-10 12:04:47 +01:00
cg2121
26725fa2d5 UI: Disable properties button in source toolbar
If a scene or group is selected, disable the properties button in the
source toolbar. This also does a refactor of the function to enable/disable
the toolbar buttons.
2023-02-04 16:02:04 -08:00
Exeldro
2d3013ccdc UI: Add obs_frontend_add_undo_redo_action 2023-02-04 15:30:07 -08:00
bin
945deec266 UI: Use input validator on resolution line edit in adv tab 2023-02-04 15:25:59 -08:00
Exeldro
46da073aa5 UI: Add obs_frontend_open_sceneitem_edit_transform() 2023-02-04 15:23:26 -08:00
Richard Stanway
e9a401d898
UI: Remove unsupported Windows versions from manifest 2023-02-01 23:00:50 +01:00
gxalpha
11e9291800 UI: Set macOS appearance on theme change
Makes macOS aware that we're using either light or dark theme to adjust
native dialog colors accordingly.

Co-Authored-By: Patrick Heyer <PatTheMav@users.noreply.github.com>
2023-01-31 18:50:56 +01:00
gxalpha
2272efc91f UI: Use native combobox popup on macOS
As recommended by Qt on QTBUG-106162, this fixes QComboBox popups not
working with VoiceOver.
2023-01-31 18:50:56 +01:00
derrod
cd78ecae50 updater: Deduplicate delta patch downloads 2023-01-29 02:24:55 -08:00
derrod
cbe3ef7e57 Revert "UI/updater: Fix files with similar hashes clashing"
This reverts commit 7396c211be.
2023-01-29 02:24:55 -08:00
cg2121
52045316b3 UI: Hide menu items if source is only audio
Hides the following items if source is only audio:
- Transform menu
- Resize output (size of source)
- Scale filter menu
- Blending mode menus
- Projector menus
- Screenshots
- Interact
2023-01-29 00:02:40 -08:00
Norihiro Kamae
cf2a9461a8 Remove OBSBasicSettings::VideoChangedRestart
The function `OBSBasicSettings::VideoChangedRestart` was never called,
hence remove it.
2023-01-28 19:03:55 -08:00
Norihiro Kamae
c2f157470b UI: Remove unused macros
Also removes a translation string that was referred from the removed
macro.
2023-01-28 19:03:55 -08:00
tytan652
10880d6b21 UI: Unblock encoder comboboxes signals before change
Signals are blocked while encoder is enforced, those need to be
unblocked before setting the new encoder.
2023-01-28 15:50:41 -08:00
gxalpha
b5b293fe72 UI: Re-raise properties window after picking files on macOS 2023-01-28 15:09:49 -08:00
derrod
778cf5a96a updater: Pass AppData path to elevated process 2023-01-25 12:32:41 -05:00
derrod
ffd7202168 updater: Add additional status messages 2023-01-24 20:14:40 -08:00
derrod
3dcf68f8ed UI: Work around Qt dock restore crash 2023-01-24 18:43:38 -08:00
WarmUpTill
7d26721be5 frontend-tools: Fix crash on non X11 windowing systems 2023-01-24 16:43:52 -03:00
cg2121
d08ede33cd UI: Disable screenshot action if item has no video
This disables the source screenshot action in the context menu
if the source has no video.
2023-01-23 18:10:59 -03:00
derrod
edcb80ae8b updater: Hash files with multiple threads 2023-01-22 23:58:56 +01:00
cg2121
610a2171a2 UI: Don't open properties dialog if item is scene
This disables opening of the properties dialog if a scene is double
clicked in the source tree.
2023-01-22 10:45:25 +11:00
tytan652
6dd99e3a9f UI: Fix implicit conversion warning on Linux with Clang 2023-01-19 13:08:46 -05:00
tytan652
77a174ddac aja,aja-output-ui: Calm deprecation warnings on Clang and GCC 2023-01-19 13:08:46 -05:00
tytan652
90c49c7af1 UI: Fix shadow-ivar warning on macOS 2023-01-19 13:08:46 -05:00
tt2468
5a68d3aaf5 UI: Remove extra encoder function calls
The audio_t and video_t objects are already applied in the parent
functions already.
2023-01-18 12:17:35 -06:00
tt2468
8f0e5a72d6 UI: Fix logging of output ID when start fails + code cleanup
Previously, an output that does not implement `info.get_output_type`
would result in these log messages saying `(null)`. This uses the actual
ID directly from the output itself instead.

Also removes two extra calls to `obs_encoder_set_video()` as they are
redundant and unnecessary.
2023-01-18 12:17:35 -06:00
tytan652
8fad36868e UI: Refactor Windows taskbar switch 2023-01-16 11:52:26 +01:00
tytan652
cf5c68b773 UI,libobs,libobs-opengl,obs-ffmpeg: Remove unneeded cast in switches
Those casts were usually used to workaround switch warnings.

Also adds default to OBS frontend event switches that had this
workaround.
2023-01-16 11:52:26 +01:00
derrod
143877c8ff updater: Fix portable OBS not being relaunched correctly 2023-01-14 15:30:58 -08:00
gxalpha
2133f47658 UI: Reintroduce spacing to YouTube dialog buttons 2023-01-13 10:50:36 -08:00
derrod
807c0c386d updater: Deduplicate Downloads 2023-01-12 11:37:26 -08:00
Translation Updater
783bd52197 Update translations from Crowdin 2023-01-08 04:10:37 +00:00
Richard Stanway
930c65e7c3 UI: Prevent negative "disk full in" calculation when no output
If the output is paused the average bitrate will be zero, resulting in
infinite time until disk is full and int overflows. Similarly, if no data
has been collected yet, the result will be NaN and undefined behavior.
2023-01-07 15:49:13 -08:00
Kurt Kartaltepe
124ebedbdb UI: Disable qt5ct when compiled with qt6
Qt is not smart enough to disable qt5 platform plugins when users
blindly ask for them, which causes users to be unable to start OBS.
Instead lets kindly disable broken platforms on their behalf.
2023-01-07 15:17:05 -08:00
Matt Gajownik
08a04d2cf0 UI: Lock volume meter sliders to LTR
Fixes #5447 where sliders would work in reverse.
2023-01-03 18:24:41 -05:00
tytan652
852d53723c UI: Use stream encoder when resetting encoders
It actually use the recording encoder while restoring the stream encoder.
2023-01-03 17:34:44 -05:00
Kurt Kartaltepe
1b8a695571 UI: Restrict GNOME wayland override
Some wayland compositors exclusively use xwayland such as gamescope.
This allows us to fallback to the platform determined by Qt, which will
detect these exotic compositors and handle them correctly when not
overidden by this envvar.

Qt preserves this undesired behavior until 6.3. With ubuntu 22 on 6.2
this workaround needs to be preserved.

fixes #6386
2022-12-23 10:00:03 -03:00
Ryan Foster
436643c3b9 UI: Fix Qt AutoUic warning
Currently, Qt's User Interface Compiler (UIC) emits a warning about the
tabstop assignment for horizontalLayout_sdrPaperWhite, which is a
QLayout rather than a QWidget. Remove the tabstop assignment to fix the
warning.
2022-12-10 15:02:38 -08:00
gxalpha
53caee8ceb UI: Guard GetMonitorName behind Qt < 6.4
d27cda1 made this unnecessary on other Qt versions
2022-12-03 15:30:28 -08:00
cg2121
a18f07d49c UI: Fix slide counter with no slides
When a slideshow is created with no slides, the slide counter
shows value of "1 / 0". Now it shows "- / -".
2022-12-03 15:26:34 -08:00
derrod
9c2cccfbc7 updater: Bump to version 2.2 2022-12-03 15:03:28 -08:00
gxalpha
dab5ff813a UI: Hide "Update Channel" label on macOS 2022-11-26 11:34:09 +01:00
tytan652
bc51e15553 UI: Guard AutoBetaOptIn as Windows-only 2022-11-26 11:34:03 +01:00
derrod
4681ec732b UI: Delay timed update check until branch migration 2022-11-26 11:33:27 +01:00
Matt Gajownik
d27cda1fa2 UI: Fix monitor name for projectors on Windows
From Qt 6.4 release notes:
QScreen::name() now returns the user friendly name instead of the GDI
device name on Windows. This is consistent with other platforms and also
obeys the documentation.

--

Additionally, this scraps the visual indexing on monitors as the
numbering is not guaranteed to match any other GUI or API. A similar
change was recently made in the Display Capture source on Windows.
2022-11-24 18:16:30 +11:00
Jim
00078a6a73 UI: Add QSV AV1 to simple output mode 2022-11-21 19:08:02 -08:00
Jim
3c4f9f18c7 obs-qsv11: Simplify CQP
Uses the same QP value for B, P, and I frames to simplify the settings
2022-11-21 19:08:02 -08:00
derrod
dc7a20288f UI: Switch to beta branch when running beta/rc for the first time 2022-11-22 02:54:07 +01:00
derrod
f141b9c59b UI: Add update channels (Windows) 2022-11-22 02:54:07 +01:00
derrod
1617424466 updater: Add --branch/--portable command line arguments 2022-11-22 02:54:07 +01:00
Clayton Groeneveld
cfcad30e3e UI, image-source: Add slide counter to slideshow toolbar
This shows the current slide and total number of slides in the
slideshow toolbar.
2022-11-20 03:07:27 -05:00
cg2121
0df774cd01 UI: Disable toolbar buttons when no source is selected
When no source is selected, disable the toolbar buttons so the user
knows the buttons can't be clicked. They would just do nothing
before.
2022-11-20 00:06:17 -05:00
tt2468
e141def61b UI: Use blog for "Attempted path" log messages
These use printf for some reason. Instead of always printing them and
having them clutter the log, blog them with debug level. They don't
appear in log files anyway.
2022-11-19 18:16:05 -08:00
cg2121
14bd880822 UI: Add filters button to scenes toolbar
Makes it easier to access scene filters.
2022-11-20 11:07:22 +11:00
Jim
572407a928
Merge pull request #7809 from obsproject/amf-av1-rebased
Add Hardware AMD AV1 Encoder
2022-11-19 15:52:16 -08:00
gxalpha
aceeed3430 UI: Remove Qt taskbar overlay
This is no longer needed with the native integration.
2022-11-19 18:48:27 -05:00
jpark37
34a43aa4f1 UI: Clarify that RGB output format is BGRA 2022-11-19 15:20:03 -08:00
gxalpha
3838b088e3 UI: Add Apple Hardware Encoder to AutoConfig
Starting with macOS 13 the VT hardware encoder has all the capabilities
it needs for both streaming and recording, so we can start recommending
it in AutoConfig.
2022-11-19 17:38:22 -05:00
Roman Huts
8a831e2da5 UI: Add AMD AV1 to simple output mode 2022-11-18 18:18:08 -08:00
Ryan Foster
90f7a08237 UI: Change Simple Output NVENC default preset to P5
To avoid the user having lookahead enabled with no way to disable it,
change the Simple Output Mode NVENC Preset from P6 to P5.

Follow up to 8806738a04.
2022-11-18 20:51:40 -05:00
jpark37
803fcc4c3e win-capture,UI: Look up display by id, not index
The index is not reliable. The id persists better, so use that.

Also remove matching against the first monitor if the expected monitor
is not available. That feature seems like a good way to get doxxed by
accident.
2022-11-18 15:15:13 -05:00
pkv
fcb6df1f63 obs-ffmpeg: Direct setting of encryption & auth for SRT & RIST
Also modifies UI.

This allows the direct use of passphrase (SRT & RIST) used for
encryption, user + password (RIST) as well as streamid (SRT).
Previously, these parameters had to be set in the URL in the form:
URL?option1=value1&option2=value2.
They still can but there is also the option to set them in the stream
key and username/password fields.
SRT:
- the stream_id is set in the stream key (more info on it: [1]);
- the encryption passphrase is set in the password auth field.
RIST:
- the encryption passphrase is set in the stream key;
- the srp_username and srp_password are set in the user/password auth
fields [2].

Additionally, some error logging has been added when there's a
disconnect caused by a wrong password.
Lastly, this solves a bug when auto-reconnect is set and a wrong
passphrase is provided for srt; the output would keep trying to
reconnect. With this commit, an OBS_OUTPUT_INVALID_STREAM signal is
emitted and the stream is immediately stopped.

[1] https://github.com/Haivision/srt/blob/master/docs/features/access-control.md
[2] https://code.videolan.org/rist/librist/-/wikis/Authentication-and-the-ristsrppasswd-Utility

Signed-off-by: pkv <pkv@obsproject.com>
2022-11-17 21:56:38 -05:00
cg2121
0553ddcec0 UI: Use weak source for projectors
The projectors were holding on to a reference of a source, even
if the source was deleted.
2022-11-17 18:41:23 -05:00
cg2121
38fc2f3b1d UI: Add separator in source toolbar
It makes the source properties button more distinguishable.
2022-11-16 18:13:08 +11:00
Warchamp7
ffd7516305 UI: Remove number from multiview labels 2022-11-12 18:36:35 -05:00
PatTheMav
4ff789e24c
UI: Fix snprintf calls with literals as buffer sizes 2022-11-11 19:51:28 +01:00
PatTheMav
c257c29084
UI: Replace invocations of sprintf with snprintf
Fixes deprecation warnings in Xcode 14/clang on macOS and reduces
chance of buffer overflows.
2022-11-11 19:51:27 +01:00
gxalpha
03612ab873 UI: Fix QStyle memory leak 2022-11-09 23:07:53 -08:00
jpark37
4a108a6935 decklink-output-ui: Pipeline GPU data for preview
Mapping a GPU resource for CPU read immediately after GPU write creates
a large stall on the graphics thread. Use a small circular buffer, and
read the oldest frame instead.
2022-11-09 18:49:38 -08:00
Tommy Vercetti
b838636f58 UI: Remove Rosetta detection log
Will be moved to libobs
2022-11-09 03:03:26 -08:00
gxalpha
dc024a8643 UI: Use on_foo_bar properly for docks context menu 2022-11-08 20:49:56 -08:00
gxalpha
1b75940f80 UI: Replace manual usage of on_foo_bar for show/hide transition 2022-11-08 20:49:56 -08:00
Richard Stanway
7e0ade0df0 UI: Remove support for toggling Aero
We no longer support Windows 7 and Aero (DWM composition) is
permanently enabled for all newer versions, so this code is obsolete.
2022-11-08 20:44:47 -08:00
derrod
93456dfde2 UI: Set Replay Buffer Memory limit dynamically 2022-11-08 05:38:37 -08:00
Richard Stanway
c9c20008da UI: Fix always on top not being saved on exit
By the time we reach this part of the code it's too late to be checking
the window flags as the window has already been closed.
2022-11-05 11:06:39 -07:00
gxalpha
e6b7a60638 UI: Add simple mode for Apple Hardware HEVC 2022-11-02 22:44:20 +01:00
PatTheMav
b8681356e1 UI: Add detection of ProRes encoder for auto muxing
Switches container format for automatic muxing to MOV when ProRes-type
encoder is used.
2022-11-02 22:44:20 +01:00
PatTheMav
59a126dcf4 UI: Print container warnings for ProRes encoder and disable autoremux 2022-11-02 22:44:20 +01:00
Ryan Foster
1bd43220d5 UI: Migrate Simple Output NVENC preset 2022-10-31 22:51:24 -07:00
Ryan Foster
c6fbeaaf6d UI: Refactor NVENC preset migration
Refactor the NVENC preset migration code to avoid having to maintain
more copies of the preset mappings.
2022-10-31 22:51:24 -07:00
Ryan Foster
0ddba5d644 obs-ffmpeg: Split NVENC preset migrations by codec
This commit also modifies UI.
2022-10-31 17:02:51 -04:00
Ryan Foster
a36427c0ab UI: Add NVENC preset migration for lossless 2022-10-31 17:02:51 -04:00
Ryan Foster
891e3b0f49 obs-ffmpeg: Align NVENC preset migrations to NVIDIA guidelines
Bring our NVENC preset migrations closer in line with NVIDIA guidelines.

https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-preset-migration-guide/

This commit also modifies UI.
2022-10-31 17:02:51 -04:00
Ryan Foster
254dc4081c obs-ffmpeg: Add NVENC preset mapping for old Default preset
The old NVENC preset "Default", labeled in OBS as "Performance", maps to
the new P3 preset when not using multipass. Since we previously only
enabled multipass/two-pass on "Max Quality", we can map this to P3 in
all cases.

This commit also modifies UI.
2022-10-31 17:02:51 -04:00
cg2121
a1fb49ccd6 UI: Change adv audio background color
The color of the disabled sliders would be the same as the background
in the advanced audio dialog.
2022-10-31 17:38:55 -03:00
Jim
1fc6c50b62 UI/obs-frontend-api: Return allocated strings for new funcs
8dda8d3500 added a few functions to get the last
recording/replay/screenshot path, but it should return allocations
because it's possible for the data to be modified at a later point.
2022-10-30 20:35:36 -07:00
cg2121
8dda8d3500 obs-frontend-api: Add functions to get last saved files
Adds functions to the frontend api to get the last recording,
screenshot and replay buffer saved.
2022-10-30 19:53:11 -07:00
Translation Updater
f065f20ce1 Update translations from Crowdin 2022-10-25 22:32:14 +00:00
gxalpha
6f50aac941
UI: Use correct key for "Always on Top" with projectors 2022-10-24 20:47:47 +02:00
derrod
1eedf4b50d UI: Fix placeholder element not being deleted 2022-10-23 14:35:30 +02:00
tytan652
82c734892c UI: Avoid showing service integration page on Wayland 2022-10-23 03:17:15 -07:00
cg2121
42ecdef938 obs-frontend-api: Add screenshot event
This adds a frontend event for when a screenshot is taken.
2022-10-23 11:06:30 +11:00
gxalpha
45ddd8c5ae UI: Set preset2 instead preset for simple mode NVENC 2022-10-22 16:48:53 -07:00
derrod
e91f1f4003 UI: Hide --portable from help text if disallowed 2022-10-22 16:35:05 -07:00
derrod
602ad99581 UI: Hide donation CTA when running via Steam 2022-10-22 16:23:50 -07:00
derrod
e8dc7d6b07 UI: Add --steam flag 2022-10-22 16:23:50 -07:00
jp9000
70c5f6c24a UI: Change "hq" to use P5 when upgrading NVENC 2022-10-19 17:51:07 -07:00
tytan652
15689fd4bd UI: Fix stats widget appearance on Yami themes
- QSS changes fix background color on the stats dialog.
- Making OBSBasicStats derive from QFrame fixes the background color
and round bottom corners on the stats dock.
2022-10-19 15:02:25 -04:00
tytan652
0a12d6728c UI: Fix stats widget status font size 2022-10-19 15:02:25 -04:00
tytan652
9bd34fe0cc UI: Fix theme if apply and cancel in settings
Cancel after apply in settings will set the old theme.
2022-10-19 15:01:37 -04:00
gxalpha
4d4a888f8e UI: Use correct title for failed replay buffer start 2022-10-15 16:35:20 -07:00
cg2121
3c7b1c8297 obs-frontend-api: Add theme functions
This adds a frontend function to check if a theme is dark and also
adds an event for when the theme is changed.
2022-10-15 16:21:34 -07:00
Richard Stanway
1d044db4f6 UI: Check return value of ConvertResText before accessing results 2022-10-15 16:17:46 -07:00
Richard Stanway
cba81638b5 UI: Fix potential memory leak when parsing OBSThemeMeta 2022-10-15 16:17:46 -07:00
Richard Stanway
f021da2afa UI: Copy result of getenv before use
Another call to getenv, as well as a call to the POSIX functions
setenv(), unsetenv(), and putenv() may invalidate the pointer
returned by a previous call or modify the string obtained from a
previous call.

https://en.cppreference.com/w/c/program/getenv
2022-10-15 16:17:46 -07:00
Richard Stanway
daee83373c UI: Remove unused assignments 2022-10-15 16:17:46 -07:00
PatTheMav
e2db9b7f70 UI: Fix possible crash due to UI property access from graphics thread
Selection state can change by main thread while UI thread (which
calls DrawSpacingHelpers) tries to evaluate the amount of selected
items. Get amount of selected items by enumerating over the scene data
instead (which stays within the graphics thread).
2022-10-15 16:06:50 -07:00
Richard Stanway
e93ad13529
UI: Don't offer current resolution in auto config if < 240p
Fixes #3612.
2022-10-13 23:13:27 +02:00
Ryan Foster
b2ff22a587 UI: Swap mq and hq NVENC Preset mappings
The old preset "mq" was "Max Quality", which used the old HQ preset with
two-pass enabled. The old preset "hq" was "Quality", which used the old
HQ preset without two-pass. Of the two, "mq" would have been considered
"slower" or "higher quality" than "hq", so let's swap these entries.
2022-10-12 21:21:03 -07:00
Chip Bradford
5054e5739a UI: Use transform to fit vcam source to canvas 2022-10-11 15:38:30 -07:00
Chip Bradford
2af28d62e9 Revert "UI: Remove individual sources (for now) from vcam config"
This reverts commit 7c8995c20f.
2022-10-11 15:38:30 -07:00
gxalpha
767d6dafd0 UI: Move "Always On Top" into View menu 2022-10-09 16:53:54 -07:00
gxalpha
e4a9c7da9c UI: Add multiview menus to UI file 2022-10-09 16:53:54 -07:00
tytan652
47fcaed8d3 UI: Fix NVENC AV1 preset while resetting encoders 2022-10-09 16:26:29 -07:00
PatTheMav
8f362fe508 UI: Clamp float values possibly representing infinity to integer size
Casting a floating point type to an integer type has undefined behaviour
if the value does not fit into the destination type.

As the volume meter is initialized with floats values representing +inf
(as makes sense for a dB meter), values should be explicitly clamped
to integer boundaries.
2022-10-09 16:20:03 -07:00
jp9000
614bf960d9 UI: Add NVENC AV1 to simple output mode 2022-10-07 14:34:39 -07:00
cg2121
193d48f5d9 UI: Fix alignment of volume sliders
With the Yami themes, the volume sliders wouldn't
be aligned in the center of the layout.
2022-10-02 10:31:26 +11:00
Norihiro Kamae
d69fbccae2 UI: Fix tabstop on settings dialog 2022-10-01 16:24:32 -07:00
Norihiro Kamae
9875cde6c4 UI: Remove unnecessary styles 2022-10-01 16:18:26 -07:00
PatTheMav
8a4cf4b739 UI: Fix AutoRemux not working when FFmpeg output configured
When the Advanced Output configuration is set to use custom FFmpeg
output, automatic remuxing is disabled. Unfortunately this check will
also take place even if Simple Output is used (as the value is set in
the configuration data, but is not "active").

This check ensures that the check for custom FFmpeg output is only
applied when Advanced Output is enabled.
2022-10-01 07:07:32 -07:00
gxalpha
dc30cf0843 UI: Don't reselect SceneTree items if tree is clearing
In the scene tree, we currently prevent deselecting items by
automatically reselecting a new one to workaround a regression in Qt 6.2
that would let users unselect items even in SingleSelection QItemViews.
When clearing however, we explicitly want to unselect the currently
selected item, so we should avoid reselecting it in the SceneTree.
2022-09-30 05:41:35 -07:00
derrod
cc2ecbe89c UI: Remove executable bit from public key file 2022-09-30 01:57:24 +02:00
cg2121
048b6524e3 UI: Fix color of popout icon
In the light theme, the dock popout icon was the wrong color,
basically making it invisible.
2022-09-25 09:29:32 +10:00
cg2121
3d1f4fc757 UI: Fix dock titlebar icons not loading
The icons had the wrong name in the qss files. The docks were missing
the icons on at least Linux. I have no idea why the dock icons still
worked on Windows though.
2022-09-25 09:22:20 +10:00
jpark37
a34fae0327 libobs,UI: Swap red/blue render/output channels
Don't need to unswizzle channels for DeckLink output in the future.
2022-09-24 16:06:34 -07:00
Matt Gajownik
493270e022 frontend-tools: Display dialog when changing Python version
Runtime switching of Python version is not supported.
2022-09-23 12:08:11 +10:00