Add a new algorithm to calculate the true-peak. It implements the
Whittaker- Shannon interpolation from four samples to create 4
intermediate samples (5 x oversampling) inbetween the middle two
samples.
With 4 samples and 4 intermediate samples the algorithm can be
implemented as a 4x4 vector-matrix cross product, which is ideal for
SSE.
I've also replaced the sample-peak algorithm using SSE as well to
improve performance.
Closesobsproject/obs-studio#1189
Audio controls in OBS Mixer and Advanced Audio Properties window are not
sorted at all. Every time OBS is restarted they get shuffled (Jim note:
This is due to json object hashing). The order of these controls is
additionally not consistent between the mixer and the advanced audio
properties window.
Closesobsproject/obs-studio#1242
Add Selected and Hidden Array Values
Let developers get and set whether items in an editable list are hidden
or selected. May be useful in when editable lists are modified and
handled in a callback. Especially when edit button callbacks are used.
Closesobsproject/obs-studio#1200
Due to the commit 34c14829b6, source loading is now deferred
to after OBSInit(), which would cause saved scene/source projectors to
no longer load on startup. This fixes that issue by moving the
OpenSavedProjectors call to OBSBasic::Load().
When an user launches a multiple instance of obs and don't use the -m
flag, wait until the confirmation to launch to create a new log file.
This avoids a short log with no information when using the Help ->
Update Last Log.
Closesobsproject/obs-studio#1164
Adds an alternative means of isolating the CEF initialization process
from Qt's initialization process. This is an unpleasant hack, but is
far more preferable than isolating the entire browser plugin to a
separate process and overly complexifying the browser plugin to the
point to where no one wants to touch the plugin or contribute to it.
Allows the ability to perform multiple actions that would normally save,
and defer the save until all of those actions are complete.
Closesobsproject/obs-studio#1231
Adds the ability to upload crash reports, making it easier for users to
give us crash data. This should be considered a temporarily solution,
as automated crash reporting should be the ideal solution as soon as
time permits.
Adds a "has_prefix" parameter to delete_oldest_file and get_last_log in
order to determine whether the file has a prefix when parsing its
timestamp. For example, crash logs are prefixed with "Crash", and thus
it was unable to get the timestamp because it couldn't parse the
filename correctly due to that fact.
Saves a bit of bandwidth when the update module just updates binaries
for the specific architecture being updated. Especially true when
libcef needs to be updated.
This is just for the update module -- allows us the ability to
seamlessly update the program to VC2017 and seamlessly install Visual
C++ 2017 redistributables without potential issues that could be caused
by GPL usage for the update module.
This code was originally tested with visual C, which supports using
__FUNCTION__ in this way. These potential error cases shouldn't
technically happen anyway, so just remove __FUNCTION__.
OBS assumes the name of the imported json file is also the name
of the scene collection, if the filename is different this can result
in duplicate scene collections after importing.
Closesjp9000/obs-studio#1177
This fixes a problem introduced in #1050 where the Copy option would
be grayed out when rightclicking a source above the currently selected
source. This also retains the functionality of not having the Copy option
enabled when no source is selected.
Makes it so that the scripting cmake variable ENABLE_SCRIPTING is a user
variable rather than a global internal cmake variable, and defers the
internal global cmake variable to SCRIPTING_ENABLED instead.
Fixing a reference to Rachni theme folder, some minor tweaks and
reverting volume meter foreground colors to original brightness.
Closesjp9000/obs-studio#1169
Prevents simple output mode from getting stuck on an encoder that may
not be available suddenly for whatever reason (system device changes,
driver issues, etc). If the encoder is no longer available, falls back
to x264 to ensure that the user can continue to use the program.
Fix the image files not being freed, and remove the unused source
definition function 'update', which was additionally calling
image_source_load with the wrong number of parameters.
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)
Closesjp9000/obs-studio#1143
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.
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.
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.