Giter Club home page Giter Club logo

aether's People

Contributors

dougal-s avatar falktx avatar jjybdx4il avatar torte71 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aether's Issues

Aether does not load in Ardour 6.6

I have this error in Ardour's log window:

2021-04-16T23:57:00 [WARNING]: Unsupported required LV2 feature: 'http://lv2plug.in/ns/ext/port-props#supportsStrictBounds' in 'Aether'.

Not able to build on archlinux with clang12

Hi, and thanks for what you've done here. It seems amazing :-)

I have some trouble installing it on my setup though. Here is what I'm getting :

export CXX=clang-cpp && rm -rf * && cmake .. -DCMAKE_BUILD_TYPE="Release" && make -j4
zsh: sure you want to delete all 7 files in /home/alexis/dev/Aether/build [yn]? y
-- The C compiler identification is GNU 11.1.0

-- The CXX compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: /usr/bin/clang-cpp
-- Check for working CXX compiler: /usr/bin/clang-cpp - works
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /usr/lib/libOpenGL.so   
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alexis/dev/Aether/build
Scanning dependencies of target aether_dsp
[ 12%] Building C object CMakeFiles/nanovg.dir/extern/nanovg/src/nanovg.c.o
[ 18%] Building C object CMakeFiles/pugl.dir/extern/pugl/src/implementation.c.o
[ 12%] Building C object CMakeFiles/glad.dir/extern/glad/glad/glad.c.o
[ 25%] Building CXX object CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp_lv2.cpp.o
[ 31%] Building CXX object CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp.cpp.o
[ 37%] Building C object CMakeFiles/pugl.dir/extern/pugl/src/x11.c.o
[ 43%] Linking CXX shared module aether_dsp.so
clang-12: warning: CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp_lv2.cpp.o: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang-12: warning: CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp.cpp.o: 'linker' input unused in cpp mode [-Wunused-command-line-argument]
clang-12: warning: argument unused during compilation: '-fPIC' [-Wunused-command-line-argument]
clang-12: warning: argument unused during compilation: '-shared' [-Wunused-command-line-argument]
cp: impossible d'évaluer 'aether_dsp.so': Aucun fichier ou dossier de ce type
make[2]: *** [CMakeFiles/aether_dsp.dir/build.make:112 : aether_dsp.so] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:197 : CMakeFiles/aether_dsp.dir/all] Erreur 2
make[1]: *** Attente des tâches non terminées....
[ 50%] Building C object CMakeFiles/pugl.dir/extern/pugl/src/x11_gl.c.o
[ 56%] Linking C static library libglad.a
[ 56%] Built target glad
[ 62%] Linking C static library libpugl.a
[ 62%] Built target pugl
[ 68%] Linking C static library libnanovg.a
[ 68%] Built target nanovg
make: *** [Makefile:91 : all] Erreur 2

It seems I'm getting some warnings from the compiler and that's what makes it not compile properly? Any idea how I can solve this? Thanks!

User manual?

I find it a bit difficult to make sure what every control in Aether does.
There are some controls which I really can't tell for sure what they do.
Is there a manual I could reference somewhere?

Build instructions for Arch users?

Hate to be that guy, but I'm gonna be that guy. The following error is what I get when trying to build using Manjaro, all packages are up to date.

$ mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE="Release"
-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenGL: /usr/lib/libOpenGL.so   
-- Configuring done
CMake Error at cmake/TargetNanoVG.cmake:3 (add_library):
  Cannot find source file:

    /home/prizmo/Downloads/Aether/extern/nanovg/src/nanovg.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc
Call Stack (most recent call first):
  CMakeLists.txt:65 (include)


CMake Error at cmake/TargetPugl.cmake:3 (add_library):
  Cannot find source file:

    /home/prizmo/Downloads/Aether/extern/pugl/src/implementation.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .mpp .m .M .mm .ixx .cppm .h
  .hh .h++ .hm .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .hip .ispc
Call Stack (most recent call first):
  CMakeLists.txt:63 (include)


CMake Error at cmake/TargetNanoVG.cmake:3 (add_library):
  No SOURCES given to target: nanovg
Call Stack (most recent call first):
  CMakeLists.txt:65 (include)


CMake Error at cmake/TargetPugl.cmake:3 (add_library):
  No SOURCES given to target: pugl
Call Stack (most recent call first):
  CMakeLists.txt:63 (include)

Setting "Crossmix" to 0 will block

I observed that when I set the "Crossmix" handle on the right side of the window to 0%, the process stops outputting any audio at all, and the load on one of my CPU cores goes up to 100%. JACK starts reporting hundreds of xruns from that moment on.
If I increase the crossmix value to >0%, it will recover after ~1s, and audio output continues. Denormal problem?

Generally, I noticed that adjusting the crossmix value will always cause xruns during a short moment of high CPU activity ("by design"?).

System: aether commit 5a1a7f, Host Qtractor 0.9.25, OS: Linux Mint "Una" (kernel 5.4.0), gcc 9.3.
jackd is set to 48000Hz, 128 frames/period, 2 periods/buffer.

By the way, thanks for Aether! I like it.

Compiling on OS/X fails with fatal error: 'ranges' file not found

Hi,
I'm trying to compile on OS/X 10.15.7 with AppleClang 12.0.0.12000032.

Unfortunately ranges do not seem to be available:

/usr/local/Homebrew/Library/Homebrew/shims/mac/super/clang++ -DNDEBUG -Daether_dsp_EXPORTS  -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -fPIC -fvisibility=hidden -Wall -Wextra -Wpedantic -Wshadow -Weffc++ -Wstrict-aliasing -Wunreachable-code -Wdouble-promotion -Werror -Wconversion -Wsign-conversion -O3 -std=c++2a -MD -MT CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp.cpp.o -MF CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp.cpp.o.d -o CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp.cpp.o -c /tmp/aether-20210420-84893-gx3oq1/src/DSP/aether_dsp.cpp
In file included from /tmp/aether-20210420-84893-gx3oq1/src/DSP/aether_dsp_lv2.cpp:16:
In file included from /tmp/aether-20210420-84893-gx3oq1/src/DSP/aether_dsp.hpp:14:
/tmp/aether-20210420-84893-gx3oq1/src/DSP/utils/random.hpp:7:10: fatal error: 'ranges' file not found

