Commit Graph

44 Commits (35e218e05bb49903c4cc87f439d78bab96b6ad4e)

Author SHA1 Message Date
Matt Gajownik a5453f12a0 UI: Don't open Studio Mode's Program label in a window 2020-03-21 22:19:29 +11:00
jp9000 5722710f0a UI: Turn off T-bar mode when going out of studio mode 2020-03-14 16:28:06 -07:00
Clayton Groeneveld 18f41afa18 UI: Fix override transition not working 2020-03-05 16:42:25 -06:00
Clayton Groeneveld b240a5671b UI: Do not disable t-bar 2020-03-05 09:11:17 -06:00
Clayton Groeneveld 69cede2b8d UI: Fix transitions being disabled 2020-02-04 06:06:45 -06:00
Clayton Groeneveld 0700c9eae1 UI: Fix transtions not enabled 2020-01-29 02:04:45 -06:00
Clayton Groeneveld 95c68fed15 UI: Fix t-bar not working with transition override 2020-01-21 23:53:11 -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
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
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
Jim b327bf5deb
Merge pull request #2053 from Palakis/feature/frontend-api-transition-duration-changed
Frontend API: provide a "transition duration changed" event
2019-10-12 17:34:09 -07:00
Stéphane Lepin 881e49ce62 UI: frontend api "trans. duration changed" event 2019-10-12 16:29:44 -07:00
Stéphane Lepin 5156de4b17 UI: set names on scenes duplicated for Studio Mode 2019-08-31 22:20:43 +02: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
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
Clayton Groeneveld ed5fdde059 UI: Fix preview/program label alignment 2019-04-22 03:08:35 -05:00
Richard Stanway 90df9ea290 UI: Update error message severity levels and show additional info 2019-04-19 05:45:19 -07:00
James Park 21f4dd63d4 libobs: UI: Use graphics debug markers
Add D3D/GL debug markers to make RenderDoc captures easier to tranverse.

Also add obs_source_get_name_no_null() to avoid boilerplate for safe
string formatting.

Closes obsproject/obs-studio#1799
2019-04-08 02:05:37 -07:00
Clayton Groenveld 5a5efa0b3e UI: Add preview/program labels in studio mode 2019-03-03 22:38:23 -06:00
Terje Gundersen 8b98568bbc UI: Don't transition if already transitioning (studio mode)
Closes obsproject/obs-studio#1304
2018-10-01 19:37:33 -07:00
jp9000 b6665f9cc0 UI: Use QScopedPointer (not QPointer) where applicable
Contrary to what the name would have you believe, QPointer<> is not used
to delete a pointer when it leaves its specific scope.  Instead, it's
used to check to see if the pointer is still valid.  For most
QWidget-based objects, this is actually fine because QWidgets that are
assigned to layouts or other widgets will automatically be destroyed --
however, for non-widget objects, this can cause a memory leak.

This patch replaces QPointer with QScopedPointer where applicable to
prevent memory leaks.

Closes obsproject/obs-studio#1367
2018-07-31 21:14:52 -07:00
Shaolin 0c43448ca2 UI: Fix OBS_FRONTEND_EVENT_TRANSITION_LIST_CHANGED
This event is fired during Add/Delete operations but was missing on
renaming a transition.
2018-07-09 19:08:42 -03:00
vokama 54ab27bda6 UI: Update hotkey label on quick transition rename 2018-06-05 01:38:19 +03:00
jp9000 f81d106b2a UI: Fix OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED
OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED is supposed to be called
whenever the user changes the current preview scene -- it was almost
never being triggered.
2018-05-15 00:49:12 +02:00
jp9000 cd1399f01a UI: Fix possible source reference leakage
This would fail to release the reference if the 'direct' parameter was
used.

Closes jp9000/obs-studio#1116
2018-01-04 18:43:12 -08:00
jp9000 7f6cf97bd7 libobs: Add obs_render_main_texture
(Note: This commit also modifies UI and test)

This makes it so that main preview panes are rendered with the main
output texture rather than re-rendering the main view.  The view will
render all objects again, whereas the output texture will be a single
texture render of the same exact thing.

