Commit Graph

2661 Commits (master)

Author SHA1 Message Date
Ryan Foster d88ca3b243 UI: Suppress LNK4098
defaultlib 'MSVCRT' conflicts with use of other libs; use
/NODEFAULTLIB:library
2022-07-20 19:32:34 -04:00
gxalpha 80e2a980bf UI: Remove disable_high_dpi_scaling option on Qt 6
With Qt 6, high dpi scaling is always enabled and the
AA_DisableHighDpiScaling becomes no-op. As such, the command line
argument can get removed.
2022-07-20 14:14:38 -04:00
jp9000 0a218e06b7 UI: Add low latency audio buffering mode to UI
This feature is meant to reduce maximum audio buffering and turn off
dynamic buffering mode. This allows the lowest possible consistent
latency for audio buffering, which is useful for the decklink and NDI
outputs which cannot rely on audio timestamps for synchronization.

This can have a negative effect of making audio segments (partial or in
full) cut out. So audio glitching or audio loss can occur if this is
enabled.
2022-07-20 05:31:20 -07:00
tytan652 8befd830a9 aja-output-ui: Avoid using OBS_UNUSED
OBS_UNUSED is not portable to MSVC.
2022-07-20 09:03:31 +02:00
tytan652 91c353c774 UI: Fix undo stack uninitialized ui warning
Moving the declaration of `ui` above `undo_stack` fix the warning.

Co-authored-by: Richard Stanway <r1ch@r1ch.net>
2022-07-19 15:57:55 -04:00
Norihiro Kamae 317780ca1b aja: Remove unnecessary .keepme files
Since the directory contains some files, .keepme, which is intended to
keep an empty directory on a git repository, is unnecessary.
2022-07-19 14:40:32 -04:00
Norihiro Kamae 288f29fa2a decklink-output-ui: Fix memory leak
Add missing bfree by changing `char *` to `BPtr<char>`.
2022-07-19 14:35:01 -04:00
Clayton Groeneveld 41e2491fb4 UI: Add media control icons to Yami
The Yami theme never added the media control icons to
the qss file.
2022-07-19 11:02:20 -04:00
Norihiro Kamae 4ca0273a57 UI: Remove unnecessary UNUSED_PARAMETER 2022-07-19 11:01:00 -04:00
jp9000 0b9a8aa1fd Revert service json lookup refactor in UI
Certain services have custom server lits handling which I had forgotten
about, so although it would have been nice to have this refactor, we'll
have to live with relying on the plugin properties object directly for a
while.

This also reverts obsproject/obs-studio#6530 and
obsproject/obs-studio#6683 because that change depended on this
problematic refactor code.

This reverts commits:
f2e6122881,
bc80d0ca95,
050a29da1a,
22ffc04f73,
275e510aad,
2fa5ffe4df.
2022-07-18 14:52:26 -07:00
Clayton Groeneveld 6eb5a922a7 UI: Remove duplicate missing files code
The same code was in different places, so call single function to
clean up code.
2022-07-18 19:12:31 +02:00
jpark37 54a57b63ad UI: Disable LNK4099 warning
We are very unlikely to ship PDBs for deps.
2022-07-18 03:52:04 -07:00
jpark37 6f3f42eb1f aja-output-ui: Suppress C4996
NTV2TestPatternGen::DrawTestPattern overloads are deprecated.
2022-07-18 03:52:04 -07:00
mvji c041deb433 UI: Check output path when starting replay buffer
Make a better error message for user,
in case recording path is invalid

Issue 6731
2022-07-16 16:50:32 -07:00
Clayton Groeneveld b224a2cd47 UI: Add frame around transitions dock
The transitions dock doesn't have a proper container, like
the other docks.
2022-07-16 16:39:17 -07:00
Clayton Groeneveld 2012963d02 UI: Add menu icons to resource folder
The menu icons were never added to the resource
folder, so they didn't work in the System theme.
2022-07-16 16:30:29 -07:00
gxalpha 05c245532f UI: Correctly spell "ChromeOS" again
Google made up their minds after we merged ccc5767
2022-07-16 16:12:24 -04:00
Clayton Groeneveld 9b09ad9a7a UI: Fix menu icons not showing up
The menu icon was set only in the Yami theme.
2022-07-14 19:48:53 -04:00
tytan652 b65411c343 UI: Fix color format warning
bbeafeabdd change how the combobox is filled.

`UpdateColorFormatSpaceWarning` did not get the required change to use
the combobox data rather than the text.
2022-07-14 11:47:56 -04:00
Warchamp7 9febf96a61 UI: Fix text shifting on lineEdits 2022-07-13 19:14:03 +10:00
mvji bbeafeabdd UI: Add more information to describe output format
In advanced settings
Also enable translation for color format
2022-07-12 23:37:01 +10:00
jpark37 df96e68ca6 cmake: Disable LNK4099 warning
We are very unlikely to ship PDBs for deps.
2022-07-11 22:07:10 -07:00
cg2121 a32793dd04 UI: Use more descriptive tooltips
This makes the scene/source tooltips easier to
understand.

