Commit Graph

1501 Commits (83913e1d31e76e09ece69b1333028e5d06c4969a)

Author SHA1 Message Date
e00E 26c28b4502 UI: Fix warning in VisualStudio 2017
When building with VS2017 the compiler shows some warnings which is
undesirable.

The compiler rightly complains about declarations which hide older ones
which are trivially fixed.

Finally only POD types should be passed to variadic functions which is
why the String should be converted to c_str().
Relying on the current undefined behavior is a bad idea as it can change
with compilers and compiler versions.

Closes jp9000/obs-studio#902
2017-05-04 06:13:45 -07:00
e00E 4361c5bd45 UI, obs-qsv11: Fix build in VisualStudio 2017
OBS did not build out of the box in VS2017 but it does with these
changes.

Closes jp9000/obs-studio#902
2017-05-04 06:13:26 -07:00
Jim 965e2eea9a Merge pull request #900 from cg2121/linux-scene-switcher
frontend-tools: Add automatic scene switcher for Linux
2017-05-04 05:08:17 -07:00
Palakis 2e3888abd4 UI: Add Studio Mode features in the Frontend API
With these new functions, plugin developers can enable, disable and
get the status of Studio Mode, as well as get and set the current
preview scene and transition the current preview to Program

Here is a list of the Studio Mode events:
   - Studio Mode enabled
   - Studio Mode disabled
   - Previewed scene in Studio Mode changed
2017-05-03 23:19:04 +02:00
Jim da0f3c2705 Merge pull request #889 from cg2121/drag-drop-bug
UI: Fix drag & drop bug
2017-05-03 14:17:49 -07:00
mntone 9efd2b87aa UI: Add option to disable audio ducking on windows
The audio subsystem of windows is by default configured to lower the
volume of other things while a communications device (mic) is currently
active.  This patch prevents that from being enabled with OBS.  If the
user needs audio ducking enabled again for whatever reason, there is now
an option to re-enable it in advanced settings.

Closes jp9000/obs-studio#884
2017-05-03 11:05:30 -07:00
cg2121 d1de03c0be frontend-tools: Add automatic scene switcher for Linux 2017-05-03 09:23:06 -05:00
jp9000 4684294bcd UI/updater: Add opt to disable building update module
Mostly to reduce build time when the update module doesn't need to be
rebuilt.
2017-05-02 03:45:20 -07:00
jp9000 aa70704700 frontend-plugins: Abstract captions
Currently the captioning code is a bit intertwined with the UI, and the
captioning is hard-coded towards microsoft speech API.

This patch abstracts captions to allow other APIs to be implemented
later.
2017-04-30 08:28:07 -07:00
jp9000 1e37017d4e frontend-tools: Rename some files
Changing the name of certain captions source files so it specifies which
caption API the files are for.  "mssapi" for Microsoft's speech API.
2017-04-30 08:23:46 -07:00
Shamun 0206227b75 UI: Add command line option for starting up always on top
Closes jp9000/obs-studio#853
2017-04-30 07:49:25 -07:00
cg2121 e26f07a1c3 UI: Make sure all dialogs have close buttons
This adds close buttons to remux dialog, output timer dialog, and
advanced audio properties dialog.  I also did a small refactor of the
remux dialog so the buttons were consistent with other dialogs.

Closes jp9000/obs-studio#876
2017-04-30 06:38:33 -07:00
cg2121 012b5ef6a5 UI: Display filename when dragging & dropping
After dragging and dropping a file, the source name will be the
filename.

(Jim: When dragging and dropping raw text, the raw text would then be
used as the source's name, which is bad if there's a lot of text.  It's
now been changed so that it uses the source type's display name, i.e.
"Text (GDI+)" as the source name in that case)

Closes jp9000/obs-studio#888
2017-04-30 03:37:02 -07:00
Jim 1e831ea9eb Merge pull request #894 from trwnh/patch-1
UI: Ctrl+E to Edit Transform
2017-04-30 03:05:27 -07:00
Palakis 9f3bb4a13f UI: Add front-end API functions to get/modify service
This commit adds functions to get, set and save the service and its
settings, and is plugged straight into the existing internal functions
serving this purpose

(Jim: Fixed commit message and missing newline at end of file)

