5412 Commits

Author SHA1 Message Date
jp9000
3259269c99 deps/obs-scripting: Fix script_log in python to append newline 2018-01-19 11:10:45 -08:00
Colin Edwards
1c3f18a75a frontend-tools: Add a lua script that draws an analog clock
Closes jp9000/obs-studio#1159
2018-01-19 08:27:55 -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
Richard Stanway
bba37a7069 UI: Optimize theme PNG images (smaller files) 2018-01-19 08:24:09 +00:00
jp9000
00e7a84050 frontend-tools: Add "Clear" button to script log window 2018-01-18 14:42:24 -08:00
jp9000
b1e6af319c frontend-tools: Warn if no active replay buffer w/ instant replay 2018-01-18 14:41:19 -08:00
jp9000
5982a8cd28 frontend-tools: Make instant replay script also save replay
With the "instant-replay.lua" script, it would only play the last replay
buffer saved, meaning the user would have to save a replay with the
replay buffer hotkey, and then press the "Play Last Replay" hotkey to
play the last replay buffer.

Instead, combine the two and make the script save the replay
automatically first, and then play it back as soon as it's available.
This makes it actually qualify as an "instant replay" script, as its
name implies.
2018-01-18 14:24:17 -08:00
jp9000
ba1a70c1a0 frontend-tools: Add "instant replay" script
A script that plays back the last replay buffer in the specified media
source.
2018-01-18 08:59:59 -08:00
jp9000
655288baec obs-ffmpeg: Do not return last replay path if currently muxing 2018-01-18 08:54:43 -08:00
jp9000
e3d19c5b16 libobs/callback: Add calldata_create and calldata_destroy
These functions aren't particularly useful in C/C++, but these functions
are necessary to allow creating/destroying a calldata_t object via
script.
2018-01-18 08:53:19 -08:00
jp9000
c9c7dc5748 deps/obs-scripting: Fix frontend API lua table creation
Lua uses 1-based index on table insertions, and lua_newtable has a bit
better performance than lua_createtable if initializing tables with an
unknown item count.
2018-01-18 05:59:20 -08:00
jp9000
d01632a4f0 deps/obs-scripting: Fix a few more VC warnings from swigluarun.h 2018-01-18 05:35:19 -08:00
jp9000
8fc486339c obs-ffmpeg: Add proc to get last replay buffer
Allows getting the path of the last replay buffer saved via the
procedure handler of the FFmpeg muxer output.
2018-01-18 05:34:26 -08:00
Colin Edwards
f06c0dd7d5 deps/obs-scripting: Ensure that ffi module gets loaded
Closes jp9000/obs-studio#1158
2018-01-18 01:49:07 -08:00
Warchamp7
303ba1dfbd UI: Add Acri theme
Closes jp9000/obs-studio#1150
2018-01-18 01:45:49 -08:00
Lucian Poston
ff45b7b119 obs-ffmpeg: Call av_register_all before nvenc check
Closes jp9000/obs-studio#1157
2018-01-18 01:36:46 -08:00
jp9000
653d3ceb33 obs-ffmpeg: Don't try to detect NVENC on mac 2018-01-18 01:36:46 -08:00
Michel
054d607c2d obs-ffmpeg: Improve NVENC detection
This improves detection by performing an actual check on encoder
capability directly with the NVENC/CUDA libraries.
2018-01-18 01:35:45 -08:00
Tjienta Vara
48a8e750bb linux-pulseaudio: Surround speaker map
When using more than two channels, the channel map of pulse-audio is incorrect.

Add an API for getting a speaker map based on OBS speaker layout. Then use the
speaker map when connecting to a pulse-audio device, for both source and
monitor output.
2018-01-17 13:05:04 +01:00
jp9000
3a1603d905 UI: Set max size for names in name dlg. to 256 2018-01-17 02:59:46 -08:00
jp9000
44f4f4366b UI: Use snprintf and std::string when creating profiles 2018-01-17 02:59:18 -08:00
jp9000
8a1486d15f libobs: Fix rendering if filter context no longer exists
If a filter's implementation (its plugin for example) no longer exists,
it would cause the source to stop rendering if that filter was present
on the source.  Instead, just bypass the filter to ensure that the
source continues to render.
2018-01-17 02:08:06 -08:00
jp9000
dc7e05c0b9 libobs: Fix double -> float conversion warning 2018-01-16 12:03:03 -08:00
jp9000
d6ac457025 libobs: Optimize clearing of unused source audio mixes
Prevents calling memset on mixes that aren't currently active.
2018-01-16 12:02:00 -08:00
Christoph Hohmann
f4142a8ac8 libobs: Fix audio buffer clear in custom source mixing
The memset in custom_audio_render() did not clear all audio buffers when
the number of output channels was less then 8.  This caused wrong audio
output on mixes that did not get cleared.

Closes jp9000/obs-studio#1123
2018-01-16 11:56:11 -08:00
Beau Russell
fe26babbf1 Fix typo in README.rst
Fixed a Typo on the 34th line, and added to the 35th so that the Syntax
matches that of the rest of the file.

