diff --git a/release-packaging/Classes/FluidBufScale.sc b/release-packaging/Classes/FluidBufScale.sc new file mode 100644 index 0000000..6431c89 --- /dev/null +++ b/release-packaging/Classes/FluidBufScale.sc @@ -0,0 +1,31 @@ +FluidBufScale : UGen { + + *new1 { |rate, source, destination, inlo, inhi, outlo, outhi, trig = 1, blocking| + + source = source.asUGenInput; + destination = destination.asUGenInput; + + source.isNil.if {"FluidBufScale: Invalid source buffer".throw}; + destination.isNil.if {"FluidBufScale: Invalid destination buffer".throw}; + ^super.new1(rate, source, destination, inlo, inhi, outlo, outhi, trig, blocking); + } + + *kr { |source, destination, inlo = 0 , inhi = 1, outlo = 0, outhi = 1, trig = 1, blocking = 1| + ^this.new1('control', source, destination, inlo, inhi, outlo, outhi, trig, blocking); + } + + *process { |server, source, destination, inlo = 0 , inhi = 1, outlo = 0, outhi = 1, action| + ^FluidNRTProcess.new( + server, this, action, [destination], blocking:1 + ).process( + source, destination, inlo, inhi, outlo, outhi + ); + + } + + *processBlocking { |server, source, destination, inlo = 0 , inhi = 1, outlo = 0 , outhi = 1, action| + ^process( + source, destination, inlo, inhi, outlo, outhi + ); + } +} diff --git a/release-packaging/Classes/FluidBufThresh.sc b/release-packaging/Classes/FluidBufThresh.sc new file mode 100644 index 0000000..b84d034 --- /dev/null +++ b/release-packaging/Classes/FluidBufThresh.sc @@ -0,0 +1,31 @@ +FluidBufThresh : UGen { + + *new1 { |rate, source, destination, thresh = 0, trig = 1, blocking| + + source = source.asUGenInput; + destination = destination.asUGenInput; + + source.isNil.if {"FluidBufThresh: Invalid source buffer".throw}; + destination.isNil.if {"FluidBufThresh: Invalid destination buffer".throw}; + ^super.new1(rate, source, destination, thresh, trig, blocking); + } + + *kr { |source, destination, thresh = 0, trig = 1, blocking = 1| + ^this.new1('control', source, destination, thresh, trig, blocking); + } + + *process { |server, source, destination, thresh = 0, action| + ^FluidNRTProcess.new( + server, this, action, [destination], blocking:1 + ).process( + source, destination, thresh + ); + + } + + *processBlocking { |server, source, destination, thresh = 0, action| + ^process( + source, destination, thresh + ); + } +} diff --git a/src/FluidBufScale/CMakeLists.txt b/src/FluidBufScale/CMakeLists.txt new file mode 100644 index 0000000..9646a4e --- /dev/null +++ b/src/FluidBufScale/CMakeLists.txt @@ -0,0 +1,21 @@ +# 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) + +get_filename_component(PLUGIN ${CMAKE_CURRENT_LIST_DIR} NAME_WE) +message("Configuring ${PLUGIN}") +set(FILENAME ${PLUGIN}.cpp) + +add_library( + ${PLUGIN} + MODULE + ${FILENAME} +) + +include(${CMAKE_CURRENT_LIST_DIR}/../../scripts/target_post.cmake) diff --git a/src/FluidBufScale/FluidBufScale.cpp b/src/FluidBufScale/FluidBufScale.cpp new file mode 100644 index 0000000..12ffeba --- /dev/null +++ b/src/FluidBufScale/FluidBufScale.cpp @@ -0,0 +1,22 @@ +/* +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). +*/ + +#include + +#include + +static InterfaceTable *ft; + +PluginLoad(OfflineFluidDecompositionUGens) +{ + ft = inTable; + using namespace fluid::client; + makeSCWrapper("FluidBufScale", ft); +} diff --git a/src/FluidBufThresh/CMakeLists.txt b/src/FluidBufThresh/CMakeLists.txt new file mode 100644 index 0000000..9646a4e --- /dev/null +++ b/src/FluidBufThresh/CMakeLists.txt @@ -0,0 +1,21 @@ +# 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) + +get_filename_component(PLUGIN ${CMAKE_CURRENT_LIST_DIR} NAME_WE) +message("Configuring ${PLUGIN}") +set(FILENAME ${PLUGIN}.cpp) + +add_library( + ${PLUGIN} + MODULE + ${FILENAME} +) + +include(${CMAKE_CURRENT_LIST_DIR}/../../scripts/target_post.cmake) diff --git a/src/FluidBufThresh/FluidBufThresh.cpp b/src/FluidBufThresh/FluidBufThresh.cpp new file mode 100644 index 0000000..bd6c0a2 --- /dev/null +++ b/src/FluidBufThresh/FluidBufThresh.cpp @@ -0,0 +1,22 @@ +/* +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). +*/ + +#include + +#include + +static InterfaceTable *ft; + +PluginLoad(OfflineFluidDecompositionUGens) +{ + ft = inTable; + using namespace fluid::client; + makeSCWrapper("FluidBufThresh", ft); +}