Closes jp9000/obs-studio#895
2017-04-30 02:53:44 -07:00
Ryan Foster 2d80ae0231 UI: Remove unused defines from old updater code
This commit removes some define statements that were used in the updater
code before OBS Studio 18.0.0.
2017-04-26 13:09:30 -04:00
trwnh 76d795aec0 UI: Ctrl+E to Edit Transform
Added a shortcut to "Edit Transform", with Ctrl+E (lines 1191-1193).
Editing was very easy in OBS Classic, and I could not find the option
for stretching a source to bounds in OBS Studio, so the "Edit Transform"
dialogue should be more user-facing. Giving it a keyboard shortcut
denotes that it is important enough to have a shortcut, as opposed
to the myriad options with no shortcut
2017-04-25 22:57:55 -05:00
Ryan Foster be98cee2a0 Fix various typos across multiple modules 2017-04-25 22:39:42 -04:00
cg2121 485bfa5570 UI: Fix drag & drop bug 2017-04-23 20:45:55 -05:00
Richard Stanway 599ffaa02a
UI: Increase MAX_CRASH_REPORT_SIZE to 150 KB
Now that OBS defaults to 64 bits on Windows, our crash reports are often
truncated since the 64 bit stack values are using twice as much space.
2017-04-11 13:07:34 +02:00
Richard Stanway 67e5f6c54e
UI: Continue to show OpenGL if already in use
Otherwise the user can't actually switch back to Direct3D since the
settings panel doesn't consider the renderer to be modified.
2017-04-10 16:53:28 +02:00
Richard Stanway fdc9c47875
UI: Hide OpenGL and D3D adapter on Windows
OpenGL on Windows is rather unstable and can result in graphical
corruption or the complete inability to start OBS since some GPUs do not
support the minimum requirements after switching to OpenGL. The UI option
is now hidden unless --allow-opengl is passed on the command line.

The D3D adapter is currently unused and we often find users are concerned
when their GPU does not appear in the list.
2017-04-10 15:54:51 +02:00
cg2121 5e65254f2c UI: Add window name to remux dialog 2017-04-09 01:31:50 -05:00
jp9000 3544a2da48 UI: Fix property widgets not being disabled 2017-04-01 13:32:26 -07:00
jp9000 14725a79ee UI: Remove libff as a dependency
Just directly includes the ff-util.c/h files in to UI to prevent the
need of compiling libff in full.
2017-03-31 12:10:34 -07:00
Jim 3a3015aecd Merge pull request #855 from MP2E/master
UI: Fix segfault when no system tray exists
2017-03-25 08:53:02 -07:00
jp9000 6af48130e0 UI: Fix bug where items can't be deleted in last scene
Bug introduced in jp9000/obs-studio#861
2017-03-25 07:36:46 -07:00
jp9000 3774a73fe9 UI: Disable filter pasting when scene collection changed 2017-03-25 07:08:11 -07:00
cg2121 bcd491a3d6 UI: Add copying/pasting of sources/filters
Closes jp9000/obs-studio#860
2017-03-25 04:29:49 -07:00
Cray Elliott c47cb25434 UI: Fix segfault when no system tray exists 2017-03-23 16:47:42 -07:00
cg2121 66dbf8f258 UI: Add workaround to fix deleting final scene bug 2017-03-13 13:18:10 -05:00
Richard Stanway a8106115d9
UI/updater: Fix incorrect inflate use
Same issue as 77ceb97 corrected but for POST responses.
2017-03-10 16:19:04 +01:00
jp9000 4f64be278c UI/updater: Ignore 64bit files on 32bit windows
This would cause people to download the 64bit files when they were on
the 32bit version of windows, even though those files aren't meant to be
installed.
2017-03-07 09:11:44 -08:00
jp9000 77ceb97f96 UI/updater: Fixed a bug with deflating
The file could deflate infinitely until hard drive space ran out.
2017-03-07 09:01:03 -08:00
jp9000 aab843597d UI/updater: Fix potential fail case when no files to patch
The updater would return HTTP 400 on an empty json array upload for the
patch manifest.
2017-03-06 22:20:51 -08:00
jp9000 65d453049a UI/updater: Fix temp files being created and not deleted
The GetTempPath and GetTempFileName functions weren't being used
correctly, GetTempFileName always create a temporary file, and was
creating a temporary file in the root directory of the hard drive
unintentionally.
2017-03-06 21:57:47 -08:00
jp9000 bc9a58174b UI/updater: Use better function for getting process names
EnumProcessModules may not work correctly cross-arch, so use
GetProcessImageFileName instead to ensure no issues in that case.
2017-03-06 18:23:29 -08:00
jp9000 5d136b13a7 UI/updater: Wait for OBS to close before updating 2017-03-06 05:30:58 -08:00
jp9000 86862b672e updater: Add windows updater module 2017-03-06 03:54:53 -08:00
jp9000 f1aba65bbb UI: Fix game capture check when about to update
To check to see if a file is locked, it must be opened for writing, not
reading.
2017-03-06 03:54:49 -08:00
Gol-D-Ace dbf95bdc15 Update translations from Crowdin 2017-03-05 23:40:11 +01:00
jp9000 a5f45a370d UI: Disable network settings while outputs active 2017-03-05 14:30:00 -08:00
Gol-D-Ace de1bbf4342 Update translations from Crowdin 2017-03-04 07:04:03 +01:00
jp9000 556ac1fbb7 UI: Add logging of audio monitoring to sources 2017-03-02 13:05:38 -08:00
jp9000 8d3e839ac8 UI: Log audio monitoring dev. on start and when changed 2017-03-02 12:35:37 -08:00
jp9000 075f911f12 UI: Fix audio monitoring dev. not being set on startup 2017-03-02 11:38:55 -08:00
VodBox aa547e8df6 UI: Don't exit on unknown command line arguments
OBS Browser Source uses command line arguments for flags. Exiting on
command line arguments that are unknown to OBS prevent's that
functionality from working.
2017-03-01 20:25:56 +01:00
Gol-D-Ace 80504c2939 UI: Use correct string for systemTrayEnabled 2017-03-01 05:20:05 +01:00
Jim 95fe16534d Merge pull request #826 from Xaymar/feature_amd-encoder
UI, enc-amf: Update AMD Encoder
2017-02-27 12:54:24 -08:00
Michael Fabian Dirks 2e8ec44db0 UI: Update Simple Mode AMD Presets
Due to the default value assigned to AMF.H264.VBVBuffer.Strictness and AMF.H264.Version, the config upgrade code ran every time someone tried to use simple mode. That caused the AMF.H264.VBVBuffer.Strictness value to always be stuck at 100, which is wrong for streaming and recording.
2017-02-27 21:47:34 +01:00
Gol-D-Ace a13c0a3c29 Update translations from Crowdin 2017-02-27 20:54:02 +01:00
jp9000 e294d546b6 UI: Hide auto update option for linux 2017-02-27 08:03:30 -08:00
jp9000 8f3ee3530c obs-frontend-api: Use virtual destructor (fix memory leak)
Ensures data within the derived object is automatically freed.
2017-02-26 13:01:23 -08:00
jp9000 133fa04db3 UI: If scene/source names exist, start from 2
Currently if you have a scene, "Scene" for example, and you create a new
scene, the dialog will pop up with a default name, but it'll start with
"Scene 1" instead of "Scene 2".  Same thing occurs with sources.  This
fixes that to start from 2 instead.
2017-02-26 08:23:31 -08:00
cg2121 d74372c9e0 UI: Fix typo in general settings 2017-02-25 13:28:16 -06:00
Jim 5c1984366e Merge pull request #787 from derrod/mp4-warning
UI: Add warning for recording to mp4 format
2017-02-25 09:30:52 -08:00
derrod f7be55e451 UI: Add warning about recording to mp4 format 2017-02-25 18:25:45 +01:00
derrod 3fe2a79c81 UI: Add codec compatability checkbox to ffmpeg output
Closes jp9000/obs-studio#804
2017-02-25 09:16:46 -08:00
derrod 1fd302218b UI: Add gop size option for custom ffmpeg output
Closes jp9000/obs-studio#804
2017-02-25 09:08:01 -08:00
Michael Fabian Dirks 6539bacc4e UI: Add support for other codecs
This changes the logic to show all encoders in the Recording tab but
only show selected supported codecs in the Streaming tab (at least with
Advanced Output Mode).  The only (to my knowledge) streaming format that
supports other formats than H264 is WebRTC, which in theory should
support H264, VP8, VP9 and HEVC.  However I don't know about any ingest
server that works well with it yet.

