Commit Graph

125 Commits

Author SHA1 Message Date
Jan Klass
4c16d55df6 DOCS(dev): Convert file links 2025-01-26 13:54:24 +01:00
Jan Klass
e844cefec6 DOCS(dev): Drop underline escape 2025-01-26 13:54:24 +01:00
Jan Klass
94246a1345 DOCS(dev): Convert tables to code blocks 2025-01-26 13:54:23 +01:00
Jan Klass
809b7af0ca DOCS(dev): Convert footnotes 2025-01-26 13:54:23 +01:00
Jan Klass
69bec3274d DOCS(dev): Convert image refs 2025-01-26 13:24:58 +01:00
Jan Klass
24d71a3cc6 DOCS(dev): Convert headlines 2025-01-26 13:24:57 +01:00
Jan Klass
989329292f DOCS(dev): Rename rst files to md
This is done as a separate commit to retain Git change file history association. (Git does not store renames. It assumes renames according to content similarity.)
2025-01-26 13:24:57 +01:00
Jan Klass
5992aa3765 DOCS(dev): Drop broken, unnecessary fig ref
The figure follows below the paragraph.
2025-01-26 13:24:35 +01:00
Jan Klass
2aaae8c375 DOCS(dev): Fix UTP to TCP ref
The cross-document reference apparently worked on readthedocs (our previous docs), but does not work on GitHub.

The cross-document figure reference is replaced with a file reference.
2025-01-26 12:52:53 +01:00
Jan Klass
d1fc0334f4 DOCS(dev): Replace nbsp with normal spaces 2025-01-26 11:23:28 +01:00
Robert Adam
70b1a4e529
Merge PR #6623: DOCS(protocol): Integrate network protocol documentation 2025-01-05 19:07:50 +01:00
Hartmnt
3326494733 DOCS: Mention differences in documentation across branches
We should specify that the build documentation will change over time
and the correct branch needs to be selected for any given version.

Fixes #6658
2024-12-22 17:57:32 +00:00
Diederik de Haas
9c7877f1ef
DOCS(build_linux): Add missing B-Ds to Debian instructions
Mumble can be compiled with several system libraries, so add their
development library to the list of Build-Depends.
In order to actually compile with them, you need to specify the
configuration options as described in cmake_options.md.

Those are for the newly added B-Ds:
1) -Dbundled-gsl=OFF
2) -Dbundled-speex=OFF
3) -Dbundled-json=OFF

Closes: #6644
2024-12-03 18:06:07 +01:00
Diederik de Haas
55d5be2ea8
DOCS(build_linux): Actually update Debian B-D: pkg-config -> pkgconf
Since Debian Bookworm the pkg-config package is a transitional package
to pkgconf, so update the build dependency install instructions to point
to its target.

In PR 6643 I accidentally updated the instructions for Ubuntu instead of
for Debian, so now actually update the instructions for Debian as well.
FTR: In Ubuntu Noble (2024.04) it's also a transitional package.

Link: https://github.com/mumble-voip/mumble/pull/6643
2024-12-03 18:05:06 +01:00
Diederik de Haas
2a38114480
DOCS(build_linux): Sort Debian Build Dependencies
This makes it (much) easier to check whether one has all the Build
Dependencies installed or not.
2024-12-03 17:59:03 +01:00
Diederik de Haas
1d69806610
DOCS(build_linux): Update Debian B-D: pkg-config -> pkgconf
Since Debian Bookworm the pkg-config package is a transitional package
to pkgconf, so update the build dependency install instructions to point
to its target.
2024-11-28 10:48:48 +01:00
Jan Klass
be8874f123 DOCS(protocol): Add file references to README.rst 2024-11-03 18:21:44 +01:00
Jan Klass
eae0eac75e DOCS(protocol): Combine README.rst
In a folder, GitHub shows a README by default, below the file list.

Combining the index.rst and introduction.rst, with text fixups, will serve as an appropriate landing page/doc.
2024-11-03 17:58:34 +01:00
Jan Klass
b39bbf2dec DOCS(protocol): Drop Sphinx configuration
Dropping the resources for Sphinx documentation generation drops support for generating this documentation into various formats (see make file; html, epub, and other less useful ones).

