6638 Commits

Author SHA1 Message Date
jp9000
0800c8cbd1 obs-filters: Use int sliders for opacity
This changes all opacity scrollers for filters to sliders + scrollers.

Reference: obsproject/obs-studio#1827
2019-04-26 06:33:41 -07:00
jp9000
71f9900e74 obs-filters: Fix opacity on image mask/blend filter
The alpha value from the opacity slider was being overwritten.

Closes obsproject/obs-studio#1827
2019-04-26 05:22:44 -07:00
Jim
6f23c1ca4f
Merge pull request #1846 from jpark37/rgb-limited
Support limited color range for RGB/Y800 sources
2019-04-25 16:25:28 -07:00
James Park
a86710ec5b libobs: Support limited color range for RGB/Y800 sources
libobs: Add support for limited to full color range conversions when
using RGB or Y800 formats, and move RGB converison for Y800 formats to
the GPU.

decklink: Stop hiding color space/range properties for RGB formats, and
remove "YUV" from "YUV Color Space" and "YUV Color Range".

win-dshow: Remove "YUV" from "YUV Color Space" and "YUV Color Range".

UI: Remove "YUV" from "YUV Color Space" and "YUV Color Range".
2019-04-25 15:13:05 -07:00
jp9000
7d136c3ce1 decklink, win-dshow: Use obs_source_output_video2
Allows the ability to override and use partial range RGB with the
DirectShow and Decklink device sources when partial range RGB is
implemented.  Fixes certain cases where devices could capture RGB in
limited range via HDMI (per the HDMI specs).
2019-04-25 15:12:33 -07:00
jp9000
8d125dc01d libobs: Add better default source color range handling
Fixes handling of the `obs_source_frame::full_range` member variable,
which is often set to false by default by many plugins even when using
RGB, which would cause RGB to be marked as "partial range".  This change
is crucial for when partial range RBG support is implemented.

Adds `obs_source_frame2` structure that replaces the `full_range` member
variable with a `range` variable, which uses the `video_range_type` enum
to allow handling default range values.  This member variable treats
VIDEO_RANGE_DEFAULT as full range if the format is RGB, and partial
range if the format is YUV.

Also adds `obs_source_output_video2` and `obs_source_preload_video2`
functions which use the `obs_source_frame2` structure instead of the
`obs_source_frame` structure.

When using the original `obs_source_frame`, `obs_source_output_video`,
and `obs_source_preload_video` functions, RGB will always be full range
by default for backward compatibility purposes.
2019-04-25 15:12:08 -07:00
jp9000
f109d1c2bf Revert "libobs: libobs-d3d11: obs-filters: No excess alpha"
This reverts commit d91bd327d7a8bb4597562fc26da4edb7b56874ff, which
broke alpha with sources, scenes, and filter, causing them all to become
opaque unintentionally.
2019-04-25 08:36:41 -07:00
Jim
314a31d973
Merge pull request #1851 from cg2121/fix-theme-selection
UI: Fix theme bug when updating from older versions
2019-04-24 04:31:10 -07:00
Clayton Groeneveld
52c3f81f0e UI: Fix theme bug when updating from older versions
Fixes: https://obsproject.com/mantis/view.php?id=1446
2019-04-23 23:38:03 -05: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
Jim
575f998fdd
Merge pull request #1850 from guangong7628/renaming-scene
UI: Fix unable to escape when renaming scene
2019-04-23 04:58:54 -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
Jim
7dc9ff0575
Merge pull request #1843 from cg2121/fix-group-icons
UI: Fix group checkbox icons not working in Dark theme
2019-04-22 05:35:25 -07:00
Clayton Groeneveld
2ca71fc9d6 UI: Fix group checkbox icons not working in Dark theme 2019-04-22 06:21:28 -05:00
Jim
cdcd45fe11
Merge pull request #1842 from cg2121/prev-prog-label-alignment
UI: Fix preview/program label alignment
2019-04-22 03:25:06 -07:00
Jim
8d791b5ee2
Merge pull request #1839 from cg2121/svg-icons
UI: Change icons to svg
2019-04-22 03:24:12 -07:00
Clayton Groeneveld
21a32def35 UI: Simplify locked/visibility checkboxes 2019-04-22 01:50:10 -07:00
Clayton Groeneveld
189e48835d UI: Change icons to svg
This changes all of the icons from png to svg. With svgs, scaling is
unlimited. With the svgs, the issue of the @ symbols with the Windows
updater is no longer an issue.