Closes jp9000/obs-studio#794
2017-02-25 08:03:00 -08:00
jp9000 2e4a17c50d UI: Fix some settings layouts on non-windows systems
Form layouts should laways have the setting "all non-fixed fields grow"
to make it look consistent across operating systems.
2017-02-25 06:35:11 -08:00
jp9000 aedd5551eb UI: Make sure size-specific spacers are fixed
Fixes the general settings pane on mac
2017-02-25 06:21:25 -08:00
derrod 379b41aa0e UI: Add options for new socket loop 2017-02-25 06:21:24 -08:00
Jim b956dbe6aa Merge pull request #803 from derrod/ffoutextfix
UI: Fix ffmpeg output file extension
2017-02-25 04:24:02 -08:00
Jim da1fddbd84 Merge pull request #793 from juvester/unused-params
obs-ffmpeg, UI: Fix compiler warnings
2017-02-25 02:35:46 -08:00
jp9000 e7b08f1695 UI: Make installer execute 64bit on 64bit windows
Also executes the program with current user privileges rather than with
elevation to prevent installation issues.
2017-02-24 09:09:21 -08:00
Richard Stanway 23a115b0b3 UI: Use blake2b instead of SHA1 for updater 2017-02-24 09:09:20 -08:00
jp9000 db345e2e48 UI: Improve accessibility text on main window 2017-02-24 03:38:41 -08:00
jp9000 f72fd3c9e3 UI: Trigger scene list change event when scene removed 2017-02-23 00:43:20 -08:00
jp9000 b2bdf96cd6 UI: Trigger frontend api scene change after transition
Changes the OBS_FRONTEND_EVENT_SCENE_CHANGED event after transitioning
is complete rather than right when the user hits a scene change.
2017-02-22 03:08:37 -08:00
jp9000 10a28cd1d2 UI: Add latest installer fixes from R1CH
Uses a custom library for checking whether game capture is active and
for killing stray obs processes
2017-02-20 22:45:36 -08:00
jp9000 cdfb3749ce UI: Update installer to latest version
Changed the build scripts around so that it operates off of a different
directory structure
2017-02-20 22:45:35 -08:00
jp9000 c1c84e9101 UI: Add front-end auto-updater 2017-02-20 22:45:34 -08:00
jp9000 33e4494014 UI: Add function to get remote file
Similar to the OBS1 file where you can optionally get the signature if
available in the header (for auto-updating)
2017-02-20 22:45:33 -08:00
jp9000 8bc516afe7 UI: Clean up general pane of settings dialog
So many checkboxes were together almost senselessly.
2017-02-20 22:45:32 -08:00
derrod b78425aaaf UI: fix ffmpeg output file extension 2017-02-17 20:37:52 +01:00
derrod 6bc1ecc794 UI: Add warning if starting the output fails
This is mainly to give visual feedback to those affected by NVENC not
working with older driver versions. Currenlty obs fails silently which
could go unnoticed for users who are using hotkeys as well as confuse
users who are not trained to read their logs when issues occur.

