Commit graph

258 commits

Author SHA1 Message Date
Kurt Kartaltepe 124ebedbdb UI: Disable qt5ct when compiled with qt6
Qt is not smart enough to disable qt5 platform plugins when users
blindly ask for them, which causes users to be unable to start OBS.
Instead lets kindly disable broken platforms on their behalf.
2023-01-07 15:17:05 -08:00
Kurt Kartaltepe 1b8a695571 UI: Restrict GNOME wayland override
Some wayland compositors exclusively use xwayland such as gamescope.
This allows us to fallback to the platform determined by Qt, which will
detect these exotic compositors and handle them correctly when not
overidden by this envvar.

Qt preserves this undesired behavior until 6.3. With ubuntu 22 on 6.2
this workaround needs to be preserved.

fixes #6386
2022-12-23 10:00:03 -03:00
derrod f141b9c59b UI: Add update channels (Windows) 2022-11-22 02:54:07 +01:00
PatTheMav 4ff789e24c
UI: Fix snprintf calls with literals as buffer sizes 2022-11-11 19:51:28 +01:00
Tommy Vercetti b838636f58 UI: Remove Rosetta detection log
Will be moved to libobs
2022-11-09 03:03:26 -08:00
Ryan Foster 1bd43220d5 UI: Migrate Simple Output NVENC preset 2022-10-31 22:51:24 -07:00
Ryan Foster c6fbeaaf6d UI: Refactor NVENC preset migration
Refactor the NVENC preset migration code to avoid having to maintain
more copies of the preset mappings.
2022-10-31 22:51:24 -07:00
Ryan Foster 0ddba5d644 obs-ffmpeg: Split NVENC preset migrations by codec
This commit also modifies UI.
2022-10-31 17:02:51 -04:00
Ryan Foster a36427c0ab UI: Add NVENC preset migration for lossless 2022-10-31 17:02:51 -04:00
Ryan Foster 891e3b0f49 obs-ffmpeg: Align NVENC preset migrations to NVIDIA guidelines
Bring our NVENC preset migrations closer in line with NVIDIA guidelines.

https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-preset-migration-guide/

This commit also modifies UI.
2022-10-31 17:02:51 -04:00
Ryan Foster 254dc4081c obs-ffmpeg: Add NVENC preset mapping for old Default preset
The old NVENC preset "Default", labeled in OBS as "Performance", maps to
the new P3 preset when not using multipass. Since we previously only
enabled multipass/two-pass on "Max Quality", we can map this to P3 in
all cases.

This commit also modifies UI.
2022-10-31 17:02:51 -04:00
derrod e91f1f4003 UI: Hide --portable from help text if disallowed 2022-10-22 16:35:05 -07:00
derrod e8dc7d6b07 UI: Add --steam flag 2022-10-22 16:23:50 -07:00
jp9000 70c5f6c24a UI: Change "hq" to use P5 when upgrading NVENC 2022-10-19 17:51:07 -07:00
Richard Stanway cba81638b5 UI: Fix potential memory leak when parsing OBSThemeMeta 2022-10-15 16:17:46 -07:00
Richard Stanway daee83373c UI: Remove unused assignments 2022-10-15 16:17:46 -07:00
Ryan Foster b2ff22a587 UI: Swap mq and hq NVENC Preset mappings
The old preset "mq" was "Max Quality", which used the old HQ preset with
two-pass enabled. The old preset "hq" was "Quality", which used the old
HQ preset without two-pass. Of the two, "mq" would have been considered
"slower" or "higher quality" than "hq", so let's swap these entries.
2022-10-12 21:21:03 -07:00
jp9000 d7c7180a8c obs-ffmpeg: Update NVENC to new presets
(This commit also modifies the UI)
2022-09-22 02:42:32 -07:00
Matt Gajownik 88a51dbf97 UI: Don't mark all widgets in main window as native on macOS
This significantly improves undocking behaviour on macOS for most docks.
Previously, undocking would perform an undock rather than undock + drag.
This does not fix the behaviour for browser docks as they are native.