Add -> Add Scene, Add Source
Remove -> Remove Selected Scene, Remove Selected Source(s)
MoveUp -> Move Scene Up, Move Source(s) Up
MoveDown -> Move Scene Down, Move Sources(s) Down
Properties -> Open Source Properties
Filters -> Open Source Filters
2022-07-11 18:17:04 -04:00
gxalpha 29ae00e4af UI: Add Apple H.264 hardware encoder to simple mode
Adds the Apple Silicon hardware encoder as a simple mode option. For
recordings this only requires being on Apple Silicon (since we use the
Constant Quality setting), while for streaming it requires the user to
be on macOS 13 or newer (since we're using CBR).
2022-07-11 23:45:43 +02:00
Tommy Vercetti cabc3c8aec UI: Implement Taskbar Overlay for Qt6 2022-07-10 14:06:15 +10:00
Clayton Groeneveld b307d38ef6 UI: Fix typo with SetSourceName function
The SetSoureName in the adv-audio-control.hpp had newName
misspelled as newNamw.
2022-07-10 14:00:35 +10:00
Clayton Groeneveld 1cf93a4b29 UI: Fix compiling error on nix platforms
On nix platforms, the compile would complain about
using non-const values for the function parameters.
2022-07-10 14:00:35 +10:00
Clayton Groeneveld 22dbf316df UI: Truncate push-to-* labels
The labels for the push-to-mute / push-to-talk hotkeys
were never truncated.
2022-07-10 14:00:35 +10:00
Clayton Groeneveld e40a6be031 UI: Use new truncate function with hotkeys
This updates the hotkeys to use the new truncate label
function in qt-wrappers.cpp
2022-07-10 14:00:35 +10:00
Colin Edwards 50372164d0 UI: Move multiview render into a new class
Co-authored-by: tt2468 <tt2468@irltoolkit.com>
2022-07-10 13:45:43 +10:00
Clayton Groeneveld 873ee8e7ba UI: Fix reset ui warning showing on first start
If a plugin adds a dock and the program is run for the
first time, the reset ui warning would show up.
2022-07-10 12:26:42 +10:00
PatTheMav fad83b040a aja-output-ui: Explicitly mark variables as unused 2022-07-10 09:59:55 +10:00
Warchamp7 2941c48dbe UI: Yami font adjustments
Removes font-family definition for now, and changes
other font sizes to pt units instead of px

Also adds a margin to the SceneTree/SourceTree line
edits to fix qss padding weirdness
2022-07-09 16:04:46 -07:00
gxalpha 2dd1a3fc6f UI: Fix compilation with browser disabled 2022-07-06 19:48:27 +02:00
Matt Gajownik 08cee21158 UI: Apply default stylesheet before applying theme
This significantly improves performance when switching themes.
The original intent was to "clear" customizations applied by the
previously selected theme. This change does not seem to achieve that goal.
2022-07-04 23:28:48 +10:00
Matt Gajownik 570c904977 UI: Don't re-apply theme when saving Settings
When the user changes theme, it is applied immediately. If the user
clicks Cancel, the previous theme is restored. This additional SetTheme
call was unnecessarily causing the existing theme to be re-applied,
resulting in a momentary hang without clear cause.
2022-07-04 23:00:15 +10:00
gxalpha 38ee4dea6e UI: Remove OBSBasic.ui.autosave 2022-07-03 01:55:31 +02:00
Warchamp7 936bd58874 UI: Add new theme Yami 2022-07-02 16:52:39 -07:00
tytan652 f2e6122881 UI: Fix network feature visibility after loading settings 2022-07-02 16:32:44 -07:00
Vainock e053f9dd26 UI,mac-avcapture: Use consistent variables in locales 2022-07-02 14:02:40 +10:00
Vainock e612a6bd66 UI: Remove unused undo/redo strings 2022-07-02 14:02:40 +10:00
gxalpha 31eb60f031 UI: Make properties window default to 50/50 split 2022-07-02 13:53:42 +10:00
Matt Gajownik 5fd4339c1d UI: Move HDR units for settings to suffix 2022-06-30 20:57:02 +10:00
gxalpha cf0275e00d UI: Fix YouTube Chat build failure with Qt 6 2022-06-29 18:32:09 -04:00
gxalpha 3513c78be2 UI: Add ability to send messages to YouTube chat 2022-06-27 14:35:01 -04:00
gxalpha 49dfc113c1 UI: Add SendChatMessage to YouTube API wrappers 2022-06-27 14:35:01 -04:00
gxalpha 5a298106bc UI: Add vertically expanding LineEdit Widget
Meant to behave like a QLineEdit (disallowing newlines and having a
maximum length), but show multiple lines.
2022-06-27 14:35:01 -04:00
tytan652 bf985946a4 libobs,UI,docs: Add info as text property sub-type in the property API 2022-06-26 17:31:59 +10:00
gxalpha cd900d7091 UI: Try closing remux before initiating shutdown
Makes OBS try to close the remux dialog before Clearing Scene data since
in case a remux might still be going on and the user does want to abort
closing OBS.
2022-06-25 21:44:58 -04:00
Clayton Groeneveld 3cfd30ae2a UI: Add ability to reset whole UI
Users for example disable all of the items in the view menu.
This allows them to easily reset them all.
2022-06-25 21:24:35 -04:00
tytan652 bc80d0ca95 UI: Hide network features if a non-RTMP service is set
Only rtmp_output has those features implemented.
2022-06-25 17:11:29 -07:00
tt2468 81003b2c64 UI: Change default reconnect values
- Base reconnect delay is now 2 seconds
- Max retry count is now 25
2022-06-25 17:06:00 -07:00
gxalpha 7475eff13a UI: Only offer ultrafast-fast x264 presets in Simple Mode 2022-06-25 16:30:27 -07:00
gxalpha cc5e5cbb94 UI: Move Simple Mode encoder preset out of Advanced 2022-06-25 16:30:27 -07:00
gxalpha b2895496c7 UI: Move Simple Mode audio bitrate above encoder 2022-06-25 16:30:27 -07:00
Norihiro Kamae fcf6b24e44 UI: Fix crash if missing module in context bar
If a module is not found in context bar, it crashed when resolving
source type name. This is same change as 41367bb2b but fixes
window-capture and display-capture.
Also removes an unnecessary pair of braces.
2022-06-25 16:09:30 -07:00
tytan652 066f0defcf UI: Fix cut transition not being initialised
78bdd4cb01 removed it accidentally
2022-06-25 12:12:39 +02:00
Matt Gajownik 2bb780468c UI: Fix formatting 2022-06-25 14:46:05 +10:00
Matt Gajownik 76cc739c7f UI: Support pressing space to open MenuButton 2022-06-25 14:39:30 +10:00
Matt Gajownik 0135af9c34 UI: Use existing IsThemeDark() in more places 2022-06-25 14:33:52 +10:00
gxalpha 889ca0fc04 UI: Regroup and Reorder source right-click menus
Visually, the Scale Filtering, Blending Mode & Method, and Deinterlacing
menus are now grouped together, with "Hide in Mixer" being its own group
until a better place for it has been found.
Projector and Screenshot menus have been moved down.

As a related code cleanup, the creation of sourceProjector and
sourceWindow has been moved down and partially inlined.
2022-06-20 19:31:31 -03:00
gxalpha bb69883bd0 UI: Only show "Interact" menu for interactable sources
Most sources can't be interacted with, so always showing this menu only
takes up space and makes the menu stack bigger.
2022-06-20 19:31:31 -03:00
gxalpha 829e906ac2 UI: Remove "Resize output (source size)" menu 2022-06-20 19:31:31 -03:00
gxalpha 1c7062c3a4 UI: Move transition duration above Add/Remove buttons 2022-06-20 18:29:22 -03:00
gxalpha 78bdd4cb01 Revert "UI: Redesign transitions dock"
This reverts commit d5905039c9.
2022-06-20 18:29:22 -03:00
gxalpha 6b287dbcc1 Revert "UI: Fix "Add [transition]" not being translated"
This reverts commit 1a14304784.
2022-06-20 18:29:22 -03:00
gxalpha 4feabf227f Revert "UI: Move "Add [transition]" to bottom of combo"
This reverts commit 6460579fb6.
2022-06-20 18:29:22 -03:00
gxalpha 609acca161 Revert "UI: Fix non-default transitions going below add vals"
This reverts commit da8547c112.
2022-06-20 18:29:22 -03:00
gxalpha 5fad651b2d Revert "UI: Fix selecting correct transition when deleting"
This reverts commit 3486c0b363.
2022-06-20 18:29:22 -03:00
gxalpha 6188144cab Partly revert "UI: Fix Qt signal connection warnings"
This partly reverts commit 40f99da8a2 so
that conflicts are gone.
2022-06-20 18:29:22 -03:00
gxalpha 0fa7834bfc UI: Use libobs rosetta detection 2022-06-19 01:37:15 +02:00
Clayton Groeneveld 295386781f UI: Cleanup advanced audio window
This converts the advanced audio window to use
a ui form, so it is easier to modify in the future.

This also fixes sizing issues with the control widgets,
as before the audio tracks would be clipped, because the
widgets in the window were too wide.
2022-06-18 23:13:13 +10:00
Clayton Groeneveld fca727c191 UI: Add eventFilter to media slider
When pressing the up and down arrows or moving the mouse wheel
for the media slider, the slider would move.
2022-06-11 16:28:57 -07:00
Clayton Groeneveld 76660517d2 UI: Make transform dialog spinboxes consistant
The spinboxes in the transform dialog were different sizes.
2022-06-11 16:19:23 -07:00
Clayton Groeneveld 5c5861098b UI: Fix position of reset filters button
This removes the horizontal spacer that pushed the filters
reset button to the right.
2022-06-11 16:16:00 -07:00
OldBaldGeek 1f34b4e2ed UI: handle theme file names with "." characters
Use QFileInfo::completeBaseName() to get name up to .qss for use
as Theme name.
2022-06-11 16:15:11 -07:00
Norihiro Kamae 1c4bc6e735 UI: Fix multithread-unsafe GetCurrentScene
The function `OBSBasic::GetCurrentScene()` is also called from the
graphics thread and access to a QListWidget object, which is not
multithread-safe.
2022-06-06 10:20:00 -07:00
Yuriy Chumak 84e7db5059 UI: Simple Output Mode for NVENC HEVC 2022-06-05 16:02:58 -07:00
gxalpha efd26b25ea UI: Mark YouTube window showEvent as override 2022-06-01 19:43:03 -04:00
gxalpha e0472f5b9e UI: Fix unused parameter warnings 2022-06-01 19:43:03 -04:00
tuduweb 34e346a011 UI: Fix crash when pressing `tab` key in rename 2022-05-31 09:53:14 -04:00
Richard Stanway 34bbb94acd
UI: Use int return type in OBSIgnoreWheelProxyStyle 2022-05-30 22:55:36 +02:00
cg2121 0d0b65e8c8 UI: Truncate names in advanced audio dialog
This limits the length of the name label in the advanced audio
dialog to 80 characters, so the dialog doesn't get too wide. If the
name is truncated, "..." are added at the end of the label, and the
label's tooltip is set to the full name of the source.
2022-05-30 21:00:53 +10:00
Jim 1705edf8f9
Merge pull request #6475 from GeorgesStavracas/gbsneto/drop-glx
Au revoir, GLX
2022-05-28 17:04:17 -07:00
Kurt Kartaltepe f8d415afbe UI: Close display before native surfaces
This hooks the platform specific events in order to close the obs
display more accurately. Earlier attempts on hooking visiblity, but Qt
does not ensure that visibility is changed before the surface is
destroyed. So we ended up racing with the EGL driver and on some
drivers if you lose the race they hang.

Also only force display creation if the display is actually visible.
When a source type is not video/drawable (or is missing) this would
force the display to be created for the blank window and also hang.

Finally force closure of the preview displays during scene cleanup to
avoid similar ordering issues in Qt. Qt has even less order guarentees
during close and we are sure that displays are no longer needed at this
point in the UI.
2022-05-28 16:54:37 -07:00
tt2468 f6a77ec0a6 libobs/util: Add %s string replacement for unix time
Adds %s which replaces the keyword with the current unix epoch time.

The %s keyword is common in languages like PHP and Python, and even
some C implementations, but it is not standard so this is a fallback.
2022-05-28 18:30:41 -04:00
cg2121 1dd406107c UI: Add suffixes to transform dialog
This makes it easier to understand what the
values in the dialog mean.
2022-05-28 14:19:26 +10:00
Georges Basile Stavracas Neto ca2d02c2ce Drop GLX renderer
"They must often change, who would be constant in happiness or wisdom"

 - Confucius
2022-05-24 14:31:48 -03:00
Richard Stanway 108d32c0c6 UI: Remove m3u8 format from simple output mode
This option regularly confuses users, who accidentally select it and
then ask why they have hundreds of 2-4 second video clips in their
output folder. HLS output format to file is a pretty niche use case,
so let's keep it in advanced mode only.
2022-05-21 15:46:40 -07:00
gxalpha 8328609b20 UI: Don't transition in studio mode if scenes are the same
Fixes an issue where when "Duplicate Scenes" and "Switch Preview/Program
after Transitioning" were disabled and preview and program were the same
scene, pressing "Transition" would just disable the menus without
anything happening. This is because a transition is initiated, but never
actually starts transitioning (since both scenes are the same). The
check for this already exists, but was only triggered in swapScenesMode.

Also renames the newScene variable to lastScene to make it more obvious
what it actually is (especially since now, it's not only the new scene
anymore).
2022-05-21 15:42:36 -07:00
Ryan Foster ff58d35df3 decklink-output-ui: Fix crash when stopping preview
Removing the first call to `video_output_stop` prevents the `data_mutex`
field in `struct video_output` from being destroyed while still in use.
The `render_preview_source` function will call `video_output_lock_frame`
upon that mutex and encounter a NULL pointer exception.

Co-authored-by: Paul Hindt <paulh@aja.com>
2022-05-20 21:15:53 -04:00
gxalpha 741bade4ec UI: Use correct terminology for Program in Studio Mode 2022-05-20 07:38:30 -04:00
gxalpha 41521b2816 UI: Move taskbar overlay functions into platform.hpp
Refactors the existing implementation for Windows into
platform-windows.cpp, allowing for other OS implementations in the
future.
2022-05-20 20:16:56 +10:00
derrod 5dcabaf5cf UI: Make OAuth base URL configurable 2022-05-19 09:31:38 -07:00
Ryan Foster dbdf82da80 UI: Fix memory leak with Manage Broadcast dialog
When OBS has been connected to a YouTube account, the Manage Broadcast
dialog becomes available. Opening and closing this dialog leaks about
2-3 MB of memory each time. This happens because the dialog is never
deleted, and a new object is created every time the dialog opens.

If we set Qt::WA_DeleteOnClose on the dialog, then the dialog->exec()
call would call delete this. However, if the dialog->Valid() call
returned false (this should currently be impossible), then exec is never
called, so it would not clean up.

To fix this, make the dialog stack-allocated instead of using new and
delete.

Detected by clang-analyzer.
2022-05-16 22:46:50 +02:00
Richard Stanway 377af35016
UI: Move scene import dialog to the stack
Changed for consistency as almost every other dialog in the application
is stack-allocated.
2022-05-16 21:51:01 +02:00
cg2121 8dc91ce5e1 UI: Add rename signal to adv audio dialog
The names wouldn't be updated in the advanced audio dialog
when the source is renamed.
2022-05-14 16:36:00 -07:00
gxalpha 252918a7c4 UI: Put program on top in vertical studio mode
Co-Authored-By: Elias Thompson <email@eliasthompson.com>
2022-05-14 16:15:04 -07:00
gxalpha 15874f9037 UI: Use Shift instead of Alt for Copy/Paste Transform
For Keyboard shortcuts with Ctrl as the primary modifier, the secondary
modifier should be Shift, not Alt. Alt could be used as a tertiary in
the future if really necessary, but generally it should be avoided.
2022-05-14 16:11:07 -07:00
Jim f2ea473373
Merge pull request #6436 from jpark37/jxr-wic
libobs,image-source,UI: Add JXR support on Windows
2022-05-12 16:09:53 -07:00
Ryan Foster 069f35a75c UI: Find Qt WinExtras only in Qt 5
WinExtras does not exist in Qt 6. Only try to find it and link against
it if using Qt 5.
2022-05-11 23:37:41 -07:00
jpark37 475d8432cb UI: Support JXR image dropEvent on Windows 2022-05-08 15:25:43 -07:00
jpark37 e646eb4828 UI: Restore portable mode on Windows 2022-05-08 06:47:09 +02:00
jpark37 f6589b12ae UI: Redo encoder names now that H.264 isn't alone
The old names were simple_h264_recording, simple_h264_stream,
recording_h264, and streaming_h264.

The new names are simple_video_recording, simple_video_stream,
advanced_video_recording, and advanced_video_stream.
2022-05-06 20:58:09 -07:00
jpark37 1dc3da4163 UI: Add "H.264" to simple hardware encoders
Hopefully stops people from assuming other video compression standards
are usable from these settings.
2022-05-06 06:11:25 -07:00
tytan652 f4809b614e UI: Fix unused-parameter warnings 2022-05-04 01:37:10 -07:00
PatTheMav 55b23a26d2 UI: Fix configuration path handling for Linux portable builds
Original code uses simple `ifdef` pattern as well using the preprocessor
definition in a conditional check. With the rework, the definition was
set to an empty string (if the build flag is not enabled), which leads
to it being evaluated as "true" all the time.

This change uses simpler definition check and fences off code relying
on the flag being enabled.
2022-05-03 14:35:08 -04:00
cg2121 346430e71f UI: Only use volume scrollbars when needed
The scrollbars were always set to be on, no matter
how many volume controls that were being used.
2022-05-01 09:48:12 +10:00
Norihiro Kamae 34e570c5bc Fix indent on multiline comments 2022-04-30 16:06:23 -07:00
jpark37 b45ad961c3 UI: Do not prefer NV12 for I010/P010
Can cause videos to save as 8-bit.
2022-04-29 12:34:56 -07:00
jpark37 165a513f78 UI: Allow HEVC streaming 2022-04-28 08:59:53 -07:00
Andrew Story 961b75b58c libobs,UI: Issue appropriate signals on group / ungroup
Due to the way the frontend works, the logic for inserting the row for
the group in the UI was dropped since the new item_add message will
insert one automatically since it forces a refresh of the scene items.
The reliance on that implicit row insertion when grouping items is a
bit of a code smell, although the alternative would be to add logic to
disable handling the signal for that instant, which is probably a
worse choice.
2022-04-24 12:09:38 -07:00
mvji 80600c1c26 UI: Fix compiler warning when WIN32 is not defined
Fix unused parameter warning.
2022-04-23 16:12:45 -07:00
mvji a427d69d76 UI/importers: Fix compiler warning
Fix comparison of integers of different signs.
Use string::npos instead of -1
2022-04-23 16:12:45 -07:00
Kurt Kartaltepe 242b49aa8a UI: Remove top level size constraints
This removes the min and max size properties from the YouTube "Manage
Broadcast" dialog. Such values depend on the actual content or very
precise layout management, making hardcoded values prone to being
incorrect. To avoid incorrect values we should avoid these settings on
top level widgets/windows.

This pattern can lead to crashes on Wayland compositors like
GNOME which are strict about these values being correct.
2022-04-20 18:34:45 -07:00
jp9000 050a29da1a UI: Use const ref for get_service_from_json() 2022-04-18 17:46:07 -07:00
jp9000 22ffc04f73 UI: Refactor duplicated streaming page code
Moves duplicated streaming service code to its own class to make this
particular code slightly less insufferable to modify (but only slightly)
2022-04-18 12:27:29 -07:00
jp9000 275e510aad UI: Prevent auto config service names squishing 2022-04-18 12:27:29 -07:00
gxalpha 2422deb78a UI: Default mixer volume meter to two channels
If OBS is set to mono, it will still default to mono.
Also corrects a somewhat related comment (which was also wrong before
this change)
2022-04-17 11:54:50 +10:00
gxalpha d6c6e8df87 UI: Add shortcut for larger movement steps in preview
Adds the ability to move a selected item 10 pixels in the preview when
holding shift while using the arrow keys, instead of going just 1 pixel
per step.
2022-04-16 16:47:44 -07:00
jpark37 338608bd67 libobs,UI: Support HLG nominal peak level
HLG output uses MovieLabs-recommended procedure.

- If peak luminance is greater than 1000, use maxRGB EETF to 1000.
- Otherwise, don't tonemap.
- Then use normal HLG conversion procedure with gamma 1.2 (1000 nits).
2022-04-14 09:36:44 -07:00
jp9000 2fa5ffe4df UI: Just use json directly for service lookups
This commit accomplishes three different things:

- Makes it much less difficult to communicate service settings
  between the UI and the plugin.

- Refactors some code and makes it cleaner and easier to modify to our
  needs (although there is still a lot of work to do on that front
  because of heavy code duplication issues between auto-config and the
  stream settings pane).

- Significantly reatly reduces the number of times the json file has to
  be opened and parsed.

This also kind of denotes a bit of a failure on the plugin communication
aspect. The properties system is too limited and jank for a lot of
things we would like to do at times.
2022-04-14 02:10:49 -07:00
cg2121 02aa833950 UI: Fix show/hide toggle with minimize to taskbar
If the user would minimize to tray instead of taskbar, the
window would flash when clicking show in the tray menu, and
the preview would be disabled. This would only happen on Linux.
2022-04-13 16:14:41 +10:00
Norihiro Kamae ebc291956c UI: Set automatic file splitting time in minutes
The original PR was made with time specified in seconds because it was
useful to debug the behavior. For production, assuming most users want
to specify 10 minutes or more, the time should be specified in minutes.
2022-04-11 06:58:39 -07:00
Jim b745a100a3
Merge pull request #5371 from norihiro/automatic-file-splitting
Automatic file splitting
2022-04-10 16:49:37 -07:00
jpark37 59dbc3eb81 libobs: Rename Rec. 2020 to Rec. 2100
Rec. 2020 is really an SDR spec, but I think HDR10 made it okay to slap
PQ on it, call it an HDR spec. Rec. 2100 came along after and formally
allowed the use of PQ/HLG, so we should use 2100 instead.
2022-04-10 00:13:52 -07:00
Matt Gajownik c426622690 UI: Create Log Viewer window XML file, migrate code 2022-04-10 11:52:11 +10:00
Matt Gajownik dbb063eae6 UI: Create Properties window XML file, migrate code
window-basic-properties was written in the earliest days of OBS. To
make it easier to navigate & adjust, this moves all the structural
code into a new .ui file and out of the C++ code.

This also modifies the ButtonBox in Filters to use matching buttons.
2022-04-10 11:52:11 +10:00
tt2468 af67ef8e57 libobs, UI: Fix `--verbose` logging for stdout
Verbosity of stdout was previously hardcoded to INFO, while log viewer
and log files had correct verbosity. This makes the behavior of
--verbose make sense in all places.
2022-04-09 16:48:37 -07:00
jpark37 76ddbe11d0 UI: Add high-precision sRGB support
Remove warnings about using 10-bit formats with SDR color spaces.
2022-04-08 17:19:23 -07:00
jpark37 9409ce1ea7 UI: Add Rec. 2020 space and I010/P010 formats
Also localize color spaces with improved naming. Should be compatible
with existing user profiles.
2022-04-07 02:38:33 -07:00
gxalpha 2d75167e4c UI: Truncate displayed file paths in the middle in Remux window 2022-04-07 01:52:02 -07:00
gxalpha e840966968 UI: Remove old ComboBoxIgnoreScroll 2022-04-02 16:04:51 -07:00
gxalpha e33b7d2dab UI: Disable wheel scrolling on QComboBoxes
Adds a new ProxyStyle, OBSIgnoreWheelProxyStyle, and applies it to the
entire program. This style sets a StyleHint to disable mouse wheel
scrolling on QComboBoxes.
The existing OBSProxyStyle, which is used only for the context bar, has
been renamed accordingly.
2022-04-02 16:04:51 -07:00
jpark37 f2b049c0e7 UI: Add support for nonlinear SRGB blending 2022-04-02 16:02:41 -07:00
Richard Stanway a8ecf3c8f2
UI: Fix display affinity logic when re-applying
The old behavior toggled display affinity every time the window was
updated instead of applying it consistently.
2022-03-31 17:23:53 +02:00
PatTheMav aae3a6a466 cmake: Fix diverging prefix padding for OBS status outputs
Status output related to OBS configuration is prefixed with the string
"OBS" and added padding for enabled and disabled features. This padding
was not aligned between platforms.

By moving the padding and prefix decoration into its own function,
both elements are controlled in a single place. CMake scripts were
changed to use this new function `obs_status` instead of using CMake's
`message` function directly.
2022-03-26 09:44:23 -04:00
gxalpha ee781bfa24 UI: Remove unneeded QProxyStyle include 2022-03-26 17:57:14 +11:00
Exeldro de1d806e83 UI: Add Copy/Paste for source visibility transitions 2022-03-24 23:51:10 -07:00
jp9000 e236a16715 libobs: Refactor hide/show transition functions
Having two separate functions for each hide/show transition action is
silly and makes code awful.
2022-03-24 22:32:41 -07:00
Richard Stanway 85addc3dac UI, file-updater, rtmp-services: Enable curl ALPN support
In the years since this code was added, ALPN is now widely supported,
and NPN is being removed entirely in the latest version of nginx. It's
time to start using ALPN!
2022-03-24 17:10:01 -07:00
Jim 8d15aea69d
Merge pull request #6146 from jpark37/hdr-main-preview
libobs, UI: Add support for color spaces
2022-03-24 16:56:59 -07:00
Monsteer 8c0603e991 UI: Add missing previousIcon in Rachni theme
The previous icon for the media icons set in the Rachni theme is missing
in the theme's .qss file.
2022-03-24 14:18:14 -04:00
jpark37 5748ab7e0d UI: Wire up WM_MOVE and WM_DISPLAYCHANGE events 2022-03-23 22:35:26 -07:00
jpark37 cd22df09c9 libobs, UI: Add SDR white nits option 2022-03-23 22:35:26 -07:00
tytan652 2a0e3c0c9b UI: Save custom browser docks with docks data
When saving custom browser docks, docks properties are used rather
than actions properties.
2022-03-22 22:24:23 -07:00
tytan652 b4b1b4c5d3 UI: Remove UUID from ExtraBrowsersModel
This attribute is completely unused.
2022-03-22 22:24:23 -07:00
tytan652 ed8ed0ce3f UI: Fix custom browser docks UUID
When those docks get updated, an empty string is applied to the UUID
property.
2022-03-22 22:24:23 -07:00
Matt Gajownik 923d427212 UI: Require Qt Creator's casing for cursorShape in XML validator
While Qt Designer doesn't care about casing, the XML schema spec does.
Due to Qt Creator automatically changing case on save, require the
uppercase variant in all situations, so that other devs don't have to
manually change the case after Qt Creator changes it.

NOTE: This introduces an adjustment to the spec, different from what
Qt provide from Qt Designer. If this file is changed in future, this
diff may need to be manually re-applied.
https://doc.qt.io/qt-5/designer-ui-file-format.html
2022-03-20 11:09:21 +11:00
Matt Gajownik d066e89d56 UI: Fixup minor Qt Creator inconsistencies
Qt Creator automatically adjusts these files when opened. Rather than
contributors having to manually undo these changes, just apply them
directly into the repository.
2022-03-20 10:32:45 +11:00
PatTheMav 6d91c3512b UI: Fix UI file changes not being picked up by CMake
Due to how CMake and generated project files are structured, just using
AUTOUIC to pick up Qt `.ui` files will lead to a situation where
changing such a file doesn't trigger a regeneration of the associated
header files and thus a re-build of the target.

Upstream fix still requires `.ui` files to be added as target sources.

CMake issue: https://gitlab.kitware.com/cmake/cmake/-/issues/17959
2022-03-19 15:35:30 -07:00
gxalpha dde2fe209a UI: Remove InitApplicationBundle() function 2022-03-19 15:13:00 -07:00
PatTheMav 1f0f2be15e
UI: Update CMakeLists.txt for main OBS app 2022-03-16 23:11:58 +01:00
jp9000 02e5410381 UI: Fix audio ids not being stored properly
Audio ids were being stored in a map with const char pointers, thus they
were destroyed when call_once finished. To fix this, store std::strings
instead.
2022-03-13 07:05:02 -07:00
gxalpha 358ef281c4 UI: Add webp to dropfiles 2022-03-12 15:43:57 -08:00
cg2121 66341c7568 UI: Fix handling of remove signal with projectors
Since the remove signal is coming from another thread,
QMetaObject::invokeMethod has to be used, or corruption
could possibly occur.
2022-03-10 12:15:30 -08:00
cg2121 65a360fa41 obs-frontend-api: Add function to get frontend translated string
Developers now can easily get a translated string from the frontend
instead of using their own translations.
2022-03-10 06:27:18 -08:00
Richard Stanway da4d98d0e4
UI: Remove some globals in AAC bitrate population 2022-03-09 22:54:22 +01:00
jp9000 89881147c7 UI: Fix deferred source properties not updating 2022-03-09 13:12:17 -08:00
jp9000 e5f57a1e03 UI: Rename visual update callback variable
Having both a "callback" and "cb" doesn't make sense. One is
specifically for visual updates only, the other is for actual updates,
so use an appropriate name for both
2022-03-09 13:11:38 -08:00
gxalpha 45f737fb30 UI: Add undo/redo to dropfiles 2022-03-08 13:25:38 -08:00
cg2121 24e4cd1717 UI: Fix mixer hide toggle in studio mode
If the user would toggle hide in mixer in studio mode,
the source would show up in audio mixer, even if it
wasn't active.
2022-03-08 13:18:05 -08:00
Matt Gajownik 372b54ca7a UI: Display dock-relevant context menu on titlebar 2022-03-08 12:36:19 -08:00
cg2121 8c732d31a7 UI: Disable replay save button when paused
Another indicator to the user that replays can't be saved
when recordings are paused.
2022-03-08 12:32:27 -08:00
Exeldro f8c2ccc2c3 UI: Add mulitiview layout options without program 2022-03-08 12:30:19 -08:00
Tim Cooper bf09a70a09 UI: resolve .url, .lnk shortcuts during drag-and-drop
On applies to Windows.

Suggested here: https://ideas.obsproject.com/posts/1636
2022-03-08 11:58:55 -08:00
cg2121 748cf32a43 UI: Add events for renaming profiles/collections
The events make it more clear when profiles or scene
collections are renamed.
2022-03-08 11:17:59 -08:00
Misutaa Asriel 4afafaac6d UI: Fix unorthodox macOS Dock icon behavior
Fixes overriding of macOS dock icon behavior.

macOS sets the icon on launch based on:
- The Information PLIST
- A user provided icon by Finder

setWindowIcon overrides this behavior.

Therefore, this commit resolves this issue,
by doing nothing if target is macOS.
2022-03-08 08:50:34 -08:00
Kurt Kartaltepe ec05e1ff57 UI: Avoid calling obs_source_update multiple times
When we added undo/redo in 86eb7aeb a distinction between Updates and
Visual updates was made, presumably for filters which need special
handling of the update case. These functions were also added to regular
source properties, but didnt use any special code instead calling
obs_source_update an additional time after a short time.

Instead lets remove the 2nd delayed call and only call obs_source_update
once per settings change.
2022-03-08 08:35:02 -08:00
jp9000 61cbfb3b9a UI: Use get_new_source_name instead of strprintf
Remove a bit of duplicated code, and fix non-Windows compilation. This
is a bit of a workaround to not have to modify cmake, but might as well
reuse a function that already exists anyway rather than duplicate the
code.
2022-03-08 01:27:20 -08:00
jp9000 6dd65c8d13 UI: Fix duplicated source names in audio settings
When you add an audio capture source and use the "use existing" feature
in the source selection dialog, and then recreate the same audio source
again in audio settings, it will result in two sources using identical
names, which although relatively harmless can cause issues when doing
things such as trying to find sources by their name.

Fixes obsproject/obs-studio#5621
Closes obsproject/obs-studio#5947
2022-03-08 01:05:27 -08:00
Devon Vitkovsky 3e9a3d995b UI: Change 'Last Log' to 'Previous Log' in order to disambiguate things 2022-03-05 16:01:09 -08:00
cg2121 1a2e5035c3 UI: Remove OBSSceneItem QDataStream
Since the source list is a custom list model, the
QDataStreams for OBSSceneItem are not needed.
2022-03-05 15:59:30 -08:00
gxalpha 6d86b58ed7 UI: Simplify multi-instance check 2022-03-05 15:21:11 -08:00
jpark37 f186b8c304 UI: Remove conflicting setlocale call
Qt already sets LC_ALL to "" for non-Windows. We set LC_NUMERIC to "C"
afterward for sanity, and we don't want that setting to get smashed.
2022-03-01 12:53:51 -08:00
jpark37 fa5a05f188 UI: Restore LC_NUMERIC to C locale on Mac/Linux
Recommended by QCoreApplication doc for Unix.

Fixes CUBE LUT load, and FFmpeg output args for foreign locales.
2022-03-01 12:53:51 -08:00
Kevin Degeling 139e6ed69e UI: Additional product details
Based on the product description from the main website
2022-02-27 13:30:25 -03:00
Matt Gajownik f77ab0e199 UI: Fix rendering of spaces & tabs in Log Viewer
For some reason, the combination of QPlainTextEdit and a HTML block
seems to treat spaces as HTML shoult (only display one, no tabs, etc)
rather than how QTextEdit + HTML does, which is strange. As we don't
need HTML for existing log lines, insert them as plaintext, but for
new entries wrap non-error non-warning messages in a <font> tag and
format that with white-space: pre
2022-02-27 18:56:19 +11:00
gxalpha 90f1ebf4aa UI: Disable downscale filter setting for same resolutions
Disables the downscale filter dropdown menu when base and output
resolution are the same.
2022-02-27 14:42:17 +11:00
OldBaldGeek 6a5a5b4538 UI: Make volume meter tweakable by stylesheet
Replace fixed Arial, 7 px meter scale font with the font used
for VolumeMeter/QWidget. Add qproperties for meter bar thickness and
a scaling factor for the meter scale numbers. If not specified in a
QSS, defaults are 3 pixel bar width and 80% of base font size.
2022-02-27 13:17:59 +11:00
OldBaldGeek c8a0dbff1e UI: Use selective repaint on volume meter scale
Fix for issue 3915 - reduce tick and font blur at 125% DPI.
Former use of paint cache resulted in blur when scaled.
2022-02-27 13:17:59 +11:00
gxalpha dd564a2e8f UI: Move "Check For Updates" menu to app menu on macOS
For apps using sparkle, it's normal for the "Check For Updates" button
to be in the app menu instead of the help menu, so let's put it there.
2022-02-27 12:47:18 +11:00
gxalpha 7cc20656f4 UI: Add shortcuts for Copy/Paste Transform
Adds the shortcuts Ctrl+Alt+C/V to the Copy/Paste Transform menus in the
Edit menu
2022-02-26 15:54:14 -08:00
cg2121 8510731f2b decklink: Don't load modules if Decklink not found
This also modifies decklink-captions and decklink-output-ui.
2022-02-26 15:44:00 -08:00
obiwac 93c2e681ca linux-v4l2: scandir with alphasort on non-Linux
Sort video device entries with `alphasort` on non-Linux platforms,
as opposed to `versionsort` on Linux.
(`versionsort` is a GNU extension, unavailable on e.g. FreeBSD.)

UI: Fix call to `to_string` on FreeBSD
2022-02-26 15:36:08 -08:00
gxalpha aa0893b751 UI: Refresh edit menu on item locked signal 2022-02-26 15:35:10 -08:00
Matt Gajownik 0e57a7beef UI: Fix performance issues with the Log Viewer
This commit includes two big changes, alongside other smaller tweaks.

1) Update the internal QTextDocument of the text component directly
2) Use QPlainTextEdit, which supports HTML & is designed for long text
3) Use QString's arg function for formatting strings

