Commit Graph

55 Commits

Author SHA1 Message Date
jpark37
bb12fe9db5 decklink: Add HDR playback support 2023-08-15 13:15:45 -07: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
gxalpha
61781d154d UI: Replace SIGNAL and SLOT macros in aja-/decklink-output-ui 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
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
Lain
106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07: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
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
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
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
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
jpark37
cfd8f06122 decklink-output-ui: Set preview color range 2022-09-10 15:36:27 -07:00
cg2121
ed32dcc677 UI: Force fixed font in plain text edits
Since the Yami QSS changes the default font for widgets, we need
to force the system fixed font for plain text edits.
2022-08-22 17:26:50 -07: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
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
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
e840966968 UI: Remove old ComboBoxIgnoreScroll 2022-04-02 16:04:51 -07: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
PatTheMav
1f0f2be15e UI: Update CMakeLists.txt for main OBS app 2022-03-16 23:11:58 +01: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
Colin Edwards
ed329c433d decklink-output-ui: Stop outputs on OBS_FRONTEND_EVENT_EXIT 2022-01-12 06:53:49 -08:00
jpark37
e181a23bed UI: Remove NOMINMAX from CMake scripts
If we want NOMINMAX globally, we should probably define at top level.
2021-10-10 19:12:45 -07:00
Tommy Vercetti
5912074271 UI: Add -DNOMINMAX to CMake on MSVC 2021-09-11 15:50:06 -07:00
Richard Stanway
e8d4de6bec decklink-output-ui: Don't update UI during shutdown
Fixes a crash on exit if the user exited with the outputs running as the
parent window will have already destroyed doUI.
2021-08-19 00:04:52 +02:00
Clayton Groeneveld
f4c36460c8 decklink-output-ui: Stop outputs when unloading
When closing OBS, sometimes it would crash if the Decklink outputs
were active.
2021-05-15 14:08:49 -07:00
Clayton Groeneveld
b28f99d4cd decklink-output-ui: Render texrender once per frame
To prevent rendering the texrender more than necessary, only
render it once per frame in a tick callback.
2021-05-15 14:08:49 -07:00
Ryan Foster
0b88bfbf09 decklink-output-ui: Remove Qt5X11Extras
Qt5X11Extras (QX11Info) was added in
762983b5d8, but it doesn't seem to
actually be used. Qt6 doesn't yet ship X11Extras, so let's remove it.
2021-03-17 12:48:21 -07:00
Fred Emmott
e5f05473e7 decklink-ui: fix double free of settings
This leads to a crash when the output is stopped, either by clicking the
stop button or when exiting OBS studio.

This crash is:
- intermittent in release builds
- reliable for me in debug builds

It is held by an `OBSData`, which, if not null, will automatically
call `obs_data_release()` on scope exit.
2021-02-08 14:46:38 -06:00
Clayton Groeneveld
762983b5d8 UI: Use non-native file dialog w/ Linux 2020-07-18 09:49:24 -07:00
jp9000
7993179466 cmake: Add cmake folders 2020-05-13 06:52:37 -07:00
Colin Edwards
55e2985026 Merge pull request #1944 from WizardCM/windows-rc-definition
CMake: Build Windows modules with file descriptors
2020-04-18 18:27:22 -05:00
Clayton Groeneveld
fa9dccb7be frontend-plugins: Refactor Decklink out UI 2020-02-26 23:06:20 -06:00
Jim
fc54a3b708 Merge pull request #1974 from DDRBoxman/state
decklink-ui: Show the state of outputs in the decklink dialog
2019-11-11 07:13:52 -08:00
Colin Edwards
a469d14264 decklink-ui: Show the state of outputs in the decklink dialog 2019-11-09 14:48:24 -06:00
Matt Gajownik
51be039cf8 CMake: Build Windows modules with file descriptors 2019-10-15 21:34:12 +11:00
Clayton Groeneveld
5f7f2c1c97 UI: Fix compiler/Acri warnings 2019-08-15 03:00:06 -05:00
jp9000
f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
jp9000
72ccefff5f UI: Rename UI files for consistency
Changes comboBox-* and spinBox-* files to lowercase to be more
consistent with the rest of the files in the UI directory.
2019-04-21 04:10:46 -07:00
jp9000
d2b107bc9d decklink-output-ui: Fix memory leak 2019-04-20 01:43:01 -07:00
Colin Edwards
6d07885b08 Decklink: inital preview out work 2019-04-17 21:21:39 -05:00
Jim
88391b818d Merge pull request #1811 from akapar2016/UI_scrollWheelEvents
Ui scroll wheel events
2019-04-14 13:58:54 -07:00
akapar
9249403c96 UI: Ignore wheelEvent for properties
Ignore wheelEvent using subclass
slider,spinbox,combobox with eventhandlers:
wheelEvent - ignore if widget is not focused,
leaveEvent - clear focus when mouse leaves event.

Use these new subclass widgets in properties
to ignore wheelEvent when scrolling.
2019-04-13 12:09:11 -04:00
Clayton Groeneveld
d1be93ae69 UI, libobs, text-freetype2: Add missing pragma once in header files 2019-04-01 02:48:28 -05:00