Commit Graph

6650 Commits (4b6a1bf9712ed75eb06261d6b44914e5155ccb3d)

Author SHA1 Message Date
Jim c7436ba127
Merge pull request #1826 from SuslikV/patch-14
CONTRIBUTING.rst: Improve commit guidelines
2019-04-13 01:54:49 -07:00
SuslikV 7031e2ec3a CONTRIBUTING.rst: Improve commit guidelines
Few words about the commit's titles were added (capital letter).
2019-04-13 01:52:25 -07:00
Jim c7fd733b0e
Merge pull request #1825 from torresam/master
UI: Fix remux dialog ignoring filename changes
2019-04-12 22:26:43 -07:00
Anthony Torres 7ddab80d80 UI: Fix remux dialog ignoring filename changes 2019-04-12 22:25:28 -07:00
Anthony Torres 0e2fe10595 UI: Separate delegate class into header file 2019-04-12 22:25:23 -07:00
Jim 8d3ee5708f
Merge pull request #1769 from DDRBoxman/no-sources
UI: Show a message in the empty source list
2019-04-12 04:54:52 -07:00
Colin Edwards ff72e9efc3 UI: Show a message in the empty source list 2019-04-12 04:17:39 -07:00
Jim a9936d36d2
Merge pull request #1770 from jpark37/prefer-rgb
Simplify YUV conversion, and direct YUV444P support
2019-04-12 00:14:49 -07:00
James Park df05f65d63 deps/media-playback: YUV444P support
Use libobs for YUV444P conversion previously handled by FFmpeg. This
ensures the libobs path resists rot.
2019-04-11 23:00:04 -07:00
James Park 69c215345a libobs: Simplify YUV conversion
Currently several shaders need "DrawMatrix" techniques to support the
possibility that the input texture is a "YUV" format. Also, "DrawMatrix"
is overloaded for translation in both directions when it is written for
RGB to "YUV" only.

A cleaner solution is to handle "YUV" to RGB up-front as part of format
conversion, and ensure only RGB inputs reach the other shaders. This is
necessary to someday perform correct scale filtering without the cost of
redundant "YUV" conversions per texture tap.

A necessary prerequisite for this is to add conversion support for
VIDEO_FORMAT_I444, and that is now in place. There was already a hack in
place to cover VIDEO_FORMAT_Y800. All other "YUV" formats already have
conversion functions.

"DrawMatrix" has been removed from shaders that only supported "YUV" to
RGB conversions. It still exists in shaders that perform RGB to "YUV"
conversions, and the implementations have been sanitized accordingly.
2019-04-11 23:00:03 -07:00
Jim 3031a11762
Merge pull request #1824 from stump/themename-fallback-null-check
UI: Add null check for rename of default theme
2019-04-10 19:46:54 -07:00
stump bc99ec4d7c UI: Add null check for rename of default theme
Without this, we strcmp a null pointer if no theme is set in the
configuration file.
2019-04-10 22:09:37 -04:00
Jim d0f52a6479
Merge pull request #1781 from cg2121/color-source-default-size
image-source: Set default size of color source to canvas size
2019-04-10 17:38:51 -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
Jim 820385cf6a
Merge pull request #1817 from Gol-D-Ace/remove-double-spaces
Remove double spaces from localization
2019-04-08 23:50:09 -07:00
Jim 319219b7e2
Merge pull request #1783 from cg2121/vertical-horizontal-center
UI: Add ability to center items vertically/horizontally
2019-04-08 23:41:32 -07:00
Clayton Groeneveld 977dea4ff0 UI: Add ability to center items vertically/horizontally 2019-04-08 22:52:39 -07:00
Jim ff63e0c050
Merge pull request #1787 from cg2121/about-dialog-version
UI: Show correct version in about dialog
2019-04-08 21:37:22 -07:00
Jim 2052000eaa
Merge pull request #1788 from cg2121/rename-default-theme
UI: Rename Default theme to System
2019-04-08 21:36:34 -07:00
Clayton Groeneveld 94b3f80305 UI: Rename Default theme to System
The system theme was named Default even though the default theme is Dark.
This addresses that by renaming Default.qss to System.qss. I've made it
backwards compatible so users already using this theme are not affected.

The theme list now shows up as:
-System
-Dark (Default)
-Acri
-Rachni

I have also made it so that you can specify the default theme in the
UI config file.
2019-04-08 19:56:56 -05:00
Jim b5cc26a918
Merge pull request #1814 from torresam/rename-autoselect
UI: Autoselect text on scene/source rename
2019-04-08 13:14:22 -07:00
Gol-D-Ace 9fc1069e9b Remove double spaces from localization 2019-04-08 16:02:32 +02:00
SCG82 a848565a62
UI: Fix size of output icon 2019-04-08 05:46:43 -07:00
pkv 5114dc1b91 vlc-video: Enable audio track selection 2019-04-08 12:25:40 +02:00
Jim 298901d710
Merge pull request #1797 from WizardCM/log-groupitems
UI: Log group items on startup
2019-04-08 02:29:14 -07:00
Anthony Torres fdae1bbc0f UI: Add text autoselect for source rename 2019-04-08 02:14:06 -07:00
Anthony Torres bd71839259 UI: Add text autoselect on scene rename 2019-04-08 02:14:06 -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
James Park 2996a6c06b libobs/graphics: Support debug markers
Add support for debug markers via D3DPERF API and KHR_debug. This makes
it easier to understand RenderDoc captures.

D3DPERF is preferred to ID3DUserDefinedAnnotation because it supports
colors. d3d9.lib is now linked in to support this.

This feature is disabled by default, and is controlled by
GS_USE_DEBUG_MARKERS.

