11386 Commits

Author SHA1 Message Date
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
Ryan Foster
8514c6c1e2 CI: Fix clang-format if path has spaces
If the path to clang-format has spaces, as might occur when testing
locally with a version not covered in this script, it will fail. Enclose
the call to clang-format in quotes to prevent this failure.
2022-07-26 22:36:13 -04:00
Matt Gajownik
a7c3d94e4c obs-vst: Remove submodule in favour of direct merge 2/2
Please visit the submodule repo for blame history:
https://github.com/obsproject/obs-vst

This also replaces the obs-vst .clang-format with obs-studio's.

This commit depends on the previous commit, which removes the submodule
separately as Git complains otherwise.

Co-authored-by: Alex Anderson <anderson.john.alexander@gmail.com>
Co-authored-by: Anton <camotank12345@gmail.com>
Co-authored-by: Blue Cat Audio <support@bluecataudio.com>
Co-authored-by: Cephas Reis <c3r1c3@nevermindonline.com>
Co-authored-by: Colin Edwards <colin@recursivepenguin.com>
Co-authored-by: Florian Zwoch <fzwoch@gmail.com>
Co-authored-by: Fogmoon <i@fogmoon.com>
Co-authored-by: Gol-D-Ace <Gol-D-Ace@users.noreply.github.com>
Co-authored-by: Igor Bochkariov <ujifgc@gmail.com>
Co-authored-by: Jesse Chappell <jesse@sonosaurus.com>
Co-authored-by: Keen <523059842@qq.com>
Co-authored-by: Kurt Kartaltepe <kkartaltepe@gmail.com>
Co-authored-by: Matt Gajownik <matt@obsproject.com>
Co-authored-by: Matt Gajownik <matt@wizardcm.com>
Co-authored-by: Richard Stanway <notr1ch@users.noreply.github.com>
Co-authored-by: Ryan Foster <RytoEX@gmail.com>
Co-authored-by: follower <github@rancidbacon.com>
Co-authored-by: gxalpha <beckmann.sebastian@outlook.de>
Co-authored-by: jp9000 <obs.jim@gmail.com>
Co-authored-by: jpark37 <jpark37@users.noreply.github.com>
Co-authored-by: mntone <sd8@live.jp>
Co-authored-by: tytan652 <tytan652@tytanium.xyz>
Co-authored-by: wangshaohui <97082645@qq.com>
Co-authored-by: wangshaohui <wang.shaohui@navercorp.com>
2022-07-26 22:12:23 -04:00
Matt Gajownik
34ff76c0e7 obs-vst: Remove submodule in favour of direct merge 1/2
Please visit the submodule repo for blame history:
https://github.com/obsproject/obs-vst

NOTE: You may need to manually delete plugins/obs-vst to pull this diff.
2022-07-26 22:12:23 -04:00
PatTheMav
93adc0a88c mac-capture: Fix creation of invalid window stream on source creation
When the ScreenCaptureKit-based source is generated, the window ID
read from the settings will be empty and interpreted as window ID "0".

This window ID doesn't represent a valid window, but the capture stream
is nevertheless successfully initialized with that value, but will not
generate any output.

Worse, the activated stream should be destroyed when a new stream is
created, but creation will throw an error.

This commit ensures that a valid window ID is used if no good default
value is available, ensuring a working (and destroyable) stream.

Also removes any remaining usage of the old window-utils.
2022-07-26 21:29:48 +02:00
PatTheMav
2bea178fb7 mac-capture: Fix issue with desktop capture introduced by macOS 12.5
Initializing a display stream with a content filter which excludes an
empty list of windows leads to a broken stream. Initializing with a list
of all available windows as a workaround re-enables functionality.
2022-07-26 21:29:48 +02:00
PatTheMav
2d2a5cad59 mac-capture: Cleanup code to improve efficiency
Reduces the amount of calls to the update callback (also reduces amount
of calls to check for available capture content).

