Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from obsproject:master #5

Open
wants to merge 3,783 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Dec 12, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added ⤵️ pull merge-conflict Resolve conflicts manually labels Dec 12, 2022
@mergify
Copy link

mergify bot commented Dec 12, 2022

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

27 similar comments
@mergify
Copy link

mergify bot commented Jan 10, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 13, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 14, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 14, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 18, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 19, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 19, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 21, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 21, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 28, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Jan 31, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 11, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 11, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 12, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 13, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 14, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 15, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 15, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 15, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 17, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 18, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 19, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 20, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 23, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 24, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 24, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

@mergify
Copy link

mergify bot commented Feb 24, 2023

⚠️ The sha of the head commit of this PR conflicts with #4. Mergify cannot evaluate rules on this PR. ⚠️

derrod and others added 30 commits October 8, 2024 12:59
When passing just a space, the number of input options becomes 0. In
this case, calling `bmalloc` should be avoided.
Prevent a parsing error on GitHub Actions.
After a profile or scene collection is deleted, the last item in each
list would have been automatically activated as the new current profile
or scene collection.

This is opposite to prior behavior, which would always select the first
item in the list.

This code restores the prior behavior.
When a scene collection is deleted, the generated backup files should
not automatically be deleted. This was new behavior introduced in OBS
30.0.0.

This change restores the prior behavior.
When a starting scene collection or profile is provided, current code
would crash as the corresponding collections and management functions
do not exist yet (they are tied to OBSBasic, which is not initialized
that early in the program execution).

This change moves the checks for command line arguments into OBSBasic
into the parts responsible for initializing profiles and scene
collections and check for arguments provided via command line there.
cb02696 changed most instances of
MuteCheckBox as a selector for the button that mutes/unmutes a source in
the mixer to indicator-mute, but left a few instances of the old
selector, especially in variant themes while the base theme got changed.
This lead to competing selections where apparently indicator-mute won
which meant that the variant themes wouldn't override the base.
Changing all instances of MuteCheckBox to to indicator-mute fixes this
and hopefully prevents future uses of MuteCheckBox as a selector
anywhere.
We know this is the minimum version that we require, so we can just fail
during configure if somehow an older version is found.
SetupNewProfile is used to create new profiles when OBS is already
running, which requires resetting program state for the new profile.

This function cannot be used to create a new profile as a fallback
for either a non-existing profile or for a fresh installation of OBS
Studio because by the point this is called from OBSBasic::OBSInit, the
runtime modules are not loaded yet and as such no services exist.

Activating the new profile without a profile reset fixes this issue
as the reset will be done explicitly by OBSBasic::OBSInit later.
Since we no longer support Ubuntu 22.04, we can bump the minimum VPL
version to 2.9 which is available in Ubuntu 24.04 packages.
During development on FreeBSD I encountered an uncaught exception abort
from the copy in MigrateGlobalSettings.  Catch the error and print a
user-facing message:

error: Unable to migrate global configuration - copy failed.
Clang 19 has become more strict about mixing different enum types, which
resulted in an error building multimedia/obs-studio on FreeBSD:

/wrkdirs/usr/ports/multimedia/obs-studio/work/obs-studio-30.2.3/plugins
    /obs-outputs/flv-mux.c:659:37: error: bitwise operation between
    different enumeration types ('enum multitrack_type_t' and 'enum
    packet_type_t') [-Werror,-Wenum-enum-conversion]
Commit a1fbf10 updated .clang-format and existing code for 120
columns, so change Coding Guidelines to match.
c31adce - Bump nlohmann/json required
aa8953c - clang-format: Increase column limit from 80 to 120
b89a128 - Fix blank Dev Tools window title
4dafce8 - cmake: Fix CEF minimum version
f459def - CI: Port check-changes action from obs-studio
3773257 - build-aux: Add clang-format scripts
0f4af02 - CI: Port run-clang-format action from obs-studio
5823260 - CI: Port check-format workflow from obs-studio
be035cd - CI: Remove old clang-format workflow and shell scripts
362b9a3 - clang-format: Update to clang-format 17.0.3
941c48b - CI: Port appropriate workflows to call check-format
fc946f2 - Replace obs-websocket-api copy with CMake target
31fd647 - Update version to 2.24.3
910617b - Wait for CEF close event for docks
a76b4d8 - Update version to 2.24.4
That is, leave only the code that was under USE_XDG.  Previously the
Linux CMake build defined USE_XDG unconditionally, while it was not set
by the FreeBSD build.

The non-USE_XDG code was broken, and FreeBSD should follow the XDG
convention anyway (in particular, storing config files typically under
$HOME/.config/obs-studio).  Defining USE_XDG in the os-freebsd.cmake
files would leave the non-USE_XDG code unused anywhere, so instead just
remove it.
Restore move_to_xdg from commit ba02e06 to migrate from pre-XDG
config path $HOME/.obs-studio on FreeBSD.
The old method to update the profile menu iterated over the directory
entries of the profile directory in the order provided by the operating
system.

The system calls used for this explicitly state that the order of items
is "undefined" but seems to have followed a case-insensitive
alphabetical order on Windows, an order which users have come to expect.

The new code uses a std::map to store discovered profiles and scene
collections, which is ordered by key and with std::string used for keys
this means a lexicographical sorting of keys which is case-sensitive.

To restore the old behavior, profiles and scene collections need to be
added to their respective menus sorted by case-insensitive order, which
has to be done manually before adding the items.
On some platforms (e.g. KDE) accelerators are automatically added to
the text properties of QActions, thus changing the value returned by
text().

Thus we cannot rely on the text to always represent the same text that
we set originally and have to explicitly store and retrieve the value
as a property.

Coincidentally this not only fixes possible issues on other platforms,
but is also architecturally more correct.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⤵️ pull merge-conflict Resolve conflicts manually
Projects
None yet
Development

Successfully merging this pull request may close these issues.