May also improve performance of the main window, regardless of dock state.

See 3224c6d7d1
2022-09-11 10:58:58 +10:00
gxalpha 8cf46ca68c UI: Properly register VoidFunc in Meta Object System 2022-08-20 16:45:07 -07:00
Matt Gajownik c7da23bf96 UI: Remove spaces from translation keys
Qt translation strings use the full English string as an identifier,
rather than a standardised key. Meanwhile, .ini files aren't designed
for keys with spaces, so a translation string for "Restore Defaults"
won't match unless the ini line is
"Restore Defaults"="Defaults"
which is inconsistent, unpleasant and harder to read.
2022-08-18 03:35:51 -07:00
cg2121 ccfe300f72 UI: Reintroduce faster theme switching
Based on (was reverted):
08cee21158

This simplifies the faster switching code, as setting an empty
stylesheet resets it to default.
2022-08-18 02:34:47 -07:00
gxalpha 0a94b3ce16 UI: Only set QStyle on app start
Setting a QStyle resets the color palette. This is unhelpful when a few
lines before that we set a new palette. In theory the setStyle call
could just be moved up, but we don't need to since we always set the
same style so there's no reason to call it multiple times.
2022-08-18 14:22:55 +10:00
pkv 3191c73e16 UI: Fix theme leak
This fixes leaks when loading and switching themes.

Signed-off-by: pkv <pkv@obsproject.com>
2022-08-16 07:36:18 -07:00
derrod 9140c260ee UI: Add Whats New for macOS/Linux
- Requires MbedTLS on Linux
- Enabled by default on macOS and Flatpak
- Enabled on linux via ENABLE_WHATSNEW_LINUX
- Enables compilation of blake2 on Linux/macOS
- Makes header name check also work with lowercase header
- Changes WahtsNew to be only enabled when browser panels are available
2022-08-13 16:46:48 -07:00
Matt Gajownik 3a7a6f4dc0 UI: Fix build error with stray defaultStylesheet 2022-08-09 22:57:23 +10:00
Matt Gajownik a7503254f3 Revert "UI: Apply default stylesheet before applying theme"
This reverts commit 08cee21158.

Turns out that while this did improve theme switching performance, it
also completely breaks styling on macOS and introduces visual quirks
on Windows after switching themes, such as sliders and dropdown contents.

# Conflicts:
#	UI/obs-app.cpp
#	UI/obs-app.hpp
2022-08-09 22:39:26 +10:00
gxalpha 37526e9ac9 UI: Add macOS permissions window
Co-Authored-By: Matt Gajownik <git@wizardcm.com>
2022-07-31 18:14:41 +02:00
gxalpha e75b509bba UI: Include OpenSans font with OBS
Also reinstates the font-family statement removed in 2941c48
2022-07-31 20:23:19 +10:00
Clayton Groeneveld 2d6a9c9cc1 UI: Show spacing helpers in preview
This shows distance between sides of preview and edges of sources.
This will allow users to more easily align sources.

Co-authored-by: Palakis <contact@slepin.fr>
2022-07-30 19:41:18 -07:00
Matt Gajownik cb8bc3413a UI: Add support for theme meta, parent theme palette
Theme Meta allows individual themes to provide additional information to
OBS.

The primarily goal is for a theme to define a "parent", allowing to
extend existing themes with additional attributes.
2022-07-30 18:48:19 +10:00
jp9000 8ef134be79 UI: Set default theme to Yami
Note that this adds a new CurrentTheme3 config variable to preserve
settings of versions older than 28, making this change safely
backward-compatible.
2022-07-28 20:38:51 -07:00
PatTheMav e15fdf69c0 UI: Add functions to check for and request macOS permissions
Adds functions to check and/or request specific macOS permissions
(audio device access, video device access, accessibility access, and
screen capture access).

