0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 21:13:04 +02:00
Commit Graph

60 Commits

Author SHA1 Message Date
Shaolin
c7c328dc83 UI: Add Vertical Mixer option 2018-05-19 00:17:58 -03: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
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
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
Cephas Reis
ef41dc53e8 UI: Change remux dialog to be non-modal
Closes obsproject/obs-studio#1266
2018-04-25 06:30:00 -07:00
Jim
7481f5b389
Merge pull request #1195 from admshao/fix-save-projectors-on-exit
Save Windowed Projectors on exit
2018-04-18 19:33:49 -07:00
jp9000
34c14829b6 UI: Defer startup OBSBasic::Load (macOS CEF workaround)
Adds an alternative means of isolating the CEF initialization process
from Qt's initialization process.  This is an unpleasant hack, but is
far more preferable than isolating the entire browser plugin to a
separate process and overly complexifying the browser plugin to the
point to where no one wants to touch the plugin or contribute to it.
2018-04-12 13:42:15 -07:00
Ilya M
439b9e4d15 UI: Add frontend API to defer saving
Allows the ability to perform multiple actions that would normally save,
and defer the save until all of those actions are complete.

Closes obsproject/obs-studio#1231
2018-04-06 17:34:10 -07:00
Shaolin
8b6641d1a8 UI: Clean up OBSProjector creation 2018-03-18 05:11:44 -03:00
Shaolin
76af4ff36d UI: Clean up save and load projector code 2018-03-18 05:11:44 -03:00
Shaolin
abbcb6ae88 UI: Move ProjectorType enum to projector header 2018-03-18 05:11:44 -03:00
jp9000
3b64610717 UI: Add Help -> Crash Reports submenu
Adds the ability to upload crash reports, making it easier for users to
give us crash data.  This should be considered a temporarily solution,
as automated crash reporting should be the ideal solution as soon as
time permits.
2018-03-16 16:27:49 -07:00
jp9000
341bd9bcec UI: Add subdir param to OBSBasic::UploadLog
Allows the ability to get log files from other configuration
subdirectories (i.e. "%appdata%/obs-studio/crashes")
2018-03-16 16:22:37 -07:00
Shaolin
229feefbb9 UI: Refresh multiview projector menu per click 2018-03-15 04:24:20 -03:00
jp9000
bd0983a89e UI: Add simple output mode encoder fallback
Prevents simple output mode from getting stuck on an encoder that may
not be available suddenly for whatever reason (system device changes,
driver issues, etc).  If the encoder is no longer available, falls back
to x264 to ensure that the user can continue to use the program.
2018-01-20 13:58:02 -08:00
Shaolin
53d936c5dc UI: Add audio meter decay rate option
The decay rate of the audio meters can now be selected in the audio
settings.  The values are:

- "Fast"   (OBS default, 40 dB / 1.7s)
- "Medium" (Type I PPM,  20 dB / 1.7s)
- "Slow"   (Type II PPM, 24 dB / 2.8s)

Closes jp9000/obs-studio#1143
2018-01-19 05:49:21 -08:00
Joel Bethke
2959b22bfb UI: Add help portal link to help menu 2018-01-05 15:20:39 -06:00
Shaolin
721cb3dea5 UI: Add Multiview projector
Jim note:

- Refactored code significantly
- Added a context menu option to exclude specific scenes from projectors
- Made it so multiview projectors update when scenes are
  added/removed/renamed
- Increased text quality
- Removed the color sources and replaced them with simple solid
  rectangles
- Increased the border size of "program" and "preview" scenes in the
  lower scene list

Closes jp9000/obs-studio#1068
2017-12-01 12:14:02 -08:00
jp9000
ed7ae5839b UI: Don't override transition if quick transition
Fixes an issue where quick transitions would not function if the scene
has a transition override set for it.
2017-11-30 09:48:59 -08:00
jp9000
6461b63623 UI: Fix preview/program projectors being swapped
If a preview projector was created in normal mode, it would become a
studio projector in studio mode.  The window title of the window
projector would reflect that it was in fact a preview projector and not
a program projector.
2017-11-30 06:17:07 -08:00
cg2121
60e1d7e90b UI: Implement per-scene transition overriding
Allows the ability to override what specific transition a scene may use
when transitioning to it.