Fix 1 significantly improves realtime performance when adding lines
individually, to the point that the UI no longer freezes if the viewer
is open and the log is being spammed. It also improves initial launch
speed when there's a large amount of text already in the file.
Reference: https://stackoverflow.com/a/54501760/2763321

Fix 2 completely eliminates delay when opening the viewer, regardless
of how many lines are already in the log file. For a standard log
after OBS launch, this cuts opening time from about 2 seconds to half a
second. For anything longer than 1,000 lines, the UI no longer freezes,
and the viewer (& its contents) open within half a second.
Reference: https://stackoverflow.com/a/17466240/2763321
2022-02-26 15:03:35 -08:00
jpark37 61ffb5c4d8 UI: Add OBSQTDisplay::OnMove()/OnDisplayChange()
This plumbing will be useful when handling color space changes.

Currently does nothing, and only Windows is wired for now.
2022-02-26 01:09:07 -08:00
cg2121 7b418d5be3 UI: Use std::unique_ptr for ui variables
Most ui variables were using std::unique_ptr, but not all.
Went through all of the UI code to find where they were manually
deleted.
2022-02-20 00:30:37 -08:00
Matt Gajownik 2ded0f7050 UI: Log 'Hide OBS from capture' on startup & settings change 2022-02-20 13:38:17 +11:00
gxalpha d5f2b7e496 UI: Refresh edit menu on item select/deselect 2022-02-19 15:42:57 -08:00
Matt Gajownik 608e57257a UI: Don't collapse preview in Filters splitter view
Fixes #5959
2022-02-18 19:46:02 +11:00
tytan652 2720e6d00f UI: Avoid emiting events 2 times when renaming a profile 2022-02-12 15:14:21 -08:00
gxalpha ccc57671eb UI: Correctly style "Chrome OS" 2022-02-12 15:04:42 -08:00
Translation Updater 25b58f0417 Update translations from Crowdin 2022-02-11 00:34:08 +00:00
Richard Stanway aa73de952b
UI: Fix uninitialized memory access in OBSPropertiesView
Bug introduced in b0528e0cf7. Closes
https://github.com/obsproject/obs-studio/issues/5934.
2022-02-08 21:57:08 +01:00
jp9000 b0528e0cf7 UI: Fix properties view crash with non-obs objects
The properties view incorrectly assumed that it was being used with obs
objects only.