By default only audio capture, video capture, and accessibility are
requested on launch - the first two have straight-forward "Yes/No"
prompts, the latter requires people to enable OBS in the settings
application (but is required for hotkey functionality, independent
of scene setups).
2022-07-26 14:20:34 +02:00
PatTheMav c1740e3636 UI: Add initialization to ensure compat between pthread and NSThread
Ensures that Cocoa knows that we intend to use multiple threads, per
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/Multithreading/CreatingThreads/CreatingThreads.html#//apple_ref/doc/uid/10000057i-CH15-SW21
2022-07-25 17:27:07 +02:00
tytan652 6d06052c51 UI: Enforce Fusion Qt style on Linux
The Breeze Qt style plugin adds frame arround QDockWidget with QPainter
which can not be modifed. To avoid this the base style is enforce to the
Qt default style on Linux: Fusion.
2022-07-24 10:22:18 +10:00
gxalpha e3f416f3fc UI: Replace QMessageBox setButtonText with addButton 2022-07-22 09:37:17 -04:00
gxalpha 80e2a980bf UI: Remove disable_high_dpi_scaling option on Qt 6
With Qt 6, high dpi scaling is always enabled and the
AA_DisableHighDpiScaling becomes no-op. As such, the command line
argument can get removed.
2022-07-20 14:14:38 -04:00
Matt Gajownik 08cee21158 UI: Apply default stylesheet before applying theme
This significantly improves performance when switching themes.
The original intent was to "clear" customizations applied by the
previously selected theme. This change does not seem to achieve that goal.
2022-07-04 23:28:48 +10:00
gxalpha 0fa7834bfc UI: Use libobs rosetta detection 2022-06-19 01:37:15 +02:00
Georges Basile Stavracas Neto ca2d02c2ce Drop GLX renderer
"They must often change, who would be constant in happiness or wisdom"

 - Confucius
2022-05-24 14:31:48 -03:00
jpark37 e646eb4828 UI: Restore portable mode on Windows 2022-05-08 06:47:09 +02:00
PatTheMav 55b23a26d2 UI: Fix configuration path handling for Linux portable builds
Original code uses simple `ifdef` pattern as well using the preprocessor
definition in a conditional check. With the rework, the definition was
set to an empty string (if the build flag is not enabled), which leads
to it being evaluated as "true" all the time.

This change uses simpler definition check and fences off code relying
on the flag being enabled.
2022-05-03 14:35:08 -04:00
tt2468 af67ef8e57 libobs, UI: Fix --verbose logging for stdout
Verbosity of stdout was previously hardcoded to INFO, while log viewer
and log files had correct verbosity. This makes the behavior of
--verbose make sense in all places.
2022-04-09 16:48:37 -07:00
gxalpha e33b7d2dab UI: Disable wheel scrolling on QComboBoxes
Adds a new ProxyStyle, OBSIgnoreWheelProxyStyle, and applies it to the
entire program. This style sets a StyleHint to disable mouse wheel
scrolling on QComboBoxes.
The existing OBSProxyStyle, which is used only for the context bar, has
been renamed accordingly.
2022-04-02 16:04:51 -07:00
gxalpha ee781bfa24 UI: Remove unneeded QProxyStyle include 2022-03-26 17:57:14 +11:00
gxalpha dde2fe209a UI: Remove InitApplicationBundle() function 2022-03-19 15:13:00 -07:00
PatTheMav 1f0f2be15e
UI: Update CMakeLists.txt for main OBS app 2022-03-16 23:11:58 +01:00
Misutaa Asriel 4afafaac6d UI: Fix unorthodox macOS Dock icon behavior
Fixes overriding of macOS dock icon behavior.

macOS sets the icon on launch based on:
- The Information PLIST
- A user provided icon by Finder

setWindowIcon overrides this behavior.