(Original proposal by cg2121, reworked by Jim)

Closes jp9000/obs-studio#1052
2017-11-30 05:10:25 -08:00
jp9000
b5c036974f UI: Fix studio program projectors
The studio mode program view projectors used the wrong saving mechanism.
The save data was copied from the source projectors, which were
dependent on string values, where as it should have been using a boolean
true/false value for specific monitors.
2017-11-29 23:11:38 -08:00
Ryan Foster
f140104da8 UI: Add Studio Mode layout option for portrait mode displays
This commit adds a checkbox to general setting to allow users to enable
a vertically oriented layout for studio mode.

This commit addresses mantis issue 827:
https://obsproject.com/mantis/view.php?id=827

Closes jp9000/obs-studio#1072
2017-11-28 22:24:57 -08:00
Ryan Foster
9fce162137 UI: Add Studio Preview Projector
This commit allows a user to create projectors for the preview scene
instead of the program/live scene.

Close jp9000/obs-studio#1071
2017-11-27 00:28:03 -08:00
cg2121
3a43a047d4 UI: Add transition on double-click studio mode option
This adds the ability to switch to a scene by double-clicking it when in
studio mode.

(Edit by Jim: In case this change is undesired by the user, this has
been changed to be an option in general settings; disabled by default)

Closes jp9000/obs-studio#1029
2017-11-26 19:05:50 -08:00
cg2121
e86754c2a0 UI: Add ability to rename audio sources from the mixer
This adds the ability for users to change the names of audio sources
from the mixer including desktop and mic/aux sources.

