Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
ad385e5
Add pointwise inversion to PCA
weefuzzy Sep 30, 2021
06e3470
batchsize was not capped down, leading to hilarious crashes (#63)
tremblap Nov 15, 2021
61d1586
updating credits with the new team
tremblap Nov 15, 2021
4be6a15
Merge pull request #64 from flucoma/giving-credits
weefuzzy Nov 15, 2021
f783bf3
Include SHAs for flucoma-core and current project in version string
weefuzzy Nov 15, 2021
1a36207
Conform version string with SHAs to semantic versioning spec
weefuzzy Nov 15, 2021
eb6e780
Merge pull request #65 from weefuzzy/enhance/version-sha
Nov 24, 2021
5fda001
add chroma feature to NoveltySlice
g-roma Nov 26, 2021
e16d3c4
Toggle BLAS settings for compiling on APPLE (#67)
Nov 28, 2021
0f4a37c
Merge pull request #68 from g-roma/feature/chroma-novelty
Dec 8, 2021
93f83dc
error in the client of (buf)noveltyslice since introducing chroma as …
tremblap Jan 21, 2022
3d67a8e
Enhance/versioning (#75)
weefuzzy Jan 21, 2022
1b4ea03
ensure git is found
Jan 21, 2022
e209449
fix issue #23 - zeroing the output vector in the mTracker loop (#82)
tremblap Jan 24, 2022
0935435
Initial unit tests for `include/data` (#83)
weefuzzy Jan 25, 2022
03710d8
Amend upper frequency limit of mel bands in NoveltySlice to 20kHz
weefuzzy Jan 28, 2022
c59ece5
Merge pull request #87 from weefuzzy/fix/novelty-mfcc-bandwidth
weefuzzy Feb 2, 2022
e8a4982
[Enhance] FluCoMa-wide DataSets as a resource (#88)
Feb 3, 2022
a999094
BufAudioTransport now has A-B based arguments
tedmoore Feb 7, 2022
52159cb
fix mistakenly fixed type signature in FluidSink
weefuzzy Feb 8, 2022
c1d1700
Tests for framing and overlap add bits
weefuzzy Jan 26, 2022
17e0e90
remove build folder caching as a bad job
weefuzzy Feb 8, 2022
c1d7689
Merge pull request #90 from weefuzzy/test/clients/common
weefuzzy Feb 8, 2022
5435ac6
Merge pull request #89 from flucoma/rename-AudioTransport-args
tedmoore Feb 8, 2022
47754d5
Test/sc ports/slicers (#91)
weefuzzy Feb 9, 2022
6a4b370
ignore all build folders for a quieter life
weefuzzy Feb 9, 2022
c93f033
bump Eigen version (#93)
weefuzzy Feb 9, 2022
d80cbb6
add mammoth dataset
Feb 11, 2022
a4bb226
OnsetSlice and NoveltySlice clients: fix block size dependency (#96)
weefuzzy Feb 12, 2022
321fd63
Use `operator<<=` for copy to / from FluidTensorView
weefuzzy Feb 12, 2022
aa69bce
update all instances of FluidTensorView copying
weefuzzy Feb 12, 2022
5972173
Signals.cpp.in fix lingering copy assignment
weefuzzy Feb 14, 2022
57046c0
Add conventional, shallow copy / move assignment to FluidTensorView
weefuzzy Feb 14, 2022
6c921e1
`SliceIterator::end()` fix (#97)
weefuzzy Feb 14, 2022
2ec78d3
annotate datasets
Feb 14, 2022
18fc8b1
add mfcc for fluid_corpus
Feb 14, 2022
3cf746d
update mfcc dataset
Feb 14, 2022
5a9691e
bump version to beta5 (#101)
Feb 16, 2022
6314901
Add pointwise inversion to PCA
weefuzzy Sep 30, 2021
3a785e5
Merge branch 'feature/invert-pca' of https://github.com/flucoma/fluco…
weefuzzy Mar 8, 2022
973961d
Enhance `ParameterSet` (#103)
weefuzzy Mar 10, 2022
ebbae04
Merge pull request #112 from flucoma/feature/invert-pca
tedmoore Mar 11, 2022
0bbd7ae
[Fix] Make error language more consistent (#118)
Mar 28, 2022
b7c81c3
Enhance/slicer detection curves (#114)
weefuzzy Mar 29, 2022
efcb373
more information on failing test thx
weefuzzy Mar 29, 2022
19837a9
Merge branch 'main' into dev
weefuzzy Mar 30, 2022
b585a83
Enhance/fewer warnings (#85)
weefuzzy Mar 31, 2022
59abaaa
Merge branch 'main' into dev
weefuzzy Mar 31, 2022
9ac0e45
json: stop embedding nlohmann library and instead fetch at configure …
weefuzzy Mar 31, 2022
f9c37f6
ParameterDescriptors: make more composable by adding insert function …
weefuzzy Apr 1, 2022
a789a4b
FluidJSON: Avoid some implicit conversion on import that could confus…
weefuzzy Apr 1, 2022
c7708cb
Deal with some warnings
weefuzzy Apr 1, 2022
ae4eae4
EnvelopeSegmentation: pass correct params to Envelope
weefuzzy Apr 1, 2022
309f7d5
Merge branch 'enhance/fluidtensorview-copy' into dev
weefuzzy Apr 1, 2022
7b9ac73
FluidTensorView deep copy gets distinct operator (#100)
weefuzzy Apr 1, 2022
5a87c90
Merge branch 'dev' of https://github.com/flucoma/flucoma-core into dev
weefuzzy Apr 1, 2022
06e6fb4
Enhance/const correct(er) dataobjects (#115)
weefuzzy Apr 11, 2022
2683c0c
NoveltySlice: ensure frame offset is reset when win / hop changes
weefuzzy Apr 13, 2022
8ebf690
Merge pull request #129 from weefuzzy/issue/128
weefuzzy Apr 13, 2022
57c6ffa
correcting the long definition for novelty clients
tremblap Apr 14, 2022
58dd0ed
NoveltySegmentation: Correct order of arguments in constructor
weefuzzy Apr 14, 2022
d24174b
Assign2D: Make UNASSIGNED constexpr to solve strange linker error
weefuzzy Apr 14, 2022
37f02d1
Assign2D: still needs out-of-class declaration for UNASSIGNED to link…
weefuzzy Apr 19, 2022
73ca896
corrected and augmented the credits/info of Data
tremblap Apr 28, 2022
d4fa166
flucoma_corpus_files: typo in the file names
tremblap Apr 28, 2022
65b8b36
Sound bank change (#135)
tremblap May 2, 2022
5a413da
BufFlatten: Workaround PD-release builds problem with temporary buffe…
weefuzzy May 2, 2022
e2740b4
add pca whitening (#98)
g-roma May 3, 2022
a0627dc
Enhance/optional message args (#106)
weefuzzy May 3, 2022
74c3d05
PoC: Enhance/choices param (#108)
weefuzzy May 3, 2022
114cb0c
add dataset version of inverse PCA (#125)
weefuzzy May 3, 2022
3a4189b
Enhance/max params (#132)
weefuzzy May 3, 2022
70d8aa1
NMFClient: Add resynth mode to de-magic interface (#133)
weefuzzy May 3, 2022
2e5a7b9
All Scalers: Replace `invert` parameter with `inverseTransform` messages
weefuzzy May 3, 2022
590522c
Stop being too clever in LongRuntimeMaxParam
weefuzzy May 4, 2022
b524398
Convert remaining `max<X>` parameters and `maxFFTsize` to new order o…
weefuzzy May 10, 2022
5b1c59b
SpectralShape: Ensure output channel count responds to select param
weefuzzy May 11, 2022
67c2c6e
Merge pull request #136 from weefuzzy/fix/scaler-invert
weefuzzy May 11, 2022
1c61e79
MLPClassifier: Missing const in type alias
weefuzzy May 11, 2022
ca2ae40
MLP clients: change 'hidden' to 'hiddenlayers'. fixes #143
weefuzzy May 11, 2022
d5f3ae1
[Enhance] ChoicesParam for LoudnessClient and PitchClient (#141)
May 13, 2022
99cea37
adds a patch to redo the included demo dataset (in pd)
tremblap May 16, 2022
c8df07f
MaxParams: toughen up
weefuzzy May 16, 2022
915483b
dealing with scaler range near 0 (#144)
tremblap May 17, 2022
14688de
NRTWrapper: Fix for multichannel behaviour with @select
weefuzzy May 20, 2022
4d978ac
OnsetSliceClient: Reset frame offset when FFT params change, fixes #145
weefuzzy May 23, 2022
f6dd543
CMake: Make version data globally available via properties
weefuzzy May 24, 2022
217d2ef
CMake: add the big ol list of core clients plus support code
weefuzzy May 24, 2022
a5254a3
Add new features to central CMake, plus small improvements and versio…
weefuzzy May 24, 2022
a4dc9c9
CMake: Turn down the volume for FetchContent
weefuzzy May 26, 2022
dc9431d
CMake: Get rid of old diagnostic messages
weefuzzy May 26, 2022
8dfd29f
CMake: quote module path
weefuzzy May 26, 2022
7570ef0
CMake: Set module path correctly when there is parent project
weefuzzy May 26, 2022
4cdda5c
CMake: Debug module path logic
weefuzzy May 26, 2022
e0264d7
CMake: Superstitous attempt to fix 403 errors when cloning eigen on CI
weefuzzy May 26, 2022
00403a5
zap typo Maxiumm
tremblap May 31, 2022
44635d2
fised typo Magnitdue
tremblap May 31, 2022
b2b16bd
MaxParam: correct initialization order
weefuzzy Jun 2, 2022
9f624a6
RunningStats: change `size` to `history`
weefuzzy Jun 2, 2022
a73f14d
CMake: We need to be able to declare IO properties of clients up front
weefuzzy Jun 2, 2022
ce2621c
MLP* camel case hiddenLayers
tremblap Jun 4, 2022
58b1f5f
NMFCrossClient: Prevent buffer overrun crashes by ensuring polyphony …
weefuzzy Jun 7, 2022
f1d4658
Chroma: Fix Eigen variable aliasing causing UB
weefuzzy Jun 9, 2022
563d543
NMFMorph: avoid crash
weefuzzy Jun 9, 2022
cc9e777
CMake: Enable PIC to make Linux CI happier.
weefuzzy Jun 9, 2022
858b595
BufNNDSVD -> BufNMFSeed (#173)
tremblap Jun 13, 2022
483503b
change parameter name in client to interpolation (#174)
Jun 14, 2022
1d4e06e
Feature/skmeans (#99)
g-roma Jun 14, 2022
c84a05a
ChoicesT: Correct for faulty use of `static`
weefuzzy Jun 14, 2022
7fb1bf6
`(S)KMeansClient`: Track `numClusters` and clear if it changes before…
weefuzzy Jun 14, 2022
1e668d5
KMeansClient: Work around over agressive optimisation
weefuzzy Jun 14, 2022
3e964dd
bump flucoma version
Jun 14, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/flucoma-core-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04, windows-latest, macOS-latest]
os: [ubuntu-18.04, windows-2019, macOS-latest]
fail-fast: false

steps:
Expand All @@ -36,5 +36,5 @@ jobs:
- name: Test
working-directory: ${{github.workspace}}/build

run: ctest -C ${{env.BUILD_TYPE}} -j3 --output-on-failure

run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure

79 changes: 57 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,20 @@
# under the European Union’s Horizon 2020 research and innovation programme
# (grant agreement No 725899).

cmake_minimum_required (VERSION 3.11)
cmake_minimum_required (VERSION 3.18)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

get_directory_property(hasParent PARENT_DIRECTORY)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/script")

#set module path at top level so wrapper projects can easily include fluid_version script
if(hasParent)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/script PARENT_SCOPE)
get_directory_property(hasParent PARENT_DIRECTORY)
if(hasParent)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/script"
PARENT_SCOPE)
endif()

if(APPLE)
Expand All @@ -23,8 +30,9 @@ endif()

project (flucoma-core LANGUAGES CXX)

include("${CMAKE_CURRENT_SOURCE_DIR}/script/flucoma-buildtype.cmake")
include("${CMAKE_CURRENT_SOURCE_DIR}/FlucomaVersion.cmake")
include(flucoma-buildtype)
include(FlucomaVersion.cmake)
include(FlucomaClients.cmake)

include(FetchContent)
set(HISS_PATH "" CACHE PATH "The path to a HISSTools_Library folder. Will pull from github if not set")
Expand All @@ -40,8 +48,6 @@ ENDIF (APPLE)
# Grab the Fluid Decpomposition header files so they can be added to IDE builds
file(GLOB_RECURSE HEADERS CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/include/**/*.hpp")

set(FETCHCONTENT_QUIET FALSE)

# Either download or point to dependencies
FetchContent_Declare(
HISSTools
Expand All @@ -53,7 +59,7 @@ FetchContent_Declare(
FetchContent_Declare(
Eigen
GIT_SHALLOW TRUE
GIT_REPOSITORY https://gitlab.com/libeigen/eigen
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
GIT_PROGRESS TRUE
GIT_BRANCH "3.4"
GIT_TAG "3.4.0"
Expand All @@ -67,6 +73,24 @@ FetchContent_Declare(
GIT_TAG "v0.9.0"
)

FetchContent_Declare(
tl_optional
GIT_SHALLOW TRUE
GIT_REPOSITORY https://github.com/TartanLlama/optional.git
GIT_PROGRESS TRUE
)

FetchContent_Declare(
json
GIT_SHALLOW TRUE
# GIT_REPOSITORY https://github.com/nlohmann/json.git
# advice on nlohmann repo is to use this mirror unless we really want ~150 meg of test data as well as headers:
GIT_REPOSITORY https://github.com/ArthurSonzogni/nlohmann_json_cmake_fetchcontent
GIT_PROGRESS TRUE
GIT_TAG v3.10.5
)
set(JSON_SystemInclude ON CACHE BOOL "")

if(HISS_PATH) #if hiss path is set, this will stop it downloading
get_filename_component(FETCHCONTENT_SOURCE_DIR_HISSTOOLS ${HISS_PATH} ABSOLUTE)
endif()
Expand All @@ -79,6 +103,9 @@ if(SPECTRA_PATH) #if spectra path is set, this will stop it downloading
get_filename_component(FETCHCONTENT_SOURCE_DIR_SPECTRA ${SPECTRA_PATH} ABSOLUTE)
endif()

if(JSON_PATH)
get_filename_component(FETCHCONTENT_SOURCE_DIR_JSON ${JSON_PATH} ABSOLUTE)
endif()

FetchContent_GetProperties(HISSTools)
if(NOT hisstools_POPULATED)
Expand All @@ -95,6 +122,21 @@ if(NOT spectra_POPULATED)
FetchContent_Populate(Spectra)
endif()

set(OPTIONAL_BUILD_PACKAGE OFF CACHE BOOL "" FORCE)
set(OPTIONAL_BUILD_TESTS OFF CACHE BOOL "" FORCE)
FetchContent_GetProperties(tl_optional)
if(NOT tl_optional_POPULATED)
FetchContent_Populate(tl_optional)
endif()

add_subdirectory(${tl_optional_SOURCE_DIR} ${tl_optional_BINARY_DIR} EXCLUDE_FROM_ALL)

FetchContent_GetProperties(json)
if(NOT json_POPULATED)
FetchContent_Populate(json)
endif()

add_subdirectory(${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL)

# HISSTools FFT target
add_library(
Expand All @@ -108,9 +150,6 @@ target_link_libraries(
target_include_directories(HISSTools_FFT PUBLIC "${hisstools_SOURCE_DIR}")

set_target_properties(HISSTools_FFT PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
POSITION_INDEPENDENT_CODE ON
)

Expand All @@ -133,17 +172,11 @@ add_library(
"${hisstools_SOURCE_DIR}/AudioFile/OAudioFile.cpp"
)

set_target_properties(HISSTools_AudioFile PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
)

#Fluid Decomposition header-only target
add_library(FLUID_DECOMPOSITION INTERFACE)

target_include_directories(
FLUID_DECOMPOSITION INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty"
FLUID_DECOMPOSITION INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include"
)
target_include_directories(
FLUID_DECOMPOSITION SYSTEM INTERFACE #we don't want warnings from Eigen or HissTools
Expand All @@ -152,7 +185,11 @@ target_include_directories(
"${hisstools_SOURCE_DIR}"
)
target_link_libraries(
FLUID_DECOMPOSITION INTERFACE HISSTools_FFT flucoma_VERSION_LIB
FLUID_DECOMPOSITION INTERFACE
HISSTools_FFT
flucoma_VERSION_LIB
tl::optional
nlohmann_json::nlohmann_json
)
target_sources(
FLUID_DECOMPOSITION INTERFACE ${HEADERS}
Expand All @@ -177,8 +214,6 @@ if(APPLE)
target_compile_options(HISSTools_AudioFile PUBLIC -stdlib=libc++)
target_compile_options(FLUID_DECOMPOSITION INTERFACE -stdlib=libc++)
target_link_libraries(FLUID_DECOMPOSITION INTERFACE -stdlib=libc++)


endif()

#Apply any vector instruction flags
Expand Down
158 changes: 158 additions & 0 deletions FlucomaClients.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
# Part of the Fluid Corpus Manipulation Project (http://www.flucoma.org/)
# Copyright 2017-2019 University of Huddersfield.
# Licensed under the BSD-3 License.
# See license.md file in the project root for full license information.
# This project has received funding from the European Research Council (ERC)
# under the European Union’s Horizon 2020 research and innovation programme
# (grant agreement No 725899).

cmake_minimum_required (VERSION 3.11)

function(add_client)
# Define the supported set of keywords
set(noValues NOINSTALL)
set(singleValues CLASS)
set(multiValues GROUP TAGS)
# Process the arguments passed in
include(CMakeParseArguments)
cmake_parse_arguments(ARG
"${noValues}"
"${singleValues}"
"${multiValues}"
${ARGN})

list(LENGTH ARG_UNPARSED_ARGUMENTS NUM_PLAIN_ARGS)

if(NUM_PLAIN_ARGS LESS 2)
message(FATAL_ERROR "add_client called without arguments for object name and header file")
endif()

if(NOT ARG_CLASS)
message(FATAL_ERROR "add_client: missing CLASS keyword argument")
endif()

list(GET ARG_UNPARSED_ARGUMENTS 0 name)
list(GET ARG_UNPARSED_ARGUMENTS 1 header)

if(ARG_NOINSTALL)
set(install true)
else()
set(install false)
endif()

if(ARG_GROUP)
set(group ${ARG_GROUP})
else ()
set(group NONE)
endif()

if(ARG_TAGS)
foreach(tag ${ARG_TAGS})
set_property(GLOBAL PROPERTY FLUID_CORE_CLIENTS_${name}_${tag} ON)
endforeach()
endif()

set_property(GLOBAL APPEND PROPERTY FLUID_CORE_CLIENTS ${name})
set_property(GLOBAL APPEND PROPERTY FLUID_CORE_CLIENTS_${group} ${name})
set_property(GLOBAL PROPERTY FLUID_CORE_CLIENTS_${name}_HEADER ${header})
set_property(GLOBAL PROPERTY FLUID_CORE_CLIENTS_${name}_CLASS ${ARG_CLASS})
set_property(GLOBAL PROPERTY FLUID_CORE_CLIENTS_${name}_INSTALL ${install})
endfunction()

function (add_kr_in_client)
add_client(${ARGN} TAGS KR_IN)
endfunction()

function(get_client_group group var)
get_property(clients GLOBAL PROPERTY FLUID_CORE_CLIENTS_${group})
set(${var} ${clients} PARENT_SCOPE)
endfunction()

function(get_core_clients var)
get_property(clients GLOBAL PROPERTY FLUID_CORE_CLIENTS)
set(${var} ${clients} PARENT_SCOPE)
endfunction()

function(get_core_client_header name var)
get_property(client_info GLOBAL PROPERTY FLUID_CORE_CLIENTS_${name}_HEADER)
set(${var} ${client_info} PARENT_SCOPE)
endfunction()

function(get_core_client_class name var)
get_property(client_info GLOBAL PROPERTY FLUID_CORE_CLIENTS_${name}_CLASS)
set(${var} ${client_info} PARENT_SCOPE)
endfunction()
#
add_client(AmpFeature clients/rt/AmpFeatureClient.hpp CLASS RTAmpFeatureClient )
add_client(AmpGate clients/rt/AmpGateClient.hpp CLASS RTAmpGateClient )
add_client(AmpSlice clients/rt/AmpSliceClient.hpp CLASS RTAmpSliceClient )
add_client(AudioTransport clients/rt/AudioTransportClient.hpp CLASS RTAudioTransportClient )
add_client(BufAmpFeature clients/rt/AmpFeatureClient.hpp CLASS NRTThreadedAmpFeatureClient )
add_client(BufAmpGate clients/rt/AmpGateClient.hpp CLASS NRTThreadedAmpGateClient )
add_client(BufAmpSlice clients/rt/AmpSliceClient.hpp CLASS NRTThreadedAmpSliceClient )
add_client(BufAudioTransport clients/rt/AudioTransportClient.hpp CLASS NRTThreadedAudioTransportClient )
add_client(BufChroma clients/rt/ChromaClient.hpp CLASS NRTThreadedChromaClient )
add_client(BufCompose clients/nrt/BufComposeClient.hpp CLASS NRTThreadedBufComposeClient )
add_client(BufFlatten clients/nrt/BufFlattenClient.hpp CLASS NRTThreadedBufFlattenClient )
add_client(BufHPSS clients/rt/HPSSClient.hpp CLASS NRTThreadedHPSSClient )
add_client(BufLoudness clients/rt/LoudnessClient.hpp CLASS NRTThreadedLoudnessClient )
add_client(BufMFCC clients/rt/MFCCClient.hpp CLASS NRTThreadedMFCCClient )
add_client(BufMelBands clients/rt/MelBandsClient.hpp CLASS NRTThreadedMelBandsClient )
add_client(BufNMF clients/nrt/NMFClient.hpp CLASS NRTThreadedNMFClient )
add_client(BufNMFCross clients/nrt/NMFCrossClient.hpp CLASS NRTNMFCrossClient )
add_client(BufNMFSeed clients/nrt/NMFSeedClient.hpp CLASS NRTThreadedNMFSeedClient )
add_client(BufNoveltyFeature clients/rt/NoveltyFeatureClient.hpp CLASS NRTThreadedNoveltyFeatureClient )
add_client(BufNoveltySlice clients/rt/NoveltySliceClient.hpp CLASS NRTThreadingNoveltySliceClient )
add_client(BufOnsetFeature clients/rt/OnsetFeatureClient.hpp CLASS NRTThreadedOnsetFeatureClient )
add_client(BufOnsetSlice clients/rt/OnsetSliceClient.hpp CLASS NRTThreadingOnsetSliceClient )
add_client(BufPitch clients/rt/PitchClient.hpp CLASS NRTThreadedPitchClient )
add_client(BufSTFT clients/nrt/BufSTFTClient.hpp CLASS NRTThreadedBufferSTFTClient )
add_client(BufScale clients/nrt/BufScaleClient.hpp CLASS NRTThreadedBufferScaleClient )
add_client(BufSelect clients/nrt/BufSelectClient.hpp CLASS NRTThreadingSelectClient )
add_client(BufSelectEvery clients/nrt/BufSelectEveryClient.hpp CLASS NRTThreadingSelectEveryClient )
add_client(BufSines clients/rt/SinesClient.hpp CLASS NRTThreadedSinesClient )
add_client(BufSpectralShape clients/rt/SpectralShapeClient.hpp CLASS NRTThreadedSpectralShapeClient )
add_client(BufStats clients/nrt/BufStatsClient.hpp CLASS NRTThreadedBufferStatsClient )
add_client(BufThreadDemo clients/nrt/FluidThreadTestClient.hpp CLASS NRTThreadedThreadTestClient )
add_client(BufThresh clients/nrt/BufThreshClient.hpp CLASS NRTThreadedBufferThreshClient )
add_client(BufTransientSlice clients/rt/TransientSliceClient.hpp CLASS NRTThreadedTransientSliceClient )
add_client(BufTransients clients/rt/TransientClient.hpp CLASS NRTThreadedTransientsClient )
add_client(Chroma clients/rt/ChromaClient.hpp CLASS RTChromaClient )
add_client(Gain clients/rt/GainClient.hpp CLASS RTGainClient NOINSTALL)
add_client(HPSS clients/rt/HPSSClient.hpp CLASS RTHPSSClient )
add_client(Loudness clients/rt/LoudnessClient.hpp CLASS RTLoudnessClient )
add_client(MFCC clients/rt/MFCCClient.hpp CLASS RTMFCCClient )
add_client(MelBands clients/rt/MelBandsClient.hpp CLASS RTMelBandsClient )
add_client(NMFFilter clients/rt/NMFFilterClient.hpp CLASS RTNMFFilterClient )
add_client(NMFMatch clients/rt/NMFMatchClient.hpp CLASS RTNMFMatchClient )
add_client(NMFMorph clients/rt/NMFMorphClient.hpp CLASS RTNMFMorphClient )
add_client(NoveltyFeature clients/rt/NoveltyFeatureClient.hpp CLASS RTNoveltyFeatureClient )
add_client(NoveltySlice clients/rt/NoveltySliceClient.hpp CLASS RTNoveltySliceClient )
add_client(OnsetFeature clients/rt/OnsetFeatureClient.hpp CLASS RTOnsetFeatureClient )
add_client(OnsetSlice clients/rt/OnsetSliceClient.hpp CLASS RTOnsetSliceClient )
add_client(Pitch clients/rt/PitchClient.hpp CLASS RTPitchClient )
add_client(STFTPass clients/rt/BaseSTFTClient.hpp CLASS RTSTFTPassClient NOINSTALL)
add_client(Sines clients/rt/SinesClient.hpp CLASS RTSinesClient )
add_client(SpectralShape clients/rt/SpectralShapeClient.hpp CLASS RTSpectralShapeClient )
add_kr_in_client(Stats clients/rt/RunningStatsClient.hpp CLASS RunningStatsClient )
add_client(TransientSlice clients/rt/TransientSliceClient.hpp CLASS RTTransientSliceClient )
add_client(Transients clients/rt/TransientClient.hpp CLASS RTTransientClient )

#lib manipulation client group
add_client(DataSet clients/nrt/DataSetClient.hpp CLASS NRTThreadedDataSetClient GROUP MANIPULATION)
add_client(DataSetQuery clients/nrt/DataSetQueryClient.hpp CLASS NRTThreadedDataSetQueryClient GROUP MANIPULATION)
add_client(LabelSet clients/nrt/LabelSetClient.hpp CLASS NRTThreadedLabelSetClient GROUP MANIPULATION)
add_client(KDTree clients/nrt/KDTreeClient.hpp CLASS NRTThreadedKDTreeClient GROUP MANIPULATION)
add_client(KMeans clients/nrt/KMeansClient.hpp CLASS NRTThreadedKMeansClient GROUP MANIPULATION)
add_client(SKMeans clients/nrt/SKMeansClient.hpp CLASS NRTThreadedSKMeansClient GROUP MANIPULATION)
add_client(KNNClassifier clients/nrt/KNNClassifierClient.hpp CLASS NRTThreadedKNNClassifierClient GROUP MANIPULATION)
add_client(KNNRegressor clients/nrt/KNNRegressorClient.hpp CLASS NRTThreadedKNNRegressorClient GROUP MANIPULATION)
add_client(Normalize clients/nrt/NormalizeClient.hpp CLASS NRTThreadedNormalizeClient GROUP MANIPULATION)
add_client(RobustScale clients/nrt/RobustScaleClient.hpp CLASS NRTThreadedRobustScaleClient GROUP MANIPULATION)
add_client(Standardize clients/nrt/StandardizeClient.hpp CLASS NRTThreadedStandardizeClient GROUP MANIPULATION)
add_client(PCA clients/nrt/PCAClient.hpp CLASS NRTThreadedPCAClient GROUP MANIPULATION)
add_client(MDS clients/nrt/MDSClient.hpp CLASS NRTThreadedMDSClient GROUP MANIPULATION)
add_client(UMAP clients/nrt/UMAPClient.hpp CLASS NRTThreadedUMAPClient GROUP MANIPULATION)
add_client(MLPRegressor clients/nrt/MLPRegressorClient.hpp CLASS NRTThreadedMLPRegressorClient GROUP MANIPULATION)
add_client(MLPClassifier clients/nrt/MLPClassifierClient.hpp CLASS NRTThreadedMLPClassifierClient GROUP MANIPULATION)
add_client(Grid clients/nrt/GridClient.hpp CLASS NRTThreadedGridClient GROUP MANIPULATION)
21 changes: 17 additions & 4 deletions FlucomaVersion.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,20 @@
# under the European Union’s Horizon 2020 research and innovation programme
# (grant agreement No 725899).

include_guard()

cmake_minimum_required (VERSION 3.11)

find_package(Git REQUIRED)

set(flucoma_VERSION_MAJOR 1)
set(flucoma_VERSION_MINOR 0)
set(flucoma_VERSION_PATCH 0)
set(flucoma_VERSION_SUFFIX TB2.beta6)
set(flucoma_VERSION_SUFFIX TB2.beta7)

function(make_flucoma_version_string output_variable)
set(${output_variable}
"${flucoma_VERSION_MAJOR}.${flucoma_VERSION_MINOR}.${flucoma_VERSION_PATCH}-${flucoma_VERSION_SUFFIX}"
PARENT_SCOPE)
set(result "${flucoma_VERSION_MAJOR}.${flucoma_VERSION_MINOR}.${flucoma_VERSION_PATCH}-${flucoma_VERSION_SUFFIX}")
set(${output_variable} ${result} PARENT_SCOPE)
endfunction()

function(make_flucoma_version_string_with_sha output_variable)
Expand Down Expand Up @@ -65,3 +66,15 @@ add_library(flucoma_VERSION_LIB STATIC
target_include_directories(flucoma_VERSION_LIB PRIVATE
"${CMAKE_CURRENT_LIST_DIR}/include"
)

set_target_properties(flucoma_VERSION_LIB PROPERTIES
POSITION_INDEPENDENT_CODE ON
)

set_property(GLOBAL PROPERTY FLUCOMA_VERSION ${flucoma_VERSION_STRING})
set_property(GLOBAL PROPERTY FLUCOMA_VERSION_TERSE ${flucoma_VERSION_MAJOR}.${flucoma_VERSION_MINOR}.${flucoma_VERSION_PATCH})
set_property(GLOBAL PROPERTY FLUCOMA_VERSION_SHA ${flucoma_VERSION_STRING_SHA})
set_property(GLOBAL PROPERTY FLUCOMA_VERSION_MAJOR ${flucoma_VERSION_MAJOR})
set_property(GLOBAL PROPERTY FLUCOMA_VERSION_MINOR ${flucoma_VERSION_MINOR})
set_property(GLOBAL PROPERTY FLUCOMA_VERSION_PATCH ${flucoma_VERSION_PATCH})
set_property(GLOBAL PROPERTY FLUCOMA_VERSION_SUFFIX ${flucoma_VERSION_SUFFIX})
Loading