1988 Commits

Author SHA1 Message Date
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
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
jp9000
7fffca945e Revert "UI: Remove macOS-Default Full Screen Menu Item"
This reverts commit cf445be44c6707e1e5cef0b5be8afeb03f74bb72.

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
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
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
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
Exeldro
2f07107e88 frontend-tools: Fix crash on shutdown 2021-08-15 05:51:32 -07:00
derrod
ea271f9d91 UI: Create YouTube LiveStream objects as non-reusable 2021-08-15 05:06:28 -07:00
tytan652
47df2467e9 UI: Force Wayland usage under Wayland session
Qt doesn't use the Wayland platform on GNOME, so we have to
force it using the QT_QPA_PLATFORM env var. It's still possible to
use other QPA platforms using this env var, or the -platform command
line option.

qt5-wayland is now a required dependency for OBS on Linux (or FreeBSD).

Co-authored-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
2021-08-15 05:05:29 -07:00
Richard Stanway
7217671eb0 UI: Trim custom server string
Spaces in the URL can cause issues as ffmpeg-mux is unable to figure
out the protocol. Fixes #5100.
2021-08-12 23:41:14 +02:00
Exeldro
5b18faeb49 UI: Add functions to open properties and filters 2021-08-12 04:31:40 -07:00
Exeldro
f0d372bdd7 obs-frontend-api: Send OBS_FRONTEND_EVENT_SCENE_COLLECTION_CLEANUP 2021-08-12 01:33:52 -07:00
jp9000
57ae92206f UI: Fix unused variable outside of #if 2021-08-10 23:16:42 -07:00
Richard Stanway
64457e3d63 Revert "UI: Initialize Studio mode after loading scenes"
This reverts commit 8b50ad5e2a6fcb01a8fadda1c4f39bc321160371.
Regressions when loading a saved program / preview mode. Actual fix
probably needs to be done inside SetPreviewProgramMode.
2021-08-10 21:51:15 +02:00
Vainock
674715d369 UI: Replace '&&' with 'and' in YT integration 2021-08-08 16:47:17 +02:00
Jim
5292d1ced2
Merge pull request #5047 from obsproject/obs-yt-integration
YouTube Integration
2021-08-08 00:22:52 -07:00
gxalpha
6f778df158 UI: Show autoremux progress bar
Fixes a bug where the progress bar for autoremuxes wouldn't be made
visible when it started, and only a blank popup window appeared.
2021-08-07 23:17:50 -07:00
gxalpha
3e16296403 UI: Autoremux Replay Buffer
Replays from the replay buffer will be automatically remuxed to MP4 like
recordings are, if autoremux is enabled.
2021-08-07 23:15:12 -07:00
Yuriy Chumak
e6f1daab8c UI: Add YouTube integration 2021-08-07 01:07:04 -07:00
Norihiro Kamae
04b0d632aa UI: Fix da_push_back taking a wrong type of item
A pointer to `OBSSource` was passed to an argument that expect a pointer
to `obs_source_t *`.
Since the current implementation of a class `OBSSource` has a member
`obs_source_t *obj` at first and the class does not have any virtual
member functions, most implementation should work correctly.
2021-07-31 15:29:26 -07:00
Exeldro
08d9069201 UI: Fix undo delete scene that is used as source 2021-07-31 15:25:00 -07:00
Georges Basile Stavracas Neto
4c07ba6886 Revert "UI: Disable drag/drop on Linux scenes/sources (for now)"
This reverts commit 457adcedd319ca2317d7cd5300694d486e88af90.

Requires https://github.com/obsproject/obs-browser/pull/304
2021-07-28 10:28:49 +10:00
Yuriy Chumak
0654675f32 UI: Add support for external browser OAuth
(Jim note: Adds abstraction to the OAuth class to allow the ability to
perform OAuth via external browser, and adds an AuthListener to act as
the local auth server.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak
63ad0642ae UI: Specify exact service to auth login callbacks
(Jim note: This gives the ability for auth login callbacks to know which
specific service type is being used. For example, with something like
YouTube, there's multiple variants: RTMP, RTMPS, and HLS. This way, the
service login callback can determine how it wants to treat the login
procedure depending on the specific type of service.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak
37b9ece904 UI: Add request type param to GetRemoteText 2021-07-24 15:50:59 -07:00
Yuriy Chumak
c4840ddba0 UI: Set Qt locale to current OBS locale
(Jim note: This will cause certain Qt functions to treat string
conversions differently depending on the language. Useful when using Qt
to perform these conversions.)
2021-07-24 15:50:59 -07:00
Yuriy Chumak
eb6ba44c8a UI: Include QtNetwork as a direct dependency
(Jim note: Rather than copy the QtNetwork library manually like we were
doing before, this makes it so that QtNetwork is used as a dependency of
the UI. The cmake used to copy the library manually thus us no longer
necessary.)
2021-07-24 15:50:59 -07:00
Richard Stanway
f0e3cd1f91 UI: Simplify expressions in GetMonitorName 2021-07-24 23:15:45 +02:00
Richard Stanway
2727dd96bd UI: Handle prefixes when using paths in recording format
The replay buffer and screenshot functions add a prefix to the output
filename. The code in GetFormatString assumed the format string was the
entire filename, and inserted the prefix at the beginning. This caused
illegal paths such as "Screenshot /2021/05/22-35.mkv" to be created if
the user had specified a path in the format string, resulting in lost
files.

This commit inserts the prefix before the last / character to ensure it
only affects the filename portion of the format string.

Fixes #4707
2021-07-24 22:34:44 +02:00
Richard Stanway
8b50ad5e2a UI: Initialize Studio mode after loading scenes
Switching to Studio mode tries to duplicate the current scene, which is
null until scenes are loaded, generating various errors.
2021-07-24 22:34:44 +02:00
Richard Stanway
4c8b209bf0 UI: Use larger buffer for scene collection filename
Though the maximum size of a scene name is 170 characters, after
worst-case UTF-8 expansion this could overflow the buffer, resulting
in the scene collection being "lost" as the .json extension was
truncated.

Fixes #2560
2021-07-24 22:34:43 +02:00
VodBox
394eab050c UI: Fix ambiguous conversion error 2021-07-20 17:34:42 +12:00
VodBox
1102e0b1ee UI: Fix formatting on window-basic-settings.cpp
A requested change on PR #4455 resulted in a formatting error that was
missed before being merged. My bad.
2021-07-20 17:24:16 +12:00
Delta
a64328da56
UI: Add "18 Scenes" multiview option
Adds a "18 Scenes" multiview option. The 18 scene view leaves the
preview and program sized to the upper half of the window

Settings index in combobox may not match up with enum index. Settings
in the dropdown can now be ordered separately from the enum order.
2021-07-20 17:16:44 +12:00