0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00
Commit Graph

3283 Commits

Author SHA1 Message Date
Clayton Groeneveld
f2f4582141 UI: Add ability to reorder filters by drag & drop
This adds the ability for filters to be dragged and dropped
to be reordered, similar to scenes and sources.
2023-06-21 15:33:48 -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
gxalpha
a35e5aae41 UI: Disable Ok button in Add Source dialog if no source is selected 2023-06-17 16:46:05 -07:00
Norihiro Kamae
bff468d7ec UI: Reuse StudioMode.Preview translation for virtual camera config 2023-06-17 16:43:44 -07:00
Norihiro Kamae
323f3957cd UI: Translate place holder name for new group 2023-06-17 16:42:53 -07:00
Norihiro Kamae
846cdafbed UI: Fix changed state of audio settings
When changing audio channels, sample rate, or audio buffering settings
multiple times by hitting `Apply` button, the internal `changed` state
got corrupted. To avoid this, set the changed state when changed
something, but do not clear the changed state.
2023-06-17 16:42:14 -07:00
Norihiro Kamae
35463cb464 UI: Fix changing quick transition to/from fade to black 2023-06-17 16:39:27 -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
gxalpha
1933579b9c UI: Capitalize "Full-Height Docks" 2023-06-17 16:28:59 -07:00
PatTheMav
59904a66a3 cmake: Update Framework link definition for macOS builds 2023-06-17 12:23:33 -04: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
9f0a2547ac UI: Fix preventing copy elision of a temporary string object 2023-06-16 14:12:58 -04: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
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
Colin Edwards
d31d271b43 UI: Move WHIP service to the bottom of the visible list 2023-06-15 12:38:11 -04:00
PatTheMav
f8e00d6071 clang-format: Update formatting of all ObjC and ObjC++ files 2023-06-11 14:56:45 +02: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
66b3a04424 UI: Assume RTMP if service has no protocol
(cherry picked from commit e26a04fa44)
2023-06-11 02:18:17 +02:00
derrod
8983083cec updater: Refactor and cleanup 2023-06-11 02:17:28 +02:00
derrod
ef3a67708e UI: Support PCM in MP4 2023-06-10 17:10:30 -07:00
Colin Edwards
353a4c860d UI: Don't show WHIP in stream settings if the protocol isn't registered 2023-06-10 16:50:55 -07:00
Exeldro
e830043851 UI: Don't update text source when nothing changed 2023-06-10 16:45:42 -07:00
gxalpha
fe2eee951b UI: Don't create combobox for radio buttons in properties view 2023-06-10 16:13:57 -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
Norihiro Kamae
c053216824 UI: Remove move_to_xdg
The configuration directory was $HOME/.obs-studio until version 0.10.1
and then moved to XDG's configuration path by ba02e065fe.
The function move_to_xdg was introduced to move the old configuration
directory and left almost untouched for 8 years.
2023-06-09 04:51:10 -07:00
tududweb
4871fd301a UI: Don't trigger a settings update when list is empty
To avoid recursive call
2023-06-07 12:50:48 -07: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
cde5545f8f obs-frontend-api,UI,docs: Add dock API that ask for unique object name
obs_frontend_add_dock() is deprecated in favor of
obs_frontend_add_dock_by_id()
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
gxalpha
b69ee759d2 UI: Sort encoders alphabetically 2023-06-03 13:48:47 -07:00
cg2121
4c9e1949ad UI: Fix filter shortcuts not showing in context menu
This fixes the shortcuts not showing up in the filters context
menu for rename and remove. This also has a code cleanup for
the rename action, as now it is created in the ui file.
2023-06-03 11:53:36 -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
PatTheMav
2966c4030e libobs: Use static library for version string information
Switching to a static library that contains version information as
const char strings has multiple benefits:

* The version information provided externally via compiler definitions
  will fail compilation early if malformed
* An updated version string (which will happen with every commit) will
  not invalidate existing compilation units, because only the static
  library is affected by the change
* An update of the version change just requires a recompilation of the
  static library and a linker update
* An update of the version will _not_ infect the rest of the codebase
  (as it does currently, because everything includes obsconfig.h one
  way or another)
* Other modules which used the macro definition directly have been
  updated as much as possible to use the proper getter method from
  `libobs` instead (some Windows-specific modules use preprocessor
  string composition, the value has been added as a compiler definition
  directly in those cases)
* Because the impact of a version change due to a commit hash change
  is limited to the static library, ccache hit rates should be
  improved considerably