Therefore, this commit resolves this issue,
by doing nothing if target is macOS.
2022-03-08 08:50:34 -08:00
gxalpha 6d86b58ed7 UI: Simplify multi-instance check 2022-03-05 15:21:11 -08:00
jpark37 fa5a05f188 UI: Restore LC_NUMERIC to C locale on Mac/Linux
Recommended by QCoreApplication doc for Unix.

Fixes CUBE LUT load, and FFmpeg output args for foreign locales.
2022-03-01 12:53:51 -08:00
Matt Gajownik 2ded0f7050 UI: Log 'Hide OBS from capture' on startup & settings change 2022-02-20 13:38:17 +11:00
Rodney b7a24d54c9
UI: Add warning on startup for running in Wine 2022-02-07 14:16:59 -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
gxalpha d601577706 UI: Fix small typo 2022-01-21 10:07:25 -05:00
Nicolas Fella f43b046f8b UI: Set desktopFileName for QApplication
This needs to match the base name of the .desktop file name.

This is needed for propagating the correct App ID on Wayland,
which is needed e.g. for proper window icons on Plasma.
2022-01-16 18:03:27 +11:00
Norihiro Kamae 2fc83f9408 UI: Do not localize timestamp in log file
Millisecond time in the log was added in 36ad777b8 but the millisecond
was not always added just after the second digits depending on locale
settings. To make consistency in the log file, `%T` is specified for
`strtime` instead of `%X` so that the time format is not localized.
2022-01-04 02:02:59 -08:00
gxalpha 8298f040fe UI: Add Rosetta Detection
Adds a check that detects if OBS is running on Rosetta on macOS and logs
the result.
2022-01-04 01:57:02 -08:00
VodBox 3d544653e8 UI: Cleanup libobs C++ type use 2021-11-26 23:23:51 +13:00
Ryan Foster 54a808c34a UI: Set Twitch Panel Dark Mode using OBS theme
Check if the current OBS theme is "Dark Mode"-esque and use that to
determine if the Twitch browser panel docks should use Twitch's Dark
Mode or not.
2021-11-24 00:03:39 -08:00
jpark37 86b607154a UI: Add support for real-time work queue 2021-10-10 19:53:27 -07:00
Matt Gajownik 115973b1ed UI: Log compiled & runtime Qt versions 2021-10-10 10:21:19 +11: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
jp9000 c459e8954c UI: Fix enter/esc when hotkeys are disabled in focus
Fixes an issue where enter/escape/return would not work in the program
if hotkeys were disabled while in focus. No other known keys were
affected by this filter issue.
2021-09-20 08:19:13 -07:00
Ryan Foster fd2aaf92b9 UI: Fix Qt6-incompatible call to QLocale::setDefault
The YouTube integration changes introduced code that does not build on
Qt6. The errors were:

 * void QLocale::setDefault(const QLocale &)': cannot convert argument 1
   from 'QString' to 'const QLocale &'

 * no suitable user-defined conversion from "QString" to "const QLocale"
   exists

This commit creates a new QLocale in place from a QString using the
`QLocale(const QString &name)` constructor, and passing that QLocale to
QLocale::setDefault.
2021-09-10 10:23:24 -07:00
Matt Gajownik 58caf406cd UI: Load theme palette before loading theme
This ensures the theme loads its own palette colours rather than default.
2021-08-23 17:14:22 -07:00
jp9000 7fffca945e Revert "UI: Remove macOS-Default Full Screen Menu Item"
This reverts commit cf445be44c.

Did not mean to merge this. #4768
2021-08-17 06:00:53 -07:00
gxalpha cf445be44c UI: Remove macOS-Default Full Screen Menu Item
macOS looks if the NSUserDefault NSFullScreenMenuItemEverywhere is set
to true, and if it is, it adds its own full screen menu item.
Sets this NSUserDefault to false since it defaults to true.
2021-08-17 05:58:29 -07:00
tytan652 47df2467e9 UI: Force Wayland usage under Wayland session
Qt doesn't use the Wayland platform on GNOME, so we have to
force it using the QT_QPA_PLATFORM env var. It's still possible to
use other QPA platforms using this env var, or the -platform command
line option.

