0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

487 Commits

Author SHA1 Message Date
jp9000
cdd94b2b59 Revert "UI: Only apply new scaling behavior on newer installs"
This reverts commit 4e5f20dcbe.

This originally was added because of a faulty assumption that it would
change defaults, but defaults were apparently broken from 26.0.2 -> 26.1
because primaryScreen->size() changed its behavior, so the original code
technically fixed the original behavior.
2020-12-29 09:13:37 -08:00
jp9000
4e5f20dcbe UI: Only apply new scaling behavior on newer installs
The new scaling behavior affects defaults, so only apply it to new
installs of 26.2 or greater, while maintaining the previous behavior if
the user is upgrading from an older version.
2020-12-29 08:58:30 -08:00
Ryan Foster
5cdd084c7f UI: Support fractional scaling for Canvas/Base size
Without this change, new profiles created on systems using a fractional
scaling factor (e.g., 125%, 150%, 175%) will get an incorrect (X, Y)
pair for the new canvas size. For a display with 125% scaling, OBS would
set (1536, 864) instead of (1920, 1080). With this change, it will set
(1920, 1080).
2020-12-29 08:40:07 -08:00
Richard Stanway
38ad3ba18f UI: Add deferred function to update context bar
With the queued connection in d68484e7, the "Deselect" signal for
sources which are being deleted is never fired, as the object is gone by
the time the queued signal is processed. This results in the context bar
not updating.

