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

2506 Commits

Author SHA1 Message Date
Ryan Foster
4e4afcd6d1 UI: Deduplicate UI element names
Prevent some warnings from AutoUIC.
2022-07-28 15:38:22 -04:00
Tommy Vercetti
fb30837a7c UI: Remove unused header for macOS 2022-07-28 14:04:01 -04:00
Norihiro Kamae
766d1bb5b1 UI: Search combo item with QVariant type
A combobox with `OBS_COMBO_FORMAT_FLOAT` type couldn't be initialized to
select current item from the settings data. This commit will create
QVariant value with the similar code as that of adding the items and
search the current item using that value.
2022-07-28 12:21:33 -04:00
Warchamp7
f9e7d237ad UI: Clean up Settings Output form
- Adds frames around certain elements for a better element hierarchy
- Moves the scroll areas into the tabs themselves
- Hides stacked widgets that aren't visible to prevent scrolling of invisible content
2022-07-28 12:19:20 -04:00
VodBox
76ae9cbc3d UI: Respect DPI for preview interactions
This change makes it so that selection outlines, handles and all
interaction events properly respect DPI scaling for the preview.
2022-07-27 22:43:32 -04:00
VodBox
580ebcc935 UI: Add scene item rotation handle
Add a rotation handle to the scene item selection box that will rotate
the source when clicked and dragged.
2022-07-27 22:40:01 -04:00
VodBox
e5175e851b UI: Make status bar inactive icons color-blind safe 2022-07-27 21:37:30 -04:00
VodBox
77694d76e8 UI: Add Accessibility menu to settings
This change introduces an accessibility menu to settings, along with
options for overriding the colors used by OBS in the mixer and in the
preview to be more color blind friendly than the options provided by the
current theme.
2022-07-27 21:37:30 -04:00
VodBox
9299a3dbce UI: Change crop border line style 2022-07-27 21:37:30 -04:00
gxalpha
f8b31f6f90 UI: Fix macOS permissions availability check
Documentation appears to wrongly claim that this is available in 10.15,
while in reality it's only 11+. This would lead to a crash on 10.15
since the symbol doesn't exist there.
2022-07-27 19:55:09 +02:00
Ryan Foster
81bd1d42f0 CI: Use VS2022 and clang-format 13
Switch to Visual Studio 2022 and clang-format 13.

The Ubuntu 22.04 image currently has clang-format 12.0.1, 13.0.1, and
14.0.0. VS2022 17.2 ships clang-format 13.0.1, so let's use that for now
until VS2022 17.3 is available with clang-format 14.

This commit also makes the necessary changes to allow the clang-format
check to pass.

This commit also updates the obs-browser submodules with the necessary
changes.
2022-07-27 11:09:59 -04:00
gxalpha
2e7c84a62b UI/forms: Improve macOS dock overlay icons 2022-07-27 14:55:56 +02:00
Norihiro Kamae
a88b34507a UI: Fix missing file list not including transitions
Call the callback to check missing files during LoadTransition method.
2022-07-27 12:42:32 +10:00
Clayton Groeneveld
aae15fc497 UI: Fix bugs with missing files refactor
With https://github.com/obsproject/obs-studio/pull/5148, it was
brought up that the loading of the missing files was not thread
safe, as the missing files were being loaded late in the loading
process. This PR tries to fix that problem, while still simplifying
the original missing files code.
2022-07-27 12:42:32 +10:00
jp9000
48819def6d UI: Omit stream codecs the service doesn't support
This change makes it so that if you select a service, it will check to
see what codecs that service supports, and only list encoders of those
codecs.

If the service doesn't support a codec and you currently have an
unsupported codec selected in output settings, then it'll prompt you
with a dialog telling the user it will switch to a supported codec, and
if they click yes, then it'll change the codec for the user. If they
click no, then it'll switch back to the previously selected service.
2022-07-26 09:23:35 -07:00
jp9000
ea5fb710a9 UI: Refactor simple encoders to a func 2022-07-26 09:23:35 -07:00
tytan652
a595128602 aja-output-ui: Add Qt::Gui to find_qt on Linux
The target is linked to Qt::GuiPrivate without finding the Qt::Gui
component.
2022-07-26 17:34:26 +02:00
tytan652
9c85ff8673 cmake,UI: Refactor find_qt macro
If QT_VERSION is not defined, it gets define with the AUTO value. And
its definition is moved to the helper file.

find_qt now:
- Check quietly for Qt5 and Qt6
- If QT_VERSION is set to AUTO. It checks firstly if Qt5 was found it
  will use it. If not it do the same for Qt6
- If QT_VERSION is set to 5 or 6, it checks if the choice was found and
  use it. And if not, it falls back to the other if found.
- If neither Qt5 or Qt6 are found, a fatal error is emitted.
- The macro saved the _QT_VERSION in the cache to replace QT_VERSION,
  so the process is not repeated each time that find_qt is used.
- When Qt::Gui is in the Linux component list, Qt::GuiPrivate is added.
  So using the versioned one is no longer required.
