Commit Graph
60 Commits
Author SHA1 Message Date
Jim 63c45cb18c Merge pull request #2106 from cg2121/fix-preview-bug
UI: Fix issue with preview projector
2019-12-06 03:01:05 -08: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 74cd1da656 Revert "UI: Use theme colors setting for Projectors too"
This reverts commit 8a22889e3d.

After further usage, result is undesirable.  We don't need the theme
applied to projectors.
2019-06-16 17:43:55 -07:00
James Park 37bf66b9dc UI: Remove unused helper function renderVB
Lambda replacement was added, but old function was left behind.
2019-05-18 22:09:19 -07:00
SuslikVandjp9000 8a22889e3d UI: Use theme colors setting for Projectors too
Don't override the theme color settings for the Projector.
If required, the background color of the projector can be changed via

OBSProjector {qproperty-...}

record placed after "OBSQTDisplay {qproperty-...}" section in the theme
file (qss).
2019-04-17 07:10:12 -07:00
Clayton Groeneveld 4d908e31d3 UI: Don't hide cursor over multiview
I considered making this an option, but I decided against it because
I felt it wasn't necessary and would make the settings more complex.
Opinions are welcome.
2019-04-09 11:51:41 -05:00
Clayton Groeneveld 2080051b9f UI: Use icons from theme on Linux 2019-03-16 05:41:12 -05:00
Stéphane L a8944d0a34 UI: add a default black background to the PGM output of the multiview 2019-02-02 15:42:12 +01:00
jp9000 87ca80deac UI: Fix infinitely incrementing showing ref 2019-01-13 21:00:46 -08:00
Shaolin f8dfa4cb70 UI: Fix not all projectors using ProjectorAlwaysOnTop 2018-09-04 23:29:37 -03:00
JimandGitHub 86b7b0b6d5 Merge pull request #1457 from admshao/fix-projectors-always-on-top
UI: Use AlwaysOnTop option for windowed projectors
2018-08-29 09:08:59 -07:00
Shaolin 1ccbc3c68e UI: Use AlwaysOnTop option for windowed projectors 2018-08-29 02:17:11 -03:00
Shaolin 4264361469 UI: Fix a rare multiview crash when clicked
This was triggered by openning a fullscreen projector and trying to alt
tab. The projector was still on top but the first click on a KDE system
was returning a NULL activeWindow.
2018-08-29 00:51:45 -03:00
Andreas Reischuckandjp9000 71d2e870bb UI: Fix multiview hang
This could cause an infinite recursion if "show_in_multiview" was false
for a scene.

Closes obsproject/obs-studio#1426
2018-08-17 09:22:32 -07:00
Shaolin c145b129f3 UI: Add new Multiview Layout for up to 24 scenes
The variable name changes were done with the intent to ease the
abstraction of the scene, preview and program width/height size
so its not related with the canvas size but directly related with
our concept of scenes.
2018-05-20 23:20:52 -03:00
Shaolin b3a4051530 UI: Move more fixed values to multiview update 2018-05-20 23:20:52 -03:00
Shaolin 5921558548 UI: Adjust the multiview num sources by the layout
The variable name changes were done with the intent to ease the
abstraction of the scene, preview and program width/height size
so its not related with the canvas size but directly related with
our concept of scenes.
2018-05-20 23:20:52 -03:00
Shaolin abb929c0d1 UI: Calculate fixed values of the Multiview once 2018-05-20 23:20:52 -03:00
Shaolin 5b642c14de UI: Move multiview setting checks from draw path 2018-05-20 23:20:52 -03:00
Shaolin b8966802ef UI: Add option to toggle multiview draw safe area 2018-05-20 23:20:52 -03:00
Shaolin 03de558af1 UI: Update multiview safe areas
Make the safe areas respect the EBU R 95 and Rec. ITU-R BT.1848-1
standards for 16:9 content.
Links: https://tech.ebu.ch/docs/r/r095rev1_March2016.pdf and
https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.1848-1-201510-I!!PDF-E.pdf
2018-05-20 23:20:52 -03:00
Shaolin 4649783b1e UI: Add option to toggle multiview scene names 2018-05-20 23:20:52 -03:00
Shaolin e0e2cc57a0 UI: Add option to toggle multiview mouse switching 2018-05-20 23:20:52 -03:00
Shaolin 959bdda48c UI: Adjust multiview label size 2018-05-20 23:20:52 -03:00
Shaolin b4d2d5d9c4 UI: Add proper source markers to multiview
This ensures the pixel correctness of the sources selection highlight
boxes when on a fullscreen projector.