This commit adds a new UpdateContextBarDeferred function, allowing
queuing of only the context bar update instead of the whole signal
handler.
2020-12-14 11:53:01 -08:00
Matt Gajownik
5f5b220048 UI: Correctly unregister Virtual Camera & Source Toolbar hotkeys
Fixes an issue where the hotkey entries would be duplicated
(including in the UI hotkey list) on every Profile switch.
2020-12-06 23:01:46 +11:00
Matt Gajownik
448599e761 UI: Sync 'Copy Filters' enabled state in the Source context menu
This matches the behaviour of Scenes and the Audio Mixer.
2020-12-04 21:10:37 +11:00
ckelsel
f4adc26864 UI: fix typo 2020-12-02 16:56:11 +08:00
Mike
f0593f3805 UI: Fix Save Replay button staying highlighted 2020-11-24 14:32:29 -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
PatTheMav
8110b8bd65
UI: Fix tray icon menu handling on macOS 2020-11-13 17:17:45 +01:00
PatTheMav
35e6f5e17a
UI: Update tray icons to use masks on macOS 2020-11-12 23:39:32 +01: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
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
Richard Stanway
9a64adb4d1 UI: Don't update source context bar when hidden 2020-10-31 20:59:12 -07:00
Clayton Groeneveld
2b50263d5c UI, libobs: Add ability to copy/paste single filter 2020-10-15 10:14:22 -07:00
jp9000
3d51602690 UI: Fix replay buffer frontend event not triggering
The frontend API event OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED was not
being triggered when hotkeys were used because it was only set to
trigger when the replay buffer button was clicked, not when a hotkey was
used. This fixes it so that the frontend event sends a signal to the
frontend so that hotkeys will actually work.
2020-10-12 16:59:26 -07:00
hgonomeg
d3ec3e99d5
UI: Add replay buffer saved event to the frontend api (#3592)
* obs-frontend-api: add the event of saving replay buffer

Add OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED as given by RFC 33

* UI: Emit the replay buffer saved event to the api

Send the OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED to api (as in rfc33)

* docs/sphinx: Add replay buffer saved event

Documentation provided for OBS_FRONTEND_EVENT_REPLAY_BUFFER_SAVED (RFC33)
2020-10-10 17:53:13 -07:00
jp9000
86e04d00ec Revert "UI: Delete existing fullscreen projector"
This reverts commit 01fe9c990c.
2020-10-04 22:32:17 -07:00
Scratch
8a1ad18674 UI: Fix tab order for controls dock 2020-10-02 07:01:40 -07:00
Programatic
f79737d479 UI: Implement exit on CTRL + Q for linux
Fixes #3106
2020-10-02 03:40:26 -07:00
PatTheMav
cab32e7e67 UI: Disable QT's implicit colourspace conversion on macOS
Fixes issues as described in https://bugreports.qt.io/browse/QTBUG-47660
and halves CPU usage of OBS' UI by about 40-50%.
2020-10-01 23:54:58 -07:00
Richard Stanway
76fcfa9ed3 UI: Clarify system tray code
If the tray is disabled in settings, we no longer allow the command line
parameter to override it and create a tray icon regardless. This matches
the behavior in the UI, where "minimize to tray on startup" becomes
unavailable if the "tray enabled" setting is unselected.
2020-09-27 19:37:53 +02:00
Richard Stanway
e8c3ad1482 UI: Fix formatting 2020-09-27 19:18:02 +02:00
Richard Stanway
7d3fa7315a UI: Miscellaneous code cleanups
Remove a few unused variables and other minor changes. No functional
differences. Issues detected by PVS Studio.
2020-09-27 19:03:21 +02: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
2963b3b8ed UI: Create output before calling start stream event
Allows modifying the output OBS_FRONTEND_EVENT_STREAMING_STARTING.
2020-09-16 22:25:09 -07:00
jp9000
c0f19b95d5 UI: Do not always have log viewer loaded
This object should not always be created on startup. Instead, only load
it specifically when the user wants to load it.

This fixes a freeze some users were experiencing due to the text widget.
Unfortunately, it is not yet known how that freeze occurred with the log
viewer, so for the time being do not load the log viewer object unless
explicitly created.
2020-09-15 20:29:40 -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
Jim
32bb14ddea
Merge pull request #3451 from kkartaltepe/fix-upload-logs-linux
UI:Fix crash on log upload
2020-09-13 16:18:00 -07:00
Kurt Kartaltepe
74f9661556 UI:Fix crash on log upload
Earlier code calls enable on platform specific UI elements resulting in
crash since these elements are deleted on Linux.
2020-09-10 18:20:07 -07:00
Kurt Kartaltepe
02291f79b8 UI: Fix recording check when using url output
Previously this check would prevent you from using URL output if your
file output target was invalid.
2020-09-08 20:29:40 -07:00
Richard Stanway
063c69ad1e UI: Don't warn about bandwidth test mode if not authed
It was possible to enable the bandwidth test and disconnect your Twitch
account, resulting in a confusing prompt about streaming in bandwidth
test mode when trying to start a stream.
2020-09-09 01:31:48 +02:00
jp9000
50d3130b64 UI: Replace/simplify device toolbar
The old version of the device toolbar was a complex situation.  Because
of the fact that device properties can take significant time to query,
this put an unpleasant burden on the UI thread; so to fix this problem,
the device toolbar was made to be threaded.  However, threading is a
complex and dangerous thing, and there is a fear that this could cause
complications down the line whenever users are simply selecting devices.

So for the time being, as a safety precaution, simplify the device
toolbar down to just the "activate" button, and make it so that if users
really need to query and change the devices, that they need to
explicitly open the properties.  That way the devices aren't being
queried constantly every time a device source is selected.

Alternatively in the future, device enumeration could be cached, but
seeing as that's a significant amount of work and needs to take in to
account whether a user adds/removes a device while the process is
active, that's not going to happen any time soon.
2020-09-07 16:21:29 -07:00
Jim
86147d9719
Merge pull request #3415 from jpark37/default-color-space
Unify color space settings as 709
2020-09-07 13:29:44 -07:00
Jim
358f453938
Merge pull request #3400 from cg2121/studio-mode-bug
UI: Fix studio mode load bug
2020-09-07 06:34:15 -07:00
Daniel Escoz
c899729c12
UI: Ensure tray icon is themed in all cases 2020-09-07 00:06:33 +02:00
jpark37
bfa0224399 UI: Change the default color setting in the UI from sRGB to 709
It seems like YouTube applies nonlinear-to-linear sRGB, and
linear-to nonlinear-709 transformations to uploaded videos now. This
makes sRGB too dark on their platform for video players that alias 709
as sRGB, which is almost everyone. Make 709 the default to keep peace.
2020-09-06 12:33:02 -07:00
Jim
a66a8da093
Merge pull request #3383 from Programatic/warning_fix
UI: Fix compiler warning about needing parenthesis
2020-09-03 07:44:24 -07:00
jp9000
b99613b677 UI: Fix auto-remux not working w/ slash filesnames
When the feature was added to allow slashes in recording/replay
filenames to automatically create directories, auto-remux was not
accounted for, and all filenames were assumed to be complete.  It used
fi.completeBaseName() to construct the new name which would only add the
last part after the last slash as the filename, causing the remuxed file
to save in the base directory rather than the intended directory.  This
fixes that by simply using the input string as the output string,
removing the extension, appending the new extension.
2020-09-03 05:49:58 -07:00
jp9000
4869167f5c UI: Do not show tray icon if not active
Because the virtual camera stops immediately when you call
obs_output_stop() rather than with a delay like other outputs, it
exposed a bug where the tray icon would show OBS as active when stopping
the source, regardless of the fact that it was stopped.  The bug was
that the expression used to activate the tray icon did not check to make
sure that the output was actually active, so add that to the expression.
2020-09-03 05:49:58 -07:00
jp9000
28f56c0201 UI: Do not show media controls on network media source 2020-09-03 05:49:58 -07:00
Clayton Groeneveld
8a3b3da5e4 UI: Fix studio mode load bug
This fixes a bug where studio mode where it would transition
to the preview scene when loaded instead of using previous
program scene.
2020-09-02 22:53:35 -05:00
Programatic
e1fd89a4e5 UI: Fix compiler warning about needing parenthesis
It was the only thing blocking me from a clean and satisfying compile.
2020-09-01 12:53:25 -05:00
Jim
afb6e8acb6
Merge pull request #3343 from cg2121/output-source-delete
UI: Fix output channels not being deleted
2020-08-26 01:13:09 -07:00
Jim
7b43e2072a
Merge pull request #3342 from RytoEX/disable-rename-shortcuts-while-editing
UI: Disable scene rename shortcut key while renaming
2020-08-26 01:12:40 -07:00
Jim
466e5f6a6d
Merge pull request #3339 from Programatic/tray_fix
UI: Fix tray icon appearing when disabled in settings
2020-08-26 00:07:56 -07:00
Jim
e4e78db7a8
Merge pull request #3332 from WizardCM/log-focus
UI / Log Viewer: Bring to front rather than close, add minimize/maximize buttons
2020-08-26 00:06:29 -07:00
Clayton Groeneveld
08426c8710 UI: Fix output channels not being deleted
Output channel 6 was not being deleted, so use for loop
to delete all possible channels.
2020-08-25 23:19:10 -05:00
Ryan Foster
9cb36f803f UI: Disable scene rename shortcut key while renaming
While editing a scene name, the Qt shortcut key for the renameScene
action remained active. If the user pressed the shortcut key while
actively editing a scene name, the widget would retrigger the action,
causing the name edit to fail and discard the current changes to the
scene name. The scene name would be reset to its previous saved value
and reselected as if the user had pressed the shortcut key for the first
time.

This commit removes the QAction associated with the shortcut key from
the scenes dock widget when editing starts and adds the action back to
the widget once editing is done.

Fixes #3044.
2020-08-25 22:33:23 -04:00