This network protocol documentation is the odd one out compared to our other documentation. The only one with this system.
Diverse tech has a maintenance cost, and the previous distance to our code made more likely to be missed for updates and discovery.
Handling only the network protocol documentation in this way feels disconnected/diverging.
Although readers may use the docs to implement clients and servers against only the docs, the question is whether the technology and maintenance additions are worth it.

Having simple structured text documentation files should serve us well enough.
It does for other developer documentation / documentation for developers.
2024-11-03 17:54:24 +01:00
Jan Klass
208dbc1d56 DOCS(protocol): Drop Network-Protocol.md pointing to old docs 2024-11-03 17:33:17 +01:00
Jan Klass
d05262a9ce DOCS(protocol): Integrate network protocol documentation
Integrates our network protocol docs [1][2]. This will allow us to drop the separate repository. Git history is preserved through adding/merging with/through git subtree.

via

```
git subtree add --prefix docs/dev/network-protocol https://github.com/mumble-voip/mumble-protocol.git master
```

[1]: https://github.com/mumble-voip/mumble-protocol
[2]: https://mumble-protocol.readthedocs.io/

---

Add 'docs/dev/network-protocol/' from commit 'b0d142143c5c37797d787fd7f71eb172dd1219ad'

git-subtree-dir: docs/dev/network-protocol
git-subtree-mainline: 65462b4c3b
git-subtree-split: b0d142143c
2024-11-03 17:32:48 +01:00
Jan Klass
81f6a1017c DOCS(protocol): Convert CRLF to LF 2024-11-01 23:05:42 +01:00
Jan Klass
a1baaa440f DOCS(protocol): Add network protocol doc file
We have documentation in the mumble-protocol repository and generated website.

The doc file in this repository serves as a simple reference pointing to those.

See also [mumble-www #59](https://github.com/mumble-voip/mumble-www/issues/59)
2024-11-01 23:03:23 +01:00
Robert Adam
497f6005c0 DOCS(vcpkg): Refer to our own vcpkg fork
This also removes the deprecated helper scripts for custom vcpkg setups
2024-10-01 22:36:05 +02:00
Hartmnt
a4d92bb9a6 DOCS: Update dependencies for Qt6 2024-09-29 10:52:12 +00:00
iacore
696f71a4b5
DOCS: Simplify build steps on Linux 2024-09-27 04:02:57 +00:00
Hartmnt
b066f23d84 MAINT: Remove mentions of the Mumble wiki 2024-09-24 12:34:22 +00:00
Hartmnt
84f759d99d FEAT(client): Add ReNameNoise as a replacement for RNNoise 2024-04-04 14:59:09 +00:00
Hartmnt
1e35791295 DOCS: Add accessibility checklist 2024-04-04 13:23:05 +00:00
Robert Adam
6925837e03 MAINT: Fix cmake option generation 2024-01-01 15:15:45 +01:00
Robert Adam
dac3337786
Merge PR #6292: CHANGE(client): Exclude and discourage RNNoise
Due to RNNoise being unmaintained and the library's code being in very poor shape, this commit excludes the RNNoise feature from Mumble by default and discourages its use.

The library contains Opus and CELT symbols (probably due to copy&paste of code) that can end up being called from Opus instead of its own versions of these functions. This can lead to completely unforeseen behavior, including crashes.
An example of this is as of writing this, enabling RNNoise on macOS leads to a crash of Mumble pretty much as soon as it starts up with an "invalid instruction" error. The reason being that part of RNNoise's implementation of one of Opus's symbols contains a code path that produces an invalid instruction in optimized builds (and a segfault in debug builds) and this code path is taken when Opus (wrongly) uses this function instead of its own.

Fixes #6041
2023-12-31 13:51:19 +01:00
Robert Adam
694c4fbb78 CHANGE(client): Exclude and discourage RNNoise
Due to RNNoise being unmaintained and the library's code being in very
poor shape, this commit excludes the RNNoise feature from Mumble by
default and discourages its use.

The library contains Opus and CELT symbols (probably due to copy&paste
of code) that can end up being called from Opus instead of its own
versions of these functions. This can lead to completely unforeseen
behavior, including crashes.
An example of this is as of writing this, enabling RNNoise on macOS
leads to a crash of Mumble pretty much as soon as it starts up with an
"invalid instruction" error. The reason being that part of RNNoise's
implementation of one of Opus's symbols contains a code path that
produces an invalid instruction in optimized builds (and a segfault in
debug builds) and this code path is taken when Opus (wrongly) uses this
function instead of its own.

Fixes #6041
2023-12-30 09:36:13 +01:00
Robert Adam
fd41ebde9f
Merge PR #6205: DOCS(build): Update Ubuntu package names
Fixes #6204
2023-12-29 20:16:31 +01:00
Kaif Khan
f321876cc6 DOCS(build): Update Ubuntu package names
Fixes #6204
2023-12-29 19:41:37 +01:00
Davide Beatrici
4587e75de2 REFAC(client): Get rid of launcher and DLL on Windows 2023-10-25 02:33:48 +02:00
Robert Adam
ca3f296617
Merge PR #6235: DOCS: Change encoding to UTF-8 & clean up error msg in FAQ 2023-10-11 08:48:56 +02:00
Robert Adam
620b7fd253
DOCS: Change encoding to UTF-8 & clean up error msg in FAQ 2023-10-11 07:56:03 +02:00
Thomas Windt
9eafefbeb6 DOCS(build): fix custom ice link
Folder was renamed in 4a533fa64e
2023-10-08 15:27:17 +02:00
Robert Adam
5b83d0fe45
Merge PR #6170: REFAC(plugins): Unified Mumble plugin headers
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).
2023-10-06 08:59:01 +02:00
Robert Adam
2b35c0c28f REFAC(plugins): Unified Mumble plugin headers
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).
2023-07-27 19:39:30 +02:00
Robert Adam
ff1e736c47 DOCS/MAINT: Update vcpkg dependency list
The different dependency lists have become out-of-sync and/or
out-of-date.

