1707 Commits

Author SHA1 Message Date
jp9000
609ec9b556 UI: Fix vod track not working with twitch soundtrack
The vod track in advanced output mode would be overwritten by twitch
soundtrack's vod track. Additionally, simple output mode would overwrite
twitch's soundtrack vod track even when vod track was turned off in
settings.

So instead, if vod track is off, don't clear the secondary encoder
unless it's explicitly our encoder. Additionally, make sure that
advanced output mode's vod track encoder behaves consistently with
simple output mode's vod track so it doesn't get overwritten.
2020-12-03 01:13:10 -08:00
jp9000
53ec75ccd6 UI: Fix aac encoder name
Was meant to be "adv" meaning advanced rather than "avc"
2020-12-03 01:13:10 -08:00
Kurt Kartaltepe
bf4ad780b5 UI: Fix disabled sliders
Previously sliders would not be disabled when the the obs_property was
disabled.
2020-12-02 21:56:56 +11:00
Joel Bethke
aa713e07d0
Merge pull request #3815 from ckelsel/master
UI: fix typo
2020-12-02 03:36:41 -06: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
ckelsel
f4adc26864 UI: fix typo 2020-12-02 16:56:11 +08:00
Richard Stanway
207716f69f UI/installer: Add additional VS2019 DLL check
Also updates references from 2017 to 2019 for consistency.
2020-12-02 02:08:56 +01:00
Ryan Foster
1bb71e1f7f UI: Use Qt::MiddleButton instead of deprecated Qt::MidButton 2020-12-01 10:54:21 -05:00
Matt Gajownik
e08a8fc356 UI: Don't round non-integer High DPI scale
This fixes an issue on Windows where loading on a
150% scale display renders OBS windows at 200%.

Reference: https://doc.qt.io/qt-5/qguiapplication.html#setHighDpiScaleFactorRoundingPolicy
2020-11-28 11:08:11 +11:00
VodBox
dbbfa2491a UI: Fix filter window rendering and accessible names 2020-11-26 20:44:03 +13:00
Ryan Foster
6b6a72cd21 UI: Log success/failure for scene collection importer 2020-11-25 20:19:30 -08:00
Ryan Foster
714c652dc9 UI: Prevent import failure for collections with slash in name 2020-11-25 20:19:30 -08:00
Ryan Foster
2d1b0666af UI: Prevent name collision during scene collection import
The Scene Collection Importer would attempt to set the new filename
using the name property of the scene collection. However, it would
determine an unused filename, and then replace spaces with underscores,
which could cause a name collision. This changes the importer to replace
spaces with underscores first for the base filename, and then determine
an unused filename.
2020-11-25 20:19:30 -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
Gol-D-Ace
7ab98ca00f Update translations from Crowdin 2020-11-25 20:11:39 +01:00
Mike
f0593f3805 UI: Fix Save Replay button staying highlighted 2020-11-24 14:32:29 -08:00
Exeldro
02f47345cf frontend-tools: Don't give every loaded filter focus
Speeds up loading with large number of filters and prevents deadlock by
not getting the properties of filters during
OBSBasicFilters::UpdateFilters() which uses the source->filter_mutex
2020-11-24 14:32:18 -08:00
Matt Gajownik
a88b262d5f UI: Set default source toolbar visibility to true
This significantly simplifies the
configuration setting's initial load.

This also fixes as issue where the source toolbar
would initialise as "TextLabel" with enabled
buttons if the user had not yet toggled the setting.

Fixes #3722
2020-11-24 14:19:57 -08:00
jp9000
9048d8095d UI: Force plugins to use our Qt5Network, not their own
The Elgato Streamdeck plugin ships their own Qt5Network.dll on Windows,
which may be ABI incompatible with newer Qt DLLs if we decide to update
our Qt version. So to prevent that plugins (and other plugins) from
using their Qt5Network.dll, we need to explicitly load our
Qt5Network.dll first so that we can prevent it from trying to load
theirs beforehand.

For context on this, previously, we didn't ship Qt5Network on Windows
because we would have to ship OpenSSL with it, but we didn't want to
ship it without SSL support. Because of that, Elgato's Streamdeck plugin
would ship their own Qt5Network.dll library (that didn't have SSL
support anyway). However, Qt recently added support for windows
schannel, which allows SSL support via the Windows API, making it so we
don't have to ship extra libraries to get SSL. So now we can start
shipping Qt5Network without worry.
2020-11-22 15:30:12 -08:00
Ed Maste
a0f64a6017 UI: fix build on older FreeBSD versions
Include pthread_np.h header and use pthread_set_name_np to fix build
on FreeBSD 12.1.  The Linux-compatible pthread_setname_np alias was
added later.
2020-11-16 19:01:56 -08:00
Ka Ho Ng
f8aa02897f UI: Detect other instances of obs on FreeBSD
Detect other instances of the obs by creating an extra dummy thread,
named "OBS runonce". The process of threads enumeration of current user
is guarded by an O_EXLOCK file advisory lock when opening the lock file.
Such file lock would be dropped once the thread name is changed.

