Commit Graph

3400 Commits

Author SHA1 Message Date
Lain
f71a67cd3a Merge pull request #10608 from derrod/obs-mp4-muxer
Native Hybrid MP4 Muxer
2024-05-28 21:55:58 -07:00
gxalpha
9eca7b7525 UI: Fix Qt 6.7 checkbox signal deprecations
qt/qtbase@3512fb1ec5 deprecated the
stateChanged signal of QCheckBoxes in favor of a new checkStateChanged
signal. The signals are the same, except that now the enum type is
passed explicitly (before the enum was passed as an argument but defined
as an int).
2024-05-28 16:29:26 -04:00
Tunghohin
51fd7fbaff UI: Removed unused friend classes 2024-05-28 15:04:05 -04:00
derrod
8ac8118b7f UI: Add chapter frontend API and hotkey 2024-05-26 23:11:48 +02:00
derrod
4503f0a056 UI: Add Hybrid MP4 to format selection 2024-05-26 23:11:48 +02:00
gxalpha
175b0cbc83 UI: Update edit menu on source filter changes
Currently, when adding a filter to a source and then right-clicking it
or using the menu bar edit menu, it's not possible to copy the source's
filters. This is because the edit menu does not update on filter
changes.
Listening to the new global filters add/remove signal and updating the
edit menu will enable the copy option if a filter get added or disable
the option if the last filter gets removed.
2024-05-25 17:08:42 -07:00
gxalpha
4cf18a9abf UI: Add undo/redo to Paste Filters on audio mixer and scenes
Copy-Pasting filters on a scene or on a source via the audio mixer
context menu would not add an undo/redo action. This commit factors the
undo/redo logic out into a generic paste filters function that can be
used for pasting filters everywhere.
2024-05-25 17:06:21 -07:00
gxalpha
8184fa10a3 UI: Inline OBSBasic::ThemeChanged()
The majority of this method got removed in a prior commit [1]. Let's
inline the rest.

[1] 8dcfae9a39
2024-05-25 17:04:58 -07:00
tytan652
34d577d748 UI: Enforce completely Fusion Qt style on Linux
As of 8dcfae9a39, indicating the base
style to the proxy is completely functional.

It also bypasses QT_STYLE_OVERRIDE and -style, but since the system
theme is no longer available on Linux this is a non-issue.
2024-05-25 16:58:26 -07:00
Warchamp7
76bde59e22 UI: Adjust multiview border size 2024-05-25 16:55:02 -07:00
Warchamp7
40885b6b19 UI: Calculate label position using height and border 2024-05-25 16:55:02 -07:00
Warchamp7
8500515d27 UI: Adjust appearance of multiview labels 2024-05-25 16:55:02 -07:00
cg2121
5eeae2d8b2 UI: Change how the status bar gets weak stream output
The changes obs_output_get_weak_output to OBSGetWeakRef to be
consistent with the other UI code.
2024-05-25 16:21:10 -07:00
Ryan Foster
cffdc15aac UI: Fix Grid Mode not persisting from View Menu
When clicking Grid Mode or List Mode from the context menu within the
Scenes list, whether or not Grid Mode is enabled persists between OBS
sessions. When clicking Grid or List from the View Menu, the setting
does not persist between OBS sessions. This seems to be a regression
from fc8c428521.

Previously, SceneTree's SetGridMode would set this config value. If the
intent is to not have SetGridMode directly set the config value, then
any function that calls SetGridMode other than the OBSBasic constructor
must instead set the config value.
2024-05-25 16:12:39 -07:00
Warchamp7
8dcfae9a39 UI: Remove unnecessary ProxyStyle usage 2024-05-23 18:55:43 -04:00
Warchamp7
c54393335d UI: Rename MediaSlider to AbsoluteSlider 2024-05-23 18:55:43 -04:00
Warchamp7
aba600cec0 UI: Move VolumeSlider widget to volume control 2024-05-23 18:55:43 -04:00
Warchamp7
132f3f3d69 UI: Adjust Classic theme mixer button styling 2024-05-22 12:15:17 -04:00
Ruwen Hahn
27fa9b1eed UI: Give unnamed settings labels relevant names 2024-05-20 16:11:08 -04:00
Ruwen Hahn
a18305dd3f UI: Keep weak stream output ref in status bar
The status bar doesn't currently own its references to outputs, which
can be a problem if streaming outputs are released soon after stream
stop. The Multitrack Video output does exactly that, so the status bar
will sometimes try to access an invalid pointer for updating its stats.
Keeping a weak reference around and upgrading it to collect stats,
similar to how the stats window behaves.
2024-05-17 13:48:32 -04:00
Warchamp7
7843a822e0 UI: Adjust font size on macOS 2024-05-14 17:40:01 -04:00
gxalpha
41650479fe UI: Center preview spacing lines
Currently, the spacing lines begin in the middle of the box and then are
their width wide towards one direction. This means that the larger they
are, the more off-center their middle is.
This commit changes them to start at half their width left/top of the
center and end half the width to the right/bottom of the center, putting
the middle in the center.
2024-05-11 23:12:36 -04:00
gxalpha
67e4853b7d UI: Give private spacing helper sources names 2024-05-11 22:13:42 -04:00
gxalpha
03313a6af4 UI: Fix visibility and lock checkbox styling on system theme
In 7931f2acb8 the classes have been
removed in favor of properties, but this styling change appears to have
been reverted by accident, likely by the theming overhaul.
2024-05-11 21:52:42 -04:00
cg2121
b82a49e881 UI: Use OBSSourceLabel for VolControl
The OBSSourceLabel handles renaming of a source, so we don't have
to use the rename signals for volume controls.
2024-05-11 18:18:13 -07:00
cg2121
272a5edbaa UI: Use vector for volume control signals
This cleans up the volume control code by using a vector for
signals.
2024-05-11 18:18:13 -07:00
cg2121
cd918a7f4c UI: Move projector rename signal
This moves the renaming of projectors from OBSBasic to OBSProjector.
2024-05-11 17:51:47 -07:00
cg2121
023d9bd851 UI: Use OBSSourceLabel for item widget labels
This changes the labels for the source tree/visibility item widgets
to use OBSSourceLabel, as it handles the renaming of sources.
2024-05-11 17:35:04 -07:00
Warchamp7
af685be40d UI: Add OS specific theme variables via prefix 2024-05-10 18:39:18 -04:00
gxalpha
79f680cab6 UI: Use weak_source_expired instead of getting the source 2024-05-10 17:42:28 -04:00
tytan652
92822311a8 UI: Improve and update app CMake 3 metainfo file
CMake 2 path have a newer version of this file.

