Makes it so that services can have custom handling on a per-service
basis. The bottom part of the service pane is now a stacked widget
which can now be customized for different types of services
(particularly OAuth services).
Adds functions for executing functions within separate threads without
blocking the user interface, or by blocking the user interface with a
dialog box.
Allows creating a QThread via an std::function. A backward-compatible
alternative to QThread::create for Qt versions older than 5.10 (when it
became available in Qt).
Currently, browser panel is only supported on windows. So rather than
have to check for _WIN32 in the code everywhere, just move the WIN32
check to cmake, that way we don't have to have _WIN32 checks in the code
everywhere the browser panel code is used, and do not have to remove a
whole bunch of unnecessary _WIN32 #ifdefs for other operating systems
when browser panel support is added for them.
The "Custom" service has been moved, and is now an item called "Custom"
in the "Services" combo box. This simplifies the stream page of
auto-configuration and removes an unnecessary widget. Overall a minor
but nice slimline/improvement on user experience.
This change means that the modified callback for a scripts properties is
always called when first loaded or on a reload. This behavior matches
the properties view for sources, where all modified callbacks are called
when the window opens. This change therefore treats reloading as
equivalent to reopening.
The first audio track was not recorded following the API changes for
custom ffmpeg recording (adding multi-track support).
This fixes the issue (spotted by EposVox, thanks to him for the report).
* UI: Fix mem leak with projectors
* UI: Fix mem leak with ScaleFilteringMenu
* UI: Fix mem leak with sourceProjector
* UI: Fix leak with preview projector in Source menu and Preview
* UI: Fix mem leaks with background color menu
* UI: Fix leak with deinterlace Menu
* UI: Fix leak with scene transition override menu
* UI: Fix leak with scene projector menu
* UI: Fix leak with filter shortcut in Main
* UI: Fix leak with filter shortcut in stats
Fixes the narration reading (for the blind) for items in the sources
list; previously they would not be read due to the new custom model.
This issue is solved by returning the name of item in the form of a
QVariant of a QString returned from the QAbstractItemModel::data virtual
function when the Qt::AccessibleTextRole role is used.
Although log files are saved with the date in the name of the log file,
it's also nice to be able to see it inside the log file itself,
especially when uploaded to a text service.
On Linux the preview widget scaling uses only the integer part of the
scale. This results in a partially non-repainting window that looks
buggy and annoying.
A mono input with surround output is upmixed by swresampler by routing
it to FC (front center) by default which corresponds to third channel
for 3.0, 4.0, 4.1, 5.0, 5.1, 7.1. (The other channels are muted.)
But the volume meters are set to show the first channel for mono sources.
Therefore although audio is processed, it would not show on the meter.
This fixes this display issue.
Closesobsproject/obs-studio#1540
Fixes an issue when it's hard to perform drag-by-mouse move of the
scrollbar while handle is at corner and has minimum size.
Info: the handle minimum size styled as 20px, while add/sub-line is
14px, thus only 6px left for mouse drag when handle resides at corner.
While handle styled to cover whole bar including, subcontrol elements,
it is better to remove the hidden subcontrols completely.
If there's a delay, it will *also* be ommitted after the appropriate
number of seconds.
I was originally going to add a new event for this, however this is
consistent with STREAMING_STARTING, which is emitted at the start
of the delay, not the end.