Commit Graph

140 Commits (6dce4662cfc6d37792a38414d9f737cf168eb0d2)

Author SHA1 Message Date
jp9000 0fb34ed965 UI: Fix closing OBS before showing whats new dialog
The program can get stuck waiting for the browser within a event queue,
so instead mark that the program is closing, do it in a separate thread,
signal the window when it's finished, and then check whether it's in the
process of closing before actually showing the dialog.
2020-03-16 08:59:46 -07:00
Clayton Groeneveld b240a5671b UI: Do not disable t-bar 2020-03-05 09:11:17 -06:00
Clayton Groeneveld b3601681b8 UI: Add ability to lock volume 2020-02-16 18:33:46 -06:00
Matt Gajownik 8a0cfc5665 UI: Use OBS dock menu instead of Qt dock context menu 2020-02-16 09:37:39 -08:00
VodBox 191165c721 UI: Add advanced scene collection importer
This replaces the previous Open File dialog for importing collections
with a window for importing many collections at once, based on the remux
window, along with support for importing from OBS Classic, XSplit
Broadcaster and from Streamlabs' fork. This also translates sources
between OSes that Studio supports.
2020-02-16 17:56:06 +13:00
jp9000 7c9d227f1e UI: Watch for refresh signal in source list 2020-02-07 16:44:48 -08: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
jp9000 5f830522a2 UI: Add drag and drop for URLs
Co-authored-by: Matt Gajownik <matt@wizardcm.com>
2020-01-13 03:09:30 -08:00
Lqlsoftware 046464884a UI: Properly inform user if recording path is invalid 2019-12-30 14:18:32 -08:00
Clayton Groeneveld 68d88fa4c6 UI: Add t-bar to studio mode
Co-authored-by: Jim <obs.jim@gmail.com>
2019-12-27 16:41:28 -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 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
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
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
Clayton Groeneveld 54e7b2c769 UI: Fix swap scene issue with double click mode 2019-11-19 22:10:22 -08:00
Clayton Groeneveld 0676c385ba UI: Fix main transition being set to the quick one
This fixes an issue where using a quick transition, it would change
the main transition as well.
2019-11-05 23:47:28 -06:00
Clayton Groeneveld 1c005fcb51 UI: Add fade to black in studio mode 2019-10-24 19:00:33 -05: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
Stéphane Lepin 881e49ce62 UI: frontend api "trans. duration changed" event 2019-10-12 16:29:44 -07: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
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
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
Clayton Groeneveld 866e1e15a8 UI: Add enable preview button
Closes #1966
2019-07-13 20:27:14 -05: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
VodBox 16484e07e9 UI: Add Transition Previews
This commit adds a preview to the properties window for transitions.

The preview will play back the transition at the global transition
duration or the transitions fixed duration, between two private scenes
with an A and B label, and different background colors.
2019-05-12 21:13:21 -07:00
jp9000 acc8419295 UI: Add Patreon contributors to About dialog 2019-05-05 20:00:26 -07:00
jp9000 f21a48ff36 UI: Remove mac browser workarounds, improve stability
The workarounds were made because of conflicts with running multiple UI
threads at once on macOS, which macOS can't do very well, and would be
susceptible to crashes.  This would cause crashes not only on startup
but seemingly at random when using the browser source on macOS.  The
original "fix" was a hack to try to minimize UI code and browser UI code
from executing at the same time.  The macOS initial scene loading was
deferred until all Qt-related and main window initialization was
completed.  Although this worked to some extent to prevent conflicts, it
made it so that there was an initial period on startup where the entire
UI seemed "blank" for users, and it was still possible for the main UI
thread and the browser UI thread to clash, causing crashes seemingly at
random for users.

The external message pump method of CEF is the solution to the problem,
which is the method which allows the main UI thread to share events with
CEF.  To do this, all CEF operations need to be performed in the UI
thread (Qt's main thread), and CefDoMessageLoopWork() needs to be called
when CefApp::OnScheduleMessagePumpWork callback is triggered.  A number
of other issues had to be solved as well, such as CefBrowser references
getting "stuck" in the Qt event queue.

With this, macOS no longer needs to do the "deferred load" hack, and
browsers are now much more stable and no longer as susceptible to
seemingly random crashes, improving overall program stability when
browsers are used.
2019-05-01 12:13:35 -07:00
Jim 5781605289
Merge pull request #1847 from cg2121/scene-copy-paste-filters
UI: Add ability to copy/paste scene filters
2019-04-23 18:18:10 -07:00
Clayton Groeneveld 2940c80f49 UI: Add ability to copy/paste scene filters 2019-04-23 06:46:04 -05:00
guangong7628 16cc60587f UI: Fix unable to escape when renaming scene
Fixes https://obsproject.com/mantis/view.php?id=1443
2019-04-23 04:20:49 -07:00
Richard Stanway 90df9ea290 UI: Update error message severity levels and show additional info 2019-04-19 05:45:19 -07:00
Clayton Groeneveld e89283d172 UI: Add hotkey to toggle preview 2019-04-14 04:51:34 -07:00
Clayton Groeneveld 977dea4ff0 UI: Add ability to center items vertically/horizontally 2019-04-08 22:52:39 -07:00
Anthony Torres bd71839259 UI: Add text autoselect on scene rename 2019-04-08 02:14:06 -07:00
Colin Edwards 1dc3edc805
Merge pull request #1694 from cg2121/audio-mixer-copy-filters
UI: Add ability to copy & paste filters from the mixer
2019-03-13 22:13:54 -05:00
Clayton Groenveld 5a5efa0b3e UI: Add preview/program labels in studio mode 2019-03-03 22:38:23 -06:00
Clayton Groeneveld ad55f413bb UI: Add ability to copy & paste filters from the mixer 2019-02-26 06:58:53 -06:00
jp9000 01c78bffc5 UI: Do not display threaded message boxes on startup
The message boxes that tell you that the browser is initializing or that
you're authenticating with twitch are annoying on startup.  It makes
sense to do it in the settings/autoconfig dialogs where you sort of need
to know what's going on while waiting for it to connect, but on startup
it's not really necessary and can be kind of annoying.
2019-02-20 17:35:02 -08:00
jp9000 d17ee20863 obs-frontend-api: Make a few frontend API thread-safe
Additionally, check for null output handlers.
2019-02-18 19:28:26 -08:00