Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.wav binary
39 changes: 39 additions & 0 deletions .github/workflows/flucoma-core-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Flucoma Core CI

on:
workflow_dispatch:
push:
branches: [ main, dev ]
pull_request:
branches: [ main, dev ]

env:
BUILD_TYPE: Release

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-18.04, windows-latest, macOS-latest]
fail-fast: false

steps:
- uses: actions/checkout@v2

# - name: Cache Build Folder
# uses: actions/cache@v2
# with:
# path: ${{github.workspace}}/build
# key: ${{ runner.os }}-buildcache

- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DFLUCOMA_TESTS=On -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}

- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}

- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}} -j3

5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
build
*build*
**/.DS_Store
/examples/out*.wav
.vs/
.dsp_cache
FluidVersion.cpp
flucoma.version.rc
15 changes: 11 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ endif()
project (flucoma-core LANGUAGES CXX)

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

include(FetchContent)
set(HISS_PATH "" CACHE PATH "The path to a HISSTools_Library folder. Will pull from github if not set")
Expand Down Expand Up @@ -51,10 +52,11 @@ FetchContent_Declare(

FetchContent_Declare(
Eigen
GIT_SHALLOW TRUE
GIT_REPOSITORY https://gitlab.com/libeigen/eigen
GIT_PROGRESS TRUE
GIT_BRANCH "3.3"
GIT_TAG "3.3.5"
GIT_BRANCH "3.4"
GIT_TAG "3.4.0"
)

FetchContent_Declare(
Expand Down Expand Up @@ -150,7 +152,7 @@ target_include_directories(
"${hisstools_SOURCE_DIR}"
)
target_link_libraries(
FLUID_DECOMPOSITION INTERFACE HISSTools_FFT
FLUID_DECOMPOSITION INTERFACE HISSTools_FFT flucoma_VERSION_LIB
)
target_sources(
FLUID_DECOMPOSITION INTERFACE ${HEADERS}
Expand All @@ -170,7 +172,6 @@ endif()
target_compile_definitions(FLUID_DECOMPOSITION INTERFACE EIGEN_MPL2_ONLY=1)

if(APPLE)
target_compile_definitions(FLUID_DECOMPOSITION INTERFACE EIGEN_USE_BLAS=1)
#targeting <= 10.9, need to really emphasise that we want libc++ both to compiler and linker
target_compile_options(HISSTools_FFT PUBLIC -stdlib=libc++)
target_compile_options(HISSTools_AudioFile PUBLIC -stdlib=libc++)
Expand All @@ -191,3 +192,9 @@ endif()
add_subdirectory(
"${CMAKE_CURRENT_SOURCE_DIR}/examples"
)

enable_testing()

if(FLUCOMA_TESTS)
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/tests")
endif()
67 changes: 67 additions & 0 deletions FlucomaVersion.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# 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)

find_package(Git REQUIRED)

set(flucoma_VERSION_MAJOR 1)
set(flucoma_VERSION_MINOR 0)
set(flucoma_VERSION_PATCH 0)
set(flucoma_VERSION_SUFFIX TB2.beta5)

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

function(make_flucoma_version_string_with_sha output_variable)

make_flucoma_version_string(${output_variable})

if(NOT flucoma_CORESHA_ERR AND NOT flucoma_VERSIONSHA_ERR)
string(APPEND
${output_variable}
"+sha.${flucoma_VERSION_SHA}.core.sha.${flucoma_CORE_SHA}"
)
endif()
set(${output_variable} ${${output_variable}} PARENT_SCOPE)
endfunction()

macro(getsha working_dir output_variable result_variable)
execute_process(
COMMAND ${GIT_EXECUTABLE} log -1 --format=%h
WORKING_DIRECTORY ${${working_dir}}
OUTPUT_VARIABLE ${output_variable}
RESULT_VARIABLE ${result_variable}
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endmacro()

getSha(CMAKE_CURRENT_LIST_DIR flucoma_CORE_SHA flucoma_CORESHA_ERR)
getSha(CMAKE_SOURCE_DIR flucoma_VERSION_SHA flucoma_VERSIONSHA_ERR)

make_flucoma_version_string(flucoma_VERSION_STRING)

make_flucoma_version_string_with_sha(flucoma_VERSION_STRING_SHA)

file(WRITE
"${CMAKE_CURRENT_SOURCE_DIR}/flucoma.version.rc" "${flucoma_VERSION_STRING}"
)

configure_file("${CMAKE_CURRENT_LIST_DIR}/script/FluidVersion.cpp.in" "${CMAKE_CURRENT_LIST_DIR}/FluidVersion.cpp" @ONLY)

add_library(flucoma_VERSION_LIB STATIC
"${CMAKE_CURRENT_LIST_DIR}/FluidVersion.cpp"
)

target_include_directories(flucoma_VERSION_LIB PRIVATE
"${CMAKE_CURRENT_LIST_DIR}/include"
)
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This library comprises a suite of C++ algorithms used by the Fluid Corpus Manipu
# Dependencies

* [CMake](http://cmake.org) (>=3.11)
* [Eigen](https://gitlab.com/libeigen/eigen) (3.3.5)
* [Eigen](https://gitlab.com/libeigen/eigen) (3.4)
* [HISSTools Library](https://github.com/AlexHarker/HISSTools_Library)

# Building
Expand Down Expand Up @@ -65,7 +65,7 @@ If your Intel / AMD chip is too old to support AVX, it probably still supports S
#### FluCoMa core development team (in alphabetical order)
Owen Green, Gerard Roma, Pierre Alexandre Tremblay

#### Other contributors:
Alex Harker, Francesco Cameli
#### Other contributors (in alphabetical order):
James Bradbury, Francesco Cameli, Alex Harker, Ted Moore

> 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).
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions Resources/Data/blobs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"cols":2,"data":{"0":[0.7899821431829168,0.011304142075563073],"1":[0.7850007363064356,0.1486447158438452],"2":[0.7862067342749265,0.047302422630844054],"3":[0.32158652083722306,0.9057485881731097],"4":[0.7441314431303225,0.15699853008771647],"5":[0.2525805180628634,0.9369478877394803],"6":[0.25983520221988166,0.8974905780531736],"7":[0.6007162278378628,0.8048058535107102],"8":[1.0,0.11114228673465232],"9":[0.4435156021527105,0.27067867011674435],"10":[0.3522274342352448,0.877877270580905],"11":[0.3714148032188928,0.18845193855294196],"12":[0.7395647566359562,0.21666513877149646],"13":[0.17153413358201716,0.25431093452394427],"14":[0.7708029791277471,0.09386528892187795],"15":[0.8149651370236719,0.2919768939824583],"16":[0.7245164303987328,0.09357340715775475],"17":[0.2919673113397128,0.34208929484340095],"18":[0.09861682729014001,0.9124801689329332],"19":[0.9235925217403466,0.0],"20":[0.3572103492064626,0.8591346761136937],"21":[0.43066011028435397,1.0],"22":[0.21276853375146867,0.707944897892126],"23":[0.10409196113791508,0.9554787102929074],"24":[0.32534507016548087,0.8298367843806289],"25":[0.2053152107431395,0.89733586513099],"26":[0.270410319855684,0.8295395736846344],"27":[0.3730798942394672,0.9684246645716905],"28":[0.3433705561990344,0.902644896785304],"29":[0.21645800853279204,0.9020006668733845],"30":[0.5821206042519459,0.9288427157843542],"31":[0.0742439707702027,0.845292590263118],"32":[0.8218426672226512,0.0825861579067062],"33":[0.29075693293565064,0.7996909384967346],"34":[0.16924126542305093,0.27664567547067653],"35":[0.40820712460949754,0.8642368285142534],"36":[0.275534404951844,0.9334354342481769],"37":[0.05843374612827705,0.281835994357458],"38":[0.7426512483995391,0.14119752207288905],"39":[0.3686497068574489,0.9568573340890538],"40":[0.7297579995739779,0.07826122177681483],"41":[0.20557015069482593,0.23496592687538503],"42":[0.14996346445535874,0.04354785223868218],"43":[0.32154869331005176,0.9367099980996889],"44":[0.08147345250770165,0.16610967199130455],"45":[0.2519428824365654,0.23492141177619352],"46":[0.8428650479916091,0.1740904833113855],"47":[0.28018589721160647,0.4462468390626012],"48":[0.8119975923959801,0.19158688178994404],"49":[0.2315894699149271,0.8676629609816021],"50":[0.9711482485376294,0.017512887012597234],"51":[0.07199894965312924,0.454013239693704],"52":[0.23164703845458884,0.20085954807500578],"53":[0.1865829376953997,0.9135022196722297],"54":[0.043943611797043064,0.3331947250435254],"55":[0.7609802138466069,0.096335434002634],"56":[0.7795071744369274,0.04320170818961666],"57":[0.17354654395580493,0.22157508551319038],"58":[0.2629712002050562,0.8698321896000766],"59":[0.920307695729409,0.17865706426645905],"60":[0.14177255863280677,0.114686060745123],"61":[0.44641999311008096,0.29095684306306985],"62":[0.44409159085631944,0.32804108462528975],"63":[0.12718897583133618,0.23871469500310222],"64":[0.0707381735820594,0.06391777098864604],"65":[0.8189308633810418,0.1515872075449035],"66":[0.23234786558697726,0.8852547484409596],"67":[0.8729072632755982,0.3123565867979296],"68":[0.732081344107898,0.055577548188685655],"69":[0.852579778962114,0.012208756332713122],"70":[0.2604536704758746,0.2302410110103199],"71":[0.8031223735644281,0.1801959808124694],"72":[0.8412686596607918,0.15794440342463334],"73":[0.393843176342776,0.801442144295094],"74":[0.9781264242514122,0.07010572611938837],"75":[0.8532073738342905,0.047313307185398945],"76":[0.23049256518000252,0.35966980476061555],"77":[0.2530267577592074,0.2093910324725985],"78":[0.166027804916109,0.13802876701715472],"79":[0.5944065680294475,0.17196752557460537],"80":[0.14805454688270261,0.25834713217175637],"81":[0.21704126904230847,0.16603322166774148],"82":[0.44124700149735435,0.7805868015312554],"83":[0.9986419288288533,0.14266093232602473],"84":[0.3907397692955609,0.9040266493106591],"85":[0.11921746805620309,0.14811583352499158],"86":[0.23502092945202738,0.22446147194505645],"87":[0.8147054473158154,0.09320706382617994],"88":[0.15201831444211114,0.8274876204648618],"89":[0.7128583738711045,0.11378150009721233],"90":[0.5013988073122598,0.8305966112662633],"91":[0.8990391395122803,0.07677525673500674],"92":[0.270881210184662,0.18109133550488693],"93":[0.9750046954845799,0.27040347905359646],"94":[0.2765186316604351,0.10626734909643576],"95":[0.23711512311478916,0.17889620041688914],"96":[0.30297525023798677,0.2943158113624056],"97":[0.24322443255680157,0.9264062602284389],"98":[0.0,0.21427875901623616],"99":[0.3412545354005748,0.8958395013205545]}}
1 change: 1 addition & 0 deletions Resources/Data/circles.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"cols":2,"data":{"0":[0.340828411244845,0.058595047635108866],"1":[0.01322810012036063,0.6722929795490515],"2":[0.46499676234004705,0.7689437347912214],"3":[0.6681828407902786,0.02878001001385505],"4":[0.5740082106449125,0.34703378043729727],"5":[0.11570388701760431,0.7364475767040285],"6":[0.2736143414003975,0.6758886181098112],"7":[0.5718993719139256,0.29483812979873175],"8":[0.73934415458447,0.4782968682045203],"9":[0.6174493784239005,0.32394200593173994],"10":[0.20206612494103232,0.8732406530860609],"11":[0.700256813107208,0.4209844824018838],"12":[0.9708974154694322,0.6357799715555512],"13":[0.6043219893146805,0.0],"14":[0.04071235502643883,0.327960033871439],"15":[0.9335085943675936,0.3700173467305146],"16":[0.5400117779925259,0.2869345566250665],"17":[0.5814048434193693,0.771440553371598],"18":[0.7071222950174756,0.9449228585788976],"19":[0.11828605538140752,0.8415075283445016],"20":[0.2823454157279891,0.38302836127303364],"21":[0.6444248164250616,0.7449690255370202],"22":[0.26359995746974996,0.11011725820376944],"23":[0.3764225247345304,0.7010161732864957],"24":[0.6789449776461656,0.6143690453847959],"25":[0.8380900534894031,0.19324237390979432],"26":[0.49842500189830274,0.732137579274381],"27":[0.7499633361542766,0.9401481151071872],"28":[0.49460973793372626,0.9793705139879894],"29":[0.6359387691666243,0.9690102065902413],"30":[0.2861029813845316,0.38426991641476527],"31":[0.704170269246223,0.35134040550648876],"32":[0.6682089016243595,0.6561891441927487],"33":[0.8484033851701421,0.8619263964695262],"34":[0.021235678728731167,0.4005318611935563],"35":[0.39923317327084473,0.6954035827289402],"36":[0.291403677551147,0.3187703687019817],"37":[0.24390887107125286,0.5915069836854253],"38":[0.9453577917269276,0.40216913245328706],"39":[0.7477456273016527,0.5673817018579267],"40":[0.6022416555467555,0.7662852164729541],"41":[0.5502083393236551,0.986532872351825],"42":[0.8322315466001509,0.8495117177856701],"43":[0.9185009138987348,0.7259855731682865],"44":[0.5928044677946065,0.2720995121916361],"45":[0.44931358448980097,0.7410705528360919],"46":[0.7118072197418261,0.5892897971663527],"47":[0.3059314871972335,0.10097818197425962],"48":[0.6708253289288159,0.692580131377725],"49":[0.15002693770821285,0.11977433832582096],"50":[0.33142779371936515,0.31657328129824486],"51":[0.8885291220542164,0.2612412158266335],"52":[0.35847416205465293,0.6964124353822512],"53":[0.40013277420303556,0.7459984904247495],"54":[0.47889646433698574,0.22849033321693107],"55":[0.2360782318424876,0.912109070246929],"56":[0.48064250241504725,0.03163483212123702],"57":[0.49334161608415367,0.2703605762633702],"58":[0.21672842512511525,0.13743018547375063],"59":[0.0,0.44279838898001783],"60":[0.3857987889601916,0.010159482727383262],"61":[0.7741443446892691,0.14415274631154185],"62":[0.30012143234203714,0.3401391560160121],"63":[0.36382595957514574,0.27939655011039066],"64":[0.3686569541851077,0.2572438883057096],"65":[0.025635588800239195,0.5664152004944708],"66":[0.41089090157608293,0.21164936332811052],"67":[0.5036987067585156,0.7578028063266807],"68":[0.9868912812811488,0.6870917551571082],"69":[0.40121553558727996,1.0],"70":[0.47307678491999605,0.03601223450948737],"71":[0.2595420366788619,0.5891471068165154],"72":[0.6810596238736961,0.06316913250104322],"73":[0.03963444654340981,0.591170663701791],"74":[0.023164772022601643,0.4926759740720979],"75":[0.892019023026045,0.21889275133608166],"76":[0.26298452813097173,0.4468662096968665],"77":[0.8855127382308279,0.8036436329776062],"78":[0.47628676203368575,0.24564200363609656],"79":[0.7640116994910799,0.09541904150276403],"80":[0.1682125693191952,0.2280584592207366],"81":[1.0,0.5699810079270762],"82":[0.2590478436905983,0.9798866276444724],"83":[0.9902781014526201,0.47753946475647896],"84":[0.4723595197203869,0.9809389187883347],"85":[0.7081787867994956,0.4147983005960454],"86":[0.6472972126691454,0.3306706454409324],"87":[0.7596737349036307,0.5474981946460569],"88":[0.09403133330147923,0.7090110539350976],"89":[0.3686889385574993,0.9612290729901591],"90":[0.2939938439717846,0.4618761315421676],"91":[0.26444751160440455,0.501444769383925],"92":[0.6810428951995062,0.35052128939459576],"93":[0.23083817814254526,0.5081160022535728],"94":[0.3359856350653041,0.6300914171688512],"95":[0.05808816014529267,0.24924789736239844],"96":[0.315971643809824,0.6674817298775857],"97":[0.7303007580199876,0.4554194122532016],"98":[0.9942923409870819,0.4758711635864032],"99":[0.6926917132232786,0.6815364500080507]}}
Loading