See the following commits for metainfo change details:
- 853ae5ea6e
- 904fe87f83
- 0cc6068ed4
2024-05-10 16:21:36 -04:00
tytan652
0fc4eb8c96 UI: Restore MuteCheckBox indeterminate state icon in Yami 2024-05-06 17:36:57 -03:00
gxalpha
fad6f43608 UI: Set default recording format to Fragmented MOV on macOS
In 22205d582c, the change to default to
Fragmented MP4/MOV on all platforms was reverted due to compatibility
issues with the default video player on Windows.
On macOS however, the default player (QuickTime Player) works fine with
fragmented formats, and instead is unable to play MKV files (which have
always been the default format for OBS). This change makes videos with
the default settings playable on macOS with the default player.
2024-05-04 17:20:05 -07:00
Warchamp7
a3876a41d6 UI: Adjust styling of QTabBar tabs 2024-05-04 17:10:26 -07:00
Warchamp7
8721bf6107 UI: Update media source time labels while seeking 2024-05-04 16:37:17 -07:00
Warchamp7
c54f4371d6 UI: Adjust preview scrolling clamp values 2024-05-04 16:17:12 -07:00
Aleks Todorov
bad7b78fe4 UI: Fix text stacking in paused indicator
Currently, the paused indicator is never undone, instead relying on the
update timer to eventually erase it away when the recording duration is
updated. If the user spams pause fast enough, the indicator will stack
several times before it is erased - especially if the unpaused branch in
the update timer never has a chance to run.

Instead of mutating the recordTime text on pause and requiring an undo,
extract the UI update to a separate function which computes the full
text based on the current state. Call this function when pause is
toggled, thereby forcing an accurate UI update that either does or does
not incude the paused text.

An added benefit is that the paused indicator now disappears
immediately.
2024-05-04 13:39:34 -07:00
Aleks Todorov
ec31c7e5bf UI: Set recording paused before anything else
When this call was first introduced in eab10d48b2, it was at top of this
block, albeit after the calls to `pause`. Over time it has slowly
shifted lower and lower in the block.

In reality, it should be the first thing in the block to ensure that
further calls have accurate information about the pause state to update
themselves.
2024-05-04 13:39:34 -07:00
Paul Hindt
182410cf6c aja: Prepare plugins for new libajantv2 repo
Support building AJA plugins with either the new libajantv2 library, or
the deprecated ntv2 library.

Finder scripts updated to search for libajantv2 and fall back to ntv2 if
not found. This allows this PR to be merged without requiring a
corresponding update to the pre-built obs-deps packages.
2024-05-02 14:31:16 -04:00
cg2121
dfd5798e6c UI: Fix volume control button styling
The config button and mute checkbox were different sizes.
2024-04-29 14:56:59 -04:00
cg2121
ee72927ad2 UI: Fix styling of appearance tab
This makes the appearance tab look the same as other settings
tabs.
2024-04-29 14:55:01 -04:00
Warchamp7
1ba54adb85 UI: Clean up theme file formatting 2024-04-25 16:10:56 -04:00
Georges Basile Stavracas Neto
df1ec719d1 UI: Update appearance icon
- Use the monitor with brush symbolic
2024-04-24 21:48:04 -04:00
Georges Basile Stavracas Neto
402ba09a77 UI: Update filters icon
- Add rounder borders
- Adjust fills
2024-04-24 21:48:04 -04:00
Warchamp7
93bedd21c8 UI: Reset duration when removing show/hide transition 2024-04-22 16:39:21 -04:00
Warchamp7
a3a8f6dbfb UI: Convert themes to composable format 2024-04-21 00:01:16 -04:00
derrod
503968671d UI: Add composable themes feature
Co-authored-by: Warchamp7 <warchamp2003@hotmail.com>
2024-04-21 00:01:16 -04:00
derrod
b76e0cd31b UI: Add 'Appearance' settings page 2024-04-21 00:01:16 -04:00
tytan652
41ba8bdfdd UI: Add HighContrastEnabled implementation for Linux 2024-04-21 00:01:16 -04:00
derrod
0a9f1e7391 UI: Add HighContrastEnabled() to platform utilities 2024-04-21 00:01:16 -04:00