230 Commits

Author SHA1 Message Date
furious
0c1524b53c UI: Add Hotkey filter search and duplicate detection 2021-10-24 08:39:53 -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
Clayton Groeneveld
afd58a78e5 UI: Add option to draw safe areas in preview 2021-08-20 15:20:59 -07:00
gxalpha
5db62af907 UI: Apply QSS to generic hotkey settings label
Fixes an issue where in the hotkey settings, some header labels wouldn't
be styled as intended.
2021-08-17 04:11:14 -07:00
Yuriy Chumak
e6f1daab8c UI: Add YouTube integration 2021-08-07 01:07:04 -07:00
VodBox
394eab050c UI: Fix ambiguous conversion error 2021-07-20 17:34:42 +12:00
VodBox
1102e0b1ee UI: Fix formatting on window-basic-settings.cpp
A requested change on PR #4455 resulted in a formatting error that was
missed before being merged. My bad.
2021-07-20 17:24:16 +12:00
Delta
a64328da56
UI: Add "18 Scenes" multiview option
Adds a "18 Scenes" multiview option. The 18 scene view leaves the
preview and program sized to the upper half of the window

Settings index in combobox may not match up with enum index. Settings
in the dropdown can now be ordered separately from the enum order.
2021-07-20 17:16:44 +12:00
Kurt Kartaltepe
513bcb8e35 UI: Cleanup Qt for Qt6
This changes cleans up some deprecated functions that were removed in
Qt6. Some are placed behind version ifdefs and others are replaced for
their non-deprecated Qt5 version.
2021-03-08 21:41:13 -08:00
Nirusu
2787e63d8e UI: Fix screen resolution for canvas size
In #3988, @RytoEx mentioned that the recent Qt upgrade to 5.15.2
introduced a regression in which Qt begins returning DPI/scaling
aware resolutions for each screen. While this was fixed for
new profiles, this was not reflected in the choice for the
Canvas (Base) Resolution in the Settings screen yet.

This commits fixes this issue, and calculates the correct
physical screen size again, respecting per-screen DPI scaling.
2021-02-12 15:28:26 -08:00
Ivan Efremov
c7ca8abdd3 UI: fix the maximum search length of Hotkeys Filter
The "fullName" property was filled only in case of exceeding
TRUNCATE_TEXT_LENGTH. Also search function had worked only with
item->text() what was the reason of maximum search length in
Hotkeys Filter(Setting->Hotkeys).

The following changes allow to search in filter without
the length limit of string along with the current functionality.
2021-01-20 12:18:05 -08:00
pkv
c8155d491d UI: Enable HW acceleration switch for browser sources on Mac
This enables in Settings the checkbox for hardware acceleration for
Browser Sources in MacOs.
2020-12-18 18:13:35 +01: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
VodBox
89b4e9136f UI: Various screen reader fixes
This commit fixes various issues with screen readers in the main OBS
interface. These were tested using NVDA on Windows 10 2004.

Audio track selection in Settings now says Track 1, 2, etc, rather than
just the number.

Various checkboxes that just say "Enable" now have accessible text that
says what the enable is for (since it says "checkbox", the fact it's an
enable should hopefully be clear).

Type in the recording tab of output now has accessible text which says
"Recording Type".

Items in the Advanced Audio Properties window now have accessible text
for what they are for. Currently some do not report correct values, but
that will require an accessible interface in Qt to be written
specifically for that, which will be done at a later date.

Buttons in the filters window now have accessible text for what they do.