Closes jp9000/obs-studio#1146
2018-01-16 06:01:28 -08:00
Jim
b264f8885a
Merge pull request #1148 from SuslikV/patch-1
libobs: Fix log message
2018-01-16 05:52:49 -08:00
Jim
bf6231e122
Merge pull request #1147 from kkartaltepe/swig-cmake-fix
CMake: Fix FindSwigDeps search path
2018-01-16 05:52:16 -08:00
Jim
47f42d025f
Merge pull request #1149 from Fenrirthviti/dark-theme-fix
UI: Fix tab bars for docked widgets in Dark theme
2018-01-16 05:48:37 -08:00
Jim
8d60404663
Merge pull request #1155 from DDRBoxman/scripting
deps/obs-scripting: Various scripting fixes
2018-01-16 05:24:26 -08:00
jp9000
db2d4c97e8 deps/obs-scripting: Fix installed files/locations on linux
Uses the 'install' command in cmake to install scripting modules/files
(such as _obspython.so, obslua.so, and obspython.py), and changes the
install location of those files on all operating systems.  If using a
non-unix structure install, those files will be installed in
data/obs-scripting/[32bit/64bit], otherwise with unix structure installs
those files will be installed to [/usr/local/lib]/obs-scripting.
2018-01-16 03:55:38 -08:00
jp9000
17d2a17f9e UI: Put clip detection back in to volume meter
Before the new volume meters were implemented, the meter would flash red
if the audio was clipping.  This functionality was removed when the
meters were changed, whether intentionally or unintentionally, and this
patch puts that functionality back in.  If clipping occurs, the meters
will be fully colored with the foregroundErrorColor value while the
clipping is occurring.
2018-01-15 23:55:03 -08:00
Colin Edwards
4390a0e7e6 deps/obs-scripting: Add image-file to lua 2018-01-15 21:54:50 -06:00
Colin Edwards
3714424808 deps/obs-scripting: Set current_lua_script earlier to prevent a crash 2018-01-15 21:12:40 -06:00
Colin Edwards
c9224edbad UI: Set linker flags required for luajit on OSX 2018-01-15 20:39:01 -06:00
Colin Edwards
1b49a0541e deps/obs-scripting: Don't crash obs trying to unload a script that failed to load 2018-01-15 20:38:58 -06:00
jp9000
da7b8c79a2 docs/sphinx: Clarify vertex buffer usage 2018-01-14 05:31:28 -08:00
jp9000
dd8cf409d0 test/test-input: Add audio buffering sync test source
Adds a source which tests whether audio buffering affects audio sync.
This sync test cycles through 7 audio/video frequencies at 250
millisecond intervals, and via a hotkey, will artificially move audio
time back by one second (and the audio cycle back by 4 frequencies).
This will artificially increase audio buffering by approximately 750
milliseconds.

Results from this test as of this writing: this test proves that dynamic
audio buffering does not affect sync.
2018-01-14 01:28:28 -08:00
jp9000
ae259bf8d8 win-capture: Make minor clarification to locale string 2018-01-13 18:30:23 -08:00
Joel Bethke
5c5f4033ff UI: Fix tab bars for docked widgets in Dark theme 2018-01-13 18:22:17 -06:00
SuslikV
70bc2581b7
libobs: Fix log message
Refines warning message to make it clear for the end-user.

Module may fail to load by different reasons.
2018-01-13 12:26:34 +02:00
jp9000
17560bf86a Revert "obs-ffmpeg: Improve NVENC detection"
This reverts commit 94b5982216f253f4f4d355109a6dcb81f3a3b980.

Reverting this commit because it had some negative side effects, such as
adding 500 milliseconds to the startup time.  NVENC detection should
really be done through its proper API, and not via creating an encoder
on startup.
2018-01-12 05:35:01 -08:00
jp9000
e7de41fc01 deps/media-playback: Free frame data before freeing frame
Prevents a potential memory leak if data was previously allocated in the
frame.
2018-01-11 20:07:47 -08:00
jp9000
548f3fa9a9 deps/media-playback: Use avcodec_free_context when possible
A bit better handling that should prevent any possible memory leakage
due to any internal data allocated by FFmpeg.
2018-01-11 20:06:21 -08:00
Kurt Kartaltepe
32049bfd43 CMake: Fix FindSwigDeps search path 2018-01-11 21:37:10 -06:00
jp9000
ba75dd6a70 UI: Disable Youtube bandwidth test (for now)
Due to reports that the bandwidth test is randomly causing community
strikes on Youtube (likely due to bad automatic detection), the
bandwidth test will be disabled for Youtube until the Youtube API is
implemented.
2018-01-10 22:13:01 -08:00
jp9000
9d4be5e575 UI: Fix warning 2018-01-10 21:41:07 -08:00
jp9000
0389ecf9f0 UI: Use GDI+ text for multiview on windows
Fixes an issue where text would not have language glyph fallback if
another language would used.  This problem still needs a solution on
linux/mac (and preferably a fix for language glyph fallbacks when using
freetype 2 in general).
2018-01-10 21:36:17 -08:00
Wouter
65f81105f5 libobs-d3d11: Allow multiple display captures of same monitor
This commit fixes a bug that occurs on Windows 8+ when two or more
"Display Capture" sources are active that are configured to capture the
same monitor.  Only one display capture would show, while all subsequent
display captures would display nothing.

Closes jp9000/obs-studio#1142
2018-01-09 19:49:54 -08:00
Colin Edwards
ed917657eb UI: Fix qpushbutton menu icon
Closes jp9000/obs-studio#1141
2018-01-09 18:36:38 -08:00