Apparently, QSettings does not care if the specified settings file exists or not.
Therefore, no keys will be loaded into the settings as if the file was empty.
We specifically check for the missing file to not reference a ghost file in the logs.
Fixes#6077
Having different include files that are needed (and which are inter-dependent) to create your own plugin, makes things harder than it needs to be.
Therefore, all plugin header files (those for the "new" (1.4) plugin framework anyway) have been combined into one header file. Thus, developers now only have to download a single file and include that instead of having to figure out what files to download and what to include where.
Taking the chance, the version number has been removed from the header file's name. This allows one to track changes made to the API via git (which is not quite as easy if you create a new file every time you make a change).
Microsoft.GSL exports the Microsoft.GSL::GSL target. If the namespace
isn't specified, the detection moves on the else() block, and while
it still gets detected by FindMSGSL.cmake, a false warning is emitted
saying that the version is less than 3.0.
Having different include files that are needed (and which are
inter-dependent) to create your own plugin, makes things harder than it
needs to be.
Therefore, all plugin header files (those for the "new" (1.4) plugin
framework anyway) have been combined into one header file. Thus,
developers now only have to download a single file and include that
instead of having to figure out what files to download and what to
include where.
Taking the chance, the version number has been removed from the header
file's name. This allows one to track changes made to the API via git
(which is not quite as easy if you create a new file every time you make
a change).
Elements of a vector were failing to be cleared correctly which
created performance issues.
A nuance with speex was also causing the library to fail to call
a destroy callback.
Fixes#6150
While in 0e43686049 it was argued that
this setting should not be set to zero in order to avoid "bug" reports
of audio not working, because the volume of the audio has been zero due
to positional audio, setting this to anything but zero seems like
non-sense for such a feature.
Anything > 0 will lead to the player always being able to hear EVERY
player on the map, regardless of their position, whereas basically the
whole point of positional audio (in a "pure" sense) is to not have this
overlap of a million voices on a full game servers.
Instead of limiting them to 50m (minimum distance) and 1000m (maximum
distance), manual entry into the spinboxes now allows up to 1000m (min)
and 10000m (max).
Note that the slider's max values remain unchanged as those defaults
seem to be appropriate for most contexts in which positional audio is
used.
Fixes#6132
Currently translated at 100.0% (2109 of 2109 strings)
TRANSLATION: Update Finnish translation
Currently translated at 100.0% (2109 of 2109 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Robert Adam <dev@robert-adam.de>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/fi/
Translation: Mumble/Mumble Client
Currently translated at 100.0% (2109 of 2109 strings)
TRANSLATION: Update German translation
Currently translated at 100.0% (2109 of 2109 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Robert Adam <dev@robert-adam.de>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/de/
Translation: Mumble/Mumble Client
Currently translated at 100.0% (2109 of 2109 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: John Doe <thraex@numericable.fr>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/fr/
Translation: Mumble/Mumble Client
Currently translated at 100.0% (2109 of 2109 strings)
TRANSLATION: Update Swedish translation
Currently translated at 99.7% (2104 of 2109 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Shjosan <shjosan@kakmix.co>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/sv/
Translation: Mumble/Mumble Client
Instead of having a fixed setting that affects all build modes, we now
set LTO only for release builds (but then for all targets). This has the
advantage that a dev doesn't have to switch LTO on and off when
switching between Release and Debug builds.
When destroying the PipeWire object we first destroyed the thread loop
and then the stream, but this has to be done in reverse order in order
to avoid crashes.
Fixes#6101
The ACL for group 'auth' depends on the user (db) id.
Previously, code paths using checks for 'auth' ACLs in msgAuthenticate
would not work correctly, because the ACL cache still contained
a state where the id was not set.
This commit adds cache invalidation after the user id is set, allowing
to correctly apply the 'auth' ACL in later parts of msgAuthenticate.
It also overhauls the general control flow regarding tokens and ACL
cache.
Fixes#5907
Currently translated at 100.0% (2109 of 2109 strings)
TRANSLATION: Update French translation
Currently translated at 100.0% (2109 of 2109 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: John Doe <thraex@numericable.fr>
Co-authored-by: Mayeul Cantan <mayeul.cantan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/fr/
Translation: Mumble/Mumble Client
Currently translated at 100.0% (2105 of 2105 strings)
TRANSLATION: Update Swedish translation
Currently translated at 99.9% (2104 of 2105 strings)
TRANSLATION: Update Swedish translation
Currently translated at 97.8% (2059 of 2105 strings)
TRANSLATION: Update Swedish translation
Currently translated at 97.8% (2059 of 2105 strings)
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Kristoffer Grundström <swedishsailfishosuser@tutanota.com>
Co-authored-by: Robert Adam <dev@robert-adam.de>
Co-authored-by: conkt <conkt@joel.ps>
Translate-URL: https://hosted.weblate.org/projects/mumble/mumble-client/sv/
Translation: Mumble/Mumble Client
Via #5599 support for the --version CLI flag was added. Additionally, a
short-form -V was also added. However, as it turns out Mumble doesn't
consider the casing of CLI arguments and therefore passing -V instead
triggers the code path for -v (small "v") which enables verbose output.
As this option can't be used anyway, it has now been removed and the
help text was adapted accordingly.
Fixes#6037
Instead of flooding the client that issued the ACL change with messages
about other user's enter capabilities of the modified channel, we now
send those messages to the clients that actually care about this
information (the information affecting themselves).
Not taking the qmCache mutex while accessing acCache can lead to
concurrent modification errors, that can cause the server to crash.
Therefore, we now make sure that we hold the mutex before accessing
acCache.
We re-take the lock in every iteration in order to ensure the voice
thread is not stalled by bigger loops over channel or users (the
voice-thread needs to take permissions into account for e.g. linked
channels). For this, we accept the overhead of re-taking the lock in
every iteration in the control thread.
When applying the settings, Mumble will restart the AudioSystems for
input and output. During this time, if a PulseAudio write_callback
happens, Mumble will write nothing and just return.
However, this behavior will cause PulseAudio to never request a callback
again, disabling audio output for the user until mumble is restarted.
( See: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/1132 )
This commit instead changes the code to return an empty buffer in that
case instead, such that PulseAudio will continue to send Mumble
write_callbacks and keep audio output intact.
Special thanks to GitHub User WGH- who found out about this fix and
originally posted the patch in the Mumble issue tracker.
Reverts 0cd23554a#3316Fixes#4883
Co-Authored-By: WGH <wgh@torlan.ru>
In #6002 the dbus option was removed and on Linux systems DBus was
unconditionally enabled. However, in the server's cmake file a
copy&paste error was introduced that would produce an error if the
client was not built alongside the server.
This commit fixes this error and therefore makes server-only
builds possible again.