2023-05-27 16:48:24 -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
gxalpha
adb7029298 UI: Don't use ellipses in permissions window title 2023-05-24 15:47:10 -04:00
gxalpha
4b37692939 UI: Disallow exiting settings with no track in advanced mode 2023-05-24 12:30:27 -04:00
gxalpha
2bc368349f UI: Disallow exiting settings with no track in simple mode 2023-05-24 12:30:27 -04:00
Norihiro Kamae
63e0bff5e6 UI: Fix crash when receiving multiple SIGINT
When there are two or more SIGINT signals were sent to obs, obs crashes
because the 2nd SIGINT calls `close` though the main window has been
deleted.
2023-05-23 04:17:11 -07: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
20896280b1 UI: Fix compiling error on Ubuntu
Makes sure ceil function uses std namespace
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
gxalpha
58fb63030c UI: Only defer property updates for input and transition sources
Deferring properties was only ever made for input and transition
sources. As other property dialogs do not have an "Ok" button that would
cause an update to happen, if the deferred flag was set the callback
would never be called.
Also clarifies the docs to reflect this.
2023-05-20 16:55:50 -07:00
PatTheMav
ccedbc0218 UI: Update display capture toolbar dropdown to use uuid field 2023-05-20 16:50:16 -07:00
gxalpha
ad9fd6c6f0 libobs,UI: Add properties radio button list 2023-05-20 16:48:23 -07:00
gxalpha
f049962bb2 libobs: Add properties list boolean format 2023-05-20 16:48:23 -07:00
Norihiro Kamae
c335219582 UI: Fix missing translations
This commit fixes a typo in a translation key, adds two missing
translations, and also removes obsolete translations in the translation
files.
2023-05-20 16:27:28 -07:00
Lain
106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
Jim
fcfc2eb5fc UI: Fix 0,0 size transform bug when resizing sources
Fix a bug where if a source's width or height becomes 0 while you're
stretching the size of a source or modifying it from the transform
dialog, it would become permanently invisible

Closes obsproject/obs-studio#7962
2023-05-19 17:31:14 -07:00
gxalpha
f6b6873aaa UI: Re-raise missing files dialog on macOS after file is selected 2023-05-18 18:07:12 -04:00
田七不甜
e1b02e5b8a UI: Remove tabs for About error statements
And change error statements to translation key
2023-05-18 16:13:59 -04:00
PatTheMav
d3ccf1b889 UI: Add support for error messages from the Virtual Camera system 2023-05-18 14:41:08 -04:00
PatTheMav
3f85e447a8 mac-virtualcam: Add Camera Extension to main CMake plugin project
Camera Extensions require specific entitlements for the hosting app,
which also require a provisioning profile. To avoid breaking local
builds that do not require the camera extension, an additional
entitlements file that will not trigger the provisioning profile
requirement will be used if the virtualcam (but not the Camera
Extension) is configured.
2023-05-18 14:41:08 -04:00
tytan652
904fe87f83 build-aux,CI: Split Flatpak manifest in multiple files
Also moves Flatpak manifest to build-aux folder
2023-05-13 18:26:17 -07:00
gxalpha
2ab326d2cd UI: Redirect Qt log messages to OBS log 2023-05-13 17:09:32 -07:00
PatTheMav
beab803599 UI: Add ellipses to menu item triggering user choice (per Apple HIG) 2023-05-13 16:57:30 -07:00
PatTheMav
d2ea998f49 UI: Use native ObjectiveC methods to generate data file paths 2023-05-13 16:57:30 -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
gxalpha
96f1eec735 UI: Clean up disabling simpleFlvTracks
Since this widget is disabled every time it's shown and we're not
enabling this anywhere, it can just be disabled in the UI form.
2023-05-13 16:49:26 -07:00
田七不甜
229236e821 UI: Fix scene grid mode button color 2023-05-13 16:42:38 -07:00
田七不甜
90843221e6 UI: Normalize theme qss files 2023-05-13 16:42:38 -07:00
Richard Stanway
4176f9b13a UI: Fix crash when double-clicking projector
If "transition on double click" was enabled, OBS assumed all double
clicks were going to multiview projectors, which isn't necessarily the
case.
2023-05-13 16:38:09 -07:00
PatTheMav
efbae916fb UI: Fix crash on macOS when closing OAUTH browser panel
Deleting the cefWidget in the panel's destructor can result in a crash
on macOS because the underlying NSView might have been destroyed in
memory between Qt closing the QDialog and the destructor call.

Moving the browser destruction into the accept and reject calls ensures
that CEF can clean up its state _before_ Qt tears down the view
hierarchy.
2023-05-08 18:22:27 -04:00
tytan652
169cd07c42 UI: Avoid registering CEF OAuth integrations on Wayland 2023-05-07 13:51:52 -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
982c424de3 UI: Do not show unassigned icon for monitored sources 2023-05-05 17:38:34 -04:00
derrod
0c0ec90eac UI: Fix FLAC missing from builtin codecs list 2023-05-05 12:48:19 -04:00
Richard Stanway
132f0b85fc UI: Relax mc_trans_video_imagescaler.dll DLL block
This is actually a MainConcept redistributable and not related to Adobe.
Unfortunately Elgato Game Capture HD software relies on this dependency
when presenting the DirectShow device to OBS, so we unintentionally
blocked it from loading.