(Jim note: I'm annoyed.)
2022-02-08 11:07:23 -08:00
Rodney b7a24d54c9
UI: Add warning on startup for running in Wine 2022-02-07 14:16:59 -08:00
Translation Updater ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
jp9000 c71abfbd8c UI: Fix clang-format specifier 2022-02-02 22:39:24 -08:00
jp9000 4f09cac7af UI: Remove unnecessary call 2022-02-02 22:37:41 -08:00
jp9000 f0e631df17 UI: Fix filter props. getting recreated unnecessarily
Closes obsproject/obs-studio#5846
2022-02-02 22:35:56 -08:00
jp9000 4b355192e7 UI: Don't create filter properties before splitter
Fixes an issue where the properties wouldn't show up the first time the
properties are supposed to show
2022-02-02 22:35:56 -08:00
jp9000 f34b6866a5 UI: Improve properties view object safety
Use weak references on OBS objects that properties view reference in
order to ensure that the objects are still valid.

This fixes a crash where properties views would use objects without
necessarily knowing whether they were still valid or not.

Fixes obsproject/obs-studio#5862
Closes obsproject/obs-studio#5863
2022-02-02 22:35:56 -08:00
jp9000 6b944a2f3c libobs: Rename OBSObj to OBSPtr
Makes it a bit more explicit that it's just a pointer RAII, and because
an OBSObject will be added
2022-02-02 22:35:56 -08:00
Matt Gajownik e2e751aa55 UI: Better Hide OBS Window description, add first time dialog & tooltip 2022-01-29 17:09:15 -08:00
Sebastian Beckmann 77dbe44da4
UI: Properly close projector when source is removed (#5171) 2022-01-29 15:36:38 -08:00
Paul Hindt 97d47b701b aja-output-ui: Fix crash when stopping AJA Preview output
Removing the first call to `video_output_stop` prevents the `data_mutex`

field in `struct video_output` from being destroyed while still in use.

The `render_preview_source` function will call `video_output_lock_frame`

upon that mutex and encounter a NULL pointer exception.
2022-01-29 15:06:34 -06:00
Matt Gajownik eb7d6e84aa UI: Add separators to system tray context menu 2022-01-29 14:01:34 +11:00
gxalpha 9c51b70dd0 UI: Fix unused variable warning on non-windows 2022-01-29 13:30:17 +11:00
jp9000 c87a81ba56 UI: Show wait cursor while cleaning up scene data 2022-01-28 10:30:42 -08:00
Richard Stanway 5ed45d06da
UI: Check current affinity before calling SetWindowDisplayAffinity
For some reason, SetWindowDisplayAffinity can make windows visible even
when it sets the same value for affinity that GetWindowDisplayAffinity
reports. Possibly an API bug as this is probably not a widely used API
yet?

Fixes a weird window with no size appearing when browsing for files on
Windows.
2022-01-27 02:47:11 +01:00
Clayton Groeneveld 0377b962b5 UI: Disconnect group reorder signal
The group reorder signal was never disconnected when
resetting signals.
2022-01-25 06:06:15 -08:00
Richard Stanway 40a598008d UI: Fix QLabel leak in OBSPropertiesView::AddProperty
OBS_PROPERTY_GROUP creates neither a widget nor a label, causing
AddProperty to create a default one. Without a widget, it does not
get attached to the layout, resulting in a memory leak.

This commit also simplifies a bit of the code to avoid repeatedly
testing the same condition.
2022-01-25 06:01:23 -08:00
gxalpha 799ac3f6a0 UI: Fix transform options being wrongly enabled/disabled
They detection for this was not checking the n selected items but the
first n items in the list, which would lead to the options being enabled
or disabled based on the whether other items were locked.
2022-01-25 05:58:47 -08:00
Jim b3b4e1b2ef
Merge pull request #5860 from obsproject/deprecate-addref
Deprecate addref for obs objects
2022-01-25 05:55:52 -08:00
Georges Basile Stavracas Neto 0f36d7832c
UI: Fix bugtracker URL in AppData file (#5861)
It is mistakenly set to github.org, instead of github.com.

Sorry :(
2022-01-24 19:02:55 -06:00
Jim b9e01380f3 UI: Replace addref calls with get_ref 2022-01-24 14:06:50 -08:00
Matt Gajownik b77ccceae7 UI: Allow 'Hide OBS window' on Windows 10 2004
Per the Microsoft documentation, 2004 (19041) is the minimum supported
version for this feature. Ensure the check matches that.
2022-01-24 21:44:47 +11:00
Matt Gajownik f9b038513a UI: Fix Settings save crash on old Windows versions
WidgetChanged doesn't contain a null check, resulting in a crash when
looking at the value for the new Hide OBS From Capture setting.

Fixes #5854
2022-01-24 18:31:05 +11:00
Matt Gajownik 4e04011101 UI: Don't read unloaded module in source toolbar
Avoid potential crashes similar to #4391 for existing users,
especially on non-Windows.
2022-01-23 16:45:54 +11:00
Richard Stanway 076cd5d5d4 UI: Add option to hide OBS windows on Windows
This uses the SetWindowDisplayAffinity API to hide windows from capture
applications (including OBS). This is not perfect - internal windows
such as context menus, combo box dropdowns, etc will still be displayed.
Even with these limitations, it should help people with single monitors
capture content with less interference from the OBS window.

This implementation is for Windows only but the code is generic enough
that adding other platforms should be straightforward.
2022-01-22 15:14:16 -08:00
gxalpha d601577706 UI: Fix small typo 2022-01-21 10:07:25 -05:00
Richard Stanway 3ce12bc5e9
UI: Optimize undo/redo functions with constant references 2022-01-19 21:39:43 +01:00
Richard Stanway 85ac469458 UI: Use regexp to filter filename formatting
Avoids unbounded stack growth when pasting content that has many invalid
characters. Fixes https://github.com/obsproject/obs-studio/issues/5815.
2022-01-18 03:34:58 -08:00
Matt Gajownik a3e3ee8a8b UI: Downgrade scalable logo on Linux to SVG 1.0
GNOME (and a number of SVG editors) don't handle SVG 1.1 properly,
resulting in the inner circle overflowing into the outer circle.
2022-01-17 19:09:54 +11:00
Nicolas Fella f43b046f8b UI: Set desktopFileName for QApplication
This needs to match the base name of the .desktop file name.

This is needed for propagating the correct App ID on Wayland,
which is needed e.g. for proper window icons on Plasma.
2022-01-16 18:03:27 +11:00
Ryan Foster 0a93acbc86 UI: Fix memory leak in Auto-Configuration Wizard
If streaming and recording was selected in the Auto-Configuration
Wizard, a memory leak would occur. When obs_service_resolution appeared
elsewhere in C++ files, it used a BPtr. Use BPtr here too.
2022-01-15 22:24:00 -05:00
derrod eb62162d50 UI: Log YouTube API HTTP request errors 2022-01-13 23:07:45 +01:00
Paul Hindt 8f8b522ca7 aja: Fix for invalid default settings and empty cardID string 2022-01-13 13:11:51 -06:00
Vainock 9af944cb8b UI: Remove unused 'Percent' string 2022-01-12 07:33:04 -08:00
Colin Edwards ed329c433d decklink-output-ui: Stop outputs on OBS_FRONTEND_EVENT_EXIT 2022-01-12 06:53:49 -08:00
Paul Hindt 1cbf9421d4 aja-output-ui: Add the Multi View UI options for new device. 2022-01-11 17:28:05 -06:00
Matt Gajownik ffc55b2d3a UI: Fix crash when opening transition Properties dialog
Crash was introduced in ae4797f8cc. It seems with that change, this
function call is no longer necessary.
2022-01-11 18:22:15 +11:00
Exeldro ae4797f8cc UI: Stop locking filter mutex while loading properties
Reordering the filters makes the filter mutex of the source locked
while loading a new the properties of a filter which may require other
locks. By loading the properties of the filter on a QueuedConnection
we make sure the filter mutex is cleared when that happens.
2022-01-08 16:11:36 -08:00
Paul Hindt f09137a2e0 aja: Refactor, clean-up and fix bugs in the signal routing system, and add SDITransport UI option to assist signal routing. 2022-01-08 14:05:10 -06:00
Cody Jung e7837e30ce UI: Fix push-to-talk/mute delay not saving
Fixes a couple copy/paste errors preventing push-to-talk and push-to-mute delays
not saving when choosing Apply or OK.
2022-01-08 17:38:04 +11:00
Cody Jung fab293a686 UI: Remove Apple deferred tray load
With the change to how initial startup minimizing-to-tray works,
we can remove the Apple-specific workaround.
2022-01-07 20:15:03 -08:00
Cody Jung 35b9c76495 UI: Fix flash when starting minimized
Rather than showing the main window, then hiding it again when the
tray icon initialization happens, just don't show the main window.

When deciding whether to show the window, we need to know whether
the tray icon is available or not - if it's not and we don't show
the window, there would be no way to restore OBS.
2022-01-07 20:15:03 -08:00
Matt Gajownik ff42da373b UI: Fix hotkey JSON error for Advanced Replay Buffer
This matches the Simple output Replay Buffer hotkey code.
2022-01-08 13:34:40 +11:00
gxalpha 0416c71749 UI: Update context bar when exiting properties dialog 2022-01-08 12:28:18 +11:00
univrsal aebd261ded UI: Disable WA_PaintOnScreen for projectors
Removing this attribute fixes #3582 and allows projector windows to be resized
under KDE.
2022-01-07 15:40:05 -08:00
Clayton Groeneveld 066b281db8 UI: Ignore resizing item when it is locked
Fixes https://github.com/obsproject/obs-studio/issues/5724
2022-01-07 15:18:59 -08:00
Norihiro Kamae e7cfaa0def UI: Fix label offset on projector view
Labels on 18-scene multiview were skewed. This commit adjusted the
location of the labels.
2022-01-07 15:17:20 -08:00
Matt Gajownik e00195ad6f UI: Don't recreate entire Hotkey Settings tab
This replaces the programmatic generation of the hotkeys tab with XML.
Also fixes a memory leak. Reuses concepts from LoadAudioSources().
2022-01-05 23:56:34 -08:00
Matt Gajownik a46f56a3e9 UI: Fix taskbar icon visibility on light backgrounds
When running Windows 10 or 11 in light mode, the pause icon especially
was hard to see. This adds a border to both icons to improve visiblity.
Additionally, the active icon was a little too large.
2022-01-05 21:13:19 +11:00
Cody Jung 8929798d4d UI: Immediately apply tray icon change on Apply
Rather than waiting until the user chooses OK or Cancel to update the
system tray icon status, update it when the user chooses Apply.
2022-01-05 20:53:17 +11:00
Matt Gajownik 65b4ba7939 UI: Fix compile error in UpdateEditMenu from rebase 2022-01-05 17:12:55 +11:00
gxalpha 5b87a842ee UI: Correctly enable edit menu items with multiple sources 2022-01-04 21:39:57 -08:00
gxalpha 648b47a6f5 UI: Reenable copy/paste transform 2022-01-04 21:39:57 -08:00