Also fixes some abnormal artifacting when scaling the main preview pane.
2018-01-01 18:52:47 -08:00
jp9000 570cd49b6d UI: Duplicate when double-click switching is used
The studio mode double-click scene switching option disables scene
duplication, which bypasses the user's settings for scene switching in
studio mode.  This fixes it so that scenes are properly duplicated
according to the user's settings.
2017-12-02 16:36:01 -08:00
jp9000 42323ea31b UI: Fix scene override when switching off studio mode
The scene override would trigger, but the scene override variable would
stay set, causing the next transition to be the same one that was
previously used for overriding.
2017-11-30 09:51:24 -08:00
jp9000 ed7ae5839b UI: Don't override transition if quick transition
Fixes an issue where quick transitions would not function if the scene
has a transition override set for it.
2017-11-30 09:48:59 -08:00
cg2121 60e1d7e90b UI: Implement per-scene transition overriding
Allows the ability to override what specific transition a scene may use
when transitioning to it.

(Original proposal by cg2121, reworked by Jim)

Closes jp9000/obs-studio#1052
2017-11-30 05:10:25 -08:00
Ryan Foster f140104da8 UI: Add Studio Mode layout option for portrait mode displays
This commit adds a checkbox to general setting to allow users to enable
a vertically oriented layout for studio mode.

This commit addresses mantis issue 827:
https://obsproject.com/mantis/view.php?id=827

Closes jp9000/obs-studio#1072
2017-11-28 22:24:57 -08:00
jp9000 68e67366d2 UI: Fix bug with studio mode double-click switching
Fixes a bug where the OBSBasic::programScene variable would not be set
for the new program scene when switching scenes via double-clicking on
them.
2017-11-28 03:38:30 -08:00
Ryan Foster 9fce162137 UI: Add Studio Preview Projector
This commit allows a user to create projectors for the preview scene
instead of the program/live scene.

Close jp9000/obs-studio#1071
2017-11-27 00:28:03 -08:00
cg2121 3a43a047d4 UI: Add transition on double-click studio mode option
This adds the ability to switch to a scene by double-clicking it when in
studio mode.

(Edit by Jim: In case this change is undesired by the user, this has
been changed to be an option in general settings; disabled by default)

Closes jp9000/obs-studio#1029
2017-11-26 19:05:50 -08:00
Jim 27bb2f836d Merge pull request #899 from Palakis/preview-api
UI: Add functions and events for Studio Mode into the Frontend API
2017-06-27 19:39:53 -07:00
jp9000 b2e376b022 UI: Update quick transitions on transition add/removal
Fixes a bug where the individual drop-down lists of each quick
transition would not have the correct available transitions listed if
transitions were added, renamed, or removed
2017-05-14 23:06:11 -07:00
jp9000 522f5cdf3b UI: Make sure all message box buttons are translated
Instead of QMessageBox::question and QMessageBox::information, use the
OBSMessageBox class, which translates all buttons.
2017-05-13 14:06:32 -07:00
Palakis 2e3888abd4 UI: Add Studio Mode features in the Frontend API
With these new functions, plugin developers can enable, disable and
get the status of Studio Mode, as well as get and set the current
preview scene and transition the current preview to Program

Here is a list of the Studio Mode events:
   - Studio Mode enabled
   - Studio Mode disabled
   - Previewed scene in Studio Mode changed
2017-05-03 23:19:04 +02:00
jp9000 b2bdf96cd6 UI: Trigger frontend api scene change after transition
Changes the OBS_FRONTEND_EVENT_SCENE_CHANGED event after transitioning
is complete rather than right when the user hits a scene change.
2017-02-22 03:08:37 -08:00
jp9000 8836592d92 UI: Add front-end API library
Allows manipulating and modifying the front-end via plugins.
2016-09-06 22:01:48 -07:00
jp9000 9ed95b2497 UI: Change certain scene functions to slot functions
This allows using the functions via Qt message queue.  The reason for
this is so a frontend API can queue these functions to call safely from
another thread.
2016-09-06 04:54:23 -07:00
jp9000 01b274f1da UI: Rename 'obs' dir to 'UI'
This is to prevent confusion both when prefixing commits and when
reading the directory structure for the first time.
2016-08-27 20:19:45 -07:00