Instead of outright blocking, we now block only older versions than the
version shipped by Elgato, which has hopefully been patched to fix the
random crashes.
2023-05-03 19:16:18 -04:00
Vainock
e23b80151b UI: Fix case inconsistency in translation key
[skip crowdin-sync]
2023-05-03 02:54:14 -07:00
Translation Updater
a0fbdc3c34 Update translations from Crowdin 2023-05-01 23:11:13 +00:00
derrod
0be8d8a28d UI: Fix building macOS/Sparkle without Browser 2023-05-01 10:45:08 -04:00
derrod
4a8e8644e0 cmake,UI: Remove unused legacy DSA public key 2023-04-29 16:10:45 -07:00
gxalpha
1437a6e4fc UI: Explicitly focus Ok button in properties dialog 2023-04-29 16:07:38 -07:00
tytan652
2b4ef6d6ea UI: Fix advanced audio encoder bitrate always set to 192
Audio bitrate maps needs to be populated while finding closest available
bitrate

Not populating makes always fallback to 192
2023-04-23 23:47:32 -07:00
tytan652
3c1733b40d UI: Fix the license in the AppStream metadata
The "or later" must be specified in the identifier or it will be seen
as "only".
2023-04-22 16:41:13 -07:00
derrod
ff06927c71 UI: Disable auto-remux for AV1+PCM, use MOV for PCM 2023-04-22 16:16:40 -07:00
gxalpha
a4ea51b2b1 cmake: Add properties and log viewer UI files to sources list 2023-04-22 16:01:47 -07:00
gxalpha
597ceb2ff0 UI: Make hotkey edit layout margins symmetrical 2023-04-15 16:38:18 -07:00
gxalpha
1578cca9b2 UI: Sort Add Source menu case insensitively 2023-04-15 16:06:36 -07:00
derrod
36d30cad19 UI: Fix simple mode replay buffer maximum not being set 2023-04-14 19:35:59 -04:00
Richard Stanway
1d7c066cf5 UI: Avoid calling libobs functions with null pointers in projectors 2023-04-14 15:50:59 -07:00
Richard Stanway
bacc3ac8ed UI: Add Citrix ICAService to Windows DLL blocklist 2023-04-12 21:32:49 +00:00
derrod
f3c075f19f UI: Do not disable events when disabling codecs 2023-04-12 17:17:11 +00: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
gxalpha
e03a2751f4 cmake: Set CFBundleName to "OBS Studio" 2023-04-09 03:58:40 +02:00
PatTheMav
2978f20b06 UI: Replace use of macros for macOS updater with character constants
Also updates unqualified call to `std::move` per modern clang standards
2023-04-08 16:21:40 -07:00
gxalpha
1b708b312e cmake: Fix build without Sparkle 2023-04-08 05:44:08 +02:00
derrod
50d1b5ccb4 UI: Lower Sparkle update check interval for pre-release builds 2023-04-07 20:59:30 +02:00
Richard Stanway
9cdd847445 UI: Fix incorrect use of QT_TO_UTF8 in SpeakerLayoutChanged
The string is immediately destroyed after use, so taking a pointer to it
ends up pointing to invalid memory. Let's avoid using QT_TO_UTF8 here.
2023-04-05 21:26:21 +00: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
PatTheMav
1bab65683e frontend-plugins: Fix auto scene switcher not saving settings on close
The `done` event does not emit a `closeEvent`, but saving is only
implemented in that event handler. Changing this to `close` correctly
triggers the default QWidget event and thus settings are saved.
2023-04-05 21:26:15 +00:00
derrod
e8541b9e27 UI: Recalculate scroll position after resize 2023-04-05 21:26:10 +00:00
derrod
d277a7541f Revert "UI: Only adjust size of properties on first draw"
This reverts commit 624a0da302.
2023-04-05 21:26:10 +00:00
derrod
87e294fa5f UI: Fix unassigned audio source check in callback 2023-04-05 21:53:36 +02:00
derrod
16909e0566 UI: Fix simple mode container check 2023-04-05 09:45:56 -07:00
gxalpha
5fe8dac563 UI: Fix "Unqualified call to 'std::move'" warnings 2023-04-04 16:24:35 -07:00
derrod
7743ccfb03 UI: Fix replay buffer/split file extension 2023-04-05 01:14:26 +02:00
Richard Stanway
820fba2d7f UI: Remove unnecessary variables type conversions
Detected by PVS Studio.
2023-04-05 00:40:31 +02:00
PatTheMav
ee3c2d0e8a CI: Fix build errors with Xcode 14.3 and platform SDK 13.3
Xcode 14.3 and the macOS 13.3 platform SDK introduced a few breaking
changes:

* Updated AppleClang emits warnings about unqualified std cast calls
  when using C++ - as `move` is too broad a word, developers are to use
  `std::move` to make this explicit. Alas this is exactly what `json11`
  uses and because that library is archived, there is no possibility
  of an upstream update.

