Commit graph

5518 commits

Author SHA1 Message Date
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
jp9000 46f08af5e5 UI: Remove ENABLE_WIN_UPDATE cmake variable 2018-05-12 17:11:02 -07:00
jp9000 d0cc0cc60e UI: Always enable auto-updater for windows
Makes it so the auto-updater does not have to rely on a cmake variable
being set.  Fixes a bug where deployment could accidentally be built
without the auto-updater being enabled.
2018-05-12 17:02:34 -07:00
palana b41ca1ca14
Merge pull request #1287 from Andersama/patch-13
UI: Fix memory leak when drag/dropping
2018-05-09 21:50:59 +02:00
Alex Anderson 0accb9f865 UI: Fix memory leak when drag/dropping 2018-05-09 12:49:21 -07:00
Jim ce89ae1057
Merge pull request #1181 from admshao/linux-mouse-extra-buttons
XInput Support
2018-05-08 17:31:28 -07:00
jp9000 e5f1a93f87 text-freetype2: Remove trailing whitespace 2018-05-08 09:39:04 -07:00
Yvo 43713098d6 text-freetype2: Add chat line count property
Allows the ability to choose the number of chat lines when using the
"Chat log mode" feature.

Closes obsproject/obs-studio#1280
2018-05-08 09:37:39 -07:00
Shaolin b8e6e7a9fe libobs: Use xcb-xinput when available for events
This enables extra mouse buttons to be detected by libobs. This allows
up to 29 extra buttons.
2018-05-07 21:31:16 -03:00
Shaolin 3aaa12aa17 cmake: Add xcb-xinput support
Ubuntu 17.04 updated libxcb1-dev to 1.12 where xinput should be enabled
by default but debian disables it by default atm. Compile libxcb with
--enable-xinput to use this within obs. Arch enables it by default,
debian does not and fedora is untested.
2018-05-07 21:31:16 -03:00
Jim 57121478ac
Merge pull request #1282 from computerquip-streamlabs/source-save-load-signal
libobs: Expose source save/load signal
2018-05-07 14:41:39 -07:00
jp9000 051c58eeb7 UI: Add opt. to enable/disable in-focus hotkey blocking
Adds an option to enable/disable blocking hotkeys when the window is in
focus which is normally used in order to prevent hotkey/shortcut
conflicts.  This does not apply to the settings window; the hotkey
behavior is unchanged with the settings window (in order to prevent
hotkeys from being used while setting hotkeys for example).

Closes obsproject/obs-studio#1267
2018-05-06 17:14:04 -07:00
SuslikV a75724d8a5 win-capture: Fix cursor draw size with certain cursors
When drawing cursor to window capture area - use actual resource width
and height instead of system metric values for icons.  Fixes an issue
where under rare circumstances, certain cursors would not draw at the
correct size.

Closes obsproject/obs-studio#1284
2018-05-06 11:38:49 -07:00
Jim 7279e53d94
Merge pull request #1281 from CatxFish/CatxFish-typo-fix
docs/sphinx: Fix typo in script sources section
2018-05-05 11:59:50 -07:00
Ilya Melamed db06a1c12a win-dshow: Allow synchronous create/update
Allows the ability to (optionally) synchronously create/update a
directshow device source rather than always asynchronously update the
device.  This is useful if creating/destroying scenes/sources very
quickly, and helps minimize the risk of creating new directshow sources
that use the same device, yet may not activate because an existing
source may already exist.  To use, set "synchronous_activate" to true in
its settings when updating or creating.  Note that this setting will be
erased after it's used, and will not be saved to user settings, so it
must be set each time in order to be used.

Closes obsproject/obs-studio#1228
2018-05-05 11:44:14 -07:00
Ilya Melamed e265fc92ed UI: Block when calling obs_frontend_set_current_scene
Uses WaitConnection() when calling obs_frontend_set_current_scene to
ensure that the calling thread and the UI thread are synchronized when
setting the current scene via this function.

Closes obsproject/obs-studio#1234
2018-05-04 15:45:27 -07:00
Ilya Melamed c768f703ad UI: Add obs_frontend_add_scene_collection API call
Allows the ability to add a new scene collection via the frontend API.
Blocks until the scene collection has been successfully added to ensure
synchronization between the calling thread and the UI thread.