Closes jp9000/obs-studio#788
2017-02-14 19:21:19 -08:00
jp9000 f83bd9facc UI: Change volume meter update interval to 30fps 2017-02-14 15:00:52 -08:00
juvester fdac36de44 UI: Fix compiler warning 2017-02-08 16:43:21 +02:00
jp9000 52784c3e79 UI: Add 24 NTSC as a common FPS value 2017-02-06 14:55:14 -08:00
jp9000 27a3b97f48 UI: Prevent thread stalls with fader/volume widgets
When the OBS signal is triggered for these widgets, the invokeMethod
could cause the thread to stall, which could make it wait much longer
than necessary to output audio data.  When that happens, it causes audio
monitoring to get backed up and get unnecessarily delayed, as well as
cause general audio buffering in libobs to increase unnecessarily.

A simple fix both in terms of preventing that stall and improving UI
performance is to not call invokeMethod to update the widget each time,
and then instead have those widgets update themselves via a timer at a
specific interval.
2017-02-06 11:44:05 -08:00
jp9000 7639b277ce UI: Add audio monitoring to settings/adv audio props.
Adds audio monitoring selection to advanced audio properties, and adds
the ability to select the device in advanced settings.
2017-02-06 11:44:04 -08:00
jp9000 96f6fa9473 UI: Make advanced settings pane a bit more compact
Packs related controls together and makes a bit more room for more
advanced settings.
2017-02-06 11:43:58 -08:00
Gol-D-Ace e181db7845 UI: Fix locale text alignment 2017-02-06 01:39:44 +01:00
jp9000 be7389ed2e UI: Clarify "Always minimize to tray" option
Makes it a bit more clear that this always minimizes to system tray.
2017-01-30 18:39:53 -08:00
Jim 41dad9dfcd Merge pull request #777 from cg2121/separate-timers
UI: Add separate timers to status bar
2017-01-30 18:07:53 -08:00
jp9000 0fcd661e13 UI: Remove unused variables
Closes jp9000/obs-studio#778
2017-01-30 16:55:29 -08:00
Alexandre Vicenzi 722443b228 UI: Fix linux display/resize bug with preview widget
On linux, the main window isn't immediately set to a native widget, so
the call:

connect(windowHandle(), &QWindow::screenChanged, displayResize);

on line 189 will fail, causing the preview widget to not properly resize
when the main window is resized.

Closes jp9000/obs-studio#776
2017-01-29 19:51:42 -08:00
Jim ce46ffa82e Merge pull request #758 from cg2121/command-line-args
UI: Add more command line options
2017-01-29 19:42:37 -08:00
EpicCoder 73a1bf9236 UI: Fix scaling in viewport when source flipped
Fixes bug 617 on mantis.  Scaling the source manually in the viewport
wouldn't work properly when the source is flipped horizontally or
vertically.

Closes jp9000/obs-studio#751
2017-01-29 19:21:11 -08:00
dennis 21584fa2c0 UI: Add auto-start replay buf. opt. when stream starts
Closes jp9000/obs-studio#748
2017-01-29 19:09:23 -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 7eee8de331 UI: Do not quit program when last windows are projectors
Prevents the program from unintentionally quitting if the program is
minimized to the task tray and the user closes all projectors

