351 Commits

Author SHA1 Message Date
Richard Stanway
42ed6ffffb UI: Fix preview not being disabled when minimized 2020-02-13 23:18:40 +01:00
jp9000
7c9d227f1e UI: Watch for refresh signal in source list 2020-02-07 16:44:48 -08:00
Matt Gajownik
c58f6aea35 UI: Show source icons in Advanced Audio Properties
Co-authored-by: VodBox <dillon@vodbox.io>
2020-02-04 13:21:59 +11:00
jp9000
9f1c442d35 UI: Add option to toggle source icons to View menu 2020-01-20 23:19:32 -08:00
Clayton Groeneveld
f7d39c12c0 UI: Fix studio mode transition bugs
-If the user were in the middle of a transition and clicked
the cut transition, the transitions would become borked.

-This actually disables the transition widgets, so the
user doesn't click them. Before, the disabling of the
widgets didn't work as expected. The code for enabling/disabling
them was also simplified.

-This loading of studio mode was moved in OBSInit because
the loading of transitions needs to happen first. This fixes
a bug when enabling/disabling the t-bar when the program
is first loaded. The t-bar would be disabled even if a
cut or stinger transition was not used.

-When the user would click the quick transitions, the
t-bar would be enabled even when it was not supposed
to.
2020-01-14 01:29:23 -06:00
Lqlsoftware
046464884a UI: Properly inform user if recording path is invalid 2019-12-30 14:18:32 -08:00
jp9000
e2fa510436 UI: Add save button next to replay buffer button
Allows the ability to save replays with a button rather than with the
keyboard if desired.

Closes obsproject/obs-studio#1954
2019-12-12 17:59:20 -08:00
JohannMG
b78cdc910b UI: Add Start Streaming settings check on start
When we use the server error to respond to user's failing to start a
stream it is slow to return an error and unclear to the user what went
wrong. This diff introduces a simple settings check before attempting
to stream and catch and explain specific URL/key issues to the user.

In the case of preset services we check there is a Stream Key before
attempting to start a stream.

In the case of "custom" we only verify there is a URL since for some
services that's all that is required or the user may use user/password
authentication.
2019-12-11 01:50:41 -08:00
JohannMG
c4396e03a7 UI: Create UI Validation Helper Class
Pull UI validation and its helpers to their own class. This class will
be used to validate forms and perform UI-action checks such as
checking stream keys aren't empty and in this diff now holds the logic
to ensure there is a source before the person starts a stream.
2019-12-11 01:23:36 -08:00
VodBox
c0e2e7f12e UI: Add Grid Mode to Scenes Widget
Adds an option to the right click menu in the scenes widget to switch
modes. When in regular list mode, it'll let you select grid mode, and in
grid mode, it'll let you select list mode. Grid mode changes the scenes
widget to have a grid of buttons for scenes rather than a list, much
like XSplit.
2019-12-02 08:42:10 +13:00
Richard Stanway
2a917531fd
UI: Default stream / record confirm dialogs to "No"
Helps prevent accidental stream starting if for example a cat walks on
the spacebar while the button has focus.
2019-11-27 12:34:10 +01:00
Chris Angelico
7c540acc11 UI: Create an API for opening projector windows 2019-11-24 22:45:28 -08:00
Chris Angelico
412a75601e UI: Break out the opening of a projector into a slot function 2019-11-24 22:23:16 -08:00
Clayton Groeneveld
82ffcdc827 UI: Add source icons 2019-11-24 20:50:42 -08:00
Jim
87b02924d5
Merge pull request #2102 from cg2121/toggle-projector-mode
UI: Add ability to change projector type
2019-11-24 02:39:49 -08:00
Ford Smith
eeafb3dbb3 UI: Fix wrong icon if recording stopped while paused 2019-11-22 23:54:01 -08:00
Jim
c290e81a1a
Merge pull request #2094 from torresam/copy_sources
UI: Add copy/paste of multiple selected sources
2019-11-22 23:48:51 -08:00
jp9000
cafc9995d8 UI: Fix wrong icon if recording stopped while paused
Fixes pause icon getting stuck if you stream or use replay buffer while
recording, pause, then stop recording while paused.  The icon would get
stuck on the pause icon until all outputs were stopped.
2019-11-20 15:46:42 -08:00
Jim
317d058bf4
Merge pull request #2107 from cg2121/mantis-1554
UI: Fix swap scene issue with double click mode
2019-11-20 01:51:44 -08:00
Clayton Groeneveld
54e7b2c769 UI: Fix swap scene issue with double click mode 2019-11-19 22:10:22 -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
Ford Smith
ac75ec1247 UI: Add system tray icon to indicate when paused 2019-11-17 18:17:07 -08:00
Clayton Groeneveld
bab3391ce4 UI: Use radio buttons for FLV track selection 2019-11-09 08:19:41 -08:00
Clayton Groeneveld
e832b42f07 UI: Add ability to change projector type 2019-10-21 23:48:58 -05:00
Clayton Groeneveld
52a3a61a6e UI: Simplify fullscreen toggle code 2019-10-21 15:17:26 -05:00
Clayton Groeneveld
c4169ba15a UI: Add stats reset hotkey 2019-10-15 23:20:35 -05:00
Clayton Groeneveld
016d4ee87f UI: Fix issue where multiview doesn't update 2019-10-10 20:12:20 -05:00
Anthony Torres
6c32e9a8c7 UI: Add copy/paste of multiple selected sources 2019-10-05 00:04:35 -07:00
Richard Stanway
27b7f45fd7 UI: Fix path calculation for disk space check
When using custom FFmpeg output mode, the check would instead use the
standard recording path which is no longer visible in the settings. This
commit also simplifies the checks by moving the duplicated code to a new
function.
2019-09-27 15:04:07 +02:00
jp9000
94cab1e536 UI: Hide mixer sources if audio deactivated
If audio is determined to be deactivated via the audio source (via the
new "audio_activate" and "audio_deactivate" signals), hide the audio
source in the mixer.
2019-09-19 23:38:53 -07:00
jp9000
3064887ae2 Revert "UI: Various screen reader fixes"
This reverts commit b5843caa484068d6fcc5f5fe8ee2dc06078500ff.

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
jp9000
5287518044 UI: Fix pause hotkey not working properly
Setting the check state cause the toggle signal to trigger, so it would
pause and immediately unpause.
2019-09-12 12:06:09 -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
Clayton Groeneveld
e284b102d8 UI: Simplify toggle pause code 2019-08-20 06:37:48 -05:00
Clayton Groeneveld
e770a775c6 UI: Update tooltip when paused 2019-08-20 06:37:22 -05:00
jpark37
cc7d67d050 UI: Redundant/bad casts 2019-08-17 08:49:08 -07:00
Jim
f838136597
Merge pull request #1924 from cg2121/stop-recording-disk-full
UI: Stop recording when disk space is low
2019-08-17 07:17:04 -07:00
jpark37
0ea820b277 libobs: UI: Add Area scaling for downscale output
Now that Lanczos downscale blurring has been removed, the Area shader
can attempt to fill the void.
2019-08-14 22:33:52 -07:00
jp9000
0759652cee UI: Add the ability to create custom browser docks
Allows the ability for users to add custom browser widget docks that
they can use for their third party services if they feel the need,
mostly as a convenience tool so they don't have to open extra browsers
alongside the program.
2019-08-08 03:31:31 -07:00
Clayton Groeneveld
d9a4842604 UI: Stop recording when disk space is low
This stops the recording when disk space is low. It is currently
set to stop when disk space is below 500 MB.
2019-07-23 15:28:29 -05:00
Grant Likely
4e3ce938f2 UI: Add option to warn on stop recording
OBS has an option to warn before stopping a stream, but it doesn't have
a similar warning for recording. This can result in a recording being
unintentionally stopped.