* Apple guarded calls to old screen capture APIs as "available but
  deprecated", but seems to have chosen the wrong lower version
  boundary: The calls are flagged as being available for macOS 13 and
  macOS 14 only.

  To fix this, the existing macOS platform SDK header is replaced by a
  local copy that uses macOS 11 as the lower boundary (the oldest macOS
  version supported by obs-studio anyway)
2023-04-04 17:27:59 +00:00
PatTheMav
6e07b86729 cmake: Remove EXCLUDE_FROM_ALL directive from interface libraries 2023-04-04 17:27:54 +00:00
gxalpha
5444732c91 UI: Use name instead of internal extension for incompatible codec check 2023-04-04 17:27:45 +00:00
derrod
69ac2b7aaa UI: Fix Simple Mode compat check only checking video codec 2023-04-04 00:54:28 +00:00
derrod
5a375defa8 UI: Rework recording format handling 2023-04-04 00:54:28 +00:00
Richard Stanway
a781f4a887 UI: Don't std::move main in SetUndoProperties
main is used later in the function, making this undefined behavior.
Though we can move the scene_name string.

Detected by PVS Studio.
2023-04-03 21:47:14 +02:00
derrod
288dfd2660 UI: Remove unused uppercase format string 2023-04-03 16:18:48 +02: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
7475261542 UI: Fix rotation handle when source is flipped
The rotation handle and cursor would be drawn at the wrong spot
if the source was flipped.
2023-04-01 16:48:24 -07:00
cg2121
30682e999e UI: Use UUIDs for QDataStream
UUIDs are more robust than names as they can't be changed.
2023-04-01 16:45:48 -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
gxalpha
2f2fc33f91 UI: Disallow closing settings without selected codec or format 2023-04-01 16:43:07 -07:00
Ryan Foster
60139cbdfe Revert "UI: Remove bitness strings"
This reverts commit 64d4ae0106.
2023-04-01 16:35:10 -07:00
gxalpha
240a718818 UI: Guard ResetInvalidSelection check behind Qt < 6.5.1 2023-04-01 16:25:49 -07:00
derrod
61efa3cbeb UI: Fix replay buffer with fragmented formats 2023-04-01 16:24:40 -07:00
derrod
c8d274edac UI: Only use FFmpeg compat check for external codecs
For all the codecs we ship with OBS we can use a hardcoded lookup
instead as the FFmpeg one is unreliable.
2023-04-01 16:19:27 -07:00
gxalpha
6fc9235b09 cmake: Enable "sortable" flag in UI for large lists 2023-04-01 16:15:41 -07:00
Richard Stanway
e0f674de86 UI: Add AMD AV1 encoder to simple output mode
Fixes https://github.com/obsproject/obs-studio/issues/8584
2023-03-30 22:04:07 -04:00
Richard Stanway
9a24b1ad06 UI: Update Windows DLL blocklist
- Add Bandicam
- Add VirtualMotionCapture (unity capture)
- Add HolisticMotionCapture (unity capture)

