Commit Graph
9392 Commits
Author SHA1 Message Date
jp9000 4ef0d3bc69 obs-browser: Update version to 2.13.2 2021-03-12 18:57:13 -08:00
Peter "Marenthyu" Fredebold 2a87543d82 UI: Add css on Drag and Drop
Adds parsing for the "layer-css" query param of URLs dragged into the main window, similarly to the other layer-* parameters already used.
2021-03-10 22:59:07 -08:00
Anton Bershanskiy 7d5430f4ea UI: Make drag and drop file ext. case insensitive
Fixes obsproject/obs-studio#4236
2021-03-10 20:40:04 -08:00
Christopher P. Yarger dcf3e6cd06 docs: Add entries for Frontend API T-bar control 2021-03-10 20:18:36 -08:00
Christopher P Yarger 25a335dc3c UI: Add Frontend API function to get value of T-bar
Also add a Frontend API event for when the T-bar's value changes.
2021-03-10 20:18:36 -08:00
Kurt Kartaltepe 9525943bc0 libobs: Fix crash when no context
If obs was shutting down in very early in initialization like when the
X11 display is missing this context parameter might still be NULL.
Return early to allow shutdown to complete without crashing.
2021-03-10 20:14:01 -08:00
Clayton Groeneveld 40fda5fc08 UI: Remove UpdateSceneCollection function from header
This function wasn't removed in PR 4308.
2021-03-10 20:06:08 -08:00
Ryan Foster 7ed1634530 cmake: Fix some Qt files not being logged in CMake output 2021-03-10 20:05:50 -08:00
Ryan Foster dfe2f40902 cmake: Require Qt if UI is enabled
In CMakeLists.txt, FIND_MODE is not defined here. This was moved from
UI/CMakeLists.txt in commit cb4d2ff7fa. In
UI/CMakeLists.txt, FIND_MODE is REQUIRED if DISABLE_UI is false or
undefined and ENABLE_UI is true. Since the same booleans are required
for the if-else branch in CMakeLists.txt where we try to find Qt, we can
set find_package to REQUIRED here as well.
2021-03-10 20:05:24 -08:00
Jim 9ecae253f0 Merge pull request #4314 from WizardCM/fix-group-resize-1
UI: Don't attempt to resize parent group when changing cursor
2021-03-09 20:59:05 -08:00
Jim fc6e085d32 Merge pull request #4318 from RytoEX/qt6-fixes
UI: Fix Qt6 build issues
2021-03-09 19:34:54 -08:00
Ryan Foster 7214feba73 UI: Set Qt::AA_UseHighDpiPixmaps only on Qt5
Qt6 enables Qt::AA_UseHighDpiPixmaps by default and will emit a warning
if you try to enable it. To prevent the warning, only set this on Qt5.
2021-03-09 10:28:19 -05:00
Ryan Foster 1793515bbf UI: Explicitly include QFile
Explicitly include QFile to prevent a build failure with VS2019 and Qt6.
2021-03-09 09:31:10 -05:00
Ryan Foster e81f8e3857 UI: Don't use QTextStream::setCodec in Qt6
In Qt6, QTextStream::setCodec has been replaced by
QTextStream::setEncoding. However, all text is assumed to be UTF-8, so
we don't need to specify UTF-8 in Qt6.

https://doc.qt.io/qt-5/qtextstream.html#setCodec-1
https://doc.qt.io/qt-6/qtextstream.html#setEncoding
2021-03-09 09:16:19 -05:00
Ryan Foster 05d29aa4e3 UI: Set default string size arg for QT_UTF8 / QString::fromUtf8
Our QT_UTF8(str) macro uses QString::fromUtf8(str) with no size
argument. In Qt5, QString::fromUtf8 uses a default value of -1 for the
size arg. If size is -1, it is taken to be strlen(str). In Qt6,
QString::fromUtf8 doesn't use a default value for the size arg, but has
the same behavior if you manually specify -1 for the size. Let's
manually specify -1 to maintain the same behavior between Qt5 and Qt6.

