Commit graph

828 commits

Author SHA1 Message Date
derrod 396cfdb416 UI: Add Safe Mode 2023-07-21 23:22:07 +02:00
cg2121 c33fa8bfa2 UI: Fix transform shortcuts for audio only sources
The edit, copy, paste and reset transform shortcuts would still work
for audio only sources, even though the menu was hidden for these.
2023-07-17 10:22:04 -07:00
Richard Stanway d997a56fb6 UI: Destroy the frontend API after OBS_FRONTEND_EVENT_EXIT
The frontend API was never explicitly cleaned up which has lead to
several crashes from plugins continuing to call it even after OBS itself
has been destroyed. We now destroy the API after the exit event, so
further calls by plugins will be no-ops instead of potentially accessing
destroyed OBS state.

This also required some changes to our own use of the API, as we relied
on the OBSBasic destructor to clean up some callbacks, by which point
the API should have already been destroyed.
2023-07-15 16:54:51 -07: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
Benjamin Schubert 2fbc0dabda UI: Don't call activateWindow() when hidden 2023-07-15 16:11:27 -07:00
gxalpha a4834efde9 UI: Remove Qt 5 ifdef guards and code 2023-07-12 13:22:13 -04:00
Norihiro Kamae 39d4b53f6b UI: Fix preprocessor directives for platform integrations
The macros `YOUTUBE_ENABLED`, `RESTREAM_ENABLED`, and `TWITCH_ENABLED`
are not defined when the associated features are not enabled.
When the code was originally implemented, there were definitions to set
`0` if the feature is disabled. However a later commit 349372b removes
the definition. Now, the use of `#ifdef` is better than just `#if`.
2023-07-12 11:09:36 -04:00
derrod 67f7712d83 UI: Migrate undo/redo to using UUIDs 2023-06-28 11:04:56 -07:00
cg2121 e863bea7fb UI: Add QDataStream opreators for OBSSource
Allows serializing/deserializing sources in and out of QDataStreams via
their UUID
2023-06-21 15:33:48 -07:00
Norihiro Kamae a1c88d58fc UI: Fix checked state of source toolbar menu item
After the source toolbar was hidden or shown by a hotkey, the checked
state of the menu item was not updated.
2023-06-17 16:36:59 -07:00
PatTheMav 343055c889 UI: Wrap unreachable code in comment to fix clang warnings
The branch is never taken and the code acts as documentation for a
(possible) future use case. According to YAGNI it could be removed
entirely, wrapping it in a comment is the less destructive approach.
2023-06-16 14:12:58 -04:00
cg2121 45e895206d UI: Render preview lines above safe areas
Moves the preview lines around sources to be rendered above the
preview safe area lines.
2023-06-10 17:35:57 -07:00
derrod ef3a67708e UI: Support PCM in MP4 2023-06-10 17:10:30 -07:00
cg2121 5cc319d97f UI: Change name of ResetProxyStyleSliders function
Changes the name to ThemeChanged, as the function now does more than
reset the volume sliders.
2023-06-10 16:06:16 -07:00
Sean DuBois dd392188b8 UI: Enable WHIP service in UI
This provides the UI glue to enable the WHIP service introduced in the
obs-webrtc plugin.

Co-authored-by: John Bradley <jocbrad@twitch.tv>
Signed-off-by: pkv <pkv@obsproject.com>
2023-06-09 20:20:49 -05:00
tytan652 90d96e92c2 obs-frontend-api,UI,docs: Add API to add custom docks with no toggle
Some plugin does that by deleting the QAction returned by
obs_frontend_add_dock().

Now that obs_frontend_add_dock() is deprecated,
obs_frontend_add_custom_qdock() replace this usage.
2023-06-03 16:47:01 -07:00
tytan652 f2fa54120a UI: Avoid having two dock with the same object name
https://doc.qt.io/qt-6/qmainwindow.html#saveState

You should make sure that this property is unique for each QToolBar and
QDockWidget you add to the QMainWindow.
2023-06-03 16:47:01 -07:00
Igor Bochkariov df3b294fc3 UI: allow side docks to be tall
before: widgets docked on the sides of the preview are of the height of
the preview

after: the user can toggle the setting in the docks menu so the side
widgets are of the height of the whole window