Fixes https://github.com/obsproject/obs-studio/issues/8552
2023-03-30 21:16:35 -04: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
derrod
8e1cae4f02 UI: Remux mp4/mov to mp4/mov with suffix 2023-03-29 19:17:08 +00:00
derrod
624a0da302 UI: Only adjust size of properties on first draw 2023-03-29 19:16:56 +00:00
tytan652
0d9f15cf3d UI: Improve AV1 fallbacks while changing services
This makes AV1 encoders fallback to their H264 counterpart rather than
just falling back to x264 while changing services.
2023-03-29 19:16:46 +00:00
PatTheMav
0b136c3a39 UI: Add exportOptions property lists for Xcode archiving 2023-03-29 10:31:57 -04:00
derrod
16c078960d UI: Fix missing masking in unassigned audio mix check 2023-03-29 03:16:45 +02:00
derrod
1ea100e537 UI: Fix updater parameters missing a space 2023-03-29 02:08:58 +02:00
derrod
5fbe9cdb41 updater: Add workaround for broken CLI arguments 2023-03-29 02:08:46 +02:00
tytan652
ffe5a2f152 UI: Add missing compile definitions for service integrations 2023-03-28 14:48:47 +02:00
gxalpha
454a701431 UI: Fix simple stream encoder changed signal-slot connection 2023-03-28 22:51:00 +11:00
tytan652
b11d0523fb UI: Load service before creating the output handler 2023-03-27 14:33:24 -04:00
Norihiro Kamae
fad82d0f9c cmake: Fix obs-frontend-apiConfig.cmake included from 3rd party plugin 2023-03-27 14:09:19 -04:00
Translation Updater
7c5560bf1b Update translations from Crowdin 2023-03-27 13:39:03 +00:00
Norihiro Kamae
e4eeecf3df cmake: Fix OBS_INSTALL_PREFIX
Before 349372b3b3, OBS_INSTALL_PREFIX contained trailing slash so that
it can concatinate with further paths.
2023-03-27 15:30:05 +02:00
Jim
c79cf009e2 UI/cmake: Fix portable mode (config) not working on Linux 2023-03-27 00:10:48 -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
Vainock
4ef4fb59d9 UI: Rename blending mode "Additive" to "Add" in UI 2023-03-26 14:19:30 -07:00
Jim
e233931dff
Merge pull request #8522 from nquah/enhanced-rtmp
Enable AV1, HEVC via RTMP to YouTube
2023-03-26 14:07:37 -07:00
Norihiro Kamae
c5d32881db UI: Ignore the leap seconds in tooltip of time format
The range was 00-61 but 61 is confusing. Let's ignore the leap seconds
and set 59 as the maximum.
2023-03-26 13:52:45 -04:00
Yuriy Chumak
7dbc829c15 libobs,UI: Add output failure code for HDR being unsupported 2023-03-26 16:37:31 +02:00
pkv
5d287734a8 UI: Switch RecFormat to RecFormat2
Commit f1223ca566
(UI: Set fragmented MP4/MOV as default for beta/rc)
changed RecFormat to RecFormat2.
This conflicts with the use of RecFormat introduced in
d18b38e784
(UI: Enable multiple audio tracks in Simple Output recording).
This fixes the issue.
An unused var is also removed.

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 23:45:47 -07:00
Jim
39afa665a1 UI: Always print debug log to stdout if Debug build
Makes it easier to debug certain issues when building on non-Windows
machines.
2023-03-25 22:51:25 -07:00
Ryan Foster
9b270c38e8 UI: Remove unused variable
This variable was added in d18b38e784,
but it is not used. Let's remove it.
2023-03-26 00:21:04 -04:00
derrod
b86e878a75 UI: Switch format tooltip based on user selection 2023-03-25 18:57:01 -07:00
shiina424
fe716ef39e UI: Fix translation key 2023-03-25 18:29:07 -07:00
pkv
d57d09e229 UI: Move tracks in Advanced Standard Recording
Per request of our UI design chief, the tracks from Standard Recording
(Advanced Output) are moved below the audio encoder field.
Additionally, for consistency with Simple output, the video encoder
field is moved above the audio encoder (suggestion from Rodney).

Signed-off-by: pkv <pkv@obsproject.com>
2023-03-25 20:54:07 -04: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
cg2121
1b68944107 UI: Fix transform dialog not being closable
If the user clicked away from the source, while the transform dialog is open,
the whole dialog would be disabled. The user then couldn't click close or
press escape to close the dialog. The only way for them to close it was to
click on another source to re-enable it.
2023-03-26 10:55:16 +11:00
cg2121
1ac609f1ff UI, libobs: Fix not handled in switch warnings
These warnings were being spit out by GCC on Linux.
2023-03-26 10:47:01 +11: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
Richard Stanway
5182368009 UI: Properly handle SIGINT on non-Windows platforms
Running Qt code in a signal handler is not safe. Per the Qt docs, we
instead create a pair of sockets and a QSocketNotifier so that the
signal handler can notify the main thread which can process the exit
request without risk.

Reference: https://doc.qt.io/archives/qt-6.3/unix-signals.html
Reference: https://man7.org/linux/man-pages/man7/signal-safety.7.html
2023-03-25 16:17:02 -07:00
derrod
b79363400c UI: Disable incompatible codec/container options
In advanced mode codecs that are incompatible are disabled.
In simple mode codecs are disabled if recording encoders are used,
but containers are disabled when stream encoders are used.
2023-03-25 16:12:36 -07:00
derrod
b686c971ad UI: Remove ProRes Warning 2023-03-25 16:12:36 -07:00
derrod
dc84a8da20 UI: Add unassigned indicator and warning to mixer 2023-03-25 16:08:25 -07:00
tytan652
79b7e61f0a UI: Fix issue from stream settings Qt slots refactor
5a40934 refactored slots around services but a
on_service_currentIndexChanged() was not replaced by ServiceChanged().

The latter contains the code that was in the former before the refactor.