Add an option to warn when the "Stop Recording" button is pressed.

Note: While OBS also has an option to warn on stream start, this
patch purposefully does not add similar warn on recording start option.
This is because accidentally starting to record isn't risky in the same
way that accidentally starting to stream is.
2019-07-21 22:57:31 -07:00
Jim
1831165c5e
Merge pull request #1969 from cg2121/simplify-code
UI: Simplify resize output code
2019-07-21 22:33:46 -07:00
jpark37
3456ed0644 libobs: UI: Remove DrawBackdrop() to save fullscreen pass
It's a waste of GPU time to do two fullscreen passes to render final mix
previews. Use blend states to simulate the black background of
DrawBackdrop() for the following situations:

- Main preview window (Studio Mode off)
- Studio Mode: Program

This does not effect:

- Studio Mode: Preview (still uses DrawBackdrop)
- Fullscreen Projector (uses GPU clear to black)
- Windowed Projector (uses GPU clear to black)

intel GPA, SetStablePowerState, Intel HD Graphics 530, 1920x1080

Before:
DrawBackdrop: ~529 us
main texture: ~367 us (Cheaper than drawing a black quad?)

After:
[DrawBackdrop optimized away]
main texture: ~383 us
2019-07-18 19:58:29 -07:00
Clayton Groeneveld
5f5ba54a66 UI: Simplify resize output code 2019-07-15 04:50:42 -05:00
Jim
3975a7c42a
Merge pull request #1963 from WizardCM/mkv-default
UI: Change default recording format to MKV
2019-07-13 18:54:47 -07:00
Clayton Groeneveld
866e1e15a8 UI: Add enable preview button
Closes #1966
2019-07-13 20:27:14 -05:00
Matt Gajownik
ca12847aa8 UI: Change default recording format to MKV 2019-07-11 15:39:46 +10:00
jp9000
eab10d48b2 UI: Add pause support
Adds support for pausing recordings.  When settings are eligible for
recordings, a pause button will appear next to the recording button.  If
the settings are not eligible, it will warn the user in the output
settings that they cannot pause recordings if those settings are used.
2019-07-08 08:11:56 -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
jp9000
58ce89bbe9 UI: Fix tray icon showing up on startup even if off
Apparently certain versions of Qt have a bug where the tray icon's
internal "visible" variable is set to false despite the fact that it
still shows.  Calling show() first before calling hide() sets the
internal boolean value and fixes the issue with the hide call.
2019-06-11 20:22:24 -07:00