Closes jp9000/obs-studio#737
2017-01-25 20:23:03 -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 9fe127ec04 UI: Add separate timers to status bar
This adds separate timers for streaming and recording to the status bar.
2017-01-25 00:15:59 -06:00
cg2121 cdf8a40bf1 UI: Add connection status square to status bar
Closes jp9000/obs-studio#720
2017-01-24 15:54:59 -08:00
jp9000 85c43cd666 UI: Protect debug text static string var with mutex 2017-01-24 12:49:47 -08:00
Lionheart Zhang 9050febf06 UI: Convert to wide before outputting debug text (win)
Fixes an issue where non-english debug text wouldn't display correctly
in the debugger output on windows.  Also, only output debug text when
actually debugging.

Closes jp9000/obs-studio#734
2017-01-24 12:32:23 -08:00
shiina424 36bf5988d2 UI: Fix bug with uncopied profile import/export files
streamEncoder.json and recordEncoder.json are missing.  Thess files are
generated when the output mode is advanced, and the user modifies
encoder settings.

Closes jp9000/obs-studio#741
2017-01-16 03:55:20 -08:00
Gol-D-Ace e4f32aa54a Update translations from Crowdin 2017-01-16 12:44:07 +01:00
cg2121 7c98edccc5 UI: Add more command line options 2017-01-11 15:48:59 -06:00
Gol-D-Ace 6223ed6520 Update translations from Crowdin 2017-01-07 00:23:16 +01:00
shiina424 5133353d92 frontend-tools: Fix output-timer translation bug
Don't use tr() to translate, use obs_module_text().

Closes jp9000/obs-studio#735
2016-12-24 04:16:31 -08:00
SuslikV fae5082b8b UI: Fix Export QFileDialog parent 2016-12-24 13:44:41 +02:00
jp9000 9e7daff511 frontend-tools: Set buddied controls for captions dialog 2016-12-24 03:01:48 -08:00
jp9000 5e19fa7cd9 frontend-tools: Don't include colon in "Audio Source"
Makes it consistent with how UI locale is with the rest of the program.
2016-12-23 20:23:38 -08:00
jp9000 950f677cc2 frontend-tools: Reset stop event before starting captions
In case the stop event has already been set and hasn't had a chance to
unset for whatever reason.
2016-12-23 20:21:56 -08:00
jp9000 d32f7c95a2 frontend-tools: Detach caption thread if critical failure
Prevents the thread from being considered "active" if a critical failure
occur, so calling the stop function won't be necessary.
2016-12-23 20:21:55 -08:00
jp9000 869692098a frontend-tools: Add ability to select caption language
Also, default to current user UI language.
2016-12-23 20:21:54 -08:00
Gol-D-Ace 69f0bc244a Update translations from Crowdin 2016-12-23 20:46:47 +01:00
jp9000 b8e078f2bf frontend-tools: Add caption generation tool (windows)
Allows generating captions via the windows speech recognition API
(SAPI).

This is currently marked as experimental due to speech recognition
technology still being less than ideal.  Speech recognition technology
in general is probably never going to be anywhere near perfect.
Microsoft's speech recognition in particular requires a bit of training
via the windows speech recognition tool to ensure it can dictate better.
Clear speech with a good mic is recognized fairly well, but casual
speech and/or speaking with a poor microphone will have some significant
issues.  Captions can often be way off when speaking casually rather
than with clear diction.
2016-12-23 10:37:13 -08:00
jp9000 2cbb3c2505 frontend-tools: Move source helper functions to a header 2016-12-23 10:37:10 -08:00
jp9000 fb60a5f1e9 UI: Fix settings window stacked widget index 2016-12-22 07:04:15 -08:00
jp9000 579a5019d8 UI: Fix video initialization failure error message
It incorrectly assumed windows systems before, now it uses an
appropriate platform-independent error message.  Also fixes a missing
word.
2016-12-22 06:57:26 -08:00
jp9000 a2c92b1c69 UI: Add default audio track bitrates
Closes jp9000/obs-studio#732
2016-12-22 06:54:44 -08:00
jp9000 94a4228904 UI: Fix buddy controls with new audio tracks 2016-12-22 06:53:01 -08:00
jp9000 c11572fddf UI: Clarify startup error messages related to video 2016-12-21 19:22:16 -08:00
jp9000 2df7e16b44 UI: Use 64bit desktop link by default in installer 2016-12-21 18:43:52 -08:00
jp9000 005fd823cb UI: Fix endif in installer 2016-12-21 18:43:30 -08:00
jp9000 09a12fcf98 UI: Update locale for 6 tracks 2016-12-21 17:41:59 -08:00
jp9000 c4ec1bc28a UI: Increase maximum audio tracks to 6 2016-12-21 17:14:24 -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
SuslikV ee019c7761 UI: Make close button default in transform dialog
Improves ease of use.

Closes jp9000/obs-studio#731
2016-12-18 06:28:08 -08:00
Michael Fabian Dirks db7632e7fd UI: Use dedicated GPU on Hybrid AMD GPU systems
This enables use of the dedicated GPUs for AMD PowerXpress systems.
Especially important for Adapter selection, as usually the dedicated GPU
is hidden/inactive until needed.

