Commit graph

5599 commits

Author SHA1 Message Date
jp9000 b3dfd7ef80 libobs: Fix bug where cropped items would recalc transform
Fixes a bug where items that had cropping would recalculate transform
every frame.  obs_scene_item::last_width and obs_scene_item::last_height
would be set to the cropped sizes rather than the source's actual size.
2018-06-03 15:04:38 -07:00
jp9000 df88140e6a libobs: Zero scene data instead of setting members manually 2018-06-03 15:04:38 -07:00
jp9000 3a05cf6ab0 libobs/callback: Add signal reference counting
Adds a simple signal reference counting function
(signal_handler_connect_ref) that makes it so that signals keep the
handler around until the all the signal itself is disconnected.  This
prevents potential crashes where a signal might try to disconnect after
a handler has already been destroyed (typically in C++ with
OBSSignalHandler helper objects, where destruction isn't guaranteed to
be predictable).

This also modifies OBSSignalHandler to use the reference-counting
connections.
2018-06-03 15:04:03 -07:00
jp9000 10fc206f98 libobs: Refactor obs_scene_add to allow adding internally
Allows using obs_scene_add_internal to add without sending signals.
2018-06-03 07:24:59 -07:00
jp9000 b46fab87b2 UI: Fix a few unused lambda closure captures 2018-06-03 07:24:59 -07:00
Ryan Foster 797c9d330c libobs: Copy metadata for tracks/streams when remuxing 2018-06-02 10:15:13 -04:00
Zachary Lund 698e6418ba obs-filters: Use double-precision where viable
We're expecting a variable with double precision. Since we don't read
the value of these doubles with a particular precision, it can often
lead to unpredictable results where the value set isn't the one
intended due to the loss of precision from float->double conversion.
2018-05-30 14:52:39 -07:00
Richard Stanway 834ebbd2d4
libobs: Avoid busy cursor when starting processes
Windows 10 shows a busy cursor when a process is created, this is not
useful for our background processes which have no UI.
2018-05-30 17:25:33 +02:00
Zachary Lund 396c05e23c libobs: Allow custom core data paths
Closes obsproject/obs-studio#1300
2018-05-29 04:56:37 -07:00
Jim 3dccabe96c
Merge pull request #1302 from craftwar/appveyor
CI: Upgrade to VS2017 on Appveyor
2018-05-29 02:22:04 -07:00
nleseul 5a111cf073 libobs: Handle 'in', 'out', and 'inout' keywords in shader parsers 2018-05-28 12:07:20 -04:00
Ryan Foster 1f592d12aa obs-ffmpeg: Set average framerate in video stream
This commit fixes an issue where videos created with OBS will appear as
having 1000 FPS in some media players.
2018-05-27 00:45:05 -04:00
Justin Love a4b2b6f3bf Make alpha visible in property color
Show a light/dark pattern so alpha in the selected color is evident.
2018-05-26 09:23:05 -05:00
Justin Love 86b69b7d24 Use selected color in color property label
Originally wanted to do a separate color swatch, but was stymied by the
single widget reference in WidgetInfo. Using QPalette values achives
basic white/black text for contrast, though it is still possible to
select a color with poor contrast.
2018-05-23 11:50:41 -05:00
Jim 32d2aeb4ee
Merge pull request #1260 from admshao/multiview-updates
Multiview updates
2018-05-21 14:58:55 -07:00
craftwar 563e90a9fd CI: Upgrade to VS2017 on Appveyor 2018-05-21 11:44:40 +08: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 2420d4d31d UI: Move multiview settings to its own groupbox 2018-05-20 23:20:52 -03:00
Shaolin 177ce13655 UI: Update multiview on scene list reorder 2018-05-20 23:20:52 -03:00
Shaolin 09135d6917 UI: Update multiview on resolution change 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 4ed9d02052 UI: Make the sources border color a little darker 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 b8a901c870 UI: Convert multiview layout string profiles to int
This commit series changes the ini user configuration multiview layout
so that string values were converted to int. In order to prevent past
user saves to break we verify if the ini still have string values and
convert that to int on obs init.

This will make the code easier to maintain in clearer to read the
multiview layout settings, also, makes the addition of new layouts
easier.
2018-05-20 23:20:52 -03:00
Shaolin b0415621d6 UI: Use enum for multiview layout 2018-05-20 23:20:52 -03:00
Jim 4cbdc2dbf3
Merge pull request #1257 from admshao/vertical-volume-meter
Add Vertical Mixer Toggle
2018-05-20 00:57:30 -07:00
Shaolin c7c328dc83 UI: Add Vertical Mixer option 2018-05-19 00:17:58 -03:00
Shaolin 288339ceda UI: Simplify Volume Control draw logic 2018-05-19 00:12:15 -03:00
Shaolin 5aab9bfb3e UI: Avoid copies in Volume Control 2018-05-19 00:12:15 -03:00
Shaolin 04fa4c49d9 UI: Clean up includes and code-style 2018-05-19 00:12:15 -03:00
Gol-D-Ace c6c98677b3 CI: Use QT 5.10.1 for AppVeyor builds
AppVeyor recently removed QT 5.7.1 for the Visual Studio 2015 image.
2018-05-18 19:46:35 +02:00
Richard Stanway b0bb067ba8
Use obsproject.com for log file uploads 2018-05-18 15:33:53 +02:00
Jim f1c1abce55
Merge pull request #1297 from Palakis/preview-scene-event-fix
UI: Fix OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED
2018-05-15 00:14:34 -07: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