(Jim: Added detailed description to commit message)

Closes obsproject/obs-studio#1232
2018-05-04 15:40:53 -07:00
Ilya Melamed 3eec139b2e UI: Use WaitConnection() when adding scenes
Instead of queuing AddScene to add the new scene to the list box,
ensures that the UI has added the new scene to the list box when the new
scene is added.  This ensures synchronization between the calling thread
and the UI thread in this particular case.

(Jim: Added detailed commit message description)

Closes obsproject/obs-studio#1226
2018-05-04 15:38:59 -07:00
jp9000 e7f2cc384d UI: Add WaitConnection() helper func
A helper function used with QMetaObject::invokeMethod which allows the
ability to use Qt::DirectConnection if on the Qt UI thread, or
Qt::BlockingQueuedConnection if on another thread to ensure that
regardless of what thread the invokeMethod is called from, that it will
wait until the invoked method has been called.
2018-05-04 15:30:40 -07:00
Ilya Melamed 2d9691fc23 UI: Use "source_create" to add scenes to listbox
Instead of manually having to call AddScene each time a scene needs to
be added, use the "source_create" global OBS signal to detect when a
scene has been created, and add the scene to the list automatically.
Allows the ability to add scenes to the main user interface via libobs
API.

Closes obsproject/obs-studio#1226
2018-05-04 11:47:54 -07:00
jp9000 8a1a02e7fc libobs: Make callback optional for obs_load_sources
Due to the ability to track creation of scenes via the "source_created"
global signal, the callback parameter of obs_load_sources has become
somewhat obsolete.  This change allows the ability to pass NULL to the
callback parameter in case the callback is not needed.
2018-05-04 11:44:19 -07:00
jp9000 516c0de2e0 libobs: Don't signal "source_create" for private sources 2018-05-03 12:38:47 -07:00
Richard Stanway 4df7914767
win-capture: Update D3D9 signature for Win10 April 2018 Update 2018-05-02 14:00:44 +02:00
Zachary Lund daf5a4b9f3 libobs: Expose source save/load signal 2018-05-01 16:09:51 -07:00
Han-Tai Chen 1a3d4d62d7
docs/sphinx: Fix typo in script sources section 2018-05-02 03:23:00 +08:00
jp9000 cf35f15042 obs-browser: Use BGRA textures instead of RGBA 2018-05-01 12:08:46 -07:00
jp9000 72636ca976 UI: Don't defer load on non-macOS systems
Deferred load is used specifically for macOS systems to ensure that Qt
and CEF do not load at the same time.  This causes a slight bit of a
delay in loading the scene after the UI has loaded.  This is not
necessary for other operating systems, so revert to the older load code
in the case of different systems.
2018-05-01 12:01:11 -07:00
jp9000 e9d22bdbd6 UI: Also defer first scene collection load
Fixes a bug where it would try to save the scene before the scene had
been loaded on macOS.
2018-05-01 12:00:17 -07:00
jp9000 8211b9e220 libobs: Use unaligned store rather than aligned store
Prevents a potential crash when being used with audio data that is
unaligned.
2018-05-01 09:26:10 -07:00
jp9000 4785d9906c libobs: Convert sse inline funcs to macros 2018-05-01 09:01:04 -07:00
jp9000 238df3da3a libobs: Add "static" to inline func
Fixes linux-specific compiler error:
libobs/libobs.so.0: undefined reference to `hmax_ps'
2018-04-30 04:16:15 -07:00
Tjienta Vara b0f94afaf2 libobs, UI: Add true peak measurements
Add a new algorithm to calculate the true-peak. It implements the
Whittaker- Shannon interpolation from four samples to create 4
intermediate samples (5 x oversampling) inbetween the middle two
samples.

With 4 samples and 4 intermediate samples the algorithm can be
implemented as a 4x4 vector-matrix cross product, which is ideal for
SSE.

I've also replaced the sample-peak algorithm using SSE as well to
improve performance.

Closes obsproject/obs-studio#1189
2018-04-30 03:53:26 -07:00