Closes jp9000/obs-studio#706
2016-12-17 20:06:39 -08:00
Jim 4b8411fa4d Merge pull request #716 from flash0110/ui_fix-frontend-api-scene-added
UI: Fix frontend-api event call for adding scenes
2016-12-17 18:59:40 -08:00
jp9000 580f38a733 UI: Remove deleteLater view from filter window layout
In the filters dialog, when the properties are being updated due to
filters being added/removed/switched, using deleteLater on the previous
view would cause it to linger in the view until the deleteLater is
processed by the Qt queue, displaying two views instead of one.
Additionally because of that, this would also cause the display in the
filters dialog to resize as well, causing the reorder mutex hard lock
which was fixed by the parent commit.

Closes jp9000/obs-studio#714
2016-12-17 15:32:19 -08:00
vic 7db00a18fa UI: Fix property name bug in frontend API
This commit fixes a bug that would cause the frontend API function
obs_frontend_set_current_scene_collection to never be successful.  Due
to the bug, the following null pointer check would always fail, so the
action would never be triggered.

Modification by Jim: Instead of fixing the typo that caused this to
occur, make it so both scene collection menus and profile menus both use
"file_name" consistently.

Closes jp9000/obs-studio#712
2016-12-16 16:43:12 -08:00
jp9000 1865285ccb UI: Fix replay buffer compile issues on older compilers 2016-12-11 21:04:58 -08:00
jp9000 ec60ab9bc6 UI: Add file prefix/suffix options for replay buffer
Adds the ability to use a specific prefix and/or suffix on replay buffer
filenames to distinguish them from normal recordings.  Defaults to
having the prefix "Replay".
2016-12-09 14:48:44 -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 8f36d122be UI: Clarify replay buf. hotkey error message
It should specify that the user specifically needs to set the "save"
hotkey, not just "the replay buffer hotkey".
2016-12-09 14:46:17 -08:00
jp9000 752c118f2e UI: Add replay buffer options to simple output mode 2016-12-08 03:36:19 -08:00
jp9000 47fe89b964 UI: Disable simple output rec. settings when active 2016-12-08 03:36:18 -08:00
jp9000 b277000f97 libobs/util: Add function to generate formatted filenames
(Note: This commit also modifies the UI)

Being able to generate file names based upon a specification is useful
for more than just the UI; it can also be useful for things such as the
replay buffer where file names need to be generated on the fly.
2016-12-08 03:27:34 -08:00
Alexander Uhlmann 90a9d1d726 UI: Fix frontend-api event call for adding scenes
Added missing frontend-api event call for AddScene and removed thus
obsolete event call in DuplicateSelectedScene.
2016-12-02 20:37:15 +01:00
cg2121 c6c58e55b3 frontend-tools: Add options to start output timers every time
Adds options to start output timers every time streaming or recording
has started.

Closes jp9000/obs-studio#668
2016-11-25 10:05:11 -08:00
Gol-D-Ace 2d47dc4e2c Update translations from Crowdin 2016-11-20 12:22:26 +01:00
Jim e87a819fe1 Merge pull request #694 from Savestate2A03/preview_scrolling_while_locked
UI: Enable scrolling while preview is locked
2016-11-20 03:02:17 -08:00
jp9000 d73303a9f9 UI: Update installer script to latest version 2016-11-19 11:02:22 -08:00
Jim 4388ab36c4 Merge pull request #696 from TotalCaesar659/master
UI: tray icons are redrawn for better visibility and contrast
2016-11-17 10:24:04 -08:00
Jim 8d86f49003 Merge pull request #682 from Xaymar/cmd_verbose_unfiltered
UI: Add --verbose and --unfiltered_log command line options
2016-11-16 20:50:01 -08:00
Michael Fabian Dirks 949400118e UI: Update settings and fix presets for simple AMD encoder 2016-11-17 04:40:49 +01:00
Grigorii Chirkov 481ba29c69 UI: tray icons are redrawn for better visibility and contrast 2016-11-17 00:57:58 +03:00
Gol-D-Ace 90e805ad9b Update translations from CrowdIn 2016-11-16 00:32:47 +01:00
Joseph El-Khouri cbe2abf0b1 UI: Fix scrolling while preview is locked
As reboot pointed out, it's assumed that the intention of a locked
preview is to prevent editing the scene. Because scrolling the preview
does not have any interaction with the scene and its sources, you should
be able to still scroll around and look at different parts of your
preview while the preview is locked.

There is also a bugfix included: previously, if you were to
right click while space bar was held down, you would be stuck in
scroll mode until spacebar is pressed/released again. This gets around
it by forcing scroll mode to end when a right click is issued on the
preview.
2016-11-12 22:22:33 -05:00
cryptonaut 21ab517ba9 UI: Fix crash when switching encoders in advanced mode
On linux, the JSON file handling code will try to read the directory
itself as a file, which can cause a crash.