5a409347d5
2023-03-25 17:08:05 -04:00
derrod
67c7cfecb1 UI: Remove outdated NSIS data 2023-03-25 10:22:16 +01: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
tytan652
21289b2777 UI: Save protocol in non-custom services 2023-03-24 16:07:40 -04:00
tytan652
3c909558fa UI: Make simple audio codec name translatable
Also adds "(Default)" to the AAC combobox option.
2023-03-24 09:14:09 +01:00
tytan652
04a4f2b725 UI: Fix simple fallback audio codec name 2023-03-24 09:14:09 +01:00
PatTheMav
fe34045d6a UI: Remove unused variables to fix errors in the CMake 3.0 rework 2023-03-23 16:48:59 -04:00
Norihiro Kamae
81117fa5cb UI: Separate translation of filename format tooltip
The tooltip string describing the filename format had many lines. It
made difficult for translators to update newly added format strings.
This commit separates the string so that each format string has each
translation.
Also construct HTML so that the column aligns.
2023-03-23 23:00:47 +11:00
tytan652
f2f00f1676 UI: Fix audio archive encoder using the stream track 2023-03-22 15:30:56 -04:00
Exeldro
b11d61c89f UI: Add space for right arrow in menu 2023-03-21 16:09:27 -04:00
tytan652
d529f2c35f UI: Fix inconsistencies in FindProtocol
- Fallback to RTMP if custom server is empty.
- Check if RTMPS is supported since OBS Studio can be built without it.
2023-03-21 15:17:15 -04: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
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
215426b65b UI: Use connect infos check in before stream check
Ask the service directly rather than checking the presence of a key and
a URL.
2023-03-19 18:27:44 +01:00
tytan652
5fe417bce1 UI: Add audio codec selections 2023-03-19 17:27:43 +01:00
tytan652
b15684aa17 UI: Add Opus bitrate map and per encoder bitrate list
Also refactors AAC bitrate map too.
2023-03-19 17:27:43 +01:00
tytan652
ea2858705c UI: Select streaming output based on the protocol 2023-03-19 17:16:13 +01:00
tytan652
8d6cacc35b UI: Remove hardcoded stream codec list 2023-03-19 17:08:06 +01:00
tytan652
44ca002d02 UI: Use protocol to enable network options 2023-03-19 17:08:06 +01:00
tytan652
e00e2712cf UI: Use protocol to list compatible codecs 2023-03-19 17:08:06 +01:00
tytan652
5a409347d5 UI: Refactor Qt slots in stream settings page 2023-03-19 16:49:56 +01:00
Jim
6eace37e06
Merge pull request #8229 from derrod/hashed-tables
Hashtable Adventures
2023-03-19 00:34:44 -07:00
田七不甜
c3990e882a UI: Fix Dark and System themes select list height 2023-03-18 15:56:22 -07:00
cg2121
b0fbf25e24 UI: Fix media controls shortcuts being global
The play, pause and restart shortcuts were being called as global
shortcuts, being triggered no matter what. This fixes this by calling
the shortcut actions only when the media controls widget has focus.
2023-03-18 15:51:05 -07:00
Norihiro Kamae
434bdc1768 libobs: Fix possible use-after-free of obs_scene_t
When creating a group, a newly allocated group `sub_scene` is released
just after calling `obs_scene_add_internal`.
If another thread released the scene-item, which is the sub_scene,
use-after-free might happen.
2023-03-18 15:34:47 -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
gxalpha
8ce4a2a154 UI: Fix macOS crash when saving general settings without Sparkle 2023-03-18 15:32:56 -07:00
gxalpha
c958ffa9f4 UI: Properly update filter properties after resetting 2023-03-18 15:31:00 -07:00
tytan652
a0905d3972 obs-outputs,UI: Disable Windows-only options on non-Windows
"New Socket Loop" and "Low Latency Mode" RTMP options are only available
on Windows.

Those options should be ignored and forced-disabled on non-Windows
builds.
2023-03-18 15:29:50 -07:00
Richard Stanway
e305b0f172 UI: Add old Vtuber Maker versions to DLL blocklist
This DLL is based on Unity Capture and suffers from the same deadlock
bug as many similar filters. A fixed version was released on 2023-03-14.
https://store.steampowered.com/news/app/1368950/view/3674412925835790027
2023-03-18 15:23:52 -07:00
derrod
09b6786f1a UI: Add Help menu action to show What's New dialog 2023-03-18 15:21:52 -07:00
derrod
5083c2a2e2 UI: Remove Windows 7 browser hwaccel check 2023-03-18 15:19:48 -07:00
Norihiro Kamae
3d5c4ff56e UI: Remove empty clause 2023-03-18 15:16:44 -07:00
derrod
c971e0ead3 UI: Fix capitalisation of SysTrayEnabled 2023-03-18 10:47:50 +01:00
tytan652
e6873d3278 UI: Refactor integration and browser docks
Use the QAction provided by QDockWidget with new Qt connection rather
than creating a new one for each dock.

