Commit Graph

9755 Commits (30257c9fe3c121a7208433f972d17cbb97da93a3)

Author SHA1 Message Date
Richard Stanway 30257c9fe3 libobs-winrt: Improve error logging code
Use code() instead of to_abi() on hresult_error structs as the latter
has additional side effects. Cast all values to int32_t to ensure the
hresult int32_t() operator is called so we pass the actual value and not
the full struct (detected by PVS Studio).
2021-08-19 02:16:45 +02: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
Richard Stanway 4bf81e9bf6 win-dshow: Avoid redundant string conversions
We were going from wstring -> wchar_t * -> wstring. Issue detected by
PVS Studio.
2021-08-18 23:45:11 +02:00
Richard Stanway 486380e2c3 win-dshow: Use constant references for resolution check
Avoids unnecessary creation of a new VideoDevice. Issue detected by
PVS Studio.
2021-08-18 23:45:08 +02:00
gxalpha 981e7f7079 UI: Fix redo recreating sources in the wrong scene
Fixes an issue where if creating a new source was re-done from a
different scene, the source would be created first in that scene and
then OBS would switch to the scene where the source originally was
created.
Changes the order of these two operations, which makes OBS create the
source in the correct scene.
2021-08-18 11:16:14 -07:00
Jim 6c106893b9
Merge pull request #5143 from Warchamp7/ui-form-cleanup
UI: Clean up other UI form file markup
2021-08-18 06:49:00 -07:00
Clayton Groeneveld a3f3b9d03c UI: Show source icon in context bar
This shows the source icon next to the source label in the
context bar.
2021-08-17 18:26:11 -07:00
gxalpha 008c6e4805 UI: Add menu bar item to show missing files dialog
Adds an entry to the "Scene Collection" tab of the menu bar that makes
the missing files dialog come back in case it got dismissed of files got
removed while OBS was open
2021-08-17 13:59:04 -07:00
derrod c2cd372b00 UI: Fix missing #if for autostart warning 2021-08-17 19:41:26 +02:00
derrod fc3f349a31 UI: Add "Don't show again" checkbox to YT auto start warning
Also modifies the warning message to be more clear about what this
means.
2021-08-17 19:12:27 +02:00
derrod 4ef2a79a19 UI: Show loading indicator while fetching YouTube Events 2021-08-17 18:35:55 +02:00
derrod a4d37dba73 UI: Fix YouTube event selection, API usage, stream resumption
All these fixes are interlinked but to explain them further:
Event selection would only partially work, the code to re-use an
existing liveStream was never hit and so didn't work. It would also
break going live because broadcast_id would never be set. Additionally
it called StartBroadcast for no reason if autostart was enabled.