Closes jp9000/obs-studio#681
2016-11-10 10:41:05 -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 fa0bd585a5 Revert "UI: Enable HiDPI scaling."
This reverts commit c4eebbba54.
2016-11-04 04:27:07 -07:00
jp9000 06894c6e84 Revert "UI: Only scale HiDPI on QT 5.6+"
This reverts commit 404258f41a.
2016-11-04 04:26:52 -07:00
Ryan Foster 2c5577facd UI: Fix tab order of Crop fields in Transform Properties 2016-11-04 06:25:46 -04:00
jp9000 ed85b22534 Update translations from CrowdIn 2016-11-03 13:32:52 -07:00
Jim f8f71541ad Merge pull request #680 from Xaymar/plugin_enc-amf
enc-amf: Update to version 1.4.0.0
2016-11-03 13:09:51 -07:00
Michael Fabian Dirks 01a33edea9 UI: Add AMD presets and update settings 2016-11-03 20:34:57 +01:00
jp9000 d0e186497f UI: Allow the ability to use deprecated sources 2016-11-03 12:28:33 -07:00
Michael Fabian Dirks cc1949c251 UI: Add --verbose and --unfiltered_log command line options
--verbose enables logging of messages and LOG_INFO and --unfiltered_log disables repeated log line filters. Both are useful for extreme support sessions where things have gone so far south that you actually would need this.
2016-11-03 16:14:01 +01:00
jp9000 d5ad621dd1 UI: Fix --profile option not working on non-windows
Using "*.*" as a search string is a windows-specific search term.  "*"
should be used instead.
2016-10-20 12:41:56 -07:00
Christoph Hohmann 623c9dc41a UI: Fix full screen projector on screens that have reserved areas
QScreen::availableGeometry() does not return the full screen size on X11
if areas of the screen are reserved by the window manager. In this case
the full screen projector does not cover the whole screen. Using
QScreen::geometry() instead fixes this issue.
2016-10-20 15:32:15 +02:00
jp9000 83fa6e728a UI: Remove unused variable 2016-10-19 06:52:57 -07:00
jp9000 ee7e319a61 UI: Fix improper brace placement for function 2016-10-19 06:49:12 -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
jp9000 dadefceccf UI: Fix sys. tray crashes when sys. tray not available
When the system tray is not available, the system tray variables would
still be used despite not being initialized.

Fixes mantis bug 640 on linux systems in particular that may not always
have system tray available.
2016-10-19 05:32:01 -07:00
cg2121 6639847017 frontend-tools: Add ability to start timer if output is already active
This adds the ability to start the output timer if streaming or recording is already active.
2016-10-17 22:20:24 -05:00
Christoph Hohmann a1ea6e4f51 frontend-tools: Code cleanup of output timers 2016-10-17 17:28:05 +02:00
cg2121 7e5c7da542 frontend-tools: Add output timers
This adds streaming and recording timers to the frontend tools.

