More SC Objects and build into place
This commit is contained in:
@@ -2,6 +2,10 @@
|
||||
#ifndef FRAMELIB_OBJECTS_H
|
||||
#define FRAMELIB_OBJECTS_H
|
||||
|
||||
// Buffers
|
||||
|
||||
#include "FrameLib_Read.h"
|
||||
|
||||
// Host Communication
|
||||
|
||||
#include "FrameLib_FromHost.h"
|
||||
|
||||
@@ -1,11 +1,19 @@
|
||||
|
||||
#include "../../Config_FrameLib.xcconfig"
|
||||
#include "../Config_FrameLib.xcconfig"
|
||||
|
||||
// Paths
|
||||
|
||||
SC_PATH = $(SRCROOT)/../../C++ Development/SuperCollider
|
||||
HEADER_SEARCH_PATHS = "$(SC_PATH)/include/common" "$(SC_PATH)/include/plugin_interface"
|
||||
|
||||
// Install Location
|
||||
|
||||
SKIP_INSTALL = NO
|
||||
DEPLOYMENT_LOCATION = YES
|
||||
DSTROOT = /Library/Application Support/SuperCollider/Extensions/plugins
|
||||
INSTALL_PATH = /
|
||||
COPY_PHASE_STRIP = NO
|
||||
|
||||
// Static Configuration (don't change these)
|
||||
|
||||
EXECUTABLE_SUFFIX = .scx
|
||||
|
||||
@@ -0,0 +1,267 @@
|
||||
|
||||
FLObject : UGen {
|
||||
classvar paramCount;
|
||||
|
||||
*initClass {
|
||||
paramCount = 0;
|
||||
}
|
||||
|
||||
*makeNewParams { arg paramString;
|
||||
var count = -1;
|
||||
if (paramString.isKindOf(String), { if(paramString.size() > 0, {
|
||||
count = paramCount;
|
||||
Server.local.sendMsg("/cmd", "FLParameters", paramCount, paramString);
|
||||
paramCount = paramCount + 1;
|
||||
})})
|
||||
^count;
|
||||
}
|
||||
}
|
||||
|
||||
FLInterval : FLObject {
|
||||
*fr { arg paramString = '', params = 0.0;
|
||||
^this.multiNew('audio', this.makeNewParams(paramString), params)
|
||||
}
|
||||
}
|
||||
|
||||
FLRead : FLObject {
|
||||
*fr { arg in1 = 0.0, params = 0.0, initParams = "";
|
||||
^this.multiNew('control', this.makeNewParams(initParams), in1, params)
|
||||
}
|
||||
}
|
||||
|
||||
FLMap : FLObject {
|
||||
*fr { arg in1 = 0.0, params = 0.0, initParams = "";
|
||||
^this.multiNew('control', this.makeNewParams(initParams), in1, params)
|
||||
}
|
||||
}
|
||||
|
||||
FLWindow : FLObject {
|
||||
*fr { arg in = 0.0, params = 0.0, initParams = "";
|
||||
^this.multiNew('control', this.makeNewParams(initParams), in, params)
|
||||
}
|
||||
}
|
||||
|
||||
// IO
|
||||
|
||||
FLSource : FLObject {
|
||||
*fr { arg in1 = 0.0, trigger = 0.0, params = 0.0;
|
||||
^this.multiNew('audio', this.makeNewParams(""), in1, trigger, params)
|
||||
}
|
||||
}
|
||||
|
||||
FLSink : FLObject {
|
||||
*fr { arg in = 0.0, params = 0.0, initParams = "";
|
||||
^this.multiNew('audio', this.makeNewParams(initParams), in, params)
|
||||
}
|
||||
}
|
||||
|
||||
FLTrace : FLObject {
|
||||
*fr { arg in = 0.0, params = 0.0, initParams = "";
|
||||
^this.multiNew('audio', this.makeNewParams(initParams), in, params)
|
||||
}
|
||||
}
|
||||
|
||||
// Generators
|
||||
|
||||
FLRamp : FLObject {
|
||||
*fr { arg in1 = 0.0, params = 0.0, initParams = "";
|
||||
^this.multiNew('control', this.makeNewParams(initParams), in1, params)
|
||||
}
|
||||
}
|
||||
|
||||
FLRand : FLObject {
|
||||
*fr { arg in1 = 0.0, params = 0.0, initParams = "";
|
||||
^this.multiNew('control', this.makeNewParams(initParams), in1, params)
|
||||
}
|
||||
}
|
||||
|
||||
FLUniform : FLObject {
|
||||
*fr { arg in1 = 0.0, params = 0.0, initParams = "";
|
||||
^this.multiNew('control', this.makeNewParams(initParams), in1, params)
|
||||
}
|
||||
}
|
||||
|
||||
// Unary
|
||||
|
||||
FLNot : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLAcos : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLAsin : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLAtan : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLAcosh : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLAsinh : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLAtanh : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLCos : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLSin : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLTan : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
FLCosh : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLSinh : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLTanh : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLLog : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLLog2 : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLLog10 : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLExp : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLExp2 : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLAbs : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLCeil : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLFloor : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLRound : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLTrunc : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLSqrt : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLCbrt : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLErf : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
FLErfc : FLObject {
|
||||
*fr { arg in = 0.0;
|
||||
^this.multiNew('control', -1, in)}
|
||||
}
|
||||
|
||||
|
||||
// Binary
|
||||
|
||||
FLMul : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLAdd : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLSub : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLDiv : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
|
||||
FLPow : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLAtan2 : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLHypot : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLCopySign : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLMin : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLMax : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
FLModulo : FLObject {
|
||||
*fr { arg in1 = 0.0, in2 = 0.0, params = "";
|
||||
^this.multiNew('control', this.makeNewParams(params), in1, in2)}
|
||||
}
|
||||
@@ -2,6 +2,8 @@
|
||||
#include "SC_PlugIn.h"
|
||||
#include "../../server/scsynth/SC_UnitDef.h"
|
||||
|
||||
#include "FrameLib_Objects.h"
|
||||
/*
|
||||
#include "FrameLib_Multistream.h"
|
||||
|
||||
#include "FrameLib_Binary_Objects.h"
|
||||
@@ -15,6 +17,7 @@
|
||||
#include "FrameLib_Read.h"
|
||||
#include "FrameLib_Random.h"
|
||||
#include "TableReader.hpp"
|
||||
*/
|
||||
|
||||
static InterfaceTable *ft;
|
||||
|
||||
@@ -403,18 +406,60 @@ PluginLoad(FrameLib)
|
||||
|
||||
(*ft->fDefinePlugInCmd)("FLParameters", &ParameterSetup, nullptr);
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Read>("FLRead");
|
||||
DefineFrameLibExpUnit<FrameLib_Window>("FLWindow");
|
||||
DefineFrameLibExpUnit<FrameLib_Map>("FLMap");
|
||||
|
||||
// Schedulers
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Interval>("FLInterval");
|
||||
|
||||
// IO
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Source>("FLSource");
|
||||
DefineFrameLibExpUnit<FrameLib_Sink>("FLSink");
|
||||
DefineFrameLibExpUnit<FrameLib_Read>("FLRead");
|
||||
DefineFrameLibExpUnit<FrameLib_Ramp>("FLRamp");
|
||||
DefineFrameLibExpUnit<FrameLib_Window>("FLWindow");
|
||||
DefineFrameLibExpUnit<FrameLib_Random>("FLRand");
|
||||
DefineFrameLibExpUnit<FrameLib_Map>("FLMap");
|
||||
DefineFrameLibExpUnit<FrameLib_Trace>("FLTrace");
|
||||
|
||||
// Generators
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Random>("FLRand");
|
||||
DefineFrameLibExpUnit<FrameLib_Ramp>("FLRamp");
|
||||
DefineFrameLibExpUnit<FrameLib_Uniform>("FLUniform");
|
||||
|
||||
// Unary Operators
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_LogicalNot>("FLNot");
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Acos>("FLAcos");
|
||||
DefineFrameLibExpUnit<FrameLib_Asin>("FLAsin");
|
||||
DefineFrameLibExpUnit<FrameLib_Atan>("FLAtan");
|
||||
DefineFrameLibExpUnit<FrameLib_Cos>("FLCos");
|
||||
DefineFrameLibExpUnit<FrameLib_Sin>("FLSin");
|
||||
DefineFrameLibExpUnit<FrameLib_Tan>("FLTan");
|
||||
DefineFrameLibExpUnit<FrameLib_Acosh>("FLAcosh");
|
||||
DefineFrameLibExpUnit<FrameLib_Asinh>("FLAsinh");
|
||||
DefineFrameLibExpUnit<FrameLib_Atanh>("FLAtanh");
|
||||
DefineFrameLibExpUnit<FrameLib_Cosh>("FLCosh");
|
||||
DefineFrameLibExpUnit<FrameLib_Sinh>("FLSinh");
|
||||
DefineFrameLibExpUnit<FrameLib_Tanh>("FLTanh");
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Log>("FLLog");
|
||||
DefineFrameLibExpUnit<FrameLib_Log2>("FLLog2");
|
||||
DefineFrameLibExpUnit<FrameLib_Log10>("FLLog10");
|
||||
DefineFrameLibExpUnit<FrameLib_Exp>("FLExp");
|
||||
DefineFrameLibExpUnit<FrameLib_Exp2>("FLExp2");
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Abs>("FLAbs");
|
||||
DefineFrameLibExpUnit<FrameLib_Ceil>("FLCeil");
|
||||
DefineFrameLibExpUnit<FrameLib_Floor>("FLFloor");
|
||||
DefineFrameLibExpUnit<FrameLib_Round>("FLRound");
|
||||
DefineFrameLibExpUnit<FrameLib_Trunc>("FLTrunc");
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Sqrt>("FLSqrt");
|
||||
DefineFrameLibExpUnit<FrameLib_Cbrt>("FLCbrt");
|
||||
DefineFrameLibExpUnit<FrameLib_Erf>("FLErf");
|
||||
DefineFrameLibExpUnit<FrameLib_Erfc>("FLErfc");
|
||||
|
||||
// Binary Operators
|
||||
|
||||
DefineFrameLibExpUnit<FrameLib_Multiply>("FLMul");
|
||||
|
||||
@@ -114,6 +114,7 @@
|
||||
B84BE8811C1F63E500A55F8C /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B87E879819C8F61A00B1D0CD /* MaxAudioAPI.framework */; };
|
||||
B84BE88A1C1F641500A55F8C /* fl.medianfilter~.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B84BE8891C1F641500A55F8C /* fl.medianfilter~.cpp */; };
|
||||
B85426AA2173717A007FA185 /* libframelib_objects.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B8BA6FD22078D49200D3DB3D /* libframelib_objects.a */; };
|
||||
B85426AC2175CA0C007FA185 /* FrameLib.sc in CopyFiles */ = {isa = PBXBuildFile; fileRef = B85426AB2175CA05007FA185 /* FrameLib.sc */; };
|
||||
B85435791F65BF03001BA1AA /* HISSTools_FFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B85435731F65BF03001BA1AA /* HISSTools_FFT.cpp */; };
|
||||
B854357A1F65BF03001BA1AA /* HISSTools_FFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B85435731F65BF03001BA1AA /* HISSTools_FFT.cpp */; };
|
||||
B854357B1F65BF03001BA1AA /* HISSTools_FFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B85435731F65BF03001BA1AA /* HISSTools_FFT.cpp */; };
|
||||
@@ -1808,12 +1809,13 @@
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
B88C0A2F21733BF9007A65C0 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = /usr/share/man/man1/;
|
||||
buildActionMask = 12;
|
||||
dstPath = ../classes;
|
||||
dstSubfolderSpec = 0;
|
||||
files = (
|
||||
B85426AC2175CA0C007FA185 /* FrameLib.sc in CopyFiles */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
B8A1F5B91D5370DE00FA5FFC /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
@@ -2002,6 +2004,7 @@
|
||||
B84BE8781C1F592400A55F8C /* FrameLib_MedianFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FrameLib_MedianFilter.h; sourceTree = "<group>"; };
|
||||
B84BE8871C1F63E500A55F8C /* fl.medianfilter~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "fl.medianfilter~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B84BE8891C1F641500A55F8C /* fl.medianfilter~.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "fl.medianfilter~.cpp"; sourceTree = "<group>"; };
|
||||
B85426AB2175CA05007FA185 /* FrameLib.sc */ = {isa = PBXFileReference; lastKnownFileType = text; path = FrameLib.sc; sourceTree = "<group>"; };
|
||||
B85435721F65BF03001BA1AA /* HISSTools_FFT_Core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HISSTools_FFT_Core.h; sourceTree = "<group>"; };
|
||||
B85435731F65BF03001BA1AA /* HISSTools_FFT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HISSTools_FFT.cpp; sourceTree = "<group>"; };
|
||||
B85435741F65BF03001BA1AA /* HISSTools_FFT.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HISSTools_FFT.h; sourceTree = "<group>"; };
|
||||
@@ -4416,6 +4419,7 @@
|
||||
children = (
|
||||
B88C0A1F21732753007A65C0 /* Config_FrameLib_SC.xcconfig */,
|
||||
B88C0A1E21732710007A65C0 /* FrameLib_SC.cpp */,
|
||||
B85426AB2175CA05007FA185 /* FrameLib.sc */,
|
||||
);
|
||||
name = "SC UGens";
|
||||
path = FrameLib_SC_UGens;
|
||||
|
||||
Reference in New Issue
Block a user