Commit Graph

779 Commits

Author SHA1 Message Date
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
derrod
09b6786f1a UI: Add Help menu action to show What's New dialog 2023-03-18 15:21:52 -07: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
cg2121
b82c8ccdcf UI: Limit preview scrolling
This prevents the preview from being scrolled on forever.
2023-03-11 15:22:23 -08: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
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
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
11e5afa2b2 UI: Support platform-specific WhatsNew entries 2023-02-25 15:08:27 -08: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
jpark37
463bf0dff5 libobs,UI: Add P216/P416 pixel formats
Will be useful for ProRes.
2023-02-21 18:48:44 +01:00
gxalpha
e438037960 UI: Use native color dialog on macOS 2023-02-19 04:10:51 +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
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
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
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
46da073aa5 UI: Add obs_frontend_open_sceneitem_edit_transform() 2023-02-04 15:23:26 -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
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
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
derrod
dc7a20288f UI: Switch to beta branch when running beta/rc for the first time 2022-11-22 02:54:07 +01: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
cg2121
14bd880822 UI: Add filters button to scenes toolbar
Makes it easier to access scene filters.
2022-11-20 11:07:22 +11: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
gxalpha
03612ab873 UI: Fix QStyle memory leak 2022-11-09 23:07:53 -08:00
gxalpha
dc024a8643 UI: Use on_foo_bar properly for docks context menu 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
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
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
Ryan Foster
1bd43220d5 UI: Migrate Simple Output NVENC preset 2022-10-31 22:51:24 -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
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
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
gxalpha
e4a9c7da9c UI: Add multiview menus to UI file 2022-10-09 16:53:54 -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
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
1aad58c0c4 UI: Don't save/overwrite browser docks if CEF hasn't loaded
OBS only populates the extraBrowserDocks list if `cef` is valid. By
saving docks regardless of whether `cef` is valid, this can result in
the user's custom docks being cleared unexpectedly.
2022-09-10 16:18:55 -07:00
derrod
e8dc70d0ee Revert "UI: Remove "Resize output (source size)" menu"
This reverts commit 829e906ac2.
2022-09-03 05:09:59 +02:00
gxalpha
9dc05b6b8c UI: Remove reset-timestamp option
Co-Authored-By: Norihiro Kamae <780600+norihiro@users.noreply.github.com>
2022-08-30 22:41:29 -04:00