When clicking the close button with unsaved changes in a source properties
dialog closeEvent and reject are called, which both call ConfirmQuit.
This fixes it by setting the acceptClicked flag correctly in ConfirmQuit
Some CMake checks were recently switched from UNIX to LINUX to get them
to not apply to macOS/OSX. Since LINUX doesn't seem to be defined,
switch these checks to UNIX AND NOT APPLE.
The studio mode double-click scene switching option disables scene
duplication, which bypasses the user's settings for scene switching in
studio mode. This fixes it so that scenes are properly duplicated
according to the user's settings.
Moves the multiview (fullscreen/window) options to the view menu to
reduce context menu clutter, and allow using it even when not in studio
mode.
Also adds missing translation strings.
Scissor rects would affect the internal effect rendering of sources, so
scissor rectangles aren't the ideal method of restricting draw space.
Instead, use viewports and projection matrices, which are automatically
accounted for by internal source handling.
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
Closesjp9000/obs-studio#1068
The scene override would trigger, but the scene override variable would
stay set, causing the next transition to be the same one that was
previously used for overriding.
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.
Allows the ability to override what specific transition a scene may use
when transitioning to it.
(Original proposal by cg2121, reworked by Jim)
Closesjp9000/obs-studio#1052
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.
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)
Closesjp9000/obs-studio#1029
(This commit also modifies the following modules: UI,
deps/media-playback, coreaudio-encoder, decklink, linux-alsa,
linux-pulseaudio, mac-capture, obs-ffmpeg, obs-filters, obs-libfdk,
obs-outputs, win-dshow, and win-wasapi)
Adds surround sound audio support to the core, core plugins, and user
interface.
Compatible streaming services: Twitch, FB 360 live
Compatible protocols: rtmp / mpeg-ts tcp udp
Compatible file formats: mkv mp4 ts (others untested)
Compatible codecs: ffmpeg aac, fdk_aac, CoreAudio aac,
opus, vorbis, pcm (others untested).
Tested streaming servers: wowza, nginx
HLS, mpeg-dash : surround passthrough
Html5 players tested with live surround:
videojs, mediaelement, viblast (hls+dash), hls.js
Decklink: on win32, swap channels order for 5.1 7.1
(due to different channel mapping on wav, mpeg, ffmpeg)
Audio filters: surround working.
Monitoring: surround working (win macOs linux (pulse-audio)).
VST: stereo plugins keep in general only the first two channels.
surround plugins should work (e.g. mcfx does).
OS: win, macOs, linux (alsa, pulse-audio).
Misc: larger audio bitrates unlocked to accommodate more channels
NB: mf-aac only supports mono and stereo + 5.1 on win 10
(not implemented due to lack of usefulness)
Closesjp9000/obs-studio#968
This adds the ability for users to change the names of audio sources
from the mixer including desktop and mic/aux sources.
Closesjp9000/obs-studio#1055
This makes it so the buttons appear "pressed" while streaming/recording
to more visibly help indicate that they are currently active.
Closesjp9000/obs-studio#1039
The OBSBasicFilters window did not register a handler for the
"update_properties" signal. Now it does. Addresses issue #1028.
Closesjp9000/obs-studio#1036
X11BypassWindowManagerHint Bypass the window
manager completely. This results in a borderless window
that is not managed at all (i.e., no keyboard input unless
you call QWidget::activateWindow() manually).
This allows the Esc key to close the projector on X11
This commit addresses Mantis Bug 993. If no source was selected, the
"Copy" context menu item was enabled, but selecting it would do nothing.
This commit disables that menu item when no sources are selected.
This commit prevents users from being able to use the "Paste
(Duplicate)" context menu option after copying a source that has the
OBS_SOURCE_DO_NOT_DUPLICATE flag set. Though OBS would correctly paste
the source as a reference, it seems that this behavior was confusing
some users. This fixes Mantis Bug 1034.
This will help resolve incidents where users accidentally started or
stopped their stream without knowing what triggered it (usually from
hotkeys that were forgotten about).
(This commit also modifies UI)
Instead of pinging Twitch every time the program starts up, only pings
for new servers when the ingests are actually being used, and when the
UI uses the auto-configuration dialog.
If ingests have not been cached when using the "Auto" server, it will
wait for 3 seconds max to query the Twitch ingest API. If it takes
longer than 3 seconds or fails, it will defer to SF. If ingests were
already cached, then it will use the existing cache immediately.
Allows setting a specific graphics adapter index to use for Direct3D 11.
This is currently meant to be sort of "undocumented" in implementing it
this way due to the fact that users will be guaranteed to break their
configurations if this is implemented in the UI (even if in advanced
settings).
On Windows 7, WinHTTP defaults to using only SSL3 and TLS 1.0. The
obsproject.com server was updated to remove TLS 1.0 support and
this has caused updates to stop working on Windows 7.
Prevents a potential cross-lock deadlock. The UI thread would lock the
scene's mutex in obs_scene_atomic_update, then the item would lock the
graphics context to create a texture. Meanwhile in the video thread, it
could lock the graphics context in the render loop, then lock the
scene's mutex when rendering. When doing anything graphics-related, the
graphics context is always supposed to be locked before the scene's
mutex is supposed to be locked (it's designed that way), and the
obs_scene_atomic_update would just bypass that.
Replay buffer is currently only supported in simple mode. This change
adds support to advanced mode and is, for the most part, a mirror of the
addition of replay buffer to simple mode.
Mantis-bug: https://obsproject.com/mantis/view.php?id=792Closesjp9000/obs-studio#1019
Use the Qt standard buttons in the source properties dialog to make the
UI consistent. Also remove the right alignment of the button box to
allow Qt to align standard buttons on the left side of the dialog.
Closesjp9000/obs-studio#1013
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.
Closesjp9000/obs-studio#1002
Allows bringing up properties/filters/etc via right-clicking mixer items
in addition instead of only being able to click the gear icon. Minor
QoL improvement.