126 Commits

Author SHA1 Message Date
tytan652
fc7af80f84 UI: Hide network features if a non-RTMP service is set
Reimplementation of bc80d0c and f2e6122, because they have to be
reverted by 0b9a8aa.
2022-07-23 16:29:10 -07:00
jp9000
0a218e06b7 UI: Add low latency audio buffering mode to UI
This feature is meant to reduce maximum audio buffering and turn off
dynamic buffering mode. This allows the lowest possible consistent
latency for audio buffering, which is useful for the decklink and NDI
outputs which cannot rely on audio timestamps for synchronization.

This can have a negative effect of making audio segments (partial or in
full) cut out. So audio glitching or audio loss can occur if this is
enabled.
2022-07-20 05:31:20 -07:00
jp9000
0b9a8aa1fd Revert service json lookup refactor in UI
Certain services have custom server lits handling which I had forgotten
about, so although it would have been nice to have this refactor, we'll
have to live with relying on the plugin properties object directly for a
while.

This also reverts obsproject/obs-studio#6530 and
obsproject/obs-studio#6683 because that change depended on this
problematic refactor code.

This reverts commits:
f2e6122881e6b8be3470d5574235afa32a4badc5,
bc80d0ca95a3c79cf1f4bc24df437f4ace125e30,
050a29da1a7ad620f05fbd2927786da2f36d85b9,
22ffc04f735830de19a654cd94839504313afb0a,
275e510aad8161bdcd101828f45584a0430ac65e,
2fa5ffe4dfdb50acaa7df4b7f4f80cf1d12cf913.
2022-07-18 14:52:26 -07:00
mvji
bbeafeabdd UI: Add more information to describe output format
In advanced settings
Also enable translation for color format
2022-07-12 23:37:01 +10:00
gxalpha
29ae00e4af UI: Add Apple H.264 hardware encoder to simple mode
Adds the Apple Silicon hardware encoder as a simple mode option. For
recordings this only requires being on Apple Silicon (since we use the
Constant Quality setting), while for streaming it requires the user to
be on macOS 13 or newer (since we're using CBR).
2022-07-11 23:45:43 +02:00
Warchamp7
936bd58874 UI: Add new theme Yami 2022-07-02 16:52:39 -07:00
Matt Gajownik
5fd4339c1d UI: Move HDR units for settings to suffix 2022-06-30 20:57:02 +10:00
tytan652
bc80d0ca95 UI: Hide network features if a non-RTMP service is set
Only rtmp_output has those features implemented.
2022-06-25 17:11:29 -07:00
gxalpha
cc5e5cbb94 UI: Move Simple Mode encoder preset out of Advanced 2022-06-25 16:30:27 -07:00
gxalpha
b2895496c7 UI: Move Simple Mode audio bitrate above encoder 2022-06-25 16:30:27 -07:00
Richard Stanway
108d32c0c6 UI: Remove m3u8 format from simple output mode
This option regularly confuses users, who accidentally select it and
then ask why they have hundreds of 2-4 second video clips in their
output folder. HLS output format to file is a pretty niche use case,
so let's keep it in advanced mode only.
2022-05-21 15:46:40 -07:00
jpark37
338608bd67 libobs,UI: Support HLG nominal peak level
HLG output uses MovieLabs-recommended procedure.

- If peak luminance is greater than 1000, use maxRGB EETF to 1000.
- Otherwise, don't tonemap.
- Then use normal HLG conversion procedure with gamma 1.2 (1000 nits).
2022-04-14 09:36:44 -07:00
Norihiro Kamae
ebc291956c UI: Set automatic file splitting time in minutes
The original PR was made with time specified in seconds because it was
useful to debug the behavior. For production, assuming most users want
to specify 10 minutes or more, the time should be specified in minutes.
2022-04-11 06:58:39 -07:00
Jim
b745a100a3
Merge pull request #5371 from norihiro/automatic-file-splitting
Automatic file splitting
2022-04-10 16:49:37 -07:00
jpark37
9409ce1ea7 UI: Add Rec. 2020 space and I010/P010 formats
Also localize color spaces with improved naming. Should be compatible
with existing user profiles.
2022-04-07 02:38:33 -07:00
jpark37
cd22df09c9 libobs, UI: Add SDR white nits option 2022-03-23 22:35:26 -07:00
Matt Gajownik
d066e89d56 UI: Fixup minor Qt Creator inconsistencies
Qt Creator automatically adjusts these files when opened. Rather than
contributors having to manually undo these changes, just apply them
directly into the repository.
2022-03-20 10:32:45 +11:00
Matt Gajownik
e2e751aa55 UI: Better Hide OBS Window description, add first time dialog & tooltip 2022-01-29 17:09:15 -08:00
Richard Stanway
076cd5d5d4 UI: Add option to hide OBS windows on Windows
This uses the SetWindowDisplayAffinity API to hide windows from capture
applications (including OBS). This is not perfect - internal windows
such as context menus, combo box dropdowns, etc will still be displayed.
Even with these limitations, it should help people with single monitors
capture content with less interference from the OBS window.

This implementation is for Windows only but the code is generic enough
that adding other platforms should be straightforward.
2022-01-22 15:14:16 -08:00
Matt Gajownik
e00195ad6f UI: Don't recreate entire Hotkey Settings tab
This replaces the programmatic generation of the hotkeys tab with XML.
Also fixes a memory leak. Reuses concepts from LoadAudioSources().
2022-01-05 23:56:34 -08:00
Norihiro Kamae
550b1331ac obs-ffmpeg, UI: Reset timestamps at splitting file
This commit adds a setting to reset timestamps when splitting files.
Some NLEs cannot handle video files whose starting timestamp is not
zero. Default is enabed.
2021-12-24 15:59:26 +09:00
Norihiro Kamae
0e81c66f6e UI: Add automatic file splitting
This commit implements a new feature to split recordings in split files
in Advanced output mode.
These basic settings are implemented.
- Enable/disable the feature. Default is disabled.
- Select a type of the limit, time or size.
- Specifies the limit in seconds or MiB.
2021-12-24 15:55:57 +09:00
Clayton Groeneveld
6a0348cf64 UI: Add option for only one fullscreen projector per screen
This option is added for users who want to have only one
projector on a screen and want to save gpu resources.
2021-11-24 01:01:12 -08:00
Matt Gajownik
b03dc67a62 UI: Clean up XML warnings in layout files 2021-10-24 00:42:05 -07:00
Bob van de Vijver
1b280e0ac4 UI: Add ShutDownActiveOutputsOnExit setting
Adds a new setting to the general OBS settings, which can be checked
in order to no longer show the "confirm close" dialog when there are
still streams/recordings running.
2021-10-07 09:07:06 -07:00
Norihiro Kamae
669a615983 UI: Fix tab stop order for Draw safe areas
A tabstop definition was missing on the commit afd58a78e.
2021-10-02 06:00:23 -07:00
Richard Stanway
422a206371 UI: Force minimum reconnect delay of 1 second
Setting this to zero breaks reconnecting (and OBS) entirely as various
parts of the reconnect system do not handle zero values properly, and
there are also possible race conditions with the reconnect thread. Set a
minimum of 1 second to avoid this.
2021-09-16 03:32:46 -07:00
Warchamp7
6995a7b5ae UI: Fix vertical stretching in audio settings pane
The fixes in #5143 caused the audio pane in settings
to stretch out to fit the available space.

Add a spacer so the pane only uses the space it needs.
2021-09-03 21:28:16 -07:00
Clayton Groeneveld
afd58a78e5 UI: Add option to draw safe areas in preview 2021-08-20 15:20:59 -07:00
jp9000
fbbe193c59 UI: Add required links when using YouTube
These links are required by Google to be shown on any API client when
using Google/YouTube API.
2021-08-20 06:24:00 -07:00
Warchamp7
59ed4131a8 UI: Clean up Settings form markup
This continues work from #5133 to correct UI file markup and save correctly in Qt Creator

Defining alignment as an attribute in the <item> tag seems to be old behaviour that current versions of Qt Creator do not respect and will clobber these entries on save.

The correct approach is to have alignment as a property element in the widget.

As well, 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 01:41:57 -04:00
Yuriy Chumak
e6f1daab8c UI: Add YouTube integration 2021-08-07 01:07:04 -07:00
Georges Basile Stavracas Neto
9ee7547e19 UI: Cleanup native widgets
Some widgets are marked as native unnecessarily. Native widgets are
a bit more involving than regular ones, so remove this flag.

Original patch by David Edmundson <kde@davidedmundson.co.uk>
2021-01-26 09:43:16 -08:00
jp9000
ebc0d6a500 UI: Fix weird spacing in adv output FFmpeg recording 2020-12-07 19:15:16 -08:00
jp9000
15d000c50c UI: Remove redundant setting
This setting, although technically different from the one in the
streaming section of settings, is superseded by that setting.

The setting can still be used via ini file if an actual custom rate
control or keyframe interval is needed.
2020-12-02 01:09:37 -08:00
jp9000
fc6d53763a UI: Add Twitch VOD track to simple output mode
Allows the ability to use the separated Twitch VOD track with simple
output mode in addition to advanced output mode.
2020-11-14 08:05:52 -08:00
jp9000
592cdfb039 UI: Add service res/fps limitation support to settings
Allows services to limit and enforce resolution and framerate values the
user can select in the UI if "ignore service recommendations" is not
checked. If the "ignore service recommendations" option is not checked,
the user will not be able to select or use a resolution and/or framerate
in the user interface that the service does not support. If "ignore
service recommendations" is checked, it will work as it normally would,
allowing any value to be used as per normal.

Fortunately, and hopefully for the foreseeable future, there is only one
service that enforces resolutions and framerates.
2020-11-13 18:23:24 -08:00
jp9000
546dcc7a14 UI: Move "enforce" setting to "ignore" stream section
Moves the "Enforce streaming service bitrate" option from simple output
mode to the stream section, renames it to "Ignore streaming service
setting recommendations" (inverting it). When trying to check it, it
will now also display a message box warning the user that it's generally
a not-so-good idea.

Also displays recommended settings for the service.
2020-11-11 09:48:39 -08:00
jp9000
6b81c106d8 UI: Add VOD track support in advanced output
Adds a VOD track option (specific to Twitch) that allows a user to
specify which audio track to use for their Twitch VODs, which uses a
separate encoder to encode the track. This allows users the ability to
choose what audio goes on their VOD, separately from the live stream.
2020-11-04 00:15:25 -08:00
Ryan Foster
7f4e375e12 UI: Disable stream encoder setting in simple output with active output
We disable the stream encoder setting in Advanced Output Mode when an
output is active, so let's also disable the stream encoder setting in
Simple Output Mode when an output is active.
2020-10-31 02:52:24 -07:00
Maya Venkatraman
41f4a0b0b9 UI: Add support for "More Info" link from service
(Jim) Allows the ability to get a link from the service's settings about
a specific service selection the user chooses and display it as a "More
Info" button that the user can click to find out more information about
that particular service.
2020-10-13 13:29:17 -07:00
Matt Gajownik
1f1e0ceb47 UI: Add missing tab stop fields in Settings 2020-08-27 21:17:35 +10:00
Jim
bfdf5dc947
Merge pull request #2356 from jpark37/sycc-color-space
Color space refinements
2020-08-05 08:58:21 -07:00
derrod
db37cc34d5 UI: Remove Mixer integration 2020-07-22 07:47:07 +02:00
jpark37
fe1ee749b3 UI: Add sRGB option to colorSpace output setting
Creates video streams/files with sRGB transfer specified.
2020-07-18 19:44:13 -07:00
jp9000
959dbb64ed Revert "Merge pull request #3110 from WizardCM/taskbar-color-setting"
This reverts commit 04e01458e5aa86337ccb6c34568c7dcd063e2833, reversing
changes made to b83a9dd0d6cc059fddce557aadcfcb56f9b9dc03.
2020-07-11 06:05:35 -07:00
Matt Gajownik
081fc548c5 UI: Add setting for taskbar color 2020-07-10 20:12:59 -07:00
Richard Stanway
efc23bb1ee UI: Remove requirement for replay buffer hotkey
Fixes https://github.com/obsproject/obs-studio/issues/2807
2020-04-26 16:56:36 +02:00
Matt Gajownik
ed8df46a39 UI: Don't stretch server field in Qt 5.14 2020-04-05 11:50:53 +10:00
Matt Gajownik
a8b8356455 UI: Add setting for Mixer add-on choice
MixrElixr Emotes is the emote-specific portion of
MixrElixr, a popular extension for Mixer chat.

Disabled by default.
2020-03-19 21:04:11 +11:00