Skip to content

Commit e0af418

Browse files
committed
Merge branch 'main' into feature/dataset-add-tobuffer-labelset-swap
2 parents b2d4b2f + 1c096a1 commit e0af418

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

README.md

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,16 @@ This library comprises a suite of C++ algorithms used by the Fluid Corpus Manipu
44

55
# Dependencies
66

7-
* [CMake](http://cmake.org) (>=3.11)
7+
8+
* [CMake](http://cmake.org) (>=3.18)
89
* [Eigen](https://gitlab.com/libeigen/eigen) (3.4)
910
* [HISSTools Library](https://github.com/AlexHarker/HISSTools_Library)
11+
* [Spectra](https://github.com/yixuan/spectra)
12+
* [Memory](https://github.com/foonathan/memory.git)
13+
* [fmt](https://github.com/fmtlib/fmt)
14+
* [nlohmann JSON](https://github.com/nlohmann/json)
15+
16+
1017

1118
# Building
1219
It is unlikely that you will need or want to build this repository directly. Rather, the pattern is to build from one of the repositories for a specific creative coding host, which uses this library as a dependency:
@@ -25,7 +32,7 @@ To build these, clone the repo, change to its directory, and run CMake:
2532
mkdir -p build && cd build
2633
cmake ..
2734
```
28-
By default, CMake will download Eigen and the HISSTools library directly at this point. This is the simplest option, and guarantees that the versions used match the versions we build and test against.
35+
By default, CMake will download the dependencies above directly at this point. This is the simplest option, and guarantees that the versions used match the versions we build and test against.
2936

3037
However, to use versions already on your file system, you can set CMake cache variables `EIGEN_PATH` and `HISS_PATH`:
3138

@@ -38,9 +45,9 @@ Because CMake is a system for generating build scripts, rather than a build syst
3845
* On Windows, Visual Studio can consume CMake projects directly. When used this way, the cache variables are set in a `JSON` file that MSVC uses to configure CMake.
3946

4047
# Portability
41-
The code base uses standard-compliant C++14 and, as such, should be portable to a range of platforms. So far, it has been successfully deployed to macOS (>= Mac OS X 10.7, using clang); Windows (10 and up, using MSVC); and Linux (Ubuntu 16.04 and up, using GCC), for 32-bit and 64-bit intel architectures. Please check that your compiler version supports the full C++14 feature set.
48+
The code base uses standard-compliant C++17 and, as such, should be portable to a range of platforms. So far, it has been successfully deployed to macOS (>= Mac OS X 10.9); Windows (10 and up, using MSVC); and Linux (Ubuntu 20.04 and up, using GCC), for 32-bit and 64-bit intel architectures, as well as Apple Silicon. Please check that your compiler version supports the full C++17 feature set.
4249

43-
In principle, it should be possible to build for other architectures, but this has not yet been properly explored and certain parts of the build process may make assumptions about Intel-ness.
50+
In principle, it should be possible to build for other architectures, but this has not yet been properly explored.
4451

4552
If you find objects causing 'illegal instruction' segmentation faults, it is likely that our default vector instruction flag isn't supported by your CPU.
4653

@@ -50,7 +57,9 @@ And *only building for your own machine*? You want to enable the maximal set of
5057

5158
Pass `-DFLUID_ARCH=-mnative` when you run CMake. This tells the compiler to figure out what instruction sets your personal CPU supports, and enable them. This implies a possible performance gain in return for a portability loss.
5259

53-
### More Detail
60+
61+
62+
<!--### More Detail
5463
By default, on Intel / AMD, we enable AVX instructions (`-mavx` on clang/GCC; `/ARCH:AVX` on MSVC). These should work on all relatively recent CPUs (from, say, 2012 onwards). On ARM (with the Bela platform in mind), we use the following architecture flags:
5564
5665
```
@@ -59,7 +68,7 @@ By default, on Intel / AMD, we enable AVX instructions (`-mavx` on clang/GCC; `/
5968
6069
If your needs are different, then these defaults can be overridden by passing the desired compiler flags to CMake via the `FLUID_ARCH` cache variable.
6170
62-
If your Intel / AMD chip is too old to support AVX, it probably still supports SSE. On macOS and Linux, `sysctl -a | grep cpu.feat` can be used to produce a list of the various features your CPU supports.
71+
If your Intel / AMD chip is too old to support AVX, it probably still supports SSE. On macOS and Linux, `sysctl -a | grep cpu.feat` can be used to produce a list of the various features your CPU supports.-->
6372

6473
## Credits
6574
#### FluCoMa core development team (in alphabetical order)

include/flucoma/clients/common/MessageSet.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ MessageSet<std::tuple<Args...>> defineMessages(Args&&... args)
189189
return {std::forward<Args>(args)...};
190190
}
191191

192-
auto NoMessages = defineMessages();
192+
inline auto NoMessages = defineMessages();
193193

194194
} // namespace client
195195
} // namespace fluid

0 commit comments

Comments
 (0)