Also moves some code to only update data for currently selected capture
type.
2022-07-26 21:29:48 +02:00
PatTheMav
790c5b66f6 mac-capture: Fix availability on macOS 12.5
Whereas the `availability` checks will correctly detect macOS 12.5,
the `__MAC_OS_X_VERSION_MAX_ALLOWED` macro is dependent on the platform
SDK. The most current platform SDK is 12.3, hence why this version
needs to be checked for.
2022-07-26 21:29:48 +02: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
jp9000
8a698e863d libobs: Add func to get supported service codecs
Allows a service to return a list of codecs that are currently supported
2022-07-26 09:23:35 -07:00
jp9000
cc242ada58 libobs: Remove trailing whitespace 2022-07-26 09:23:35 -07:00
jp9000
b23fd86822 obs-ffmpeg: Add HEVC to supported HLS codecs 2022-07-26 09:23:35 -07:00
Ryan Foster
191d276377
Merge pull request #6782 from tytan652/refactor_findqt
Refactor find_qt CMake macro to select Qt version automatically if not specified
2022-07-26 11:35:10 -04:00
tytan652
02537e9c4a obs-vst,obs-browser: Update submodules
- Update find_qt macro usage in CMake
- Remove QT_VERSION and find_qt macro definition in CMake
2022-07-26 17:34:26 +02: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
jp9000
db789cfa44 virtualcam-module: Return S_FALSE if locks non-zero
The code mistakenly was returning S_OK if non-zero, which would have
been the opposite of what was intended.
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
gxalpha
17a4d9166a mac-capture: Improve SCK locale strings 2022-07-26 15:30:47 +02: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
Theodore Dubois
0032d349c9 libobs: Rewrite macOS hotkeys implementation
Co-authored-by: Sebastian Beckmann <beckmann.sebastian@outlook.de>
2022-07-26 14:21:21 +02: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
jpark37
731c6f991b obs-vst: Update submodule 2022-07-25 20:15:20 -07:00
jp9000
0f08432f53 virtualcam-module: Don't send frames if stopped
Fixes a bug where frames would continue to send even while stopped
2022-07-25 18:03:53 -07:00
jp9000
382e37440e virtualcam-module: Use OBS atomic funcs
These are a bit more portable if we ever, say, port to windows ARM
2022-07-25 18:03:53 -07:00
jp9000
5efb3ea42d virtualcam-module: Only allow DLL unload when filter freed
Fixes a bug where the DLL could unload while the filter is currently
being destroyed, which would cause a crash in the host process
2022-07-25 18:03:53 -07:00
Anastasiia Sidorovskaia
ef9c99f5f4 libobs: Set coefficients with higher precision 2022-07-25 17:41:26 -04:00
Warchamp7
4a38131fb5 UI: Remove padding on QStackedWidget in Yami 2022-07-25 14:25:08 -07:00
jpark37
e1b84f6bd6 obs-filters: Add HDR bypass for various filters
Not sure how to implement controls for HDR, so skip unless SDR for now.
2022-07-25 13:55:22 -07:00
jpark37
8b9fb03d06 obs-filters: Add HDR bypass for color correction
Not sure how to implement controls for HDR, so skip unless SDR for now.
2022-07-25 13:49:59 -07:00
jpark37
0d5ba81e32 UI: Add audioProcessOutputIcon to Yami 2022-07-25 16:35:24 -04:00
PatTheMav
ab62c9c615 libobs: Trigger bindings injected by Qt directly
Instead of lettings the hotkey thread handle bindings triggered by Qt,
call the callback directly.

By this point, Qt has resolved the modifier state (so no need for the
hotkey thread to do the same), the pressed state is set as well,
the branch takes care of matching the pressed keys.

This also fixes the issue with the hotkey changes introduced by #3914,
which only inject key events when OBS is _not_ in focus (and as such
modifier states are never updated).
2022-07-25 17:33:40 +02:00
tududweb
25d84f40d6 libobs: Fix audio monitor output error in macOS 2022-07-25 17:28:42 +02: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
f6f6690ccf obs-ffmpeg: Fix AMD falling back to wrong preset
If the API to query the maximum throughput isn't available, it was
intended to fall back to balanced. This code caused it to vall back to
speed instead because if the API isn't available, max_throughput will be
0. This fixes it to make it only fall back to balanced instead.
2022-07-24 11:18:18 -07: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
PatTheMav
7f18bb6a26 mac-syphon: Disable inject functionality on macOS 10.15+
Also disables errors in log resulting from empty strings being passed
to `obs_data_create_from_json`.
2022-07-24 19:51:41 +02:00
PatTheMav
d5bed42f2d mac-syphon: Fix broken license display button on macOS 11+ 2022-07-24 19:51:41 +02:00
pkv
b555dcb8e2 obs-filter: Add RTX Background Removal filter
This adds support for RTX video Effects SDK.
The Background Removal filter relies on NVIDIA RTX AI Greenscreen FX.
A front speaker is separated from a background by applying
an alpha mask computed by AI.

Signed-off-by: pkv <pkv@obsproject.com>
2022-07-24 11:03:23 -04:00