Tested with PipeWire 0.3.26.
The implementation is quite basic and simple, yet it surpasses the JACK one in terms of features.
For example, support for the most common surround mappings is provided.
As opposed to JACK, an option to disable the auto endpoint connection is not provided.
However, it's something that can be easily implemented if needed.
Support for echo cancellation will definitely be added in future.
In the old qmake build system we included the functionality to bundle Qt
translations into our executable (potentially overwriting some of them).
See f5bf5f17f3/src/mumble/mumble.pro (L692-L728)
This functionality was not ported over to cmake which could lead to Qt
standard texts (e.g. "Ok") not being translated.
This commit ports the old functionality to the new cmake build system.
Note however that this new functionality is only enabled by default, if
a static build of Mumble is created. In other instances the option can
be specified manually.
Fixes#4359
Having to maintain the old legacy theme of Mumble was becoming a burden
as new icons would have to be created two times in order to fit both
theme variants. That never happened and thus the new icons looked very
out-of-place in the Classic theme. Besides the classic theme was also
missing several icons altogether already.
Thus it has been concluded to remove the Classic theme.
This commit introduces a new plugin framework into the codebase of the
Mumble client. Note that "plugin" here really refers to a (more or less)
general purpose plugin and is therefore not to be confused with the
previously available positional data plugins (only responsible for
fetching positional data from a running game and passing that to
Mumble).
The plugin interface is written in C, removing the compiler-dependence
the old "plugins" had. Instead plugins can now be written in an
arbitrary language as long as that language is capable of being compiled
into a shared library and also being capable of being C-compatible.
As already indicated a plugin is essentially a shared library that
provides certain functions that allow Mumble to interface with it.
Inside Mumble the so-called PluginManager is responsible for managing
the plugins and relaying events to the respective callbacks. Plugins
themselves can also interact with Mumble on their own initiative by
using the provided API functions.
Fixes#2455Fixes#2148Fixes#1594Fixes#2051Fixes#3742Fixes#4575Fixes#4751
The process of extending the server's Ice interface was never (properly)
documented anywhere. This is fixed as of now as this commit adds a
step-by-step instruction set for extending the Ice interface with new
functions.
We used mumble-vcpkg while the get script was still being implemented in a separate repository.
When we integrated it in this repository in 2f45772c9c it was already, and still is, using `vcpkg`.
By default this library is needed as the option overlay-xcompile
defaults to ON. Therefore we should list g++-multilib as a dependency
directly and only mention how to get rid of this dependency, not the
other way around.
This will probably avoid some confusion on the reader's side.
The issue of cmake finding an incompatible OpenSSL version was
encountered on macOS in #4486, which is why the problem is also
explicitly mentioned in the macOS instructions.
Includes a script that implementers can basically copy and paste and run in order to use the same process for setting environment and path variables that the developer command prompt uses.
Includes a script that implementers can *basically* copy and paste and
run in order to use the same process for setting environment and path
variables that the developer command prompt uses. # This is the commit
message #2:
This was a leftover from the previous QMake options
but had no effect at all with CMake when enabled.
Distributions should use -DCMAKE_BUILD_TYPE='None'
to compile Mumble with the default compiler flags.
The existing `docs` directory was restructured a bit and the build
documentation previously located at
https://github.com/mumble-voip/mumble-releng-vcpkg was integrated into
the main repository (after having received a good polish).
In addition to that the needed scripts and port-files from the linked
repository have now also been included in the main repo.