Commit graph

110 commits

Author SHA1 Message Date
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
Clayton Groeneveld 040e445617 UI: Add log viewer window 2020-07-31 19:57:12 -07:00
Clayton Groeneveld cc565653d3 UI: Simplify path generation code 2020-07-30 17:41:43 -07:00
Richard Stanway 06321f89e1 UI: Remove OBSContext class and shutdown in run_program
The OBSContext never called obs_startup but would always call
obs_shutdown in its destructor, resulting in shutdown calls even if
libobs wasn't initialized (eg due to a startup error). Instead, we now
track if libobs was initialized in OBSApp and call shutdown in the
destructor.
2020-07-23 23:17:52 +02:00
derrod 30862d75ae UI: Add flag/file to disable built-in updater
When distributing OBS via third party platforms that have their own
update systems we want to be able to disable the OBS updater without
having to resort to having a separate build entirely.
2020-07-18 21:33:47 +02:00
jp9000 959dbb64ed Revert "Merge pull request #3110 from WizardCM/taskbar-color-setting"
This reverts commit 04e01458e5, reversing
changes made to b83a9dd0d6.
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
Matt Gajownik bc472eab95 UI: Show help text for launch parameters on Windows 2020-07-07 20:04:42 -07:00
jp9000 a72a52fa38 UI: Add virtual camera to UI
Adds a virtual camera button to the main user interface.  If virtual
camera is not installed, it will not add the button.  On Windows, it
detects whether the virtual camera filters are properly registered, and
will only add the button if the virtual camera filter is confirmed
registered.

Also adds a virtual camera option to the auto-configuration wizard,
which will just simply set the user's resolution/scale to 1920x1080 at
30 FPS.
2020-07-07 06:09:59 -07:00
Bennik2000 5feabfacc8 UI: Fix wrong path in the crash message dialog
Closes obsproject/obs-studio#2290
2020-05-19 22:31:06 -07:00
jp9000 8de20ab3be libobs: Add task scheduling features
(This commit also modifies the UI)

Adds the ability to schedule tasks for certain threads
2020-03-14 10:54:37 -07:00
Clayton Groeneveld 61aeaa5ca3 obs-browser: Enable Linux support
This requires CEF >= 3683
2020-02-25 22:38:12 -06:00
Clayton Groeneveld d6e8fbf0d1 UI: Return 0 when launch cancelled or failed 2020-02-22 19:22:43 -06:00
Clayton Groeneveld e0135823ce UI: Restart program when audio/locale changed 2020-02-16 16:12:00 -06:00
Matt Gajownik a77c6aafde UI: Allow resizing docks when hotkeys are disabled
Fixes #2194
2020-02-13 12:28:48 +11:00
Theodore Dubois bd3cbf23ad UI: Add Chromium-compatible NSApplication subclass
This fixes some crashes in browser panels on Mac, but it's also harmless
if browser panels aren't enabled.
2020-02-09 00:02:09 -08:00
jp9000 f077004523 UI: Fix incorrect parameter
This param is the buffer size, including null terminator
2020-02-01 22:10:57 -08:00
jp9000 3f9ca9644a UI: Fix incorrect parameter value
The last parameter is the buffer size (which would include null
terminator), not the desired string length.
2020-02-01 21:51:21 -08:00
jp9000 9f1c442d35 UI: Add option to toggle source icons to View menu 2020-01-20 23:19:32 -08: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
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
jp9000 ec769ef008 libobs-d3d11: Set maximum GPU priority
(This commit also modifies the UI)

This solves the issue where OBS would be deprioritized by Windows over
fullscreen games, causing OBS to lag out whereas the games would still
run fine.
2019-10-10 00:51:47 -07:00
jp9000 3064887ae2 Revert "UI: Various screen reader fixes"
This reverts commit b5843caa48.

This breaks some hotkeys because the signals are tied to a signal which
is now triggered because "toggled" is used instead of "clicked", so just
revert it for now for the release and look at it later post-patch.
2019-09-12 13:55:31 -07:00
VodBox b5843caa48 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 1903.

Checkboxes or buttons which toggle, when receiving an activate signal
from the screen reader would visually update, but not perform any
action. This is because they're listening only for clicks. They should
all now be listening for toggles instead.

The screen reader would navigate through the UI in the order that
elements are defined in the .ui XML, and not by their row positions.
The XML has been reordered so that things should be defined in their row
order.

Audio track selection 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".