qt5-wayland is now a required dependency for OBS on Linux (or FreeBSD).

Co-authored-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
2021-08-15 05:05:29 -07:00
Yuriy Chumak c4840ddba0 UI: Set Qt locale to current OBS locale
(Jim note: This will cause certain Qt functions to treat string
conversions differently depending on the language. Useful when using Qt
to perform these conversions.)
2021-07-24 15:50:59 -07:00
Richard Stanway 2727dd96bd UI: Handle prefixes when using paths in recording format
The replay buffer and screenshot functions add a prefix to the output
filename. The code in GetFormatString assumed the format string was the
entire filename, and inserted the prefix at the beginning. This caused
illegal paths such as "Screenshot /2021/05/22-35.mkv" to be created if
the user had specified a path in the format string, resulting in lost
files.

This commit inserts the prefix before the last / character to ensure it
only affects the filename portion of the format string.

Fixes #4707
2021-07-24 22:34:44 +02:00
tt2468 502bc3bf0a UI: Add startup flag to disable missing files window
Adds a startup flag (--disable-missing-files-check) to disable the
missing files dialog from appearing on load. For some users, the
missing files dialog may interfere with automation of OBS, or the
user may also purposefully have missing files in their scene
collection which they do not want to be warned about.
2021-07-09 18:32:56 +12:00
Kurt Kartaltepe 346e268a3d UI: Remove x11info dependency
This moves X11 platform to the qt private functions, as x11info was
removed from Qt6 so this is required for a clean Qt5/6 transition.

This is the implementation of x11info::getdisplay so it should still
work on older platforms. This "API" doesnt really guarantee anything
though.

Also clean up wayland only bits as we use them for all windowing systems
now, and the name of the native pointer we want is the same on both
platforms for now.
2021-03-16 18:50:52 -07:00
Georges Basile Stavracas Neto 7e36331c98 UI: Only set AA_DontCreateNativeWidgetSiblings on Wayland
It seems this introduced various regressions on X11 (and, potentially, on other
platforms too, but needs confirmation). Let's preserve the old ways on current
platforms, and only use this flag on the new Wayland platform.
2021-03-16 01:48:29 -07:00
Ryan Foster 7214feba73 UI: Set Qt::AA_UseHighDpiPixmaps only on Qt5
Qt6 enables Qt::AA_UseHighDpiPixmaps by default and will emit a warning
if you try to enable it. To prevent the warning, only set this on Qt5.
2021-03-09 10:28:19 -05:00
Ryan Foster 1793515bbf UI: Explicitly include QFile
Explicitly include QFile to prevent a build failure with VS2019 and Qt6.
2021-03-09 09:31:10 -05:00
Georges Basile Stavracas Neto 2b3cb54771 libobs: Add a Wayland platform
Introduce the OBS_NIX_PLATFORM_WAYLAND enum value, and try to detect
it when OBS Studio runs by looking into the platform name.
2021-02-09 09:39:04 -03:00
Georges Basile Stavracas Neto 27d0182fdb UI: Set the Unix platform on startup
Move the OBS_USE_EGL environment variable check to obs-app.cpp,
and set the OBS platform to be either OBS_NIX_PLATFORM_X11_GLX
or OBS_NIX_PLATFORM_X11_EGL.
2021-02-01 19:05:11 -03:00
Georges Basile Stavracas Neto 506b950d02 libobs: Introduce the concept of a Unix platform
This is a Unix-specific code. The only available platforms
at this point are the X11/GLX and X11/EGL platforms.