2022-07-26 17:34:26 +02:00
jp9000
64701a1cea UI: Only check major.minor for "what's new" 2022-07-26 07:49:09 -07:00
jp9000
a7ed93d88d UI: Use separate version string for what's new, save it
Uses a separate version entry for the "what's new" version check to
ensure that it properly resets whenever a "what's new" entry is ready to
be displayed.
2022-07-26 07:40:12 -07:00
jp9000
277e34fbb8 UI: Clean up OBSBasic::ReceivedIntroJson a bit
Just moves some defines above the function rather than have messy
defines all throughout the function.
2022-07-26 07:40:12 -07:00
jp9000
2df1ad5b39 UI: Ensure thread signal posts to UI thread
This is more of a safety precaution to ensure that the "what's new"
thread only executes its result function in the UI thread when emitted,
because the result function can read/write config files.
2022-07-26 07:40:11 -07:00
gxalpha
edc509c642 UI/themes: Correctly specify rgb instead of rgba 2022-07-27 00:36:13 +10:00
derrod
9c40e448b6 UI: Add File Integrity Check 2022-07-27 00:34:04 +10:00
Clayton Groeneveld
3dae4a35a1 UI: Relatively center multiple scene items
Before the scene items would be centered at the same spot
when centering them, now they are moved relatively to each
other.
2022-07-27 00:29:32 +10:00
Clayton Groeneveld
b3c5524a48 UI: Add scene names to preview/program labels
This makes it easier for users to determine what
is the current preview or program scene.
2022-07-26 23:28:05 +10:00
PatTheMav
e15fdf69c0 UI: Add functions to check for and request macOS permissions
Adds functions to check and/or request specific macOS permissions
(audio device access, video device access, accessibility access, and
screen capture access).

By default only audio capture, video capture, and accessibility are
requested on launch - the first two have straight-forward "Yes/No"
prompts, the latter requires people to enable OBS in the settings
application (but is required for hotkey functionality, independent
of scene setups).
2022-07-26 14:20:34 +02:00
Warchamp7
4a38131fb5 UI: Remove padding on QStackedWidget in Yami 2022-07-25 14:25:08 -07:00
jpark37
0d5ba81e32 UI: Add audioProcessOutputIcon to Yami 2022-07-25 16:35:24 -04:00
PatTheMav
c1740e3636 UI: Add initialization to ensure compat between pthread and NSThread
Ensures that Cocoa knows that we intend to use multiple threads, per
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Multithreading/CreatingThreads/CreatingThreads.html#//apple_ref/doc/uid/10000057i-CH15-SW21
2022-07-25 17:27:07 +02:00
gxalpha
eea2fd2f3f UI: Add status overlay for macOS dock icon
Adds an implementation for the dock icon status overlay on macOS (which
doesn't rely on QtMacExtras, which means it also works on Qt6).
2022-07-25 16:34:31 +02:00
gxalpha
f34393170e UI/forms: Add macOS specific dock overlay icons
Co-Authored-By: Misutaa Asriel <8140068+MisutaaAsriel@users.noreply.github.com>
2022-07-25 16:34:31 +02:00
jp9000
d68539e267 UI: Fix wrong AMD recording preset (simple output)
"hq" is not a valid preset. "quality" is the correct preset to use.
2022-07-24 11:18:18 -07:00
jpark37
1610ac04ff UI: Add application audio capture to toolbar 2022-07-23 17:41:34 -07:00
jpark37
9b46795d57 libobs, UI: Add OBS_ICON_TYPE_PROCESS_AUDIO_OUTPUT 2022-07-23 17:41:34 -07:00
tytan652
6c7f8853a8 UI: Use combobox data field for Theme value in settings
Use QComboBox item data rather than always checking for the default
theme custom string.
2022-07-24 10:23:18 +10:00
tytan652
6d06052c51 UI: Enforce Fusion Qt style on Linux
The Breeze Qt style plugin adds frame arround QDockWidget with QPainter
which can not be modifed. To avoid this the base style is enforce to the
Qt default style on Linux: Fusion.
2022-07-24 10:22:18 +10:00
PatTheMav
1766f01b7a UI: Fix crash on macOS if no python path is set in configuration
Obvious fix guarding against calling the std::string constructor with
a NULL pointer.
2022-07-24 10:11:54 +10:00
Norihiro Kamae
5ea10fec82 UI: Remove unused functions for audio mixers
Functions `save_audio_source` and `load_audio_source` are defined but
never called from any code. Also not defined in any header file.
2022-07-23 16:49:21 -07:00
tytan652
fc7af80f84 UI: Hide network features if a non-RTMP service is set
Reimplementation of bc80d0c and f2e6122, because they have to be
reverted by 0b9a8aa.
2022-07-23 16:29:10 -07:00
gxalpha
e3f416f3fc UI: Replace QMessageBox setButtonText with addButton 2022-07-22 09:37:17 -04:00
gxalpha
05c6a408e3 UI: Fix Qt 6 position deprecations 2022-07-22 09:37:17 -04:00
gxalpha
49e37db952 UI: Use pipe operator instead of plus for Qt keys 2022-07-22 09:37:17 -04:00
jp9000
2b957c9368 UI: Update simple output to use new AMD encoder 2022-07-21 15:29:25 -07:00
PatTheMav
ff4f4fcb92 frontend-tools: Upgrade legacy Python library paths to modern format
Updates the value at runtime and also stores it in the configuration.
2022-07-21 12:16:36 -04:00
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