Commit Graph

14722 Commits

Author SHA1 Message Date
derrod
fb56e06edd obs-outputs: Make MP4 output buffer/chunk size configurable 2025-01-28 14:37:28 -05:00
gxalpha
3911f11306 .gitignore: Remove UI exclusion
Since the frontend refactor, the UI directory no longer exists. Let's
remove its exception in the .gitignore file.
2025-01-27 17:06:18 -05:00
cg2121
449755ee6d frontend: Move media control dynamic properties to ui file
This moves the dynamic properties for the media control buttons
from the cpp file to the ui file.
2025-01-27 16:36:08 -05:00
tt2468
9f4e0c52e1 obs-outputs: Attempt to generate path if one is not specified
Changes the MP4 muxer to attempt to use the path generation logic if
a path is not explicitly specified. This allows MP4 muxer outputs to
be configured with file splitting, without requiring both the `path`
and `directory`+`format` fields to be specified (saving effort on
the side of developers of custom plugins).
2025-01-27 16:02:53 -05:00
tytan652
ecb0381b8e obs-ffmpeg: Fix deprecation with FFmpeg 7.1 2025-01-24 17:38:24 -05:00
Norihiro Kamae
099bc26bd6 libobs/util: Fix tv_nsec becoming 1000000000 in os_event_timedwait 2025-01-24 15:28:57 -05:00
David Rosca
173487afaf obs-ffmpeg: Add QVBR rate control for VA-API 2025-01-24 15:04:50 -05:00
PatTheMav
45a89ab199 cmake: Update macOS development version requirements
To be able to make use of macOS 15 features, development must use the
macOS 15 SDK and in turn Xcode 16.0 (or more recent).
2025-01-23 16:43:37 -05:00
PatTheMav
7f04039afe CI: Update macOS workflows to macOS 15 runners with Xcode 16.1 2025-01-23 16:43:37 -05:00
Ryan Foster
0014f9fa18 libobs: Update version to 31.0.1 2025-01-17 18:40:47 -05:00
PatTheMav
1baa4619e4 frontend: Use filename stem as fallback value on empty collection name
If - for some reason - the name in a scene collection is empty (or
the key doesn't even exist), use the filename stem as a fallback name.

This ensures that the scene collection entry in the cache has a valid
non-empty name.

Using an std::string allows the use of its "empty" method to check for
this otherwise invalid state of the collection data.
2025-01-17 17:32:20 -05:00
PatTheMav
552c19cab2 frontend: Prevent creation of scene collections with empty name
Empty names for scene collections are not allowed, but this constraint
is only enforced by UI code during text input.

Thus frontend API users are able to create valid scene collections with
empty names which will lead to later possible crashes as the scene
collection is malformed.

As the frontend API uses the related function CreateNewSceneCollection
which handles exceptions by this method, no crashes should occur when
an empty string is provided by an API caller.
2025-01-17 17:32:20 -05:00
gxalpha
79f5ba0e1d cmake: Turn off camera reaction by default on macOS 14.4 and later
The reaction effects that macOS adds by default are confusing to users
as they're turned on by default and users don't know where they come
from or where to turn them off. Setting this flag in the apps Info.plist
prevents them from being turned on by default. The macOS UI makes it
very obvious to the user where they can turn them on should they wish to
do so.
2025-01-16 16:33:59 -05:00
Kurt Kartaltepe
22f222600a libobs: Fix underlinking by adding libx11
We directly depend on libx11 for various operations in obs-nix-x11.c,
not just xcb. So be sure to link it in too.

fixes #11667
2025-01-16 15:43:48 -05:00
derrod
41a38f742c image-source: Fix slideshow stopping on last file in random mode 2025-01-16 15:13:50 -05:00
derrod
223015bd54 obs-nvenc: Abort encoder init if custom options are invalid 2025-01-16 14:50:54 -05:00
derrod
7a04980213 obs-nvenc: Fix translation string for 4:4:4 unsupported error 2025-01-16 14:27:46 -05:00
Ryan Foster
a8de12cc82 Merge pull request #11622 from PatTheMav/frontend-refactor
UI: Reorganize and refactor entire frontend codebase
2025-01-16 14:04:12 -05:00
PatTheMav
1c4b60057e frontend: Finalize merge of OBSBasic Sources with module sources 2025-01-08 17:35:16 +01:00
PatTheMav
9b8517003b frontend: Merge main OBSBasic source with module sources 2025-01-08 17:34:46 +01:00
PatTheMav
4752be4b95 CI: Update actions and build scripts to use new frontend directory 2025-01-08 17:33:14 +01:00
PatTheMav
49e23e184c build-aux: Replace UI directory with frontend directory for formatters 2025-01-08 17:33:14 +01:00
PatTheMav
7db4a75913 cmake: Update main CMakeLists file to use refactored frontend 2025-01-08 17:33:13 +01:00
PatTheMav
47613a0927 frontend: Migrate frontend plugins 2025-01-08 17:33:13 +01:00
PatTheMav
e6430ab1d8 frontend: Migrate Qt UI files 2025-01-08 17:33:13 +01:00
PatTheMav
5abfc7c565 frontend: Migrate OBS Studio data directory 2025-01-08 17:33:13 +01:00
PatTheMav
076efedc82 frontend: Migrate obs-frontend-api 2025-01-08 17:33:13 +01:00
PatTheMav
08a2eb304b frontend: Migrate CMake files 2025-01-08 17:33:13 +01:00
PatTheMav
ff3b62422e frontend: Migrate Windows updater 2025-01-08 17:33:13 +01:00
PatTheMav
2be464a21f frontend: Split main application implementation into single files 2025-01-08 17:33:13 +01:00
PatTheMav
bcc6880183 frontend: Prepare main application implementation for splits 2025-01-08 17:33:13 +01:00
PatTheMav
e1fade1fc6 frontend: Split Qt UI autoconfig implementations into single files 2025-01-08 17:33:13 +01:00
PatTheMav
c792be35a1 frontend: Prepare Qt UI autoconfig wizards for splits 2025-01-08 17:33:13 +01:00
PatTheMav
654ddcd409 frontend: Split Qt UI Widget implementations into single files per class 2025-01-08 17:33:13 +01:00
PatTheMav
9f887c76d3 frontend: Prepare Qt UI Widgets for splits 2025-01-08 17:33:13 +01:00
PatTheMav
f813121bb9 frontend: Add renamed Qt UI Widgets 2025-01-08 17:33:12 +01:00
PatTheMav
a1ba3247c6 frontend: Split UI utility implementation into single files per class 2025-01-08 17:33:12 +01:00
PatTheMav
a0668682b7 frontend: Prepare UI utility files for splits 2025-01-08 17:33:12 +01:00
PatTheMav
d846b0ba0a frontend: Add renamed UI utility classes and functions 2025-01-08 17:33:12 +01:00
PatTheMav
664a719421 frontend: Prepare sources for merge with OBSBasic modules 2025-01-08 15:37:22 +01:00
PatTheMav
1ff68267a3 frontend: Split Settings implementation into single files per C++ class 2025-01-08 15:36:55 +01:00
PatTheMav
00fc9035a4 frontend: Add renamed Qt UI dialogs 2025-01-08 15:36:55 +01:00
PatTheMav
9876882e0b frontend: Prepare Qt Settings UI files for splits 2025-01-08 15:36:55 +01:00
PatTheMav
7f6bee603b frontend: Add renamed Qt Settings UI implementation 2025-01-08 15:36:55 +01:00
PatTheMav
75ac9a29d3 frontend: Split OAuth implementation into single files per C++ class 2025-01-08 15:36:55 +01:00
PatTheMav
f80b591a72 frontend: Prepare OAuth implementation for splits 2025-01-08 15:36:55 +01:00
PatTheMav
8e4ee1d3fc frontend: Add renamed OAuth implementation 2025-01-08 15:36:55 +01:00
PatTheMav
09ebf7ddfc frontend: Split OBSImporter into single files per C++ class 2025-01-08 15:36:55 +01:00
PatTheMav
e0469b00d6 frontend: Add OBSImporter and importer implementations 2025-01-08 15:36:55 +01:00
PatTheMav
a959ecadaf frontend: Add renamed Qt UI docks 2025-01-08 15:36:55 +01:00