All the right side buttons in hotkeys now have tooltips, and by
extension, accessible text.
2020-11-25 19:38:05 -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
8b30204946 UI: Move "changed" when recreating output res widget 2020-11-14 02:45:19 -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
4f74ffe993 UI: Allow blocking all signals if resetting downscales
Allows the ability to block all the signals if resetting downscale
values, which will prevent values from triggering a widget update
unintentionally, forcing the user to have to save settings.
2020-11-13 18:09:14 -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
005863a346 UI: Refactor to make it easier to get service object
Refactors a bit of code to make it easier to get the current stream
service object in the settings
2020-11-11 09:48:10 -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
Scratch
a94c0e055b UI: Prevent disabling replay buffer if it's active 2020-10-10 17:29:30 -07:00
Clayton Groeneveld
227f80ac48 UI: Fix always on top w/ projectors on Linux
Apparently, on Linux, you cannot update the window flags while it is
still open, so just close the projectors and reopen them again when the
setting changes.
2020-08-23 10:36:06 -07:00
Scratch
d2532f4640 UI: Do not process unnamed sources for hotkeys 2020-08-20 14:07:43 +10:00
Rodney
dc0af42f1b
Merge pull request #3091 from derrod/remove-mixer
UI/CI/rtmp-services: Remove Mixer
2020-07-24 20:17:38 +02:00
derrod
db37cc34d5 UI: Remove Mixer integration 2020-07-22 07:47:07 +02:00
Clayton Groeneveld
762983b5d8 UI: Use non-native file dialog w/ Linux 2020-07-18 09:49:24 -07:00
Clayton Groeneveld
990a07dc18 UI, obs-ffmpeg, obs-filters: Fix compile warnings 2020-07-16 23:15:13 -05: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
Bennik2000
f2f336229d UI: Allow the use of Esc key to quit settings window 2020-07-06 17:24:21 -07:00
Jim
f055847854
Merge pull request #2721 from cg2121/unknown-device-label
UI: Highlight unknown audio device label in settings
2020-06-24 14:03:02 -07:00
Clayton Groeneveld
777d9eb787 UI: Auto update projector settings 2020-06-13 21:00:55 -05:00
Richard Stanway
0a467085d2 UI: Set 8x8 as minimum selectable resolution
Since libobs internally rounds to various powers of 2 to support SSE
functions, resolutions that are too low can get rounded to zero. libobs
will fail to startup with a zero resolution, so if a user accidentally
entered anything that rounded to zero OBS would become unusable without
manual fixing by editing the profile .ini.
2020-05-24 00:48:37 +02:00
jp9000
42bbca3d4b UI: Restore theme if settings window exit with [x]
Fixes a bug where if the theme was changed, then wasn't saved, and the
user exits the window with the [x] button, then chooses "No" when asked
to save settings, it would not restore the original theme.
2020-05-12 10:10:58 -07:00
Clayton Groeneveld
d3c4991a1b UI: Highlight unknown audio device label in settings 2020-04-14 13:33:36 -05:00
Jim
6a609676ee
Merge pull request #2524 from kkartaltepe/settings-crash
UI: Fix crash on settings update
2020-03-20 19:03:29 -07:00
Kurt Kartaltepe
fe079c03ab UI: Fix crash on settings update 2020-03-19 20:36:55 -07: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
Matt Gajownik
4d0f279d08 UI: Restart when browser hardware acceleration changed 2020-03-18 21:47:23 +11:00
Richard Stanway
5cfc16e9f9 UI: Call setWindowFlags before setupUi
For some reason this has a noticeable performance improvement,
presumably because Qt is notifying all the child widgets?
2020-03-04 23:20:19 +01:00
Richard Stanway
2f0134bf60 UI: Don't add removed sources when refreshing LoadAudioSources
This can be fired by a callback during source removal. The code was
re-adding the source that was just removed, causing the program to
freeze when trying to remove all sources.
2020-03-02 22:23:13 +01:00
Richard Stanway
2a4a46deed UI: Use invokeMethod to refresh LoadAudioSources
Sources may be removed or destroyed by other threads which resulted in
GUI calls outside of the main Qt thread.
2020-03-02 22:21:02 +01:00
Richard Stanway
3667e556db UI: Use deleteLater() rather than explicit delete
When an audio source is removed, it signals its "destroy" callbacks.
One of the callbacks is OBSSourceLabel::SourceDestroyed.  When its Qt
destroy signal is fired, it causes a call to LoadAudioSources to refresh
the source list.  LoadAudioSources deletes the old layout, and so the
QWidget that the OBSSource is based on is freed while it's still in the
middle of running the signal callback, resulting in access to freed
memory.
2020-02-24 15:34:36 -08:00
jp9000
4f6b4df17e UI: Hide encoder if marked internal
(This commit also modifies libobs)

Hides encoders that are marked as internal.  Same general functionality
as DEPRECATED but not actually deprecated, just internal-only.
2020-02-18 21:37:41 -08:00
jp9000
cce734a0aa UI: Allow rescaling for texture-based encoders 2020-02-18 21:00:57 -08:00
Clayton Groeneveld
e0135823ce UI: Restart program when audio/locale changed 2020-02-16 16:12:00 -06:00
VodBox
191165c721 UI: Add advanced scene collection importer
This replaces the previous Open File dialog for importing collections
with a window for importing many collections at once, based on the remux
window, along with support for importing from OBS Classic, XSplit
Broadcaster and from Streamlabs' fork. This also translates sources
between OSes that Studio supports.
2020-02-16 17:56:06 +13:00
Clayton Groeneveld
a86912f0db UI: Use input validator on resolution line edit 2020-01-28 00:45:18 -06:00