Separate extra browser docks from extra docks, the latter is meant for
plugin/integration docks.
2023-03-17 20:21:08 +11:00
tytan652
63e3e0acd0 UI: Refactor main docks toggle action
Use the QAction provided by QDockWidget with new Qt connection rather
than creating a new one for each dock.
2023-03-17 20:21:08 +11:00
cg2121
a870ae2fb9 UI: Remove platform string from title bar
This cleans up the title bar text.
2023-03-17 19:06:50 +11:00
derrod
b31344d82e updater: Fix building in Debug 2023-03-12 20:50:45 +01:00
derrod
02225aa8bf UI: Reset UUIDs in duplicated collection 2023-03-12 01:11:38 +01:00
gxalpha
ab04bb1f55 UI: Don't show Update section in settings when built without Sparkle 2023-03-11 15:37:28 -08:00
gxalpha
aee268c944 UI: Don't show video-only async filters for synchronous sources
Expands the filter_compatible check to return false if the source isn't
async and the filter is not an audio filter, filtering out e.g. the
"Video Delay (Async)" filter from browser sources (which have audio but
don't have async video).
Amends 845e056551.
2023-03-11 15:24:07 -08:00
cg2121
b82c8ccdcf UI: Limit preview scrolling
This prevents the preview from being scrolled on forever.
2023-03-11 15:22:23 -08:00
derrod
f55b251fa8 UI: Sort and pretty-print exported collections 2023-03-10 23:55:42 +01:00
gxalpha
bb4e6f9e51 UI: Don't try to make OBSBasic parent of ControlsSplitButton
Passing the parent of a QLayout sets it directly as the top-level layout
(as per the QLayout docs). This is obviously not what is intended here.
Luckily it doesn't even work since the main window of course already has
a layout which would need to be explicitly removed before, but it makes
Qt yell at us for trying.
2023-03-11 09:38:46 +11:00
derrod
705173a0c3 UI: Add fragmented MP4/MOV formats 2023-03-10 17:12:36 -05:00
derrod
05b1be4f27 UI: Add MP4 to remuxable extensions 2023-03-10 17:12:36 -05:00
gxalpha
4c9ebc753c UI: Create OBSPermissions on stack
This fixes the window leaking and may improve performance.
2023-03-10 13:49:52 -05:00
Stefan Murawski
95cbd21a3b UI/installer: Add quotes around UninstallString
This follows recommended practice from NSIS documentation.

This fixes issue #7935.
2023-03-10 12:58:33 -05:00
Bartłomiej Piotrowski
853ae5ea6e UI: Set flathub::manifest
Currently, the manifest URL on Flathub Beta website points to the
deprecated manifest hosted on Flathub. The flathub::manifest key
is undocumented attribute that will update the website to use the
proper location.

This key will not affect appstream other than providing enough
information to the Flathub website.
2023-03-09 20:33:44 -03:00
gxalpha
b1c96bba86 UI: Re-raise remux dialog after selecting file on macOS 2023-03-09 16:05:40 -05:00
Richard Stanway
9d4a7f01dd UI: Add DLL blocking functionality for Windows
Adds a NtMapViewOfSection hook which we can use before DLLs are loaded
to decide whether to abort the process. This is useful for blocking
known problematic DLLs that cause crashes. In addition, the PE timestamp
can be checked to block only older DLLs such as older versions of Vtuber
virtual cameras with known deadlock bugs.

A simple counter of each DLL is used for logging purposes. Since DLLs
can be blocked at any time, the output is only logged on exit of OBS.
2023-03-09 14:16:34 -05:00
derrod
f3b1a1cf1f UI: Use bilinear scaling for YT thumbnail 2023-03-08 18:41:20 -05:00
derrod
c99256cf21 UI: Do not set default locale 2023-03-08 18:06:51 -05:00
derrod
c55fcbbb12 UI: Use binary mode for QuickReadFile
When not using binary mode (i.e. text mode) CRLF will be converted to
LF, which means that the size provided by tellg() is no longer correct,
and reading prematurely hits an EOF and sets the fail bit.
2023-03-08 22:50:49 +01:00
derrod
5dd1d00a03 UI: Add mutex to reading public key file 2023-03-08 22:50:49 +01: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
derrod
0ece23dff2 updater: Bump version 2023-03-07 15:34:27 -05:00
derrod
2790e1ab1b updater: Use native WinHTTP decompression (remove zlib) 2023-03-07 15:34:27 -05:00
derrod
fc5a84ed5d updater: Use zstd for patch manifest request 2023-03-07 15:34:27 -05:00
derrod
f29e1fdee4 updater: Switch to Zstandard for delta updates
zstd is faster, less resource intensive, and produces smaller
files than bsdiff + LZMA.

Overall, it's a significant improvement for our workflow.
2023-03-07 15:34:27 -05:00
derrod
787c5f67a8 updater: Add Zstandard for compressed downloads
Using zstd reduces the download size for updates by about 2/3.
2023-03-07 15:34:27 -05:00
gxalpha
78d195a5df UI: Make T-Bar unclickable
The T-Bar should only be draggable and not act on clicks.
2023-03-07 13:47:51 -05:00
shiina424
2eb10cd94e UI: Fix disabled text color in dark theme 2023-03-06 19:02:38 -03:00
cg2121
b464ba8129 UI: Set min/max zoom levels for preview
Prevents the preview from zooming in or out too far.
Min zoom: 10%
Max zoom: 1000%
2023-03-04 16:31:49 -08:00
cg2121
03a94aee41 UI: Fix wrong program scene if tbar is aborted
The program scene would be incorrect if the tbar was released
at its original position.
2023-03-04 16:31:37 -08:00
cg2121
6e22af932d UI: Fix preview disabled in studio mode
If OBS is set to minimize to system tray on startup and studio mode is
enabled, the preview would be disabled when showing OBS, if the preview
in non studio mode was disabled.
2023-03-04 16:24:22 -08:00
cg2121
290c1569a9 UI: Don't hardcode properties label colors
Makes the label have colors based on themes, instead of hard coding.
2023-03-04 16:21:01 -08:00
cg2121
a3defd4f58 UI: Fix spacing helpers when rotated and flipped
If the scene item was rotated greater than 45 degrees, and flipped
vertically or horizontally, the spacing helpers would be drawn
incorrectly. This fixes the issue by checking the scale before
the rotation, instead of after.
2023-03-04 16:18:38 -08:00
Richard Stanway
bb7ca3c2c3 UI: Add mutex for writing to the log file
fstream is not thread-safe and the act of writing the string and the
newline are two separate operations which could execute concurrently in
multiple threads, resulting in lines joining together followed by two
newlines. Due to the presence of a static mutex, this also removes
inline on the function.
2023-03-04 15:34:17 -08:00
derrod
8ba646c842 updater: Check if awaited instance matches current install
Also replaces any secondary usages of GetCurrentDirectory with cached
static variable.

Co-Authored-By: Richard Stanway <r1ch@r1ch.net>
2023-03-03 21:47:56 +00:00
derrod
08733a0e1a updater: Remove 32-bit Support 2023-03-01 20:18:03 -05:00
derrod
d15dce99d0 updater: Multi-threaded delta patching 2023-03-01 16:20:43 -05:00
derrod
60844505d0 UI: Replace uses of token-pasting operator 2023-03-01 20:39:53 +01:00
Norihiro Kamae
22a98c279e UI: Fix tabstops on settings dialog 2023-03-01 10:50:10 -05:00
derrod
77e4c1c305 cmake: Check if Sparkle options are non-empty 2023-02-27 13:06:26 -05:00
PatTheMav
953e0eda53 UI: Remove unused variable 2023-02-27 18:40:52 +01:00
tytan652
6734c9cbc8 UI: Stop virtual camera if active while exiting
Avoid potential memory leaks and crashes.
2023-02-25 16:06:59 -08:00
tytan652
0f560a9136 UI: Fix scene/source in virtual camera config if renamed 2023-02-25 16:06:59 -08:00
tytan652
501a3e926d UI: Refactor Virtual Camera source selector dialog 2023-02-25 16:06:59 -08:00
derrod
e5690a1f65 UI: Use unordered_map for hotkey duplicate detection 2023-02-25 15:28:35 -08:00
derrod
af4012e1b1 UI: Set QT_NO_SUBTRACTOPAQUESIBLINGS env var
This speeds up drawing the hotkey list *significantly* and doesn't seem
to break anything else. But it is kind of a hack.
2023-02-25 15:25:31 -08:00
derrod
c3543273e4 UI: Defer creation of hotkey dupe icon until needed 2023-02-25 15:21:29 -08:00
derrod
11e5afa2b2 UI: Support platform-specific WhatsNew entries 2023-02-25 15:08:27 -08:00
tytan652
2a2d8fc1bb UI: Remove mf_aac references 2023-02-24 14:34:34 +01:00
gxalpha
5d0a1c0010 UI: Don't load global plugins in portable mode
Portable mode is meant to be separated from the rest of the system, and
as such it doesn't make sense to load globally installed plugins there.

On Windows, there currently are only two major plugins that install
themselves there. Plugins installing themselves there is good, but it
currently also means that even portable instances load them which can
make testing and debugging in a clean environment annoying.
2023-02-24 14:11:21 +01:00
gxalpha
d405193aeb UI: Only set portable mode variable if supported
Previously, all the functions of portable mode wouldn't work if compiled
without it, but the log still show it as enabled if the argument was
set. This could lead to confusion.
Additionally, we don't even show the option in the help string (--help),
so it should just be a no-op.
2023-02-24 14:11:21 +01:00
Georges Basile Stavracas Neto
a1a98f9cfd plugins: Drop win-ivcam
Apparently this was a prototype from Intel that never really
properly launched. Remove the plugin.
2023-02-24 14:04:29 +01:00
jpark37
463bf0dff5 libobs,UI: Add P216/P416 pixel formats
Will be useful for ProRes.
2023-02-21 18:48:44 +01:00
gxalpha
4bcd86b395 UI: Disable replay buffer checkbox when using custom FFmpeg 2023-02-20 23:46:59 +01:00
derrod
644b73eb46 UI: Add confirmation dialog for resetting properties 2023-02-20 23:46:01 +01:00