Commit graph

556 commits

Author SHA1 Message Date
Jim 446dc9fd4b
Merge pull request #1310 from vokama/updated-hotkey-names
libobs, UI: reset hotkey description on target rename
2018-06-16 23:09:06 -07:00
Shaolin d7fd29351f UI: Fix mixer dock widget minSize being too big
When the vertical volume meter was introduced it set in the OBSBasic.ui
mixer dock definition a min width/height that was valid for both
widgets. QStackedWidget hints the minimum size as the higher w/h
of its children so this workaround is necessary.
2018-06-12 23:25:38 -03:00
craftwar 36d893db03 UI: Compact ClearVolumeControls()
Closes obsproject/obs-studio#1296
2018-06-05 14:46:02 -07:00
vokama 54ab27bda6 UI: Update hotkey label on quick transition rename 2018-06-05 01:38:19 +03:00
jp9000 88b6c63964 UI: Add grouping 2018-06-04 04:01:39 -07:00
jp9000 46cce067f0 UI: Fix missing newline at the end of a file 2018-06-03 15:04:40 -07:00
jp9000 196eed8e8f UI: Refactor DrawCircleAtPos 2018-06-03 15:04:40 -07:00
jp9000 c7897acddf UI: Use vector value for nudge callback 2018-06-03 15:04:39 -07:00
jp9000 4fd22f1316 UI: Move frontend API initialization to constructor 2018-06-03 15:04:39 -07:00
jp9000 b46fab87b2 UI: Fix a few unused lambda closure captures 2018-06-03 07:24:59 -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 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
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
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
Alex Anderson 0accb9f865 UI: Fix memory leak when drag/dropping 2018-05-09 12:49:21 -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
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