Looking at https://en.cppreference.com/w/cpp/compiler_support "The One Ranges Proposal" looks like no Apple Clang is supporting that :-(

Commit dccd44dd causes blank GUI on non en_US locales

Commit dccd44d and later show an entirely blank, black GUI; both in jalv and ardour.
Compiled with gcc-9.3.0-17ubuntu1 in Ubuntu 20.04

The command line spews out "unrecognized horizontal units used!", with later versions changing that to "Root: unrecognized horizontal distance units ',000000sp'"

Starting it with LC_ALL=en_US.UTF-8 jalv.gtk http://github.com/Dougal-s/Aether works, so it is a locale issue.
According to cppreference.com std::to_string relies on the current locale for formatting purposes

No GUI in Ardour

I don't get a GUI in Ardour, I only get a black screen. In Reaper, however, I can see the GUI.

Ardour logs this line over and over again:

Root: unrecognized horizontal distance units ',000000sp'

As I don't know if this is an issue with Ardour or the plugin itself, I opened an issue over at Ardour as well: https://tracker.ardour.org/view.php?id=9237

I've installed this package of Aether on Arch.

Built in EQ for every stage?

The spectrum analyzer seems like a perfect place to have a parametric equalizer that could be applied to every stage of the signal. I think even four parametric bands would already give a lot of flexibility for shaping the tone of early reflections and the tail. If that would be available for the dry signal as well, that would be an awesome bonus.

The existing UI design seems to be perfect for that, I wonder if it was the plan all along :D

Windows support?

I tried to cross-compile for Windows (from Ubuntu 20.04) and/or msys2. After fixing wchar_t (windows-specific) compiler error, it throws a weird error:

/home/inanity/building/Aether/src/UI/ui_tree.hpp:495:2: error: ‘Arc’ does not name a type
  495 |  Arc ring, ring_value;
      |  ^~~

Is Windows support not intended yet? If that's true, I request for it, since since recently a DAW that I use (Reaper) gained (imperfect) LV2 support, on Windows too.

No GUI in Carla

I've tried loading Aether in Carla (2.3.0-alpha2), and it loaded fine, though I was only able to use the generic UI.

The custom UI does not show up.

I'm running Manjaro Linux with KDE.

How to install?

So, I've been able to compile and I've got the resulting .so files, but I'm not sure what I should do with them.

I've tried adding the build path to carla, but it doesn't seem to show. Any idea?

Release with bundled sources

To make packaging this easier for linux distributions, it would be great to have a tarball including all sources + submodules as a release asset. That way packagers don't have to rely on git and have a verifiable source file that is probably also a bit faster to fetch.

What many projects with lots of submodules do is have some CI workflow that runs on each tag and automatically creates binary + bundles and adds them to a release on GitHub, but I believe you'll find a way that suits you best :)

Anyway thanks for this project!!

Tail lacks stereo wideness

It seems to me like the tail is completely mono if the source is mono. It doesn't seem to be the case with the early reflections - these seem to produce a nice stereo image even with a mono input. Would it be possible to also have extra stereo with for the tail? Perhaps with some control over it?

OpenGL load

First of all, ty for this great plugin, which I'll probably use as a reference implementation for LV2 plugins.

Question: have you tried any optimizations regarding UI rendering? Like buffering the background and knobs in a texture and only redrawing them when needed? I guess that's where most of the OpenGL load is coming from. Correct me if I'm wrong.

Another question: have you tried porting to Vulkan?

Build error on macOS 12.2.1 / xcode clang/13.0.0: undeclared identifier '__builtin_ia32_emms'

I followed the instructions to brew install the deps and git clone in recursive mode and then build in sequential model (without -j 4) make it easier to find the first error message, which is the following:

[  0%] Built target copy_fonts
[  6%] Building CXX object src/DSP/CMakeFiles/aether_dsp.dir/aether_dsp_lv2.cpp.o
In file included from /Users/ogrisel/code/Aether/src/DSP/aether_dsp_lv2.cpp:8:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/include/xmmintrin.h:13:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/include/mmintrin.h:33:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
    __builtin_ia32_emms();
    ^
❯ xcode-select --version
xcode-select version 2392.
❯ clang --version
Apple clang version 13.0.0 (clang-1300.0.29.30)
Target: arm64-apple-darwin21.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

I'm getting a whole bunch of errors.

Linux mint 19. I've tried using both gcc and clang and it gives the same result.

Any idea what could be causing this:

Consolidate compiler generated dependencies of target nanovg
[ 12%] Built target nanovg
[ 18%] Building CXX object CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp_lv2.cpp.o
Consolidate compiler generated dependencies of target glad
[ 31%] Built target glad
Consolidate compiler generated dependencies of target pugl
[ 56%] Built target pugl
[ 56%] Built target copy_fonts
[ 62%] Building CXX object CMakeFiles/aether_ui.dir/src/UI/aether_ui.cpp.o
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:14:0,
                 from /home/user/Aether/src/DSP/aether_dsp_lv2.cpp:17:
/home/user/Aether/src/DSP/utils/random.hpp:60:39: warning: use of C++1z hexadecimal floating constant
     static_cast<float>(rng1() >> 8) * 0x1.0p-24f,
                                       ^~~~~~
/home/user/Aether/src/DSP/utils/random.hpp:60:39: error: exponent has no digits
/home/user/Aether/src/DSP/utils/random.hpp:61:39: warning: use of C++1z hexadecimal floating constant
     static_cast<float>(rng2() >> 8) * 0x1.0p-24f,
                                       ^~~~~~
/home/user/Aether/src/DSP/utils/random.hpp:61:39: error: exponent has no digits
In file included from /home/user/Aether/src/UI/aether_ui.cpp:30:0:
/home/user/Aether/src/UI/../common/bit_ops.hpp:4:10: fatal error: version: No such file or directory
 #include <version>
          ^~~~~~~~~
compilation terminated.
CMakeFiles/aether_ui.dir/build.make:75: recipe for target 'CMakeFiles/aether_ui.dir/src/UI/aether_ui.cpp.o' failed
make[2]: *** [CMakeFiles/aether_ui.dir/src/UI/aether_ui.cpp.o] Error 1
CMakeFiles/Makefile2:122: recipe for target 'CMakeFiles/aether_ui.dir/all' failed
make[1]: *** [CMakeFiles/aether_ui.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 68%] Building CXX object CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp.cpp.o
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:14:0,
                 from /home/user/Aether/src/DSP/aether_dsp.cpp:8:
/home/user/Aether/src/DSP/utils/random.hpp:60:39: warning: use of C++1z hexadecimal floating constant
     static_cast<float>(rng1() >> 8) * 0x1.0p-24f,
                                       ^~~~~~
/home/user/Aether/src/DSP/utils/random.hpp:60:39: error: exponent has no digits
/home/user/Aether/src/DSP/utils/random.hpp:61:39: warning: use of C++1z hexadecimal floating constant
     static_cast<float>(rng2() >> 8) * 0x1.0p-24f,
                                       ^~~~~~
/home/user/Aether/src/DSP/utils/random.hpp:61:39: error: exponent has no digits
/home/user/Aether/src/DSP/utils/random.hpp:13:65: error: parameter declared ‘auto’
  template <uint_fast8_t a, uint_fast8_t b, uint_fast8_t c, auto mult>
                                                                 ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:43:71: note: invalid template non-type parameter
  using Xorshift64s = Xorshift64sEngine<12, 25, 27, 0x2545F4914F6CDD1Du>;
                                                                       ^
/home/user/Aether/src/DSP/utils/random.hpp: In function ‘void Random::generate(Container&, uint32_t, float)’:
/home/user/Aether/src/DSP/utils/random.hpp:56:3: error: ‘Xorshift64s’ was not declared in this scope
   Xorshift64s rng1(seed);
   ^~~~~~~~~~~
/home/user/Aether/src/DSP/utils/random.hpp:56:3: note: suggested alternative: ‘coshf64x’
   Xorshift64s rng1(seed);
   ^~~~~~~~~~~
   coshf64x