This should be usable on FreeBSD and possibly compile on DragonFly BSD.

fixes: #3053
2020-11-14 12:04:31 -08:00
Vadim Zhukov
0d222b6b56 Add OpenBSD support 2020-11-14 11:55:22 -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
cac2ff31f4 cmake: Put decklink-captions in source folders 2020-11-14 04:40:47 -08:00
jp9000
8b30204946 UI: Move "changed" when recreating output res widget 2020-11-14 02:45:19 -08:00
jp9000
3805a11955 UI: Show service max resolution/framerate values to user
If a service has a maximum resolution and/or maximum framerate, shows
that to the user in the stream section of settings where the maximum
video/audio bitrate are shown.
2020-11-13 18:24:00 -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
ebbe8d1bf9 libobs: Change service max res. to res. list
(This commit also modifies rtmp-services and UI)

Changes the maximum resolution size to a resolution list, and splits the
maximum FPS to its own function.

(Note: ABI has not been modified because the last changes still haven't
been released yet, so it's safe to modify this as long as the changes
haven't been officially released)
2020-11-13 18:22:53 -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
97491ee91a UI: Add SetComboItemEnabled
Replaces SetComboItemDisabled in context-bar-controls.cpp with a global
function in qt-wrappers called SetComboItemEnabled, which allows both
enabling and disabling items in a combo box.
2020-11-13 18:07:20 -08:00
PatTheMav
9ac92f61be
UI: Use macOS app icon for Qt app on macOS 2020-11-13 17:17:45 +01:00
PatTheMav
8110b8bd65
UI: Fix tray icon menu handling on macOS 2020-11-13 17:17:45 +01:00
PatTheMav
84b2558995
UI: Update macOS app icon 2020-11-13 17:00:05 +01:00
PatTheMav
35e6f5e17a
UI: Update tray icons to use masks on macOS 2020-11-12 23:39:32 +01:00
jp9000
ade054eeaa UI: Fix compiler-specific error
Return value between ternary options are ambiguous on GCC/clang
2020-11-11 10:19:06 -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
Colin Edwards
5b8f89d86e decklink: Clean up warnings introduced by caption code 2020-11-03 17:00:14 -08:00
Colin Edwards
7b0d7c6357 Remove BUILD_CAPTIONS build flag 2020-11-02 22:46:55 -06:00
Colin Edwards
923f06bfa6 decklink: Add ability to ingest/embed cea 708 captions
(This commit also modifies libobs, UI)
2020-11-01 22:28:49 -08:00
Richard Stanway
9a64adb4d1 UI: Don't update source context bar when hidden 2020-10-31 20:59:12 -07: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
Jim
b32abbe33f
Merge pull request #3083 from pkviet/srtfix4
UI: Enable sps/pps (video headers) repetition (for srt/mpegts)
2020-10-30 23:25:24 -07:00
Christian Lockley
ad528bef17 UI: Detect other instances of obs on Linux
fixes: obsproject#3053
2020-10-30 11:50:47 -07:00
Richard Stanway
57bed7923e UI/installer: Use random temp directory for security
Using a fixed path would allow malware on a compromised system to
perform a DLL planting attack. Reported by Erik Wynter.
2020-10-30 17:10:34 +01:00
jp9000
6af26d3290 UI: Add max cx/cy/fps clamp (if service specifies) 2020-10-30 00:28:44 -07:00
Johann Garces
ade4c4cf49 UI: Run Autoconfig Wizard on New Profile Creation
New profile state is similar to first start: settings are wiped, encoders
not setup. It may make sense to show the auto configuration wizard when
a new profile is made as well.

There is a checkbox option to show the wizard. If a profile is created
with the checkbox off, the checkbox will remain defaulted to off next
prompt.
2020-10-29 14:15:57 -07:00
Matt Gajownik
bc7afb0fae UI: Report detailed output errors for Replay Buffer
Same changes as 0c0ffb341cfb521473479cdcd391c3507b05cf46
2020-10-21 18:10:05 -07:00
hgonomeg
4390eb5591 UI: Fix replay buffer saved event in advanced mode
AdvancedOutput::AdvancedOutput(OBSBasic *main_) lacked
a proper event handler connection
2020-10-18 12:17:31 -07:00