API usage was unoptimal. Instead of only fetching the events we need
(active, ready) it would fetch *every single livestream* on the youtube
channel, 7 at a time, and then throw away every single result in the
majority of use cases.
This commit changes it to only fetch "active" and "ready" broadcasts and
then only filters out active ones that cannot be resumed (because
they're stil live).

Resuming existing streams also didn't work because they were just thrown
out by the selection. Now they get included if the attached liveStream
is not receiving data. The're distinguished in the UI and are listed
first. Simply selecting them and starting the stream will work.

These's still some stuff left, like redundant API calls. But thankfully
those fail silently and we can simply ignore it for now.
2021-08-17 18:35:55 +02:00
derrod e212acf025 UI: Improve YouTube (error) translatability
Adds the ability to provide translated messages for YouTube API erorr
reasons.

Also adds translation for various internal errors that were previously
hardcoded to english.

Minor changes to existing translation strings to improve
translatability.
2021-08-17 18:35:55 +02:00
derrod 9b57490e2c UI: Show error if Google account has no channels 2021-08-17 18:35:55 +02:00
derrod db368b5afc UI: Improve YouTube API HTTP error handling 2021-08-17 18:35:55 +02:00
derrod 64b21ad12f UI: Add fail_on_error parameter to GetRemoteFile
CURLOPT_FAILONERROR swallows the body of 40X responses,
but in some cases we want to read the body for error details.
2021-08-17 18:35:55 +02:00
kokole dd6dd4e104 win-capture: Fix D3D12 third party overlay capture
Doesn't make sense to grab the oldest frame when not capturing overlays,
because the overlay was already rendered in it. This will grab the
latest frame (before the overlay is rendered).
2021-08-17 08:24:57 -07:00
gxalpha 85891630b3 UI: Dim hidden source items in source tree
Dims the items of hidden sources in the sources dock to make it more
obvious that they are not visible. Both the icon and the sources name
are affected.
2021-08-17 08:24:28 -07:00
gxalpha 0d755c3691 mac-virtualcam: Move DAL plugin to plugin data directory
Moves the DAL plugin to the data directory of the mac-virtualcam. Until
now, it was just lying in the top-level data directory
2021-08-17 08:21:32 -07:00
jp9000 7fffca945e Revert "UI: Remove macOS-Default Full Screen Menu Item"
This reverts commit cf445be44c.

Did not mean to merge this. #4768
2021-08-17 06:00:53 -07:00
gxalpha cf445be44c UI: Remove macOS-Default Full Screen Menu Item
macOS looks if the NSUserDefault NSFullScreenMenuItemEverywhere is set
to true, and if it is, it adds its own full screen menu item.
Sets this NSUserDefault to false since it defaults to true.
2021-08-17 05:58:29 -07:00
Warchamp7 6f90380ec2 UI: Show name of scene item in Transform window title 2021-08-17 05:54:29 -07:00
Warchamp7 4d1862d3c6 UI: Fix media controls toolbar default size and styling 2021-08-17 04:11:36 -07:00
Warchamp7 dca7fadf51 UI: Change the Source Toolbar to not be fixed size
This is part of a larger pass I'll be making over the UI to make it behave better with qss

The Source Toolbar previously had a fixed height that made styling it difficult. It now takes up the minimum amount of space it needs, but can grow to accommodate larger buttons, padding, etc.
2021-08-17 04:11:36 -07:00
Warchamp7 a48f87c057 UI: Change QWidgets to QFrame so Qt Creator doesn't hide these entries
QWidgets that contain property definitions as well as a layout child item do not properly show up in the Qt Creator hierarchy.

These properties are still invisibly applied but the QWidgets are not shown in Qt Creator and will get removed from the file after saving.
2021-08-17 04:11:36 -07:00
gxalpha 5db62af907 UI: Apply QSS to generic hotkey settings label
Fixes an issue where in the hotkey settings, some header labels wouldn't
be styled as intended.
2021-08-17 04:11:14 -07:00
Ryan Foster ea9c75bacb cmake: Remove local files for checking threading support
These local copies of CheckForPthreads.c and FindThreads.cmake override
the ones included with CMake. These versions create CMake::Threads, but
Qt6 expects Threads::Threads created by CMake 3.1+. These local versions
seem to be based on old copies from CMake from late 2014 with some
customizations. Let's just use the built-in ones that CMake ships.

This commit also changes CMakeLists.txt files in UI and libobs to
require and link to Threads::Threads.

Co-authored-by: Kurt Kartaltepe <kkartaltepe@gmail.com>
2021-08-17 02:46:09 -07:00
Warchamp7 592570bb2b UI: Clean up Update form markup
Small whitespace fix
2021-08-17 05:44:29 -04:00
Warchamp7 95cdc0eba2 UI: Clean up Remux form markup
Minor alphabetical rearrange by Qt Creator
2021-08-17 05:43:36 -04:00
Warchamp7 7deba80aaf UI: Clean up Missing Files form markup
Minor alphabetical rearrange by Qt Creator
2021-08-17 05:43:09 -04:00
Warchamp7 e324b69c9f UI: Clean up Importer form markup
Minor alphabetical rearrange by Qt Creator
2021-08-17 05:42:05 -04:00
Warchamp7 1d48fc0a0e UI: Clean up Custom Browser Docks form markup
Minor alphabetical rearrange by Qt Creator
2021-08-17 05:41:30 -04:00
Warchamp7 2233e3450d UI: Clean up Transform form markup
Fixes some QWidgets that Qt Creator tries to clobber. As a result, there is a new spacer added now to ensure the controls remain grouped at the top of the window.
2021-08-17 05:38:23 -04:00
Warchamp7 592e404df5 UI: Clean up Interact form markup
This re-adds the native attribute for the OBSQTDisplay that was removed in #3782. I believe this particular removal was an error, and there is no way around this entry being native since OBSQTDisplay extends QWidget
2021-08-17 04:25:20 -04:00
Warchamp7 c4edb9a07f UI: Clean up Filters form markup
Fixes some QWidgets that Qt Creator tries to clobber. As a result, there are a couple spacers added now for the toolbars to align properly and a stretch policy on the main layout.

This re-adds the native attribute for the OBSQTDisplay that was removed in #3782. I believe this particular removal was an error, and there is no way around this entry being native since OBSQTDisplay extends QWidget
2021-08-17 04:23:08 -04:00
Warchamp7 092d03afd5 UI: Clean up About form markup 2021-08-17 02:08:28 -04:00
Warchamp7 3b52bbad61 UI: Clean up AutoConfig form markup 2021-08-17 02:08:08 -04:00
Warchamp7 47e370682b UI: Clean up toolbar form markup 2021-08-17 01:49:20 -04:00
Warchamp7 59ed4131a8 UI: Clean up Settings form markup
This continues work from #5133 to correct UI file markup and save correctly in Qt Creator

Defining alignment as an attribute in the <item> tag seems to be old behaviour that current versions of Qt Creator do not respect and will clobber these entries on save.

The correct approach is to have alignment as a property element in the widget.

As well, QWidgets that contain property definitions as well as a layout child item do not properly show up in the Qt Creator hierarchy.

These properties are still invisibly applied but the QWidgets are not shown in Qt Creator and will get removed from the file after saving.
2021-08-17 01:41:57 -04:00
Ryan Foster e13e46839f UI: Query rtmp-services for stream key link URLs
Using the newly added stream key links in services.json from
rtmp-services, we can fetch the URLs from that source instead of
hardcoding them here. This allows us to remove service-specific code
from UI code and allows out-of-band updates to these URLs.
2021-08-16 09:48:14 -07:00
Ryan Foster 97e1d6ebf1 rtmp-services: Add stream key link URLs
This commit adds the stream key link URLs to services that have them
from UI/window-basic-auto-config.cpp and
UI/window-basic-settings-stream.cpp. This will enable querying these
values from services.json and remove service-specific code from UI code.
2021-08-16 09:48:14 -07:00
Ryan Foster 6bdea81823 rtmp-services: Change "stream key link" key to "stream_key_link"
This change is to be consistent with an upcoming commit where
"stream_key_link" is used for the key. While the JSON spec allows spaces
in keys, it isn't widely exercised. Having spaces in keys may introduce
other issues if the JSON data were processed in JavaScript (e.g., dot
notation vs. bracket notation), so let's just replace the spaces with
underscores.
2021-08-16 09:48:14 -07:00
gxalpha c9302d13ce UI,obs-transitions: Enable missing files dialog for stinger transition
Adds transitions to the missing files check, allowing for stinger
transitions to be shown in the dialog
2021-08-16 08:29:54 -07:00
jp9000 1abf7ae3cf rtmp-services: Add BoxCast 2021-08-16 07:37:38 -07:00
jp9000 33130d7d15 Revert "mac-virtualcam: Move DAL plugin to plugin data directory"
This reverts commit 4d1764036f.
2021-08-16 07:36:54 -07:00
gxalpha 4d1764036f mac-virtualcam: Move DAL plugin to plugin data directory
Moves the DAL plugin to the data directory of the mac-virtualcam. Until
now, it was just lying in the top-level data directory
2021-08-16 06:52:50 -07:00
jpark37 0f2c1447ab graphics-hook: Fix D3D11On12 usages
Use D3D12_RESOURCE_STATE_PRESENT for CreateWrappedResource arguments. We
should assume the application will set the backbuffer to PRESENT, and
expect that to be preserved across the Present() call.

Remove unnecessary calls to ReleaseWrappedResources.

Clean up (void**) casts with modern patterns.
2021-08-15 15:58:09 -07:00
jp9000 1d44ace7d0 deps/media-playback: Fix trailing whitespace 2021-08-15 10:59:03 -07:00
jp9000 ee67228a94 UI: Fix compiler error
I probably should have at least compiled this before pushing a commit.
2021-08-15 06:55:15 -07:00
jp9000 228ca55661 UI: Fix frontend API cleanup/exit event order
Makes it so that the exit event is always called regardless of save
state, and that exit is always called after cleanup rather than before.
2021-08-15 06:44:23 -07:00