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

618 Commits

Author SHA1 Message Date
jp9000
881d1a79d2 UI: Add YUV 4:4:4 format option 2015-04-18 00:03:20 -07:00
jp9000
94a1dbfc5f UI: Ensure NV12/I420 format for streaming encoder
Due to the fact that flash cannot decode formats such as YUV 4:4:4, do
not allow the streaming encoders to use formats other than NV12/I420.
2015-04-18 00:03:20 -07:00
jp9000
95d96f043b UI: Enable video output format advanced option
This allows using NV12, I420, or RGB output video formats.  This option
will set what obs itself outputs frames as.

It's important to note that this is only ideal for specific FFmpeg
encoders that support the desired video format; for example, if you use
RGB and use the huffyuv encoder, huffyuv will now properly output in RGB
instead of YUV NV12/I420.

I420 is useful for eliminating the NV12->I420 conversion for the
AVerMedia encoders, as AVerMedia encoders only support I420 input.

A second even more important note about RGB is that if the encoder does
not support the format you are using, it will be converted on the CPU to
a format that the encoder supports as it's encoded; so for example
setting the obs output format to RGB and then using x264 will be futile
and end up using needless amounts of extra CPU than if you just had obs
set to NV12, which is the most common and ideal format for x264.

In the future, native output of other YUV formats might be implemented
(such as YUV 4:2:2).
2015-04-15 18:43:44 -07:00
jp9000
abdc2b61ce UI: Make RGB output use RGB, not BGR
Noticed that the red and blue channels were inverted when testing.
2015-04-15 18:42:06 -07:00
jp9000
661acfe043 UI: Add right-click context menu to projector
For now, just has the option to close the projector window.
2015-04-13 15:13:44 -07:00
HomeWorld
8ce623165a UI: Change Volume Control volume slider behavior
Replaced default volume slider style with SliderAbsoluteSetStyle.
2015-04-11 07:13:42 -07:00
HomeWorld
df893dde81 UI: Add SliderAbsoluteSetStyle class
When this class is used in conjunction with a QSlider control, allows
direct setting of the slider handle position when clicking in an area
other than the slider handle.  The default QSlider handle behavior is to
step towards clicked position.
2015-04-11 07:13:30 -07:00
jp9000
0fbf112491 UI: Fix vec2 warning
Fix warning encountered on clang-504.0.40 on OSX 10.9:

obs/window-basic-main.cpp:2884:22: warning: suggest braces around
initialization of subobject [-Wmissing-braces]
		struct vec2 dir = {0.0f, 0.0f};
2015-04-10 10:07:56 -07:00
jp9000
2054161717 UI: Add windows exe icon
Adds an icon to the executable file so the executable no longer shows up
without an icon.
2015-04-10 07:27:37 -07:00
jp9000
167e781b5e UI: Add fullscreen projector options
Add the ability to use a fullscreen projector for scenes, sources, and
the preview display.
2015-04-10 07:27:37 -07:00
jp9000
c68283042c UI: Add fullscreen projector class
This allows viewing a source, scene, or the main preview in a fullscreen
window.
2015-04-10 07:27:36 -07:00
jp9000
b7421aafde UI: Add up/down/left/right position shortcuts
Allows nudging of selected items in the direction pressed when the
preview window is focused.
2015-04-10 07:27:35 -07:00
jp9000
167df61d03 UI: Add context menu to preview
Includes the ability to disable the preview and general source context
menu options (add/remove/filters/properties/etc)
2015-04-10 07:27:35 -07:00
jp9000
1cfe72664a UI: Remove listbox selection if deselected
If the item currently selected in the source listbox is deselected in
the preview, then make sure to deselect it in the listbox as well.
2015-04-10 07:27:34 -07:00
jp9000
853e63765e UI: Remove redundant config settings
These are replaced by other settings in the global ini file.
2015-04-10 07:27:33 -07:00
jp9000
206ae650de UI: Rename "MainWindow" ini section
Rather than using [MainWindow] in the global ini, explicitly state
BasicWindow instead so we know it's for the basic user interface.
2015-04-10 07:27:33 -07:00
jp9000
0e4969535b UI: Allow right-clicking to select preview items
Allows selection of items by right-clicking on the preview as well
rather than just left-clicks.
2015-04-10 07:27:32 -07:00
jp9000
3816b0bff9 UI: Fix tooltips for scene move up/down buttons 2015-04-10 07:27:31 -07:00
fryshorts
9cc56f2516 UI: Fix precision in float comparison helper
Use std::abs instead of abs to avoid loss in precision and also fix
the corresponding warning from clang (3.5.0):

warning: using integer absolute value function 'abs' when argument is
of floating point type [-Wabsolute-value]

