Commit Graph

212 Commits

Author SHA1 Message Date
Translation Updater
ac484a066f Update translations from Crowdin 2024-01-29 20:47:38 +00:00
derrod
a3ac6ee473 frontend-tools: Replace circlebuf with deque 2024-01-16 16:45:09 +01:00
PatTheMav
2809284795 UI: Add UI support interface library with custom Qt elements
Allows the customized UI elements used by OBS Studio to more cleanly
be integrated into consumers of the same elements, mainly frontend
plugins in the main source tree.
2023-12-19 17:59:44 -05:00
PatTheMav
8135085a23 cmake: Replace custom Qt discovery function with CMake default
find_qt was necessary during the transitional period between Qt5 and
Qt6. With Qt6 being the only supported Qt version (for open source) for
the time being, code complexity can be reduced for easier maintenance.
2023-12-19 17:59:44 -05:00
PatTheMav
e27b013d47 aja: Disable deprecated declarations warnings on macOS and Linux
Deprecation warnings have been investigated and have been deemed
non-malicious for the time being.
2023-12-06 17:27:12 +01:00
Translation Updater
f674d17168 Update translations from Crowdin 2023-12-05 22:04:31 +00:00
Matt
93f5b45be8 frontend-tools: Fix multiple signal-slot connections on Output Timer
When running an Output Timer multiple times, multiple signal-slot
connections would be made with the corresponding output stop event
functions. This would cause later Output Timers to terminate
unexpectedly early, due to the stop functions having been called
repeatedly on previous Output Timer runs while outputs were stopping.

There may still be an underlying bug with calling stop on outputs
repeatedly, but this change at least ensures that Output Timers only
call their stop functions once.
2023-11-20 17:02:14 -05:00
jpark37
6aaf0358ca decklink-output-ui: Decouple DeckLink output state
Didn't realize OBS could output both program and preview views at the
same time with multiple devices.

Also remove render callbacks earlier on stop to avoid use-after-free.
2023-10-25 01:11:32 -05:00
Norihiro Kamae
20b8deba2d frontend-tools: Remove unused startAtLaunch variable 2023-10-14 18:35:38 -05:00
Translation Updater
0d450a34a0 Update translations from Crowdin 2023-10-10 13:34:41 +00:00
jpark37
bb12fe9db5 decklink: Add HDR playback support 2023-08-15 13:15:45 -07:00
Translation Updater
ecf914dd67 Update translations from Crowdin 2023-08-13 14:09:15 +00:00
PatTheMav
7628265099 Update .clang-format rules for ObjC files for version 16 2023-08-10 17:12:30 -04:00
Ryan Foster
2f8ea190b2 UI: Update CMake minimum to 3.22
Since Ubuntu 22.04 is now our minimum supported Ubuntu version, and it
has CMake 3.22, let's make CMake 3.22 the minimum CMake version.
2023-08-05 16:45:46 -07:00
Lain
9d2715fe72 frontend-tools: Disable properties deferring in script dialog
Prevents scripts from being able to defer their settings in the
properties view (because there's nothing to really defer to).
2023-08-03 16:28:00 -07:00
gxalpha
61781d154d UI: Replace SIGNAL and SLOT macros in aja-/decklink-output-ui 2023-07-21 13:19:52 +02:00
gxalpha
34f871e605 UI: Replace SIGNAL and SLOT macros in frontend-tools 2023-07-21 13:19:52 +02:00
gxalpha
9d611a064f cmake: Remove Qt version selection and Qt 5 support 2023-07-19 11:56:54 -04:00
derrod
593664dcdb clang-format: Set AllowShortLambdasOnASingleLine to Inline 2023-07-15 16:14:55 -07:00
derrod
dcc07cfe4e clang-format: Set AllowAllConstructorInitializersOnNextLine to false 2023-07-15 16:14:55 -07:00
PatTheMav
59904a66a3 cmake: Update Framework link definition for macOS builds 2023-06-17 12:23:33 -04:00
PatTheMav
50a4e83251 cmake: Remove Info.plist template files for macOS builds
Creation of Info.plist files through Xcode is more canonical and
future-proof, as it will automatically pick up changes/updates
introduced by Apple. Non-standard keys can still be added via a
template file, which will then be extended by Xcode with the default
keys.
2023-06-17 12:23:33 -04:00
PatTheMav
5ca17aa25f UI: Disable warnings emitted by Qt frameworks
Qt uses quoted includes in Framework headers (which is discouraged
by Apple) and also has some questionable use of the comma operator.
2023-06-16 14:12:58 -04:00
PatTheMav
f8e00d6071 clang-format: Update formatting of all ObjC and ObjC++ files 2023-06-11 14:56:45 +02:00
Lain
106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
Translation Updater
a0fbdc3c34 Update translations from Crowdin 2023-05-01 23:11:13 +00:00
jpark37
bad13c90e0 decklink-output-ui: Don't crash on missing device
Noticed OBS crashing after I removed DeckLink hardware that I enabled
auto-start output against.
2023-04-09 11:53:12 -07:00
PatTheMav
1bab65683e frontend-plugins: Fix auto scene switcher not saving settings on close
The `done` event does not emit a `closeEvent`, but saving is only
implemented in that event handler. Changing this to `close` correctly
triggers the default QWidget event and thus settings are saved.
2023-04-05 21:26:15 +00: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
Translation Updater
7c5560bf1b Update translations from Crowdin 2023-03-27 13:39:03 +00: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
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
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
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
60844505d0 UI: Replace uses of token-pasting operator 2023-03-01 20:39:53 +01: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
WarmUpTill
7d26721be5 frontend-tools: Fix crash on non X11 windowing systems 2023-01-24 16:43:52 -03:00
tytan652
77a174ddac aja,aja-output-ui: Calm deprecation warnings on Clang and GCC 2023-01-19 13:08:46 -05:00
Translation Updater
783bd52197 Update translations from Crowdin 2023-01-08 04:10:37 +00:00
jpark37
34a43aa4f1 UI: Clarify that RGB output format is BGRA 2022-11-19 15:20:03 -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
Translation Updater
f065f20ce1 Update translations from Crowdin 2022-10-25 22:32:14 +00: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
Matt Gajownik
1b2fc73021 frontend-tools: Display Python version in UI 2022-09-23 12:08:11 +10:00
jpark37
cfd8f06122 decklink-output-ui: Set preview color range 2022-09-10 15:36:27 -07:00
cg2121
c3b0787544 UI: Make list widget styles consistent
The script and scene switcher lists were not being styled.

This also sets the spacing to 1 for the filter, script, scene
switcher and properties view lists, the same as other lists.
2022-08-30 13:26:20 -04:00
cg2121
18ae6bb4d7 UI: Fix styling of buttons in scene switcher dialog
Set the tool buttons in the advanced scene switcher dialog to use
tool button styling and remove fixed sizing.
2022-08-30 13:25:54 -04:00
Translation Updater
cc2d0791ca Update translations from Crowdin 2022-08-30 09:00:44 +00:00
Matt Gajownik
247b688dea UI: Show sizing grip in dialogs where resizing is useful
Some windows, like the main window and Interact, already do this.
2022-08-30 18:36:04 +10:00
Matt Gajownik
9613fe7d47 UI: Use QDialog for all dialogs
While QWidgets can be opened as dialogs, they don't contain certain
functions/defaults that are expected in a dialog.
2022-08-30 18:29:05 +10:00