Closes jp9000/obs-studio#1055
2017-11-25 00:59:01 -08:00
Ryan Foster
44b3cde9da UI: Add Frontend API function to save replay buffer 2017-10-19 07:16:00 -04:00
cg2121
76b6266689 UI: Allow hiding/unhiding sources in the mixer
Allows the ability to hide/unhide sources in the mixer that the user
doesn't care about or doesn't necessarily want to see (such as video
sources that have audio but don't have any audio playing).  If all
sources are hidden, the user can right-click the mixer's empty area and
choose "unhide all" via a context menu.

Closes jp9000/obs-studio#1002
2017-09-13 21:17:44 -07:00
jp9000
25bb8a444f UI: Add modular UI
Changes the UI to an adjustable user interface, allowing the user to
fully customize how the scenes list, sources list, the mixer,
transitions, and the buttons are oriented on the main window window.
2017-07-27 12:17:18 -07:00
mntone
d70c97db3a UI: Add ability to drop html files
(Edit by Jim: Added a check to make sure that the browser source exists
due to the fact that it's technically optional)

Closes jp9000/obs-studio#905
2017-06-30 00:10:26 -07:00
cg2121
b8d907f399 UI: Add fullscreen UI option to view menu
(Edit by Jim: Removed "Fullscreen Preview" because that's already sort
of served by the normal fullscreen projector option via the preview
context menu)

Closes jp9000/obs-studio#846
2017-06-26 09:49:43 -07:00
jp9000
4ff7ac0bfa UI: Change output blocking bool to integer ref counter 2017-05-15 14:35:36 -07:00
Richard Stanway
2933b89733
UI: Add support for showing output error messages 2017-05-15 12:03:42 +02:00
jp9000
b2e376b022 UI: Update quick transitions on transition add/removal
Fixes a bug where the individual drop-down lists of each quick
transition would not have the correct available transitions listed if
transitions were added, renamed, or removed
2017-05-14 23:06:11 -07:00
jp9000
0e1ae62355 UI: Add stats dialog
Shows performance stats, and streaming/recording stats, and helps warn
the user when they have less-than-optimal values with coloring on the
values (e.g. yellow when getting low on disk space, red when getting
really low)
2017-05-13 01:52:54 -07:00
jp9000
4049a5a882 UI: Add auto-configuration wizard
The auto-configuration wizard is designed to allow first-time or
novice/uneducated users or to set up video and encoding settings in a
very quick and easy way.  It'll automatically perform a bandwidth test,
and/or test the user's video settings to determine the most ideal
settings for streaming and recording (assuming a 1-pc setup).
2017-05-08 02:12:03 -07:00
jp9000
b850bc6415 UI: Add function to enable/disable outputs 2017-05-06 11:29:37 -07:00
cg2121
71c5753207 UI: Add ability to output to window
Closes jp9000/obs-studio#841
2017-05-04 17:07:36 -07:00
cg2121
bcd491a3d6 UI: Add copying/pasting of sources/filters
Closes jp9000/obs-studio#860
2017-03-25 04:29:49 -07:00
jp9000
c1c84e9101 UI: Add front-end auto-updater 2017-02-20 22:45:34 -08:00
cg2121
29f22e72a8 UI: Add option to save projectors
This adds an option to the general settings to save the opened
projectors on exit.

(Note: Fixed conflicts -Jim)

Closes jp9000/obs-studio#743
2017-01-29 06:02:15 -08:00
SuslikV
d473b2da96 UI: Hide/show dialogs when minimizing to tray
Hides dialogs when minimizing to tray, and shows again when restoring
from tray.

Closes jp9000/obs-studio#737
2017-01-25 20:22:55 -08:00
SuslikV
abe4bfd96e UI: Add option to always minimize to tray
Closes jp9000/obs-studio#737
2017-01-25 20:22:45 -08:00
cg2121
9f0c48d9c7 UI: Add import/export of scene collections & profiles
Closes jp9000/obs-studio#721
2016-12-19 04:44:57 -08:00
Ryan Foster
42a646f28e UI: Add ability to copy-paste scene item transforms
This commit adds the ability to copy a scene item's transform and crop
settings and paste those settings onto another scene item in any scene
or scene collection. It also changes the menu shortcut key for the
Transform action "Center to screen" from "C" to "n" because "C" is the
standard shortcut key for "Copy" in most other applications.

Closes jp9000/obs-studio#719
2016-12-18 17:21:58 -08:00
jp9000
f790d0fe08 UI: Separate replay buffer from recording
Replay buffer and recording should be separate in case the user wants to
start recording from a specific point rather being forced to reconfigure
for regular recording.

Creates a new button on the main window below the recording button for
turning on/off the replay buffer.
2016-12-09 14:47:03 -08:00
jp9000
752c118f2e UI: Add replay buffer options to simple output mode 2016-12-08 03:36:19 -08:00
Joseph El-Khouri
3b616823a1 UI: Add preview scaling options
Adds preview scaling to the right-click context menu for the preview
pane.  This allows the ability to, for example, zoom the preview and
edit the preview 1:1 (canvas/base resolution).  This was a missing
parity feature.  Additionally, also allows scaling to the
"output/scaled" resolution the program is set to.

When the preview is in scale mode and is the focused widget, you can
hold space and drag with left click to change the zoomed position.

(Notes added by Jim)

Closes jp9000/obs-studio#687
2016-11-09 14:21:47 -08:00
jp9000
83fa6e728a UI: Remove unused variable 2016-10-19 06:52:57 -07:00
jp9000
9081df9708 UI: Fix poor handling of system tray pointers
The original pull request that added the system tray feature was riddled
with bad pointer usage.  Bare pointers that are never properly freed,
never contained within a QPointer or unique_ptr.

These have now been changed to use QPointer variables, and to always
check when the variables are valid before using.  The order of
destruction for QMenu that uses the actions has now been prioritized
first before the actions.
2016-10-19 06:48:03 -07:00