https://doc.qt.io/qt-5/qstring.html#fromUtf8
https://doc.qt.io/qt-6/qstring.html#fromUtf8
2021-03-09 09:16:16 -05:00
Ryan Foster 37971e7bf9 UI: Force plugins to use version appropriate Qt Network
Make building against either Qt5 or Qt6 easier by checking the Qt
version used and loading the appropriate Qt Network DLL.
2021-03-09 09:16:07 -05:00
Matt Gajownik b2fb0ca07f UI: Don't attempt to resize parent group when changing cursor
Fixes an issue where resizing a source did not resize the parent group.
2021-03-09 21:15:17 +11:00
Kurt Kartaltepe 513bcb8e35 UI: Cleanup Qt for Qt6
This changes cleans up some deprecated functions that were removed in
Qt6. Some are placed behind version ifdefs and others are replaced for
their non-deprecated Qt5 version.
2021-03-08 21:41:13 -08:00
Mike 40f99da8a2 UI: Fix Qt signal connection warnings
Closes obsproject/obs-studio#4264
2021-03-08 21:39:43 -08:00
Exeldro 901a030adf frontend-tools: Add edit script button 2021-03-08 08:37:37 -08:00
VodBox e81cf90c1e UI: Disable scroll and keyboard input for t-bar
closes #2951
2021-03-09 01:31:08 +13:00
VodBox d2e3d0da3c UI: Remove unnecessary code 2021-03-08 23:42:21 +13:00
VodBox 3046f3b578 UI: Fix grid mode scenes overlapping
fixes #2676
2021-03-08 23:33:54 +13:00
VodBox 58b2da73b3 UI: Fix transform dialog for screen readers 2021-03-08 21:51:20 +13:00
Clayton Groeneveld 753de748e5 UI: Remove redundant code
The UpdateSceneSelection function was doing the same thing as the
code in the SetCurrentScene function.
2021-03-07 22:53:08 -08:00
jpark37 a20b4c67eb libobs/util: Compiler barriers for ARM64 atomics
Unsure if the intrinsics imply ordering. Safer to assume they don't.
2021-03-07 21:11:32 -08:00
VodBox eb98505a2c UI: Fix memory leak with missing files dialog 2021-03-06 15:33:12 +13:00
Matt Gajownik adb8046b7c UI: Use clicked signal for buttons in Missing FIles dialog
Clicked includes the release, whereas pressed occurs before.
2021-03-05 21:14:56 +11:00
Christopher P Yarger fc6d2954fd obs-ffmpeg: Fix bug with obs_source_media_play_pause 2021-03-04 23:43:14 -08:00
Richard Stanway 6c0d234385 libobs: Minor fixes / code cleanups
Fixes some warnings generated by code analysis tools, removing redundant
checks etc.
2021-03-04 19:29:33 +01:00
Richard Stanway 13cfd95fef libobs-d3d11: Avoid temporary ComPtr objects
The ternary operator promotes both sides to the same type if possible,
so it created and destroyed a temporary ComPtr. Found by PVS Studio.
2021-03-04 19:29:00 +01:00
Richard Stanway 43a291806e decklink: Remove unnecessary obs-frontend-api dependency 2021-03-04 19:22:12 +01:00
jp9000 09c3892127 UI: Use more accurate wording 2021-03-01 18:28:43 -08:00
Robert de Bock da8c7e5131 UI: Fix typo
"Ideal" is an absolute.
2021-03-01 15:03:33 -08:00
PatTheMav 9da6fc67c4 CI: Fix missing entitlements on CEF components for obs-browser 2021-03-01 08:27:16 -08:00
pedanticdan bc3decc8d1 mac-virtualcam: DAL PlugIn check for custom png file 2021-03-01 07:40:13 -08:00
Doug Kelly 6a9f25c8ea mac-vth264: Clean up encoder list
When enumerating the list of encoders offered by VideoToolbox,
there's no reason we can't use the returned ID, which allows us to
remove the hardware/software encoder specific functions. At the
same time, this does add a slight complexity when localizing the
encoder name, so we can fall back to the OS-provided encoder name
if there's not a match.
2021-02-28 19:00:43 -08:00
Doug Kelly 437ba31cf6 cmake: Remove pagezero_size from linker options
Previous versions of LuaJIT required setting linker options
-pagezero_size and -image_base.  This was accomplished in commit
c9224edbad, but as of LuaJIT 2.1, this is no longer necessary, and
doing so results in the application being killed when run natively
on macOS ARM targets.
2021-02-28 19:00:43 -08:00
Doug Kelly 5d711ebbda mac-capture: Adjust mHostTime to milliseconds
The timestamp returned by mHostTime in the AudioTimeStamp structure
is the current timestamp equivalent to mach_absolute_time(), which
is relative to the machine's time base. In order to convert this
to milliseconds, it's necessary to get the host's timebase with
mach_timebase_info() and scale the timestamp accordingly, since
the rest of the timestamp synchronization code expects the timestamp
to be in milliseconds.

