-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathFlucomaClients.cmake
160 lines (144 loc) · 9.43 KB
/
FlucomaClients.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# Part of the Fluid Corpus Manipulation Project (http://www.flucoma.org/)
# Copyright 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 flucoma/clients/rt/AmpFeatureClient.hpp CLASS RTAmpFeatureClient )
add_client(AmpGate flucoma/clients/rt/AmpGateClient.hpp CLASS RTAmpGateClient )
add_client(AmpSlice flucoma/clients/rt/AmpSliceClient.hpp CLASS RTAmpSliceClient )
add_client(AudioTransport flucoma/clients/rt/AudioTransportClient.hpp CLASS RTAudioTransportClient )
add_client(BufAmpFeature flucoma/clients/rt/AmpFeatureClient.hpp CLASS NRTThreadedAmpFeatureClient )
add_client(BufAmpGate flucoma/clients/rt/AmpGateClient.hpp CLASS NRTThreadedAmpGateClient )
add_client(BufAmpSlice flucoma/clients/rt/AmpSliceClient.hpp CLASS NRTThreadedAmpSliceClient )
add_client(BufAudioTransport flucoma/clients/rt/AudioTransportClient.hpp CLASS NRTThreadedAudioTransportClient )
add_client(BufChroma flucoma/clients/rt/ChromaClient.hpp CLASS NRTThreadedChromaClient )
add_client(BufCompose flucoma/clients/nrt/BufComposeClient.hpp CLASS NRTThreadedBufComposeClient )
add_client(BufFlatten flucoma/clients/nrt/BufFlattenClient.hpp CLASS NRTThreadedBufFlattenClient )
add_client(BufHPSS flucoma/clients/rt/HPSSClient.hpp CLASS NRTThreadedHPSSClient )
add_client(BufLoudness flucoma/clients/rt/LoudnessClient.hpp CLASS NRTThreadedLoudnessClient )
add_client(BufMFCC flucoma/clients/rt/MFCCClient.hpp CLASS NRTThreadedMFCCClient )
add_client(BufMelBands flucoma/clients/rt/MelBandsClient.hpp CLASS NRTThreadedMelBandsClient )
add_client(BufNMF flucoma/clients/nrt/NMFClient.hpp CLASS NRTThreadedNMFClient )
add_client(BufNMFCross flucoma/clients/nrt/NMFCrossClient.hpp CLASS NRTNMFCrossClient )
add_client(BufNMFSeed flucoma/clients/nrt/NMFSeedClient.hpp CLASS NRTThreadedNMFSeedClient )
add_client(BufNoveltyFeature flucoma/clients/rt/NoveltyFeatureClient.hpp CLASS NRTThreadedNoveltyFeatureClient )
add_client(BufNoveltySlice flucoma/clients/rt/NoveltySliceClient.hpp CLASS NRTThreadingNoveltySliceClient )
add_client(BufOnsetFeature flucoma/clients/rt/OnsetFeatureClient.hpp CLASS NRTThreadedOnsetFeatureClient )
add_client(BufOnsetSlice flucoma/clients/rt/OnsetSliceClient.hpp CLASS NRTThreadingOnsetSliceClient )
add_client(BufPitch flucoma/clients/rt/PitchClient.hpp CLASS NRTThreadedPitchClient )
add_client(BufSTFT flucoma/clients/nrt/BufSTFTClient.hpp CLASS NRTThreadedBufferSTFTClient )
add_client(BufScale flucoma/clients/nrt/BufScaleClient.hpp CLASS NRTThreadedBufferScaleClient )
add_client(BufSelect flucoma/clients/nrt/BufSelectClient.hpp CLASS NRTThreadingSelectClient )
add_client(BufSelectEvery flucoma/clients/nrt/BufSelectEveryClient.hpp CLASS NRTThreadingSelectEveryClient )
add_client(BufSineFeature flucoma/clients/rt/SineFeatureClient.hpp CLASS NRTThreadedSineFeatureClient )
add_client(BufSines flucoma/clients/rt/SinesClient.hpp CLASS NRTThreadedSinesClient )
add_client(BufSpectralShape flucoma/clients/rt/SpectralShapeClient.hpp CLASS NRTThreadedSpectralShapeClient )
add_client(BufStats flucoma/clients/nrt/BufStatsClient.hpp CLASS NRTThreadedBufferStatsClient )
add_client(BufThreadDemo flucoma/clients/nrt/FluidThreadTestClient.hpp CLASS NRTThreadedThreadTestClient )
add_client(BufThresh flucoma/clients/nrt/BufThreshClient.hpp CLASS NRTThreadedBufferThreshClient )
add_client(BufTransientSlice flucoma/clients/rt/TransientSliceClient.hpp CLASS NRTThreadedTransientSliceClient )
add_client(BufTransients flucoma/clients/rt/TransientClient.hpp CLASS NRTThreadedTransientsClient )
add_client(Chroma flucoma/clients/rt/ChromaClient.hpp CLASS RTChromaClient )
add_client(Gain flucoma/clients/rt/GainClient.hpp CLASS RTGainClient NOINSTALL)
add_client(HPSS flucoma/clients/rt/HPSSClient.hpp CLASS RTHPSSClient )
add_client(Loudness flucoma/clients/rt/LoudnessClient.hpp CLASS RTLoudnessClient )
add_client(MFCC flucoma/clients/rt/MFCCClient.hpp CLASS RTMFCCClient )
add_client(MelBands flucoma/clients/rt/MelBandsClient.hpp CLASS RTMelBandsClient )
add_client(NMFFilter flucoma/clients/rt/NMFFilterClient.hpp CLASS RTNMFFilterClient )
add_client(NMFMatch flucoma/clients/rt/NMFMatchClient.hpp CLASS RTNMFMatchClient )
add_client(NMFMorph flucoma/clients/rt/NMFMorphClient.hpp CLASS RTNMFMorphClient )
add_client(NoveltyFeature flucoma/clients/rt/NoveltyFeatureClient.hpp CLASS RTNoveltyFeatureClient )
add_client(NoveltySlice flucoma/clients/rt/NoveltySliceClient.hpp CLASS RTNoveltySliceClient )
add_client(OnsetFeature flucoma/clients/rt/OnsetFeatureClient.hpp CLASS RTOnsetFeatureClient )
add_client(OnsetSlice flucoma/clients/rt/OnsetSliceClient.hpp CLASS RTOnsetSliceClient )
add_client(Pitch flucoma/clients/rt/PitchClient.hpp CLASS RTPitchClient )
add_client(STFTPass flucoma/clients/rt/BaseSTFTClient.hpp CLASS RTSTFTPassClient NOINSTALL)
add_client(SineFeature flucoma/clients/rt/SineFeatureClient.hpp CLASS RTSineFeatureClient )
add_client(Sines flucoma/clients/rt/SinesClient.hpp CLASS RTSinesClient )
add_client(SpectralShape flucoma/clients/rt/SpectralShapeClient.hpp CLASS RTSpectralShapeClient )
add_kr_in_client(Stats flucoma/clients/rt/RunningStatsClient.hpp CLASS RunningStatsClient )
add_client(TransientSlice flucoma/clients/rt/TransientSliceClient.hpp CLASS RTTransientSliceClient )
add_client(Transients flucoma/clients/rt/TransientClient.hpp CLASS RTTransientClient )
#lib manipulation client group
add_client(DataSet flucoma/clients/nrt/DataSetClient.hpp CLASS NRTThreadedDataSetClient GROUP MANIPULATION)
add_client(DataSetQuery flucoma/clients/nrt/DataSetQueryClient.hpp CLASS NRTThreadedDataSetQueryClient GROUP MANIPULATION)
add_client(LabelSet flucoma/clients/nrt/LabelSetClient.hpp CLASS NRTThreadedLabelSetClient GROUP MANIPULATION)
add_client(KDTree flucoma/clients/nrt/KDTreeClient.hpp CLASS NRTThreadedKDTreeClient GROUP MANIPULATION)
add_client(KMeans flucoma/clients/nrt/KMeansClient.hpp CLASS NRTThreadedKMeansClient GROUP MANIPULATION)
add_client(SKMeans flucoma/clients/nrt/SKMeansClient.hpp CLASS NRTThreadedSKMeansClient GROUP MANIPULATION)
add_client(KNNClassifier flucoma/clients/nrt/KNNClassifierClient.hpp CLASS NRTThreadedKNNClassifierClient GROUP MANIPULATION)
add_client(KNNRegressor flucoma/clients/nrt/KNNRegressorClient.hpp CLASS NRTThreadedKNNRegressorClient GROUP MANIPULATION)
add_client(Normalize flucoma/clients/nrt/NormalizeClient.hpp CLASS NRTThreadedNormalizeClient GROUP MANIPULATION)
add_client(RobustScale flucoma/clients/nrt/RobustScaleClient.hpp CLASS NRTThreadedRobustScaleClient GROUP MANIPULATION)
add_client(Standardize flucoma/clients/nrt/StandardizeClient.hpp CLASS NRTThreadedStandardizeClient GROUP MANIPULATION)
add_client(PCA flucoma/clients/nrt/PCAClient.hpp CLASS NRTThreadedPCAClient GROUP MANIPULATION)
add_client(MDS flucoma/clients/nrt/MDSClient.hpp CLASS NRTThreadedMDSClient GROUP MANIPULATION)
add_client(UMAP flucoma/clients/nrt/UMAPClient.hpp CLASS NRTThreadedUMAPClient GROUP MANIPULATION)
add_client(MLPRegressor flucoma/clients/nrt/MLPRegressorClient.hpp CLASS NRTThreadedMLPRegressorClient GROUP MANIPULATION)
add_client(MLPClassifier flucoma/clients/nrt/MLPClassifierClient.hpp CLASS NRTThreadedMLPClassifierClient GROUP MANIPULATION)
add_client(Grid flucoma/clients/nrt/GridClient.hpp CLASS NRTThreadedGridClient GROUP MANIPULATION)