From: obsproject/obs-studio#1799
2019-04-08 02:05:37 -07:00
James Park a3e5344cce libobs: Fix move assignment operator for ComPtr
We can't compare addresses of ComPtr for self-reference directly because
the address-of operator is overloaded, causing a compiler error. This
fix more or less matches the WRL implementation.
2019-04-08 02:05:37 -07:00
James Park d91bd327d7 libobs: libobs-d3d11: obs-filters: No excess alpha
Currently SrcBlendAlpha and DestBlendAlpha are both ONE, and can
combine together to form two. This is not a noticeable problem for
UNORM targets because the channels are clamped, but it will likely
become a problem if FLOAT targets are more widely used.

This change switches DestBlendAlpha to INVSRCALPHA, and starts
backgrounds as opaque black instead of transparent black. The blending
behavior of stacked transparents is preserved without overflowing the
alpha channel.
2019-04-07 18:16:56 -07:00
Jim a0ead6f974
Merge pull request #1800 from cg2121/add-pragma-once
UI, libobs, text-freetype2: Add missing pragma once in header files
2019-04-06 23:40:43 -07:00
Jim 34a06caf50
Merge pull request #1805 from sputnick1124/frontend-api-access-systray
obs-frontend-api: Access system tray icon from API
2019-04-06 23:35:46 -07:00
Jim 411b6f1064
Merge pull request #1809 from cg2121/do-not-update-stats-hidden
UI: Don't update stats dock if hidden
2019-04-06 17:19:10 -07:00
Jim a345b50966
Merge pull request #1807 from SuslikV/patch-14
UI: Fix incorrect padding usage in Rachni theme
2019-04-06 16:44:11 -07:00
Clayton Groeneveld 51198058c8 UI: Don't update stats dock if hidden
When the stats dock is hidden, the QTimer is still updating it, causing
unnecessary CPU usage.
2019-04-06 16:40:02 -07:00
Jim 10e5e4cafa
Merge pull request #1810 from derrod/bwtest-fix
UI: Fix bandwidth test flag being saved to stream key
2019-04-06 16:13:45 -07:00
derrod 4a55dedadc UI: Fix bandwidth test flag being saved to stream key
Previously enabling and disabling bandwidth testing in a certain order
lead to the parameter being included in the stream key that is saved to
disk, making it impossible to disable the bandwidth test later on.

By doing this properly and using string concatenation instead of
modifying (appending to) the key_ value this will no longer happen.
2019-04-06 15:35:16 +02:00
Michael Fabian 'Xaymar' Dirks 8b346ade64 cmake: Generate obs.rc out-of-tree
Fixes the `obs.rc` file appearing in the UI source tree and moves it
into the out-of-tree build directories provided by CMake. Projects
requiring this can use it by adding `${obs-studio_BINARY_DIR}/obs.rc`
to their source list.
2019-04-06 15:35:08 +02:00
Michael Fabian 'Xaymar' Dirks 9bb276feab libobs: Add function to remove properties
Allows removing a property from a properties list in get_properties or
modified callback to enable dynamic property generation. The behavior
is undefined if the UI properties list is not refreshed by returning
true from the modified callback.
2019-04-06 15:33:46 +02:00
Gary Kramlich 758868093b linux-capture: Add randr support
Add randr suport to the xshm plugin and prefer it over xinerama.

Add libxcb-xrandr0-dev as CI dependency
2019-04-05 16:05:59 -05:00
jp9000 6550c0dfaa obs-ffmpeg: Remove "A" variants from NVENC blacklist 2019-04-05 07:36:13 -07:00
Jim 9eb01a1229
Merge pull request #1808 from jpark37/area-filter-gl-flip
libobs: Fix and simplify Area scale filter
2019-04-04 18:19:02 -07:00
James Park c4819678c9 libobs: Fix and simplify Area scale filter
It appears there's a projection flip that is applied in some situations,
like the preview pane in studio mode, and the shader math fails when
it's active causing the output color to be zero. This fixes the math for
GLSL (with a tiny redundancy penalty to HLSL), and cleans up some
unnecessary code along the way.

Use abs() to avoid zero area in case the OpenGL projection flip is
active. Also simplify the math, and remove the unnecessary sampler
state.
2019-04-04 08:39:54 -07:00
Gol-D-Ace e78ac5ebef Update translations from Crowdin 2019-04-04 16:19:51 +02:00
jp9000 7ef4e10c89 libobs: Update version to 23.1.0 2019-04-04 06:46:51 -07:00
Nick Stockton 54da8eca85 obs-frontend-api: Access system tray icon from API
All UI elements are accessible through the obs frontend api via
obs_frontend_api_get_main_window, except for the tray icon and its
elements. This commit adds an obs_frontend_api_get_system_tray function
which returns the pointer to the QSystemTrayIcon cast to void (much like
the QMainWindow pointer for the main window).
2019-04-04 07:55:19 -04:00
SuslikV 2990a83c09
UI: Fix incorrect padding usage in Rachni theme 2019-04-04 09:59:03 +02:00
jp9000 739072fdcb UI: Do not show [x] (close) for primary dock widgets
This solves the issue of users who close the primary dock widgets and
can't figure out how to get them back, who for whatever reason choose
not to read the message box when closing dock widgets that tells them
how to get it back.  The users can still hide the primary dock widgets
via the View menu, but they can no longer close them via the [x] button
on the dock widget.  This change does not apply to secondary dock
widgets, such as a chat window, stats, etc.

Closes obsproject/obs-studio#1804
2019-04-03 09:55:27 -07:00
Clayton Groeneveld 736ebca259 UI: Show correct version in about dialog
This fixes an issue where the wrong version would
be shown in the about dialog when it is a rc release.
2019-04-02 23:16:50 -05:00