You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Ted Moore b89e4c5c7f
[Release] 1.0.0-beta5 (#73)
* FluidPitch.schelp

* FluidPitch.schelp

* edited example 8b-mlp-synth-control

brought it in line with the max example.

the user must put the synth params and 2D slider where they want them, _and then_ click 'add point'.

also simplified some of the SC code.

* FluidWaveform draws features & gate

* new team is credited (#39)

* adding guides from UKH and CIRMMT

* FluidBufToKr has optional numFrames argument

* FluidBufToKr has optional numFrames argument

* default for numFrames argument is -1

* FluidBufToKr help file

* created FluidFilesPath and a test file

* fixed FluidPlotter call createCatColors

* allow for passing the file name in as well

* one extra slash check!

* add section to bottom of nn-->fm for testing with audio files

* Revert "one extra slash check!"

This reverts commit 3ba5c4bf3e.

* add section to bottom of nn->fm to test with audio files

* FluidPlotter typo

* fix reference to FLUID_PARAMDUMP (#43)

* FluidFilesPath helpfile

* comments added, ted's TODO added in folder

* don't show rms color and allow passing waveformcolor

none of this is breaking (i think)

* FluidPlotter now allows > 1 identifier to highlight

* udpated ted's to do list

* updated ted_helpfiles_outline

* deleted ted_helpfiles_outline

* clean up examples/guides folder

* typo

* made audio buffer optional for fluid waveform

* fluid waveform features are stackable or not

* fluid waveform spectrogram scratch paper

* colors

* fluid waveform spectrogram tests

* spectrogram flag is working -- there are some color considerations to make

* spectrogram alpha available

* read from color-schemes folder

* normalizeFeaturesIndependently argument, close method

* Nightly Builds and Continuous Integration (#38)

* build macos supercollider to begin with

* build on nightlies

* compile all 3

* sloppy indentation

* remove ninja for configs

* try all the builds

* fix indentation and dependency

* try packaging

* make fully installation

* fix bigobj whinging in github

* move bigobj down

* remove huge pdb files

* remove pdb files

* build linux on ubuntu 18.04 LTS

* only build on dev branch and ci/nightlies branch

* parallelise zipping and correct the name

* use max cores on mac

* use windows-ly way of zipping files

* package things into non-nested zips

* download to here

* max -> supercollider 🤦

* use ninja and make release builds on windows

* sudo apt

* and Prs

* clone the dev branch of supercollider

* clone with https

* delete the old release before making a new one

* remove extraneous comment

* Revert "move bigobj down"

This reverts commit 5cd4a3532d6a629a071b1210e397f21fe416307f.

* Revert "fix bigobj whinging in github"

This reverts commit cb172b9c7ec2398ad0fbe6bb9456de91bfee990e.

* get core not SC

* use proper CMAKE variable for CORE

* use DFLUID_PATH not DFLUID_CORE

* update tags and remove make

* use choco to install ninja

* use ninja on windows

* update incorrect core link

* add working directory

* use composite action

* correctly point to the composite action

* specify toolchain for cmake

* use v2 of env flucoma action

* use an env variable to call CMAKE

* use composite action to build release

* remove env

* use flucoma actions to do building

* use sc not scbuild

* moved CSVs

* delete scratch paper file

* fluid waveform help file

* added more color schemes to choose from, also new grey scale

* [CI] Actions@v4 (#49)

* use v4 of sc actions

* dont build on PR

* amended the cmake to copy Resources and to capitalise Plugin

* omission in the NoveltySlice

* WIP towards a 'rasterBuffer' approach, waiting on interface decisions and scaling decisions

* melbands weirdness sorted

* no more error when audioBuffer is not passed

* bump

* user specified lin or log scaling

* log

* agnostic 🪵

* 'imageBuffer'

* removed word 'raster'

* waveform help file

* removed 'teds to do list' from repo

* implement startFrame as suggested in https://github.com/flucoma/flucoma-sc/issues/51

* remove extraneous postln

* test code for multiple overlays

* dummy commit

* FluCoMa-ize argument order and defaults, more error checks

* 🚧 updating help file examples

* still 🚧

* FluidWaveform: featureBuffer to featuresBuffer

* Fluid waveform layers (#53)

* layers cause race conditions

* front method keeps race conditions from happening

* allow for image color to be base on alpha

* bump

* bump

* more tests

* updated FluidWaveform help file examples

* download instructions

* made some helpfile examples

* change release action

* changed first argument to kr

to match the default for the restructured text 'schelp_descriptor.schelp' file in the 'flucoma-docs' repo

this needs to happen or else SCDocs will throw a warning everytime the user opens this helpfile

* begin cleaning up of the examples folder

* argument typo in FluidLoudness 'maxwindowSize' --> 'maxWindowSize'

* typo: maxWindowSize in FluidLoudness

* fix FluidMFCC argument ordering

* [Enhance] Update resources folder structure (#57)

* copy the whole resources folder from core

* make fluidfilespath respect the new structure

* FluidChroma and FluidBufChroma help files alignment

* FluidMFCC docs repo alignment

* FluidLoudness docs repo alignment

* FluidCorpusManipulationToolkit Guide

* FluidBufNMF removed 'randomSeed' and 'windowType' (docs repo alignment)

* converted all ugly paths to FluidFilesPath

* fix color-schemes lookup per new folder structure

* BufAudioTransport now has A-B based Arguments

* Update nightly.yaml

Add workflow dispatch for manual launch

* moved the sc-only resources to a SC only folder, and change the cmake to copy the right stuff (#61)

* Enhance/integrate doc (#68)

* Add docs targets to CMake

* Add docs targets to nightly workflow

* fix doc copying for nightly

* try again to fix doc copying for nightly

* syntax error in yaml

* added the missing 'setLabel' method to FluidLabelSet

* a more convenient method call to FluidViewer to get colors

* NRT and Data objects ensure params can be set in NRT queue immediately after creation (#71)

fixes #70

Co-authored-by: tremblap 
Co-authored-by: James Bradbury 
Co-authored-by: Till 
Co-authored-by: James Bradbury 
Co-authored-by: Owen Green
4 years ago
.github/workflows [Release] 1.0.0-beta5 (#73) 4 years ago
include [Release] 1.0.0-beta5 (#73) 4 years ago
release-packaging [Release] 1.0.0-beta5 (#73) 4 years ago
sc-resources [Release] 1.0.0-beta5 (#73) 4 years ago
scripts Remove references to manipulation repo and point to github for deps 5 years ago
src [Release] 1.0.0-beta5 (#73) 4 years ago
test [Release] 1.0.0-beta5 (#73) 4 years ago
tests [Release] 1.0.0-beta5 (#73) 4 years ago
.gitignore [Release] 1.0.0-beta5 (#73) 4 years ago
CMakeLists.txt [Release] 1.0.0-beta5 (#73) 4 years ago
LICENSE.md Upper case LICENSE 6 years ago
QuickStart.md updated the quickstart file 6 years ago
README.md [Release] 1.0.0-beta5 (#73) 4 years ago
icon.png new icon! 7 years ago

README.md

Fluid Corpus Manipulation: SuperCollider Objects Library

This repository hosts code for generating the SC objects and documentation resources for the Fluid Corpus Manipulation Project. Much of the actual code that does the exciting stuff lives in this repository's principal dependency, the Fluid Corpus Manipulation Library.

You can also download the most recent release or the most recent nightly build.

Note that on macOS you may need to dequarantine the binary files.

Pre-requisites

  • C++14 compliant compiler (clang, GCC or MSVC)
  • cmake
  • make (or Ninja or XCode or VisualStudio)
  • git
  • an internet connection
  • SuperCollider Source Code

CMake will automatically download the other dependencies needed

mkdir -p build && cd build
cmake -DSC_PATH=</path/to/sc> ..
make install

This will assemble a clean package in release-packaging/FluidCorpusManipulation.

An alternative to setting up / running CMake directly on the command line is to install the CMake GUI, or use to use the curses GUI ccmake.

Also, with CMake you have a choice of which build system you use.

  • The default on macOS and Linux is Unix Makefiles. On macOS you can also use Xcode by passing -GXcode to CMake when you first run it.
  • The default on Windows is the latest version of Visual Studio installed. However, Visual Studio can open CMake files directly as projects, which has some upsides. When used this way, CMake variables have to be set via a JSON file that MSVC will use to configure CMake.

Using Manual Dependencies

In some cases you may want to use your own copies of the required libraries. Unless specified, the build system will download these automatically. To bypass this behaviour, use the following cache variables:

  • FLUID_PATH: location of the Fluid Corpus Manipulation Library
  • FLUID_DOCS_PATH: location of fluid-docs repository (e.g. for debugging documentation generation)
  • EIGEN_PATH location of the Eigen library
  • HISS_PATH location of the HISSTools library

For example, use this to us your own copy of the Fluid Corpus Manipulation Library:

cmake -DSC_PATH=<location of your SC source> -DFLUID_PATH=<location of Fluid Corpus Manipulation Library> ..

To find out which branches / tags / commits of these we use, look in the top level CMakeLists.txt of the Fluid Corpus Manipulation Library for the FetchContent_Declare statements for each dependency.

Compiling for different CPUs

The build system generally assumes an x86 cpu with AVX instructions (most modern x86 CPUs). To build on another kind of CPU (e.g. older than 2012) you can use the FLUID_ARCH cache variable to pass specific flags to your compiler. For example use -DFLUID_ARCH=-mcpu=native to optimize for your particular CPU.

For ARM, we use the following default set of flags (with the Bela in mind):

-march=armv7-a -mtune=cortex-a8 -mfloat-abi=hard -mfpu=neon

======= This will assemble a package in release-packaging.

Credits

FluCoMa core development team (in alphabetical order)

Owen Green, Gerard Roma, Pierre Alexandre Tremblay

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).