-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[WiP] SoundTouch 2.1.1 #1907
[WiP] SoundTouch 2.1.1 #1907
Conversation
This version also introduces run time exceptions. Do we need to add try catch blocks in Mixxx code? |
The runtime exceptions already affect the Fedora builds, even if we don't update the bundled version. I received an update of the system library just today. This affects all distributions that receive an upgrade. |
That does not necessarily mean that all users should "suffer" from it. |
Reading the soundsource code, we do not really have a problem if the library is updated in the distro. Before: assert crash, now unhanded exception crash. Which not happens because we use it correct. |
Runtime exceptions have been introduced with version 2.1. We could disable the runtime exceptions for SoundTouch entirely and thereby restore the legacy behavior. But then exceptions will be substituted by assert() and code from a release build happily continues as if nothing happened. With maybe unknown side effects any time during the following session. Undefined behavior is even worse than a crash! A crash might stop the music, hopefully early while practicing and not while performing. You should always pre-listen to your tracks before you actually use them. Undefined behavior might torture your sound system and your listeners, at any possible time. I prefer an early and sudden crash. |
LGTM. Waiting for CI |
Exceptions are evil. Luckily we get rid of them in Rust ;) |
A successful CI build is crucial, because I haven't tested this locally! |
Do our tests even exercise SoundTouch? I don't think so... |
Argh, wrong button. |
The CI build should mainly very successful compilation. I have not tried to build the sources locally after adding the exception handler. |
On this topic, I've wanted to enable |
Why are we bundling this library? Would it be better to remove it from our source tree? |
libmixxxminimal.so contains the bundled sources even though a recent system version (2.1.1) is available:
On the other hand it libmixxxminimal.so depends on the system library:
Any ideas? |
I'm trying to remove the bundled libSoundTouch. This PR will then be replaced by a new one, if that works out. |
Superseded by #1960. |
Please note that we are still bundling SoundTouch 2.0.0 for Mixxx 2.2. That doesn't matter as long as the version provided by the (Linux) distribution is newer. Do the Windows and macOS builds use the bundled version? In this case I would propose a backport of this upgrade to both 2.1 and 2.2.