Audio4Linux / JDSP4Linux

An audio effect processor for PipeWire and PulseAudio clients
GNU General Public License v3.0
915 stars 35 forks source link

improve libcpp compatibility #142

Closed ppw0 closed 1 year ago

ppw0 commented 1 year ago

Hello there,

this PR is part of an effort to get JamesDSP for Linux building and running under LLVM's libc++ with clang-16. These changes deal with errors regarding incompatible function pointers, use of implicit ints, uses of undeclared functions, features removed from C++20, or features not supported by libc++. Some of the bigger changes are:

I haven't done extensive testing, but the program compiles normally under both gcc-12.3.1 (with libstdc++) and clang-16.0.6 (with libc++) and seems to run normally in both cases, too.

Feel free to do with this code as you please.

timschneeb commented 1 year ago

Hi! The files at libjamesdsp/subtree are embedded as a git subtree and shouldn't contain any changes in this repository. Otherwise, it would create frequent file conflicts when pulling new changes from the JamesDSP upstream repo.

Instead you can send a pull request patches for these files to the original repo here: https://github.com/james34602/JamesDSPManager