When on a windowed projector due to the nature of int<->float
conversions and also due to the limited space, some source boxes
might be like 'off-by-one' and barely noticeable.
2018-05-20 23:20:52 -03:00
Shaolin 98839524f7 UI: Simplify multiview draw code 2018-05-20 23:20:52 -03:00
Shaolin 1b357d3b12 UI: Change multiview non-studio selection color
When not in studio mode the preview and program sources are the same
but the checks will be made against GetCurrentSceneSource which were
resulting in the multiview source highlight to give the previewColor
where in this case we want the programColor.
2018-05-20 23:20:52 -03:00
Shaolin 3d189484f9 UI: Remove the outerbox markers in multiview
The same effect is achieved by painting the whole canvas with
the outerColor
2018-05-20 23:20:52 -03:00
Shaolin 40f8d4cfb2 UI: Make the multiview lines use the same color 2018-05-20 23:20:52 -03:00
Shaolin 32ee7ee4e2 UI: Clean up Projector Creation
The Init function were only called on projector creation so this isn't
needed to be on a separate function. Its clearer to read the code.
2018-05-20 23:20:52 -03:00
Shaolin 22a1887340 UI: Clean up projector's render regions creation 2018-05-20 23:20:52 -03:00
Shaolin fc3e85a598 UI: Make multiview colors easier to manage 2018-05-20 23:20:52 -03:00
Shaolin a142261edd UI: Clarify multiview layout names 2018-05-20 23:20:52 -03:00
Shaolin b0415621d6 UI: Use enum for multiview layout 2018-05-20 23:20:52 -03:00
Shaolinandjp9000 f61090e1ea UI: Set OBS icon to projector and stats window
Closes obsproject/obs-studio#1259
2018-04-22 04:56:45 -07:00
Shaolin 8b6641d1a8 UI: Clean up OBSProjector creation 2018-03-18 05:11:44 -03:00
Shaolin 372640ff35 UI: Update Projectors title on source name change 2018-03-18 05:11:44 -03:00
Shaolin 76af4ff36d UI: Clean up save and load projector code 2018-03-18 05:11:44 -03:00
Shaolin 8ec1f97d30 UI: Add helper functions to Projector 2018-03-18 05:11:44 -03:00
Shaolin 3952fe2693 UI: Simplify Projector Init 2018-03-18 05:11:44 -03:00
Shaolin 7da90fa25f UI: Refactor Projector OBSRender source usage 2018-03-18 05:11:44 -03:00
Shaolin abbcb6ae88 UI: Move ProjectorType enum to projector header 2018-03-18 05:11:44 -03:00
Palakis 632596bb6b UI: fix Multiview labels readability 2018-01-22 14:00:41 +01:00
jp9000 9d4be5e575 UI: Fix warning 2018-01-10 21:41:07 -08:00
jp9000 0389ecf9f0 UI: Use GDI+ text for multiview on windows
Fixes an issue where text would not have language glyph fallback if
another language would used.  This problem still needs a solution on
linux/mac (and preferably a fix for language glyph fallbacks when using
freetype 2 in general).
2018-01-10 21:36:17 -08:00
Shaolin abc26b87fe UI: Add Multiview Layout Options 2018-01-05 19:26:30 -02:00
Shaolin 864caee16c UI: Add Single/Double click options to Multiview
The click to select scenes follows the same rules
as the main UI. The double click respects the option
under Settings -> General -> Studio -> Transition
to scene when Double Clicked.
2018-01-05 19:25:08 -02: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 3770a24e61 UI: Fix draw issues with multiview projector
Scissor rects would affect the internal effect rendering of sources, so
scissor rectangles aren't the ideal method of restricting draw space.
Instead, use viewports and projection matrices, which are automatically
accounted for by internal source handling.
2017-12-02 15:36:32 -08:00
Shaolinandjp9000 721cb3dea5 UI: Add Multiview projector
Jim note:

- Refactored code significantly
- Added a context menu option to exclude specific scenes from projectors
- Made it so multiview projectors update when scenes are
  added/removed/renamed
- Increased text quality
- Removed the color sources and replaced them with simple solid
  rectangles
- Increased the border size of "program" and "preview" scenes in the
  lower scene list

Closes jp9000/obs-studio#1068
2017-12-01 12:14:02 -08:00