I changed the colors of the icons to a light gray (#d2d2d2), in the
dark themes, because I thought they looked better with this color.

The mute, unmute, plus, minus, up, down and expand icons are from the
Feather Icons set. https://feathericons.com/

The visibility icon is from the Octicons set. https://octicons.github.com/

The locked and unlocked icons are from the Open Iconic set.
https://github.com/iconic/open-iconic
2019-04-22 01:50:03 -07:00
Clayton Groeneveld
ed5fdde059 UI: Fix preview/program label alignment 2019-04-22 03:08:35 -05:00
Jim
eadcc5adef
Merge pull request #1841 from jpark37/index-size-fix
libobs: Fix GS_UNSIGNED_LONG definition
2019-04-21 22:41:15 -07:00
Jim
72b76d212a
Merge pull request #1840 from pkviet/certleak
obs-outputs: Fix leak with certs for rtmp
2019-04-21 22:36:23 -07:00
James Park
8bafa51d3b libobs: Fix GS_UNSIGNED_LONG definition
GS_UNSIGNED_LONG is defined as sizeof(long) in some places, making it 8
outside of Windows instead of 4 as it should be.

Fixes https://obsproject.com/mantis/view.php?id=1444
2019-04-21 21:25:35 -07:00
pkv
a5b837518e obs-outputs: Fix leak with certs for rtmp 2019-04-21 23:54:27 +02:00
Jim
7925ac1402
Merge pull request #1747 from cg2121/recording-time-left
UI: Estimate recording time left until disk is full
2019-04-21 06:55:33 -07:00
jp9000
72ccefff5f UI: Rename UI files for consistency
Changes comboBox-* and spinBox-* files to lowercase to be more
consistent with the rest of the files in the UI directory.
2019-04-21 04:10:46 -07:00
jp9000
140f927f4f UI: Fix whitespace issues with "ignore wheel" widgets 2019-04-21 04:07:00 -07:00
jp9000
c3c740d36f UI: Do not remove focus on mouse leave events
For the "ignore wheel" widgets, do not leave focus on mouse leave
events.  This causes unintended side effects such as not being able to
type in edit boxes, and is very annoying.
2019-04-21 04:03:37 -07:00
Jim
491abe7f40
Merge pull request #1742 from ujifgc/fix-wasapi-usb-disconnect
win-wasapi: Fix audio capture after USB sound card unplugging
2019-04-20 04:11:01 -07:00
Igor Bochkariov
69b4df41c6 win-wasapi: Unapply/reapply audio monitoring on reconnect
Saves and disable monitoring before entering recover loop, and restores
it after recovery is complete.
2019-04-20 03:37:24 -07:00
Igor Bochkariov
041d3b4155 win-wasapi: Fix audio capture after unplugging device
This commit fixes a bug where the user would have to restart OBS when
certain types of devices are unplugged and plugged back in again
(particularly USB devices).  A wait interval is required
(RECONNECT_INTERVAL) because Windows does not send any events to
IAudioCaptureClient on device invalidation.
2019-04-20 03:37:24 -07:00
Igor Bochkariov
abe59f7187 win-wasapi: Call CoInitializeEx in reconnect thread
Fixes an issue where COM might not be available to calls within the
reconnect thread.
2019-04-20 03:37:24 -07:00
Jim
1856f40e2a
Merge pull request #1836 from jpark37/rotated-line-fix
libobs: UI: Fix rotated line scale
2019-04-20 02:34:45 -07:00
Jim
043963c5e8
Merge pull request #1828 from DDRBoxman/removewidget
UI: Remove SourceListWidget
2019-04-20 02:27:36 -07:00
jp9000
d2b107bc9d decklink-output-ui: Fix memory leak 2019-04-20 01:43:01 -07:00
jp9000
77d92421ed rtmp-services: Update Mixer keyframe interval 2019-04-19 11:10:40 -07:00
Jim
3562113f4b
Merge pull request #1831 from Chiitoo/aaa-build-fix
UI: Fix Linux build without PulseAudio
2019-04-19 08:21:57 -07:00
Jim
ae10420953
Merge pull request #1793 from notr1ch/ffmpeg-errors
Improve ffmpeg output error handling
2019-04-19 07:26:56 -07:00
Jim
e16bd94965
Merge pull request #1837 from akapar2016/UI_VolumeWheelEvents
UI: Volume scrollEvents
2019-04-19 07:26:06 -07:00
akapar
dbd30a8131 UI: Do not allow mouse wheel for volume slider
This commit fixes the issue of being able to scroll through the mixer
with the mouse wheel without modifying the volume slider.  This
functionality can be temporarily restored by holding a click on the
volume meter.
2019-04-19 06:56:55 -07:00
James Park
e01fcae133 libobs: UI: Fix rotated line scale
The line drawing functions previously assumed the upper-left 3x3 for
box_transform only held scale. The matrix can also hold rotation, so
pass in scale separately.

Fixes https://obsproject.com/mantis/view.php?id=1442
2019-04-19 06:35:42 -07:00
Richard Stanway
ca5a19cf66 obs-ffmpeg: Add logging of last error for passing to UI 2019-04-19 05:45:38 -07:00
Richard Stanway
f52d8bddcc libobs: Allow Win32 pipes to pass STDERR for logging of errors 2019-04-19 05:45:38 -07:00
Richard Stanway
90df9ea290 UI: Update error message severity levels and show additional info 2019-04-19 05:45:19 -07:00
Richard Stanway
4be88c7f2a UI: Add warning / critical QMessageBox wrappers 2019-04-19 05:45:19 -07:00
Jim
42e76f6c34
Merge pull request #1577 from DDRBoxman/previewout
Decklink: preview out support
2019-04-19 04:03:34 -07:00
Gol-D-Ace
3a01fefe1e Use proper capitalization for string
Windows is a product name in this case.
2019-04-19 05:38:21 +02:00
Jim
c27a8e7ae9
Merge pull request #1664 from Xaymar/feature-property-groups
libobs/UI: Add Property Grouping
2019-04-18 07:22:15 -07:00
Michael Fabian 'Xaymar' Dirks
5c0c512fc2 UI: Add support for property groups
Property groups are implemented in the UI using QGroupBox, which support
both the normal and checkable version of them.
2019-04-18 06:37:54 -07:00
Michael Fabian 'Xaymar' Dirks
6b6ea575ff libobs: Add property groups
Property groups allow multiple properties to be combined into a single
visual group and thus can be used to reduce visual clutter and improve
user experience by giving additional context to a property. The name of
a child of a group is not affected by the group and thus all property
names must still be unique.

A new parent field has been added to obs_properties_t to ease the
tracking of existing properties. That way properties inside a group will
also be able to verify that they have a unique name.
2019-04-18 06:37:36 -07:00