UI: change menu label to Full-height docks
2023-06-04 09:39:47 +10:00
cg2121 382edcebb7 UI: Also toggle mixer toolbar in view menu
This change makes the mixer toolbar also show/hide when toggling
the source toolbars in the view menu.
2023-06-03 16:03:37 -07:00
tytan652 7cd7ca80f8 UI: Use main video on the virtual camera if program
This change allows the virtual camera to really output what is in the
program view, some plugin interract with this view but their changes
does not appear on the virtual camera.
2023-05-30 16:16:07 -07:00
cg2121 016ce128b7 UI: Fix menu actions missing shortcuts
The scene and source rename/remove actions were missing shortcuts
in the context menu.
2023-05-27 16:26:02 -07:00
Norihiro Kamae b21edafe98 UI: Fix crash on patronJsonThread
If a user exit obs while patronJsonThread is running, the thread crashed
with the error below.
  QThread: Destroyed while thread is still running
2023-05-26 12:54:33 -04:00
cg2121 fc8c428521 UI: Move saving of scene tree grid mode
Widget shouldn't save their own states, as then they can't be used
elsewhere.
2023-05-21 01:48:13 -07:00
cg2121 3a53882675 UI: Add scene grid mode to view menu
Makes toggling of the scene list grid mode also available in the
view menu.
2023-05-20 17:06:18 -07:00
Lain 106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
derrod 2918d77e58 UI: Process Qt events once after destroy queue finishes 2023-05-13 16:53:17 -07:00
derrod 1c3ae0707c UI: Only update vcam output if necessary 2023-05-13 16:51:11 -07:00
derrod 14a6673e2f UI: Reset VCam when clearing scene data 2023-05-13 16:51:11 -07:00
derrod 4419786840 UI: Exit and show error if clearing scene data fails 2023-05-07 11:03:53 -07:00
田七不甜 e1a202b370 UI: Make "Portable Mode" translateable 2023-05-06 16:21:56 -07:00
derrod ff06927c71 UI: Disable auto-remux for AV1+PCM, use MOV for PCM 2023-04-22 16:16:40 -07:00
gxalpha 1578cca9b2 UI: Sort Add Source menu case insensitively 2023-04-15 16:06:36 -07:00
gxalpha 6c676d39da UI: Removed unused static AddProjectorMenuMonitors declaration
e832b42 made AddProjectorMenuMonitors a member function of OBSBasic, but
the (now unused) declaration of the static function never got removed.
2023-04-05 21:26:17 +00:00
Richard Stanway 820fba2d7f UI: Remove unnecessary variables type conversions
Detected by PVS Studio.
2023-04-05 00:40:31 +02:00
derrod 5a375defa8 UI: Rework recording format handling 2023-04-04 00:54:28 +00:00
Jim d166bee3b6 Revert "UI: Fix preview rendering order"
This reverts commit bb34315f90.
2023-04-01 18:00:44 -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
cg2121 bb34315f90 UI: Fix preview rendering order
The spacing helpers were being rendered above the preview
safe areas.
2023-04-01 16:44:38 -07:00
derrod 2560187611 UI: Remux fragmented containers to regular counterparts
Also disables record-as-MKV when using fmp4.
2023-03-29 19:17:24 +00:00
tytan652 b11d0523fb UI: Load service before creating the output handler 2023-03-27 14:33:24 -04:00
Yuriy Chumak 7dbc829c15 libobs,UI: Add output failure code for HDR being unsupported 2023-03-26 16:37:31 +02:00
pkv d18b38e784 UI: Enable multiple audio tracks in Simple Output recording
This adds support for multiple audio tracks in Simple Output for
recordings.
This is enabled for all quality presets (including "Lossless") except
"Same as Stream".
This is also enabled for the Replay Buffer.
An exception is made for flv recording format since it only allows a
single audio track.
The recorded track (and streaming track) is then Track 1 as before.

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 20:54:07 -04:00
derrod f1223ca566 UI: Set fragmented MP4/MOV as default for beta/rc
Also includes a migration to a new key to ensure backwards-compatibility
of profile config.
2023-03-25 16:28:56 -07:00
tytan652 eef63cd188 UI: Enforce stream audio to Opus if service is FTL 2023-03-20 01:09:52 -07:00
tytan652 b2f25fb4b9 UI: Default advance record audio to AAC 2023-03-20 01:09:52 -07:00
tytan652 5fe417bce1 UI: Add audio codec selections 2023-03-19 17:27:43 +01:00
Jim 6eace37e06
Merge pull request #8229 from derrod/hashed-tables
Hashtable Adventures
2023-03-19 00:34:44 -07:00
Norihiro Kamae 0959a22de3 UI: Fix possible use-after-free of obs_scene_t 2023-03-18 15:34:47 -07:00
Norihiro Kamae 23a0b7cacd UI: Fix possible use-after-free of obs_source_t
Also removes an implicit pair of successive obs_source_getref and
obs_source_release calls from OBSSource.
2023-03-18 15:34:47 -07:00