Closes jp9000/obs-studio#414
2015-04-08 01:45:12 +02:00
Palana
70b2ffeee7 UI: Fix custom buffer size for simple output
The buffer size was being saved as 'VBufsize' while all read operations
tried to read 'Bufsize'
2015-04-04 22:17:10 +02:00
John Bradley
453b505637 UI: Ensure rescale res is non-null and length > 0 2015-03-31 15:49:43 -05:00
kc5nra
b218957f38 UI: Add Format, Audio and Video ComboBoxes
Adds ComboBoxes for selecting format and audio/video
codecs. The ComboBoxes also show only valid codec
combinations for a particular container format.
2015-03-30 18:16:57 -05:00
kc5nra
8743e722ae UI: Properly disable when scale disabled
Enable/Disable scale output ComboBox based on whether
the scale checkbox is selected.
2015-03-30 17:30:37 -05:00
jp9000
d42a7ce66e UI: Fix crash log handling
Using Qt to handle crash dialogs is too unstable, so better to just use
the windows API directly and display a windows message box just to be
safe.
2015-03-27 14:29:37 -07:00
jp9000
0d704cdf92 UI: Fix bug with enforced audio encoder settings
I forgot that the track index is 1-based, not 0-bsaed.
2015-03-27 13:35:43 -07:00
jp9000
3bbefc5b57 UI: Only apply service settings to stream encoder
All audio encoders are currently having the service-specific settings
applied to them, so this makes it so that it checks which track the
stream is set to and only applies it to that specific encoder.
2015-03-27 12:55:15 -07:00
dodgepong
a04548070c UI: Add latest translations from CrowdIn 2015-03-25 20:51:25 -04:00
jp9000
709ad0705e UI: Don't use deferred update on cancel
If properties are set to defer updating, don't call obs_source_update on
dialog rejection.
2015-03-25 14:14:43 -07:00
jp9000
9e39a2c787 UI: Use setGeometry to restore saved dimensions
There was an issue where the position/size would keep changing every
time the program opened/closed, was due to the fact that we were not
calling setGeometry to restore the position/size.
2015-03-25 14:14:42 -07:00
jp9000
2fdd58d312 UI: Add #pragma once to double slider widget 2015-03-25 14:14:40 -07:00
jp9000
3c5cc5cd54 UI: Add visibility checkbox to main sources list
Adds a visibility checkbox to the main sources list so that users can
temporarily disable/re-enable sources.  Only applies to scene items, not
the sources themselves.
2015-03-25 14:12:02 -07:00
jp9000
86ed7f12f3 UI: Allow scenes to use filters 2015-03-25 14:12:01 -07:00
jp9000
118665ec99 UI: Add missing locale text
"Close" and "Interact"
2015-03-25 14:12:00 -07:00
jp9000
ceba24c7e9 UI: Add user interface for filters 2015-03-25 14:12:00 -07:00
jp9000
ff363bc77b UI: Add QListWidget subclass to emit focus change
The FocusList subclass of QListWidget emits a GotFocus signal when it
gets focus -- used for the filters window to know when a specific filter
list gets focus.
2015-03-25 14:11:59 -07:00
jp9000
642aa7454f UI: Add list item widget w/ visibility checkbox
This is used to allow the user to temporarily disable sources/filters.

For each item in the list box, it displays a visibility checkbox (with
eye icon) that the user can click to disable/re-enable sources or
filters.

I did not end up using the Qt::ItemIsUserCheckable flag with the list
items for a few reasons:

- We could not style the checkbox indicator without qss screwing up
  other parts of the list widget style on certain operating systems

- We could not get the icon to properly invert on active selection like
  the text does on mac/linux, which made it look strange

- Clicking the checkbox too fast would cause it to signal a double-click
  on the icon, opening the properties for a source in the source list
2015-03-25 14:11:58 -07:00
jp9000
2e053c849b UI: Add mute checkbox to volume control 2015-03-25 10:03:24 -07:00
jp9000
399eb6d330 UI: Add 'mute' checkbox style hint 2015-03-25 10:03:24 -07:00
jp9000
53a98ecbe5 UI: Add 'visibility' checkbox
This checkbox gives an 'eye' icon that indicates whether something is
visible or not.  The color of the icon is influenced by the current
style's foreground color.
2015-03-25 10:03:23 -07:00
jp9000
606d72b1fe UI: Don't include properties-view.hpp in header
Replace header include with forward to reduce needless header includes
and thus reduce compile time.
2015-03-25 10:03:22 -07:00
jp9000
bf6e83821c UI: Emit DisplayResized() viewport signal
This allows knowing when the graphics viewport itself changes in size
(in case the window with the graphics viewport does not change size)
2015-03-25 10:03:21 -07:00
Palana
724690d77e UI: Update window titles on source name change 2015-03-24 14:51:56 +01:00
jp9000
81d671f106 UI: Add int/float slider to property view 2015-03-22 19:18:15 -07:00
jp9000
17adf8f35e UI: Add floating point slider control 2015-03-22 19:18:14 -07:00
kc5nra
dac3fd88e0 UI: Fix potential memory leak in properties
When hitting the Cancel button, cleanup code needs to go through the
reject() callback as well.
2015-03-22 19:18:13 -07:00
jp9000
87965fa9eb UI: Clear list boxes in ::closeEvent
Ensures that ->deleteLater events are put in to the event queue before
the destructor is called.
2015-03-22 19:18:12 -07:00
jp9000
6b3d30ef03 UI: Flush event queue before obs_shutdown
Sometimes events with rogue source references are in the event queue
when the program is shutting down.  This can cause the program to
reference freed data.  Processing those remaining events before shutting
down solves the issue.
2015-03-22 19:18:12 -07:00
jp9000
c4ef2522ad UI: Destroy save timer before closing main window
This prevents the save timer from unexpectedly going off during the
middle of the save process.
2015-03-22 19:18:11 -07:00
jp9000
7014076169 UI: Make list selection in dark theme more visible
When an item is selected but not focused, it would be too similar to the
non-selected color.
2015-03-22 19:18:10 -07:00
jp9000
363d8b890d UI: Store proper window pos/size
Only store the last restored (non-maximized and non-minimized) window
position and size on exit.
2015-03-22 19:18:09 -07:00