168 Commits

Author SHA1 Message Date
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
Clayton Groeneveld
765bb34641 UI: Don't allow resolutions too large
Fixes a crash when entering large resolutions, and also works as a minor
sanity check against bad resolution values.
2020-01-27 04:34:47 -08:00
Clayton Groeneveld
46db0c0823 UI: Fix aspect ratio triggering settings change 2020-01-22 12:25:05 -06:00
jpark37
263bf48baa UI: Fix Qt 5.14 deprecation warnings
These functions should be available on current Qt.
2020-01-20 22:13:16 -08:00
Jim
c6053c3d96
Merge pull request #2312 from cg2121/fix-audio-message
UI: Fix audio restart message not hiding
2020-01-13 02:02:25 -08:00
Clayton Groeneveld
f32082920e UI: Fix audio restart message not hiding 2020-01-12 13:31:51 -06:00
Clayton Groeneveld
4b4962746f UI: Display aspect ratios in video settings 2020-01-12 01:54:58 -06:00
VodBox
798556c068 UI: Ensure OBS launches when theme is missing
This change makes it so OBS will still launch even if a theme is
missing. This change also deprecates the "CurrentTheme" config key, and
is replaced by "CurrentTheme2".

This is because a previous change to make sure OBS fell back to the
System theme in case of a missing theme had been accidentally removed.
Changing the key prevents a new version of OBS setting a theme that
doesn't exist in an older version, which would prevent that version from
launching.
2019-12-16 08:12:57 +13:00
jpark37
ecd6753dc7 UI: Allow switch to existing theme to reload
This is useful for people modifying the currently selected theme.
2019-12-08 14:43:23 -08:00
jpark37
bb04c961bc UI: Don't modify theme if already set
This includes reselecting the existing selection, and cancelling out of
settings altogether. Takes a long time (7 seconds) in debug builds.
2019-12-07 10:22:02 -08:00
Jim
7b49eb1d48
Merge pull request #2104 from cg2121/network-string
UI: Change advanced networking strings
2019-11-19 22:12:29 -08:00
Clayton Groeneveld
e151ce6f2a UI: Change advanced networking strings 2019-11-19 21:27:37 -08:00
derrod
3e841b221d UI: Add setting for Twitch chat add-ons choice
Both BTTV and FFZ are fairly popular however they do occasionally
interfere.  To give users the option to chose whichever one they like
most we add a new setting that allows BTTV, FFZ, both, or neither.

Defaults to "None" for new users.  Existing users will be migrated to
"Both" as that's the previous behavior.
2019-11-19 21:06:36 -08:00