All the right side buttons in hotkeys now have tooltips, and by
extension, accessible text. Currently it does not yet say what hotkey
the action is in relation to, but that would require more locales.
2019-09-04 12:43:56 +12:00
Jonathan Baecker 19464e6552 UI: Add ability to disable hotkeys when not in focus 2019-07-22 01:20:12 -07:00
jp9000 985772d915 UI: Fix param logic of ResetHotkeyState calls
The parameter "inFocus" was being given the opposite of what the name
implies: it was being set to false when in focus, and true when not in
focus.  This fixes that confusion.
2019-07-22 01:17:29 -07:00
jp9000 9ca1e85f7d UI: Fix hotkeys working even when disabled in focus
Fixes a bug where the hotkey inject would trigger hotkeys despite
hotkeys being disabled when in focus.
2019-07-22 01:11:34 -07:00
jp9000 f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
Tristan Matthews 4bb002c4d3 UI: Block SIGPIPE in all threads
This can happen when trying to write to a closed socket (in the case
of an RTMP server closing the connection).
2019-05-09 17:06:17 -07:00
Clayton Groeneveld 52c3f81f0e UI: Fix theme bug when updating from older versions
Fixes: https://obsproject.com/mantis/view.php?id=1446
2019-04-23 23:38:03 -05:00
stump bc99ec4d7c UI: Add null check for rename of default theme
Without this, we strcmp a null pointer if no theme is set in the
configuration file.
2019-04-10 22:09:37 -04:00
Clayton Groeneveld 94b3f80305 UI: Rename Default theme to System
The system theme was named Default even though the default theme is Dark.
This addresses that by renaming Default.qss to System.qss. I've made it
backwards compatible so users already using this theme are not affected.

The theme list now shows up as:
-System
-Dark (Default)
-Acri
-Rachni

I have also made it so that you can specify the default theme in the
UI config file.
2019-04-08 19:56:56 -05:00
Clayton Groeneveld cc1f239420 UI: Fix crash when using ctrl-c in Linux terminal
This fixes a seg fault that would happen when launching OBS from the
terminal and then hitting ctrl-c.
2019-03-31 00:59:51 -05:00
Clayton Groeneveld 2080051b9f UI: Use icons from theme on Linux 2019-03-16 05:41:12 -05:00
jp9000 106222154a UI: Add way to exec std::function via invokeMethod
Allows the ability to use invokeMethod on the OBSApp object to execute
an std::function.  This allows deferring an std::function call to the Qt
event queue.
2019-03-05 14:39:24 -08:00
jp9000 fafcbeea9a UI: Always set first scene collection/profiles
Instead of relying on the default config values (which can change
depending on language), explicitly set the values when run for the first
time.
2019-03-05 12:50:53 -08:00
Clayton Groenveld 5a5efa0b3e UI: Add preview/program labels in studio mode 2019-03-03 22:38:23 -06:00
jp9000 9fee895359 UI: Use hardware encoding by default if available
If the user doesn't use the auto-configuration on first use, set the
default encoders used in simple output mode to hardware encoders.
2019-02-07 17:00:46 -08:00
Kevin Ross a5fac7d78c UI: Enable high DPI scaling, for Qt >= 5.11
Closes obsproject/obs-studio#1602
2019-02-04 21:36:17 -06:00
jp9000 455187e6e4 UI: Add date/time to log file
Although log files are saved with the date in the name of the log file,
it's also nice to be able to see it inside the log file itself,
especially when uploaded to a text service.
2019-01-12 16:35:43 -08:00
cg2121 2fedcab987 UI: Add option to auto remux 2018-09-18 20:55:12 -05:00
Jim 78d940e0f4
Merge pull request #1346 from dtcooper/master
libobs/UI: Allow Access To argc/argv
2018-09-08 01:29:43 -07:00
cg2121 8882cfc484 UI: Remove license agreement dialog 2018-09-07 06:08:31 -05:00
Jim e9141de841
Merge pull request #1444 from DungFu/retina-icons
UI: Add retina support and updated icons
2018-09-01 21:50:34 -07:00
DungFu d70352a6ce UI: Add retina support and updated icons
OBS Studio currently does not support retina rendering for any of the
images in the app. This adds support for retina pixmap rendering as
well as adding higher resolution versions of each icon that was not
a high enough resolution to support 2x. The icons work when switching
themes and will only render the 2x versions when the device pixel
ratio is greater than or equal to 2.

I also added credits to the readme for images that were already being
used that require credit to the author. If the OBS community has
paid for these images already, I can remove the credits from the
readme. The credit is for the invisible, visible, and gear icons.
2018-08-31 23:00:23 -07:00
jp9000 1c2f6fafee UI: Set browser hwaccel def. to false if winver <=7
Due to reports of issues with Windows 7, if the user is on windows
version 7 or below, set the default for "Browser Source Hardware
Acceleration" to false instead of true.  This ensures optimal user
experience and still allows those who had it working to continue using
it if they so choose.

Exact cause for this issue on Windows 7 is currently unknown.
2018-08-26 12:26:31 -07:00
Jim d6699ed85d
Merge pull request #1411 from RytoEX/update-log-bitness
UI: Make OBS bitness more specific in title bar and log
2018-08-17 14:59:45 -07:00
jp9000 4d38e054e3 UI: Add adv. settings checkbox for browser HW accel
Adds a checkbox to advanced settings that allows the user to
enable/disable browser source hardware acceleration on windows.
2018-08-10 06:33:41 -07:00
jp9000 c7a2a674bc UI: Use NVIDIA laptop GPU hint
Changes the default "preferred" GPU to the NVIDIA GPU when running the
program on NVIDIA laptops.
2018-08-10 06:09:23 -07:00