Closes jp9000/obs-studio#625
2016-10-17 02:47:29 -07:00
jp9000 971dd4945c UI: Fix bug in frontend API event
Was using main->outputHandler->StreamingActive() for the
obs_frontend_recording_active function.
2016-10-17 02:45:28 -07:00
jp9000 e2af0eec04 obs-frontend-api: Add library version 2016-10-16 00:08:49 -07:00
Michael Fabian Dirks bd606785fe UI: Split Properties window with a QSplitter
Closes jp9000/obs-studio#645
2016-10-09 18:47:32 -07:00
Michael Fabian Dirks d324713364 UI: Add raw text and text file to drag&drop support
Closes jp9000/obs-studio#644
2016-10-09 18:39:53 -07:00
Ryan Foster b75292dbf4 UI: Add Portable Mode indicator to title bar and log
Closes jp9000/obs-studio#654
2016-10-09 18:10:18 -07:00
Colin Edwards 404258f41a UI: Only scale HiDPI on QT 5.6+ 2016-10-04 22:46:52 -05:00
Jim a80d334cf6 Merge pull request #640 from DDRBoxman/HiDPI
UI: Enable HiDPI scaling.
2016-10-04 11:30:34 -07:00
Jim f81637718b Merge pull request #647 from wt/remove_GetMonitors
Remove get monitors
2016-10-03 23:54:36 -07:00
Warren Turkal f3eb8aacfe UI: Use Qt lib for screen info instead of x11 libs
All of the monitor discovery logic can be implemented with Qt. This
change removes all the x11 implementations in favor of Qt and removes a
fair amount of platform specific code.
2016-10-03 23:50:13 -07:00
Ryan Foster 91b64657c6 frontend-tools: Fix crash when adding invalid regex
When adding a new regex rule to the Automatic Scene Switcher, OBS would
crash if the regex was invalid. This was because the regex was added to
the Regex object without a test or try-catch. This commit fixes that
behavior, and adds a warning message when attempting to add an invalid
regex.
2016-10-02 23:28:38 -04:00
Colin Edwards c4eebbba54 UI: Enable HiDPI scaling.
This makes the app much more usable on hidpi screen devices like the
surface.
2016-09-30 01:05:14 -05:00
jp9000 48f0c73f82 UI: Use rect intersection test for validating position
Instead of checking to see if the window's position is valid, check to
see if the rectangles of the window and the monitor intersect via a
rectangle intersection test.
2016-09-28 22:26:28 -07:00
jp9000 071ed465cb UI: Fix window size/pos not saving on exit 2016-09-28 02:01:25 -07:00
jp9000 cdd788c4be UI: Just use 'OK' button for license agreement dialog
An "I Agree" or "I Disagree" button isn't necessary for GPL.
2016-09-27 18:06:09 -07:00
Gol-D-Ace aadc7263c0 Update translations from Crowdin 2016-09-28 01:17:24 +02:00
jp9000 eb1fecdd34 UI: Add media/image file drop support 2016-09-27 10:01:22 -07:00
Michael Fabian Dirks 857cf00a39 UI: Implement simple output mode presets for AMD
Closes jp9000/obs-studio#630
2016-09-26 18:51:03 -07:00
jp9000 b9b6f70cd5 UI: Make sure all dialogs are closed when hiding window
Fixes a crash that could happen where you close the window while the
main window is hiding, and then the app mistakenly thinks that "all
windows are closed" and initiates shutdown while the main window is
still active but hidden.
2016-09-21 21:20:49 -07:00
jp9000 406a8c89ca UI: Disable hiding if settings open
Fixes a bug where you could minimize to tray if the settings window was
open.
2016-09-21 21:20:06 -07:00
Christoph Hohmann 7de289f6cc UI: Fix crash in filters dialog caused by access to deleted widget 2016-09-20 16:23:11 +02:00
Jim b2fd5ca25e Merge pull request #607 from CoDEmanX/master
Don't nudge sources if preview is locked
2016-09-16 20:43:47 -07:00
cg2121 883f9f204b UI: Add reset/close buttons to transform dialog
Adds a reset and close button to the transform dialog.

Closes jp9000/obs-studio#612
2016-09-16 20:30:52 -07:00
jp9000 b8acca7cca UI: Hide deprecated sources from add source popup menu 2016-09-14 16:59:45 -07:00
jp9000 dc2915dc3b UI: Sort 'Add' source popup menu 2016-09-14 16:59:28 -07:00
jp9000 4584ef2511 UI: Limit font size for font property label
If the font size is too big, it can take up the entire properties view
window.
2016-09-14 16:59:27 -07:00
jp9000 2b4bf21416 UI: Add tooltips (long description) to property controls 2016-09-11 04:15:57 -07:00
jp9000 5c5d0ba9e5 UI: Add ability to forcibly stop streams/recordings
If the user hits the "stop stream" button it'll transition in to
"stopping stream..." and will continue to output until the stream
reaches the timing in which "stop" was pressed.

However, if there is significant congestion, stopping the stream can
take far longer than the user may like.  So there needs to be an option
to forcibly stop the stream in that case; pushing the "stop" button a
second time should allow the user to tell the stream/recording to stop
right away instead of waiting for the precise stop timing.
2016-09-09 17:39:21 -07:00
Richard Stanway 007d39e296
UI/installer: Miscellaneous installer improvements
- Checks for previous instances by using the FindProcDLL NSIS plugin

- No longer allows ignoring if there is a sharing violation.

- Added version information section to allow friendly description in
  the UAC elevation prompt.

- Kill lingering instances of cef-bootstrap before installing.
2016-09-07 23:52:04 +02:00
jp9000 be89ef8712 frontend-tools: Remove unused locale 2016-09-07 06:01:42 -07:00
jp9000 39592ff5eb frontend-tools: Add scene switcher plugin 2016-09-06 22:01:50 -07:00
jp9000 8836592d92 UI: Add front-end API library
Allows manipulating and modifying the front-end via plugins.
2016-09-06 22:01:48 -07:00
jp9000 bfc21317bf UI: Make scene collection/profile enum funcs external
Allows using the functions outside of the file they're in.
2016-09-06 04:54:24 -07:00
jp9000 9ed95b2497 UI: Change certain scene functions to slot functions
This allows using the functions via Qt message queue.  The reason for
this is so a frontend API can queue these functions to call safely from
another thread.
2016-09-06 04:54:23 -07:00
CoDEmanX 4986cbae30 UI: Don't nudge source if preview is locked 2016-09-02 17:13:45 +02:00
jp9000 01b274f1da UI: Rename 'obs' dir to 'UI'
This is to prevent confusion both when prefixing commits and when
reading the directory structure for the first time.
2016-08-27 20:19:45 -07:00