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
Use weak references on OBS objects that properties view reference in
order to ensure that the objects are still valid.
This fixes a crash where properties views would use objects without
necessarily knowing whether they were still valid or not.
Fixesobsproject/obs-studio#5862Closesobsproject/obs-studio#5863
When a change to an audio filter was done, it would create a timer and
wait for no more inputs before saving and adding to undo (this is to
prevent spam from sliders). For some reason, the timer would get
destroyed before the information is saved, preventing it from going on
the undo stack.
Implements undo/redo for both properties and filters. Works by creating
a new callback that gets called to save undo/redo states after a timer
is fired. Also disabled undo/redo until the actions have completed to
prevent a user from being able to disrupt the stack by perfoming actions
before others have finished.
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed. Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
This commit adds a preview to the properties window for transitions.
The preview will play back the transition at the global transition
duration or the transitions fixed duration, between two private scenes
with an A and B label, and different background colors.