The concept of a platform display is also introduced. Again,
the only display that is set right now is the X11 display.
2021-02-01 19:05:10 -03:00
Lordmau5 5b899788da UI: Add launch parameter to disable high-DPI scaling 2021-02-01 05:44:37 -08:00
Georges Basile Stavracas Neto f12dbc87b8 UI: Don't define QT_NO_GLIB
The same reasoning of the previous patch means we can also stop
force-disabling Qt/GLib integration.
2021-01-28 23:58:13 -08:00
David Edmundson 4a32d1cec5 UI: Don't create native widget siblings
Native windows really only make sense for previews. They can be a new
xcb_window or a wayland subsurface.

For historical reasons setting a widget to native will also affect
ancestors. Qt will still draw them as part of the parent as they are
never mapped, but a window is nonetheless created.

This is especially problematic on wayland as then the subsurface is
parented to an unmapped window.

This default behaviour can be turned off. Now only the native widgets
(the video previews) are actually native.
2021-01-26 09:43:16 -08:00
Matt Gajownik 46118470ab UI: Only apply passthrough DPI scaling on Windows
Fixes #4031

It seems Qt on various flavours of Linux behaves erratically when scaled,
and for the moment macOS doesn't require fractional scaling support.

This commit can be reverted when Qt fixes issues on their side.
2021-01-13 20:26:35 +11:00
Ryan Foster 9b1d1c1b3d UI: Make GetUnusedSceneCollectionFile usable elsewhere 2021-01-11 14:49:59 -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
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 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
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
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
PatTheMav 9ac92f61be
UI: Use macOS app icon for Qt app on macOS 2020-11-13 17:17:45 +01:00
Christian Lockley ad528bef17 UI: Detect other instances of obs on Linux
fixes: obsproject#3053
2020-10-30 11:50:47 -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
Mikhail Kochegarov 117d35433f UI: Detect other instances of obs on macOS
Detect other instances of the obs by inspecting running applications
with same bundle ID.

fixes: #3053
2020-10-16 05:48:37 -07:00
Ed Maste 92076f5c8c UI: Skip ChromeOS test on FreeBSD
As with Windows and macOS there's no need to check for ChromeOS on
FreeBSD.
2020-10-02 06:27:04 -07:00
jp9000 e5d8f345fc UI: Fix screenshots preventing auto-remux
Due to the fact that a global was used on GenerateSpecifiedFilename to
save the remux file name, when a screenshot was made, it would overwrite
the filename being remuxed, because screenshots use the same function to
generate filenames as well.

This solves that problem by removing the global and the changes to
GeneratedSpecifiedFilename, and isolating that to the output handler.

Coincidentally, this bug probably also happened with replay buffers
under certain circumstances.

Fixes obsproject/obs-studio#3497
Closes obsproject/obs-studio#3498
2020-09-26 08:19:27 -07:00
jp9000 5978094fa0 UI: Fix certain buttons turning up white in dark theme
Fixes the browse button in the remux file dialog not having the proper
style applied. This is a bit of a workaround because it is still unknown
why the button was white.
2020-09-14 16:40:46 -07:00
Clayton Groeneveld e60edf53d5 UI: Fix hotkeys auto repeating 2020-08-23 04:15:44 -05:00
Colin Edwards fddbbe259d UI: Source Toolbar
The source toolbar allows quick and easy access to properties and
filers, and shows common properties/features of a source type.  For
example, when you select a media source, VLC source, or the slideshow
source, you'll get media controls to control playback of the media.  If
you select a text source you can edit the font, color, or text if
applicable.  Or if you select a capture source, you can select the
display/window/etc to capture for that source.

If the source toolbar is not desired and is viewed as taking up valuable
space in the window, it can be disabled via the view menu.

Co-authored-by: Clayton Groeneveld <claytong1214@gmail.com>
Co-authored-by: Jim <obs.jim@gmail.com>
2020-08-17 07:18:18 -07:00
Kurt Kartaltepe a52b53e98e UI: Check and fail when launched under ChromeOS
This adds a check when compiling for linux to check for a ChromeOS
container specific directory. If this directory exists OBS will fail to
start with an error that ChromeOS is unsupported.
2020-08-02 14:15:21 -07:00