/home/user/Aether/src/DSP/utils/random.hpp:57:15: error: expected ‘;’ before ‘rng2’
   Xorshift64s rng2(~seed);
               ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:59:15: error: ‘lerp’ is not a member of ‘std’
    val = std::lerp(
               ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:59:15: note: suggested alternative: ‘erf’
    val = std::lerp(
               ^~~~
               erf
/home/user/Aether/src/DSP/utils/random.hpp:60:24: error: there are no arguments to ‘rng1’ that depend on a template parameter, so a declaration of ‘rng1’ must be available [-fpermissive]
     static_cast<float>(rng1() >> 8) * 0x1.0p-24f,
                        ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:60:24: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/user/Aether/src/DSP/utils/random.hpp:60:46: error: unable to find numeric literal operator ‘operator""f’
     static_cast<float>(rng1() >> 8) * 0x1.0p-24f,
                                              ^~~
/home/user/Aether/src/DSP/utils/random.hpp:60:46: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/home/user/Aether/src/DSP/utils/random.hpp:61:24: error: there are no arguments to ‘rng2’ that depend on a template parameter, so a declaration of ‘rng2’ must be available [-fpermissive]
     static_cast<float>(rng2() >> 8) * 0x1.0p-24f,
                        ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:61:46: error: unable to find numeric literal operator ‘operator""f’
     static_cast<float>(rng2() >> 8) * 0x1.0p-24f,
                                              ^~~
/home/user/Aether/src/DSP/utils/random.hpp:61:46: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
In file included from /home/user/Aether/src/DSP/utils/lfo.hpp:6:0,
                 from /home/user/Aether/src/DSP/delay.hpp:11,
                 from /home/user/Aether/src/DSP/aether_dsp.hpp:16,
                 from /home/user/Aether/src/DSP/aether_dsp_lv2.cpp:17:
/home/user/Aether/src/DSP/utils/../../common/constants.hpp: At global scope:
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:6:21: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
  inline constexpr T sqrt2_v = T(1.414213562373095048801688724209698079l);
                     ^~~~~~~
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:6:21: warning: variable templates only available with -std=c++14 or -std=gnu++14
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:7:26: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
  inline constexpr double sqrt2 = sqrt2_v<double>;
                          ^~~~~
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:10:21: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
  inline constexpr T pi_v = T(3.141592653589793238462643383279502884l);
                     ^~~~
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:10:21: warning: variable templates only available with -std=c++14 or -std=gnu++14
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:11:26: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
  inline constexpr double pi = pi_v<double>;
                          ^~
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:16:0,
                 from /home/user/Aether/src/DSP/aether_dsp_lv2.cpp:17:
/home/user/Aether/src/DSP/delay.hpp: In member function ‘void MultitapDelay::generate_tap_delays()’:
/home/user/Aether/src/DSP/delay.hpp:187:7: error: ‘inclusive_scan’ is not a member of ‘std’
  std::inclusive_scan(
       ^~~~~~~~~~~~~~
/home/user/Aether/src/DSP/delay.hpp:187:7: note: suggested alternative: ‘includes’
  std::inclusive_scan(
       ^~~~~~~~~~~~~~
       includes
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:17:0,
                 from /home/user/Aether/src/DSP/aether_dsp_lv2.cpp:17:
/home/user/Aether/src/DSP/filters.hpp: At global scope:
/home/user/Aether/src/DSP/filters.hpp:131:34: warning: ‘no_unique_address’ attribute directive ignored [-Wattributes]
  [[no_unique_address]] Generator m_gen;
                                  ^~~~~
/home/user/Aether/src/DSP/filters.hpp:139:59: error: ‘operator()’ function uses ‘auto’ type specifier without trailing return type
  auto operator()(FpType rate, FpType cutoff, FpType gain) noexcept {
                                                           ^~~~~~~~
/home/user/Aether/src/DSP/filters.hpp:139:59: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/user/Aether/src/DSP/filters.hpp:161:59: error: ‘operator()’ function uses ‘auto’ type specifier without trailing return type
  auto operator()(FpType rate, FpType cutoff, FpType gain) noexcept {
                                                           ^~~~~~~~
/home/user/Aether/src/DSP/filters.hpp:161:59: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:18:0,
                 from /home/user/Aether/src/DSP/aether_dsp_lv2.cpp:17:
/home/user/Aether/src/DSP/diffuser.hpp: In function ‘FpType soft_clip(FpType, FpType)’:
/home/user/Aether/src/DSP/diffuser.hpp:100:11: error: ‘clamp’ is not a member of ‘std’
  x = std::clamp<FpType>(x*drive, -1, 1);
           ^~~~~
/home/user/Aether/src/DSP/diffuser.hpp:100:23: error: expected primary-expression before ‘>’ token
  x = std::clamp<FpType>(x*drive, -1, 1);
                       ^
/home/user/Aether/src/DSP/diffuser.hpp: In member function ‘FpType ModulatedAllpass<FpType>::push(FpType, float, bool)’:
/home/user/Aether/src/DSP/diffuser.hpp:123:8: error: ‘lerp’ is not a member of ‘std’
   std::lerp(m_buf.buf[idx1], m_buf.buf[idx2], t) : m_buf.buf[idx1];
        ^~~~
/home/user/Aether/src/DSP/diffuser.hpp:123:8: note: suggested alternative: ‘exp’
   std::lerp(m_buf.buf[idx1], m_buf.buf[idx2], t) : m_buf.buf[idx1];
        ^~~~
        exp
In file included from /home/user/Aether/src/DSP/aether_dsp_lv2.cpp:17:0:
/home/user/Aether/src/DSP/aether_dsp.hpp: At global scope:
/home/user/Aether/src/DSP/aether_dsp.hpp:25:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view URI = "http://github.com/Dougal-s/Aether";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:27:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view ui_open_URI = "#uiOpen";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:28:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view ui_close_URI = "#uiClose";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:30:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view peak_data_URI = "#peakData";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:31:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view sample_count_URI = "#sampleCount";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:32:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view peaks_URI = "#peaks";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:34:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view sample_data_URI = "#sampleData";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:35:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view rate_URI = "#rate";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:36:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view channel_URI = "#channel";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:37:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view l_samples_URI = "#lSamples";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:38:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view r_samples_URI = "#rSamples";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:150:11: error: ‘Xorshift64s’ in namespace ‘Random’ does not name a type
   Random::Xorshift64s rng{std::random_device{}()};
           ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:150:50: warning: extra ‘;’ [-Wpedantic]
   Random::Xorshift64s rng{std::random_device{}()};
                                                  ^
/home/user/Aether/src/DSP/aether_dsp_lv2.cpp: In function ‘void* instantiate(const LV2_Descriptor*, double, const char*, const LV2_Feature* const*)’:
/home/user/Aether/src/DSP/aether_dsp_lv2.cpp:44:22: error: ‘make_unique’ is not a member of ‘std’
   auto aether = std::make_unique<Aether::DSP>(static_cast<float>(rate));
                      ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp_lv2.cpp:44:22: note: suggested alternative: ‘__unique’
   auto aether = std::make_unique<Aether::DSP>(static_cast<float>(rate));
                      ^~~~~~~~~~~
                      __unique
/home/user/Aether/src/DSP/aether_dsp_lv2.cpp:44:45: error: expected primary-expression before ‘>’ token
   auto aether = std::make_unique<Aether::DSP>(static_cast<float>(rate));
                                             ^
/home/user/Aether/src/DSP/aether_dsp_lv2.cpp: At global scope:
/home/user/Aether/src/DSP/aether_dsp_lv2.cpp:89:15: error: ‘URI’ is not a member of ‘Aether::DSP’
  Aether::DSP::URI.data(),
               ^~~
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:14:0,
                 from /home/user/Aether/src/DSP/aether_dsp_lv2.cpp:17:
/home/user/Aether/src/DSP/utils/random.hpp: In instantiation of ‘void Random::generate(Container&, uint32_t, float) [with Container = std::array<float, 100>; uint32_t = unsigned int]’:
/home/user/Aether/src/DSP/delay.hpp:139:50:   required from here
/home/user/Aether/src/DSP/utils/random.hpp:55:47: warning: unused parameter ‘seed’ [-Wunused-parameter]
  void generate(Container& container, uint32_t seed, float cross_seed) noexcept {
                                               ^~~~
/home/user/Aether/src/DSP/utils/random.hpp: In instantiation of ‘void Random::generate(Container&, uint32_t, float) [with Container = std::array<float, 36>; uint32_t = unsigned int]’:
/home/user/Aether/src/DSP/delayline.hpp:117:52:   required from here
/home/user/Aether/src/DSP/utils/random.hpp:55:47: warning: unused parameter ‘seed’ [-Wunused-parameter]
/home/user/Aether/src/DSP/utils/random.hpp: In instantiation of ‘void Random::generate(Container&, uint32_t, float) [with Container = std::array<float, 24>; uint32_t = unsigned int]’:
/home/user/Aether/src/DSP/diffuser.hpp:222:18:   required from ‘void AllpassDiffuser<FpType>::set_seed_crossmix(float) [with FpType = double]’
/home/user/Aether/src/DSP/delayline.hpp:123:44:   required from here
/home/user/Aether/src/DSP/utils/random.hpp:55:47: warning: unused parameter ‘seed’ [-Wunused-parameter]
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:18:0,
                 from /home/user/Aether/src/DSP/aether_dsp_lv2.cpp:17:
/home/user/Aether/src/DSP/diffuser.hpp: In instantiation of ‘FpType soft_clip(FpType, FpType) [with FpType = double]’:
/home/user/Aether/src/DSP/diffuser.hpp:127:27:   required from ‘FpType ModulatedAllpass<FpType>::push(FpType, float, bool) [with FpType = double]’
/home/user/Aether/src/DSP/diffuser.hpp:172:11:   required from ‘FpType AllpassDiffuser<FpType>::push(FpType, AllpassDiffuser<FpType>::PushInfo) [with FpType = double]’
/home/user/Aether/src/DSP/delayline.hpp:78:58:   required from here
/home/user/Aether/src/DSP/diffuser.hpp:100:26: warning: left operand of comma operator has no effect [-Wunused-value]
  x = std::clamp<FpType>(x*drive, -1, 1);
                         ~^~~~~~
/home/user/Aether/src/DSP/diffuser.hpp:100:36: warning: right operand of comma operator has no effect [-Wunused-value]
  x = std::clamp<FpType>(x*drive, -1, 1);
                        ~~~~~~~~~~~~^~~~
/home/user/Aether/src/DSP/utils/random.hpp:13:65: error: parameter declared ‘auto’
  template <uint_fast8_t a, uint_fast8_t b, uint_fast8_t c, auto mult>
                                                                 ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:43:71: note: invalid template non-type parameter
  using Xorshift64s = Xorshift64sEngine<12, 25, 27, 0x2545F4914F6CDD1Du>;
                                                                       ^
/home/user/Aether/src/DSP/utils/random.hpp: In function ‘void Random::generate(Container&, uint32_t, float)’:
/home/user/Aether/src/DSP/utils/random.hpp:56:3: error: ‘Xorshift64s’ was not declared in this scope
   Xorshift64s rng1(seed);
   ^~~~~~~~~~~
/home/user/Aether/src/DSP/utils/random.hpp:56:3: note: suggested alternative: ‘coshf64x’
   Xorshift64s rng1(seed);
   ^~~~~~~~~~~
   coshf64x
/home/user/Aether/src/DSP/utils/random.hpp:57:15: error: expected ‘;’ before ‘rng2’
   Xorshift64s rng2(~seed);
               ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:59:15: error: ‘lerp’ is not a member of ‘std’
    val = std::lerp(
               ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:59:15: note: suggested alternative: ‘less’
    val = std::lerp(
               ^~~~
               less
/home/user/Aether/src/DSP/utils/random.hpp:60:24: error: there are no arguments to ‘rng1’ that depend on a template parameter, so a declaration of ‘rng1’ must be available [-fpermissive]
     static_cast<float>(rng1() >> 8) * 0x1.0p-24f,
                        ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:60:24: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/user/Aether/src/DSP/utils/random.hpp:60:46: error: unable to find numeric literal operator ‘operator""f’
     static_cast<float>(rng1() >> 8) * 0x1.0p-24f,
                                              ^~~
/home/user/Aether/src/DSP/utils/random.hpp:60:46: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/home/user/Aether/src/DSP/utils/random.hpp:61:24: error: there are no arguments to ‘rng2’ that depend on a template parameter, so a declaration of ‘rng2’ must be available [-fpermissive]
     static_cast<float>(rng2() >> 8) * 0x1.0p-24f,
                        ^~~~
/home/user/Aether/src/DSP/utils/random.hpp:61:46: error: unable to find numeric literal operator ‘operator""f’
     static_cast<float>(rng2() >> 8) * 0x1.0p-24f,
                                              ^~~
/home/user/Aether/src/DSP/utils/random.hpp:61:46: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
CMakeFiles/aether_dsp.dir/build.make:75: recipe for target 'CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp_lv2.cpp.o' failed
make[2]: *** [CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp_lv2.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/user/Aether/src/DSP/utils/lfo.hpp:6:0,
                 from /home/user/Aether/src/DSP/delay.hpp:11,
                 from /home/user/Aether/src/DSP/aether_dsp.hpp:16,
                 from /home/user/Aether/src/DSP/aether_dsp.cpp:8:
/home/user/Aether/src/DSP/utils/../../common/constants.hpp: At global scope:
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:6:21: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
  inline constexpr T sqrt2_v = T(1.414213562373095048801688724209698079l);
                     ^~~~~~~
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:6:21: warning: variable templates only available with -std=c++14 or -std=gnu++14
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:7:26: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
  inline constexpr double sqrt2 = sqrt2_v<double>;
                          ^~~~~
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:10:21: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
  inline constexpr T pi_v = T(3.141592653589793238462643383279502884l);
                     ^~~~
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:10:21: warning: variable templates only available with -std=c++14 or -std=gnu++14
/home/user/Aether/src/DSP/utils/../../common/constants.hpp:11:26: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
  inline constexpr double pi = pi_v<double>;
                          ^~
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:16:0,
                 from /home/user/Aether/src/DSP/aether_dsp.cpp:8:
/home/user/Aether/src/DSP/delay.hpp: In member function ‘void MultitapDelay::generate_tap_delays()’:
/home/user/Aether/src/DSP/delay.hpp:187:7: error: ‘inclusive_scan’ is not a member of ‘std’
  std::inclusive_scan(
       ^~~~~~~~~~~~~~
/home/user/Aether/src/DSP/delay.hpp:187:7: note: suggested alternative: ‘includes’
  std::inclusive_scan(
       ^~~~~~~~~~~~~~
       includes
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:17:0,
                 from /home/user/Aether/src/DSP/aether_dsp.cpp:8:
/home/user/Aether/src/DSP/filters.hpp: At global scope:
/home/user/Aether/src/DSP/filters.hpp:131:34: warning: ‘no_unique_address’ attribute directive ignored [-Wattributes]
  [[no_unique_address]] Generator m_gen;
                                  ^~~~~
/home/user/Aether/src/DSP/filters.hpp:139:59: error: ‘operator()’ function uses ‘auto’ type specifier without trailing return type
  auto operator()(FpType rate, FpType cutoff, FpType gain) noexcept {
                                                           ^~~~~~~~
/home/user/Aether/src/DSP/filters.hpp:139:59: note: deduced return type only available with -std=c++14 or -std=gnu++14
/home/user/Aether/src/DSP/filters.hpp:161:59: error: ‘operator()’ function uses ‘auto’ type specifier without trailing return type
  auto operator()(FpType rate, FpType cutoff, FpType gain) noexcept {
                                                           ^~~~~~~~
/home/user/Aether/src/DSP/filters.hpp:161:59: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:18:0,
                 from /home/user/Aether/src/DSP/aether_dsp.cpp:8:
/home/user/Aether/src/DSP/diffuser.hpp: In function ‘FpType soft_clip(FpType, FpType)’:
/home/user/Aether/src/DSP/diffuser.hpp:100:11: error: ‘clamp’ is not a member of ‘std’
  x = std::clamp<FpType>(x*drive, -1, 1);
           ^~~~~
/home/user/Aether/src/DSP/diffuser.hpp:100:23: error: expected primary-expression before ‘>’ token
  x = std::clamp<FpType>(x*drive, -1, 1);
                       ^
/home/user/Aether/src/DSP/diffuser.hpp: In member function ‘FpType ModulatedAllpass<FpType>::push(FpType, float, bool)’:
/home/user/Aether/src/DSP/diffuser.hpp:123:8: error: ‘lerp’ is not a member of ‘std’
   std::lerp(m_buf.buf[idx1], m_buf.buf[idx2], t) : m_buf.buf[idx1];
        ^~~~
/home/user/Aether/src/DSP/diffuser.hpp:123:8: note: suggested alternative: ‘exp’
   std::lerp(m_buf.buf[idx1], m_buf.buf[idx2], t) : m_buf.buf[idx1];
        ^~~~
        exp
In file included from /home/user/Aether/src/DSP/aether_dsp.cpp:8:0:
/home/user/Aether/src/DSP/aether_dsp.hpp: At global scope:
/home/user/Aether/src/DSP/aether_dsp.hpp:25:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view URI = "http://github.com/Dougal-s/Aether";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:27:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view ui_open_URI = "#uiOpen";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:28:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view ui_close_URI = "#uiClose";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:30:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view peak_data_URI = "#peakData";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:31:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view sample_count_URI = "#sampleCount";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:32:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view peaks_URI = "#peaks";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:34:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view sample_data_URI = "#sampleData";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:35:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view rate_URI = "#rate";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:36:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view channel_URI = "#channel";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:37:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view l_samples_URI = "#lSamples";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:38:25: error: ‘string_view’ in namespace ‘std’ does not name a type
   static constexpr std::string_view r_samples_URI = "#rSamples";
                         ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:150:11: error: ‘Xorshift64s’ in namespace ‘Random’ does not name a type
   Random::Xorshift64s rng{std::random_device{}()};
           ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.hpp:150:50: warning: extra ‘;’ [-Wpedantic]
   Random::Xorshift64s rng{std::random_device{}()};
                                                  ^
In file included from /home/user/Aether/src/DSP/aether_dsp.cpp:10:0:
/home/user/Aether/src/DSP/../common/utils.hpp:6:22: error: ‘string_view’ in namespace ‘std’ does not name a type
 template <const std::string_view&... strings>
                      ^~~~~~~~~~~
/home/user/Aether/src/DSP/../common/utils.hpp:22:2: error: expected ‘>’ before ‘;’ token
 };
  ^
/home/user/Aether/src/DSP/../common/utils.hpp:22:2: error: expected unqualified-id before ‘;’ token
/home/user/Aether/src/DSP/../common/utils.hpp:24:22: error: ‘string_view’ in namespace ‘std’ does not name a type
 template <const std::string_view&... strings>
                      ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:13:1: error: expected ‘>’ before ‘namespace’
 namespace {
 ^~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:13:11: error: expected unqualified-id before ‘{’ token
 namespace {
           ^
/home/user/Aether/src/DSP/aether_dsp.cpp: In constructor ‘Aether::DSP::DSP(float)’:
/home/user/Aether/src/DSP/aether_dsp.cpp:27:28: error: ‘rng’ was not declared in this scope
   m_l_early_diffuser(rate, rng),
                            ^~~
/home/user/Aether/src/DSP/aether_dsp.cpp:33:35: error: found ‘:’ in nested-name-specifier, expected ‘::’
   for (size_t i = 6; float& param : params_arr)
                                   ^
/home/user/Aether/src/DSP/aether_dsp.cpp:33:22: error: expected primary-expression before ‘float’
   for (size_t i = 6; float& param : params_arr)
                      ^~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:33:22: error: expected ‘;’ before ‘float’
/home/user/Aether/src/DSP/aether_dsp.cpp:33:22: error: expected primary-expression before ‘float’
/home/user/Aether/src/DSP/aether_dsp.cpp:33:22: error: expected ‘)’ before ‘float’
/home/user/Aether/src/DSP/aether_dsp.cpp:33:29: error: ‘param’ has not been declared
   for (size_t i = 6; float& param : params_arr)
                             ^~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:33:47: error: qualified-id in declaration before ‘)’ token
   for (size_t i = 6; float& param : params_arr)
                                               ^
/home/user/Aether/src/DSP/aether_dsp.cpp:33:47: error: expected initializer before ‘)’ token
/home/user/Aether/src/DSP/aether_dsp.cpp:33:15: warning: unused variable ‘i’ [-Wunused-variable]
   for (size_t i = 6; float& param : params_arr)
               ^
/home/user/Aether/src/DSP/aether_dsp.cpp: In member function ‘void Aether::DSP::map_uris(LV2_URID_Map*)’:
/home/user/Aether/src/DSP/aether_dsp.cpp:81:40: error: ‘join_v’ was not declared in this scope
   uris.ui_open = map->map(map->handle, join_v<URI, ui_open_URI>);
                                        ^~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:81:47: error: ‘URI’ was not declared in this scope
   uris.ui_open = map->map(map->handle, join_v<URI, ui_open_URI>);
                                               ^~~
/home/user/Aether/src/DSP/aether_dsp.cpp:81:47: note: suggested alternative: ‘URIs’
   uris.ui_open = map->map(map->handle, join_v<URI, ui_open_URI>);
                                               ^~~
                                               URIs
/home/user/Aether/src/DSP/aether_dsp.cpp:81:52: error: ‘ui_open_URI’ was not declared in this scope
   uris.ui_open = map->map(map->handle, join_v<URI, ui_open_URI>);
                                                    ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:81:52: note: suggested alternative: ‘ui_open’
   uris.ui_open = map->map(map->handle, join_v<URI, ui_open_URI>);
                                                    ^~~~~~~~~~~
                                                    ui_open
/home/user/Aether/src/DSP/aether_dsp.cpp:81:64: error: expected primary-expression before ‘)’ token
   uris.ui_open = map->map(map->handle, join_v<URI, ui_open_URI>);
                                                                ^
/home/user/Aether/src/DSP/aether_dsp.cpp:82:53: error: ‘ui_close_URI’ was not declared in this scope
   uris.ui_close = map->map(map->handle, join_v<URI, ui_close_URI>);
                                                     ^~~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:82:53: note: suggested alternative: ‘__io_close_fn’
   uris.ui_close = map->map(map->handle, join_v<URI, ui_close_URI>);
                                                     ^~~~~~~~~~~~
                                                     __io_close_fn
/home/user/Aether/src/DSP/aether_dsp.cpp:82:66: error: expected primary-expression before ‘)’ token
   uris.ui_close = map->map(map->handle, join_v<URI, ui_close_URI>);
                                                                  ^
/home/user/Aether/src/DSP/aether_dsp.cpp:84:54: error: ‘peak_data_URI’ was not declared in this scope
   uris.peak_data = map->map(map->handle, join_v<URI, peak_data_URI>);
                                                      ^~~~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:84:68: error: expected primary-expression before ‘)’ token
   uris.peak_data = map->map(map->handle, join_v<URI, peak_data_URI>);
                                                                    ^
/home/user/Aether/src/DSP/aether_dsp.cpp:85:57: error: ‘sample_count_URI’ was not declared in this scope
   uris.sample_count = map->map(map->handle, join_v<URI, sample_count_URI>);
                                                         ^~~~~~~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:85:74: error: expected primary-expression before ‘)’ token
   uris.sample_count = map->map(map->handle, join_v<URI, sample_count_URI>);
                                                                          ^
/home/user/Aether/src/DSP/aether_dsp.cpp:86:50: error: ‘peaks_URI’ was not declared in this scope
   uris.peaks = map->map(map->handle, join_v<URI, peaks_URI>);
                                                  ^~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:86:60: error: expected primary-expression before ‘)’ token
   uris.peaks = map->map(map->handle, join_v<URI, peaks_URI>);
                                                            ^
/home/user/Aether/src/DSP/aether_dsp.cpp:88:56: error: ‘sample_data_URI’ was not declared in this scope
   uris.sample_data = map->map(map->handle, join_v<URI, sample_data_URI>);
                                                        ^~~~~~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:88:72: error: expected primary-expression before ‘)’ token
   uris.sample_data = map->map(map->handle, join_v<URI, sample_data_URI>);
                                                                        ^
/home/user/Aether/src/DSP/aether_dsp.cpp:89:56: error: ‘rate_URI’ was not declared in this scope
   uris.rate        = map->map(map->handle, join_v<URI, rate_URI>);
                                                        ^~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:89:65: error: expected primary-expression before ‘)’ token
   uris.rate        = map->map(map->handle, join_v<URI, rate_URI>);
                                                                 ^
/home/user/Aether/src/DSP/aether_dsp.cpp:90:56: error: ‘channel_URI’ was not declared in this scope
   uris.channel     = map->map(map->handle, join_v<URI, channel_URI>);
                                                        ^~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:90:68: error: expected primary-expression before ‘)’ token
   uris.channel     = map->map(map->handle, join_v<URI, channel_URI>);
                                                                    ^
/home/user/Aether/src/DSP/aether_dsp.cpp:91:56: error: ‘l_samples_URI’ was not declared in this scope
   uris.l_samples   = map->map(map->handle, join_v<URI, l_samples_URI>);
                                                        ^~~~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:91:70: error: expected primary-expression before ‘)’ token
   uris.l_samples   = map->map(map->handle, join_v<URI, l_samples_URI>);
                                                                      ^
/home/user/Aether/src/DSP/aether_dsp.cpp:92:56: error: ‘r_samples_URI’ was not declared in this scope
   uris.r_samples   = map->map(map->handle, join_v<URI, r_samples_URI>);
                                                        ^~~~~~~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:92:70: error: expected primary-expression before ‘)’ token
   uris.r_samples   = map->map(map->handle, join_v<URI, r_samples_URI>);
                                                                      ^
/home/user/Aether/src/DSP/aether_dsp.cpp: In member function ‘void Aether::DSP::process(uint32_t)’:
/home/user/Aether/src/DSP/aether_dsp.cpp:148:26: error: ‘lerp’ is not a member of ‘std’
     predelay_left = std::lerp(dry_left, dry_right, width);
                          ^~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:148:26: note: suggested alternative: ‘exp’
     predelay_left = std::lerp(dry_left, dry_right, width);
                          ^~~~
                          exp
/home/user/Aether/src/DSP/aether_dsp.cpp:149:27: error: ‘lerp’ is not a member of ‘std’
     predelay_right = std::lerp(dry_right, dry_left, width);
                           ^~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:149:27: note: suggested alternative: ‘exp’
     predelay_right = std::lerp(dry_right, dry_left, width);
                           ^~~~
                           exp
/home/user/Aether/src/DSP/aether_dsp.cpp:184:24: error: ‘lerp’ is not a member of ‘std’
      early_left = std::lerp( early_left, multitap_left, tap_mix);
                        ^~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:184:24: note: suggested alternative: ‘exp’
      early_left = std::lerp( early_left, multitap_left, tap_mix);
                        ^~~~
                        exp
/home/user/Aether/src/DSP/aether_dsp.cpp:185:25: error: ‘lerp’ is not a member of ‘std’
      early_right = std::lerp(early_right, multitap_right, tap_mix);
                         ^~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:185:25: note: suggested alternative: ‘exp’
      early_right = std::lerp(early_right, multitap_right, tap_mix);
                         ^~~~
                         exp
/home/user/Aether/src/DSP/aether_dsp.cpp:189:46: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
      AllpassDiffuser<float>::PushInfo info = {
                                              ^
/home/user/Aether/src/DSP/aether_dsp.cpp:190:69: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
       .stages = static_cast<uint32_t>(params.early_diffusion_stages),
                                                                     ^
/home/user/Aether/src/DSP/aether_dsp.cpp:191:50: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
       .feedback = params.early_diffusion_feedback,
                                                  ^
/home/user/Aether/src/DSP/aether_dsp.cpp:208:37: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
     Delayline::PushInfo push_info = {
                                     ^
/home/user/Aether/src/DSP/aether_dsp.cpp:209:63: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
      .order = static_cast<Delayline::Order>(params.late_order),
                                                               ^
/home/user/Aether/src/DSP/aether_dsp.cpp:210:23: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
      .diffuser_info = {
                       ^
/home/user/Aether/src/DSP/aether_dsp.cpp:211:68: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
       .stages = static_cast<uint32_t>(params.late_diffusion_stages),
                                                                    ^
/home/user/Aether/src/DSP/aether_dsp.cpp:212:49: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
       .feedback = params.late_diffusion_feedback,
                                                 ^
/home/user/Aether/src/DSP/aether_dsp.cpp:214:7: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
      },
       ^
/home/user/Aether/src/DSP/aether_dsp.cpp:215:22: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
      .damping_info = {
                      ^
/home/user/Aether/src/DSP/aether_dsp.cpp:216:55: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
       .ls_enable = params.late_low_shelf_enabled > 0.f,
                                                       ^
/home/user/Aether/src/DSP/aether_dsp.cpp:217:56: warning: ISO C++ does not allow C99 designated initializers [-Wpedantic]
       .hs_enable = params.late_high_shelf_enabled > 0.f,
                                                        ^
/home/user/Aether/src/DSP/aether_dsp.cpp:230:41: error: ‘lerp’ is not a member of ‘std’
     ports.audio_out_left[sample] = std::lerp(dry_left, ports.audio_out_left[sample], mix);
                                         ^~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:230:41: note: suggested alternative: ‘exp’
     ports.audio_out_left[sample] = std::lerp(dry_left, ports.audio_out_left[sample], mix);
                                         ^~~~
                                         exp
/home/user/Aether/src/DSP/aether_dsp.cpp:231:42: error: ‘lerp’ is not a member of ‘std’
     ports.audio_out_right[sample] = std::lerp(dry_right, ports.audio_out_right[sample], mix);
                                          ^~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:231:42: note: suggested alternative: ‘exp’
     ports.audio_out_right[sample] = std::lerp(dry_right, ports.audio_out_right[sample], mix);
                                          ^~~~
                                          exp
/home/user/Aether/src/DSP/aether_dsp.cpp: In member function ‘void Aether::DSP::update_parameters()’:
/home/user/Aether/src/DSP/aether_dsp.cpp:328:30: error: ‘clamp’ is not a member of ‘std’
    const float target = std::clamp(
                              ^~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp: In member function ‘void Aether::DSP::apply_parameters()’:
/home/user/Aether/src/DSP/aether_dsp.cpp:380:6: error: ‘dBtoGain’ was not declared in this scope
      dBtoGain(params.early_diffusion_drive);
      ^~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:456:6: error: ‘dBtoGain’ was not declared in this scope
      dBtoGain(params.late_diffusion_drive);
      ^~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:488:17: error: ‘dBtoGain’ was not declared in this scope
    float gain = dBtoGain(params.late_low_shelf_gain);
                 ^~~~~~~~
/home/user/Aether/src/DSP/aether_dsp.cpp:498:17: error: ‘dBtoGain’ was not declared in this scope
    float gain = dBtoGain(params.late_high_shelf_gain);
                 ^~~~~~~~
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:14:0,
                 from /home/user/Aether/src/DSP/aether_dsp.cpp:8:
/home/user/Aether/src/DSP/utils/random.hpp: In instantiation of ‘void Random::generate(Container&, uint32_t, float) [with Container = std::array<float, 100>; uint32_t = unsigned int]’:
/home/user/Aether/src/DSP/delay.hpp:139:50:   required from here
/home/user/Aether/src/DSP/utils/random.hpp:55:47: warning: unused parameter ‘seed’ [-Wunused-parameter]
  void generate(Container& container, uint32_t seed, float cross_seed) noexcept {
                                               ^~~~
/home/user/Aether/src/DSP/utils/random.hpp: In instantiation of ‘void Random::generate(Container&, uint32_t, float) [with Container = std::array<float, 36>; uint32_t = unsigned int]’:
/home/user/Aether/src/DSP/delayline.hpp:117:52:   required from here
/home/user/Aether/src/DSP/utils/random.hpp:55:47: warning: unused parameter ‘seed’ [-Wunused-parameter]
/home/user/Aether/src/DSP/utils/random.hpp: In instantiation of ‘void Random::generate(Container&, uint32_t, float) [with Container = std::array<float, 24>; uint32_t = unsigned int]’:
/home/user/Aether/src/DSP/diffuser.hpp:222:18:   required from ‘void AllpassDiffuser<FpType>::set_seed_crossmix(float) [with FpType = double]’
/home/user/Aether/src/DSP/delayline.hpp:123:44:   required from here
/home/user/Aether/src/DSP/utils/random.hpp:55:47: warning: unused parameter ‘seed’ [-Wunused-parameter]
In file included from /home/user/Aether/src/DSP/aether_dsp.hpp:18:0,
                 from /home/user/Aether/src/DSP/aether_dsp.cpp:8:
/home/user/Aether/src/DSP/diffuser.hpp: In instantiation of ‘FpType soft_clip(FpType, FpType) [with FpType = double]’:
/home/user/Aether/src/DSP/diffuser.hpp:127:27:   required from ‘FpType ModulatedAllpass<FpType>::push(FpType, float, bool) [with FpType = double]’
/home/user/Aether/src/DSP/diffuser.hpp:172:11:   required from ‘FpType AllpassDiffuser<FpType>::push(FpType, AllpassDiffuser<FpType>::PushInfo) [with FpType = double]’
/home/user/Aether/src/DSP/delayline.hpp:78:58:   required from here
/home/user/Aether/src/DSP/diffuser.hpp:100:26: warning: left operand of comma operator has no effect [-Wunused-value]
  x = std::clamp<FpType>(x*drive, -1, 1);
                         ~^~~~~~
/home/user/Aether/src/DSP/diffuser.hpp:100:36: warning: right operand of comma operator has no effect [-Wunused-value]
  x = std::clamp<FpType>(x*drive, -1, 1);
                        ~~~~~~~~~~~~^~~~
/home/user/Aether/src/DSP/diffuser.hpp: In instantiation of ‘FpType soft_clip(FpType, FpType) [with FpType = float]’:
/home/user/Aether/src/DSP/diffuser.hpp:127:27:   required from ‘FpType ModulatedAllpass<FpType>::push(FpType, float, bool) [with FpType = float]’
/home/user/Aether/src/DSP/diffuser.hpp:172:11:   required from ‘FpType AllpassDiffuser<FpType>::push(FpType, AllpassDiffuser<FpType>::PushInfo) [with FpType = float]’
/home/user/Aether/src/DSP/aether_dsp.cpp:195:59:   required from here
/home/user/Aether/src/DSP/diffuser.hpp:100:26: warning: left operand of comma operator has no effect [-Wunused-value]
  x = std::clamp<FpType>(x*drive, -1, 1);
                         ~^~~~~~
/home/user/Aether/src/DSP/diffuser.hpp:100:36: warning: right operand of comma operator has no effect [-Wunused-value]
  x = std::clamp<FpType>(x*drive, -1, 1);
                        ~~~~~~~~~~~~^~~~
CMakeFiles/aether_dsp.dir/build.make:89: recipe for target 'CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp.cpp.o' failed
make[2]: *** [CMakeFiles/aether_dsp.dir/src/DSP/aether_dsp.cpp.o] Error 1
CMakeFiles/Makefile2:94: recipe for target 'CMakeFiles/aether_dsp.dir/all' failed
make[1]: *** [CMakeFiles/aether_dsp.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.