This should remedy problems as encountered in #6163.
2023-07-10 13:14:59 +02:00
Robert Adam
b0b47cda3b BUILD(cmake): Improve LTO handling
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.
2023-04-20 19:37:37 +02:00
Robert Adam
a4cd707128 BUILD(cmake): Always use DBus on Linux(-like) systems 2023-01-05 15:56:13 +01:00
Robert Adam
d11fd05062 CHANGE(client): Remove bundled Opus version
Since newer versions of libsndfile now link to the system-wide installed
Opus version (on Linux distros), there would be a conflict between
symbols defined in the system-wide installation and the self-built
(bundled) Opus library.
This, as it turned out, can lead for instance to failing assertions due
to pointer identities no longer holding because e.g. a function from the
self-built Opus version ends up calling a sub-function from the
system-wide Opus installation instead. This is also the root cause for
the infamous "Opus crash" or "Audio wizard crash".

In order to avoid these issues, we don't ship a bundled Opus version
anymore and instead make it a build prerequisite to have Opus installed
on your system.

Fixes #5302
2022-12-28 13:04:25 +01:00
Robert Adam
60d0a86b8e MAINT: Downgrade Opus submodule
Since newer Opus versions appear to cause crashes under some
circumstances, we downgrade our Opus submodule to point to the latest
stable release, which is v1.3.1 from 2019.

We will only be able to upgrade again, once the underlying issue causing
the crashes has been identified and fixed.

Fixes #5302
2022-12-26 18:04:34 +01:00
Carlo Castoldi
bd1209153f BUILD(overlay): build overlay on Linux and FreeBSD without client flag 2022-11-29 11:41:20 +01:00
Robert Adam
b81b06001d MAINT: Rename Murmur.ice to MumbleServer.ice 2022-09-10 17:28:34 +02:00
Robert Adam
4d05018c2e CHANGE(client): Drop support for all legacy codecs
Opus has been the go-to codec for years now and there is absolutely no
reason why one would want to use any of the legacy codecs (Speex or
CELT) its stead.

Thus, this commit completely removes the support for these codecs from
the Mumble client.

Incidentally, having different codecs available somehow even caused some
audio artifacts, which should now be resolved as well.

Fixes #4538
2022-09-10 10:29:12 +02:00
Hartmnt
41ce5de4cc DOCS(plugins): Document Mumble API increments
Describe necessary steps to implement a new API version for plugins.
2022-08-01 12:27:09 +02:00
Jan Klass
084f23ac36 DOCS(winbuild): Add troubleshooting for missing MFC dependency
Although installing MFC is mentioned in setup_visual_studio.md,
identifying where the header file is expected from is not obvious.

A C++ environment may already be installed without MFC, where the VS setup docs may not be followed/opened before-hand.
2022-06-04 15:17:56 +02:00