If the user would minimize to tray instead of taskbar, the
window would flash when clicking show in the tray menu, and
the preview would be disabled. This would only happen on Linux.
The original PR was made with time specified in seconds because it was
useful to debug the behavior. For production, assuming most users want
to specify 10 minutes or more, the time should be specified in minutes.
Rec. 2020 is really an SDR spec, but I think HDR10 made it okay to slap
PQ on it, call it an HDR spec. Rec. 2100 came along after and formally
allowed the use of PQ/HLG, so we should use 2100 instead.
window-basic-properties was written in the earliest days of OBS. To
make it easier to navigate & adjust, this moves all the structural
code into a new .ui file and out of the C++ code.
This also modifies the ButtonBox in Filters to use matching buttons.
Verbosity of stdout was previously hardcoded to INFO, while log viewer
and log files had correct verbosity. This makes the behavior of
--verbose make sense in all places.
Adds a new ProxyStyle, OBSIgnoreWheelProxyStyle, and applies it to the
entire program. This style sets a StyleHint to disable mouse wheel
scrolling on QComboBoxes.
The existing OBSProxyStyle, which is used only for the context bar, has
been renamed accordingly.
Status output related to OBS configuration is prefixed with the string
"OBS" and added padding for enabled and disabled features. This padding
was not aligned between platforms.
By moving the padding and prefix decoration into its own function,
both elements are controlled in a single place. CMake scripts were
changed to use this new function `obs_status` instead of using CMake's
`message` function directly.
In the years since this code was added, ALPN is now widely supported,
and NPN is being removed entirely in the latest version of nginx. It's
time to start using ALPN!
While Qt Designer doesn't care about casing, the XML schema spec does.
Due to Qt Creator automatically changing case on save, require the
uppercase variant in all situations, so that other devs don't have to
manually change the case after Qt Creator changes it.
NOTE: This introduces an adjustment to the spec, different from what
Qt provide from Qt Designer. If this file is changed in future, this
diff may need to be manually re-applied.
https://doc.qt.io/qt-5/designer-ui-file-format.html
Qt Creator automatically adjusts these files when opened. Rather than
contributors having to manually undo these changes, just apply them
directly into the repository.
Due to how CMake and generated project files are structured, just using
AUTOUIC to pick up Qt `.ui` files will lead to a situation where
changing such a file doesn't trigger a regeneration of the associated
header files and thus a re-build of the target.
Upstream fix still requires `.ui` files to be added as target sources.
CMake issue: https://gitlab.kitware.com/cmake/cmake/-/issues/17959
Audio ids were being stored in a map with const char pointers, thus they
were destroyed when call_once finished. To fix this, store std::strings
instead.
Having both a "callback" and "cb" doesn't make sense. One is
specifically for visual updates only, the other is for actual updates,
so use an appropriate name for both
Fixes overriding of macOS dock icon behavior.
macOS sets the icon on launch based on:
- The Information PLIST
- A user provided icon by Finder
setWindowIcon overrides this behavior.
Therefore, this commit resolves this issue,
by doing nothing if target is macOS.
When we added undo/redo in 86eb7aeb a distinction between Updates and
Visual updates was made, presumably for filters which need special
handling of the update case. These functions were also added to regular
source properties, but didnt use any special code instead calling
obs_source_update an additional time after a short time.
Instead lets remove the 2nd delayed call and only call obs_source_update
once per settings change.
Remove a bit of duplicated code, and fix non-Windows compilation. This
is a bit of a workaround to not have to modify cmake, but might as well
reuse a function that already exists anyway rather than duplicate the
code.
When you add an audio capture source and use the "use existing" feature
in the source selection dialog, and then recreate the same audio source
again in audio settings, it will result in two sources using identical
names, which although relatively harmless can cause issues when doing
things such as trying to find sources by their name.
Fixesobsproject/obs-studio#5621Closesobsproject/obs-studio#5947