This is effectively equivalent to the code which was previously in
libobs/util/platform-coca.m, but must be applied here instead.
2021-02-28 19:00:43 -08:00
Doug Kelly 4ab5a3bea1 libobs: use clock_gettime_nsec_np() for macOS
macOS should use the function clock_gettime_nsec_np() to get the
current clock in nanoseconds, instead of manually using
mach_absolute_time() and manually adjusting the timebase. This
greatly simplifies the platform-specific code to manage the
current time in nanoseconds.
2021-02-28 19:00:43 -08:00
Colin Edwards 9b699f65d7 CI: Update macOS dependencies bundle 2021-02-27 21:30:58 -06:00
PatTheMav 516ed4458d mac-virtualcam: Handle missing DAL plugin destination directory 2021-02-26 13:29:49 -08:00
Georges Basile Stavracas Neto 7f27963caa libobs/util: Split bus name from interface
When calling D-Bus methods, three fields are required:

 * The bus name, which is what applications own when they
   want to expose themselves to D-Bus;

 * The object path, which represents a D-Bus object exported
   under a bus name;

 * The interface, which holds the methods and signals;

While out of pure coincidence all the D-Bus buses have a
matching interface name, it is technically incorrect to assume
that.

Add a new 'interface' field to service_info, and split the bus
name.
2021-02-25 12:32:44 -08:00
Georges Basile Stavracas Neto ec1b07cc85 libobs/util: Replace libdbus by GDBus
GDBus is more and better maintained than libdbus these days. In the
future, a potential Wayland-compatible capture plugin will need to
interact with D-Bus in a way that's way too complicated for libdbus,
and it won't be nice to have both libraries talking to the D-Bus
socket.

Replace the libdbus usage by GDBus. As it turns out, it results in less
code.
2021-02-25 12:32:44 -08:00
Georges Basile Stavracas Neto 94d2166951 libobs/util: Rename struct field 'id' to 'cookie'
All D-Bus interfaces call the unique identifier that is returned by their
calls "cookie", so rename the 'id' field to 'cookie' to match that.
2021-02-25 12:32:44 -08:00
Thomas Picquet 848395f326 rtmp-services: Add ePlay service
Closes obsproject/obs-studio#4263
2021-02-22 02:40:56 -08:00
PatTheMav 200a050937 mac-virtualcam: Fix codesign error after updating OBS 2021-02-22 02:37:58 -08:00
Matt Gajownik 472ce22a73 CI: Build on Ubuntu 18.04, use newer clang-format
There are too many issues with 20.04 to successfully build with
VirtualCam - the azure kernel is missing videodev headers. For now,
use 18.04 LTS directly for main CI builds.

Both 18.04 and 20.04 include clang-format-10 without issue.
2021-02-22 02:10:34 -08:00
jp9000 81a89e689f UI: Fix output resolution not properly changing
Fixes a bug where the output resolution wouldn't change when using a
service that uses the "supported resolutions" limitation. When switching
to a non-editable combo box, the signal used to detect whether the combo
box has had its value changed wouldn't work anymore because it was the
signal explicitly used for editable combos. So, to fix, just reapply the
normal combo box signal to detect when the value has been changed.

Fixes obsproject/obs-studio#4124
2021-02-17 03:31:06 -08:00
Gol-D-Ace 7a4844e2fc UI: Fix locale name 2021-02-15 18:16:07 +01:00