433 Commits

Author SHA1 Message Date
Colin Edwards
5d17e6f6ea deps/scripting: Add python rpaths to the obs binary on OSX
Closes jp9000/obs-studio#1127
2018-01-04 17:04:08 -08:00
jp9000
0b01e4c7a1 frontend-tools: Add scripting tool
Adds a scripting tool that gives the users the ability to load scripts
and change their settings.
2018-01-04 11:37:43 -08:00
jp9000
66f993d214 libobs: Exclude certain declarations from SWIG processing
Prevents SWIG from being able to process certain declarations that would
cause binding generation errors/warnings.
2018-01-03 17:04:04 -08:00
jp9000
2de3973fae UI: Allow temporarily disabling filter/source types
Implements the OBS_SOURCE_CAP_DISABLE capability flag in to the user
interface.
2018-01-03 17:04:04 -08:00
jp9000
da0e3ef0ee UI: Do not show deprecated filters 2018-01-03 17:04:03 -08:00
jp9000
6cd79f8105 UI: Add scene collection cleanup event to frontend API
This event is called when all scene data has been unloaded.
2018-01-03 17:04:03 -08:00
jp9000
bf31e1c233 UI/obs-frontend-api: Move function declarations 2018-01-03 17:04:03 -08:00
jp9000
518290c404 UI: Trigger scene change event on scene collection load
When the program first starts up, or rather when a scene collection is
loaded, the frontend API OBS_FRONTEND_EVENT_SCENE_CHANGED event would
not get triggered.
2018-01-03 17:04:03 -08:00
jp9000
4fd43f55fb UI: Add refresh/reload button icons 2018-01-03 17:04:03 -08:00
jp9000
03b8fd0186 UI: Call frontend callbacks in reverse order
Allows safely removing callbacks from within the callbacks themselves.
2018-01-03 17:04:03 -08:00
jp9000
5645c02c8f UI: Add preload callbacks to frontend API
Allows loading data before actually loading any scene data.
2018-01-03 17:04:03 -08:00
jp9000
260fb571b8 UI: Set ENABLE_UI and DISABLE_UI as root CMake variables
Allows for projects other than UI to be able to reference these CMake
variables.
2018-01-03 17:04:03 -08:00
jp9000
7f6cf97bd7 libobs: Add obs_render_main_texture
(Note: This commit also modifies UI and test)

This makes it so that main preview panes are rendered with the main
output texture rather than re-rendering the main view.  The view will
render all objects again, whereas the output texture will be a single
texture render of the same exact thing.

Also fixes some abnormal artifacting when scaling the main preview pane.
2018-01-01 18:52:47 -08:00
Joel Bethke
c3badc4a54 UI: Fix minor Rachni theme bugs
The tab bars in the Rachni theme had an issue related to an attempted
property of qproperty-drawBase: 0 in the .qss file. This, in theory,
should have worked and removed the base of the tab bar, but there is a
bug that prevents this from consistently applying, as detailed here:
https://bugreports.qt.io/browse/QTBUG-2982

This fix removes that property, and adjusts the styling of the tabs
themselves for a more consistent experience. Tabs should no longer be
cut off or displayed improperly.

In addition, this also corrects an issue with the scene/source rename
QLineEdit field displaying improperly.
2017-12-23 21:31:04 -06:00
Matthew McNamara
d8743a2872 ui: Fix unsaved changes dialog showing twice
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
2017-12-08 01:32:40 +01:00
jp9000
0d6204c8af Fix a number of MSVC warnings
Fixes a number of warnings with all modules
2017-12-05 13:53:44 -08:00
Ryan Foster
12abbd9205 cmake: Correct CMake checks for LINUX
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.
2017-12-03 19:10:34 -05:00
Colin Edwards
fcea48490f cmake: Do not require X11 on OSX 2017-12-02 22:40:10 -06:00
jp9000
570cd49b6d UI: Duplicate when double-click switching is used
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.
2017-12-02 16:36:01 -08:00
jp9000
8a38d8e60e UI: Move multiview options to view menu
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.
2017-12-02 16:12:03 -08:00
jp9000
3770a24e61 UI: Fix draw issues with multiview projector
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.
2017-12-02 15:36:32 -08: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
7d2cda57bb UI: Fix issue where studio preview scene would stick 2017-11-30 11:42:42 -08:00
jp9000
42323ea31b UI: Fix scene override when switching off studio mode
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.
2017-11-30 09:51:24 -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
jp9000
68e67366d2 UI: Fix bug with studio mode double-click switching
Fixes a bug where the OBSBasic::programScene variable would not be set
for the new program scene when switching scenes via double-clicking on
them.
2017-11-28 03:38:30 -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
pkviet
bbac3280c1 libobs: Add surround sound audio support
(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)

Closes jp9000/obs-studio#968
2017-11-26 03:41:53 -08:00
jp9000
573fbbfead UI: Fix a memory leak when renaming mixer sources 2017-11-26 02:30:26 -08:00
Jim
1866778f61
Merge pull request #1074 from admshao/fix-x11-fullscreen-keypress
UI: Allow keyboard events on X11 fullscreen projector
2017-11-25 18:29:16 -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
Jim
a63028dd9c
Merge pull request #1051 from RytoEX/add-frontend-replay-buffer-save
UI: Add Frontend API function to save replay buffer
2017-11-24 22:41:54 -08:00
Jim
5d5da2a380
Merge pull request #1050 from RytoEX/disable-copy-with-no-source
UI: Disable source copy if no sources are selected
2017-11-24 22:40:56 -08:00
nleseul
d22a75401d UI: Make streaming/recording buttons checkable
This makes it so the buttons appear "pressed" while streaming/recording
to more visibly help indicate that they are currently active.

Closes jp9000/obs-studio#1039
2017-11-23 00:54:06 -08:00
nleseul
953af9f3d1 UI: Handle update_properties signal in OBSBasicFilters window
The OBSBasicFilters window did not register a handler for the
"update_properties" signal. Now it does. Addresses issue #1028.

Closes jp9000/obs-studio#1036
2017-11-22 23:38:23 -08:00
Shaolin
6df56e09ce UI: Allow keyboard events on X11 fullscreen projector
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
2017-11-11 14:54:49 -02:00
Richard Stanway
0cbd9cc051 UI: Fix custom ffmpeg output file / URL entry
The default value in the .ui file was out of sync so the signal to
update the stacked widget was never sent.

Fixes https://obsproject.com/mantis/view.php?id=1060
2017-11-08 15:43:48 +01:00
Richard Stanway
9f046dc52b UI: Log when output timer events stop outputs 2017-10-26 18:31:56 +02:00
Ryan Foster
44b3cde9da UI: Add Frontend API function to save replay buffer 2017-10-19 07:16:00 -04:00
Ryan Foster
c8353c90b6 UI: Disable source copy if no sources are selected
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.
2017-10-17 19:22:07 -04:00
jp9000
7bd06e7f26 Update translations from Crowdin 2017-10-17 05:39:22 -07:00
cg2121
0e0db29d80 UI: Fix Pulse Audio not loading saved device 2017-10-16 17:28:50 -05:00
Ryan Foster
0fe4688a34 UI: Disallow pasting duplicates of sources with DO_NOT_DUPLICATE
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.
2017-10-14 05:05:16 -04:00
Richard Stanway
8e66f180d8
UI: Add missing text for replay buffer hotkey log 2017-10-12 17:49:02 +02:00
Richard Stanway
5c9d3dd30d
UI: Log when starting / stopping via hotkey or timer
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).
2017-10-12 17:23:56 +02:00