Rework XCode project and config settings, including single object max build for speedy testing

This commit is contained in:
Alex Harker
2019-09-01 13:09:16 +01:00
parent edb7aa346c
commit 22f070112f
10 changed files with 699 additions and 33 deletions
+4
View File
@@ -60,7 +60,11 @@ FrameLib_MaxClass_Info::ReadProxy::ReadProxy() : mBuffer(nullptr)
// Max Object
#ifndef FRAMELIB_MAX_SINGLE_OBJECT
extern "C" int C74_EXPORT main(void)
{
FrameLib_MaxClass_Info::makeClass<FrameLib_MaxClass_Info>("fl.info~");
}
#endif
+4
View File
@@ -65,7 +65,11 @@ FrameLib_MaxClass_Read::ReadProxy::ReadProxy() : mBuffer(nullptr)
// Max Object
#ifndef FRAMELIB_MAX_SINGLE_OBJECT
extern "C" int C74_EXPORT main(void)
{
FrameLib_MaxClass_Read::makeClass<FrameLib_MaxClass_Read>("fl.read~");
}
#endif
@@ -0,0 +1,397 @@
#include "FrameLib_MaxClass.h"
// Filters
#include "FrameLib_0dfSVF.h"
#include "FrameLib_OnePole.h"
#include "FrameLib_OnePoleZero.h"
#include "FrameLib_Resonant.h"
#include "FrameLib_SallenAndKey.h"
// Generators
#include "FrameLib_Gaussian.h"
#include "FrameLib_Ramp.h"
#include "FrameLib_Random.h"
#include "FrameLib_Uniform.h"
// IO
#include "FrameLib_Source.h"
#include "FrameLib_Sink.h"
#include "FrameLib_Trace.h"
// Mapping
#include "FrameLib_Constant.h"
#include "FrameLib_Convert.h"
#include "FrameLib_Lookup.h"
#include "FrameLib_Map.h"
#include "FrameLib_SampleRate.h"
// Parameters
#include "FrameLib_CombineTags.h"
#include "FrameLib_FilterTags.h"
#include "FrameLib_GetParam.h"
#include "FrameLib_Tag.h"
#include "FrameLib_Untag.h"
// Routing
#include "FrameLib_Dispatch.h"
#include "FrameLib_Route.h"
#include "FrameLib_Select.h"
// Schedulers
#include "FrameLib_AudioTrigger.h"
#include "FrameLib_Future.h"
#include "FrameLib_Interval.h"
#include "FrameLib_Once.h"
#include "FrameLib_PerBlock.h"
// Spatial
#include "FrameLib_CoordinateSystem.h"
#include "FrameLib_Spatial.h"
// Spectral
#include "FrameLib_FFT.h"
#include "FrameLib_iFFT.h"
#include "FrameLib_Correlate.h"
#include "FrameLib_Convolve.h"
#include "FrameLib_Multitaper.h"
#include "FrameLib_Window.h"
// Storage
#include "FrameLib_Recall.h"
#include "FrameLib_Register.h"
#include "FrameLib_Store.h"
// Streaming
#include "FrameLib_Pack.h"
#include "FrameLib_Unpack.h"
#include "FrameLib_StreamID.h"
// Time Smoothing
#include "FrameLib_EWMA.h"
#include "FrameLib_EWMSD.h"
#include "FrameLib_FrameDelta.h"
#include "FrameLib_Lag.h"
#include "FrameLib_TimeMean.h"
#include "FrameLib_TimeMedian.h"
#include "FrameLib_TimeStdDev.h"
// Timing
#include "FrameLib_Now.h"
#include "FrameLib_Ticks.h"
#include "FrameLib_TimeDelta.h"
#include "FrameLib_Timer.h"
// Vector
#include "FrameLib_AccumPoint.h"
#include "FrameLib_Chop.h"
#include "FrameLib_Join.h"
#include "FrameLib_MedianFilter.h"
#include "FrameLib_NanFilter.h"
#include "FrameLib_NonZero.h"
#include "FrameLib_Pad.h"
#include "FrameLib_Peaks.h"
#include "FrameLib_Percentile.h"
#include "FrameLib_Reverse.h"
#include "FrameLib_Shift.h"
#include "FrameLib_Sort.h"
#include "FrameLib_Split.h"
#include "FrameLib_Subframe.h"
#include "FrameLib_Vector_Objects.h"
// Operators
#include "FrameLib_Unary_Objects.h"
#include "FrameLib_Binary_Objects.h"
#include "FrameLib_Ternary_Objects.h"
#include "FrameLib_Expression.h"
#include "FrameLib_ComplexExpression.h"
// Complex Operators
#include "FrameLib_Complex_Unary_Objects.h"
#include "FrameLib_Cartopol.h"
#include "FrameLib_Poltocar.h"
#include "FrameLib_Complex_Binary_Objects.h"
// Buffer
#include "../Buffer/fl.info~.cpp"
#include "../Buffer/fl.read~.cpp"
// Expression
#include "../Expressions/fl.expr~.cpp"
#include "../Expressions/fl.complexexpr~.cpp"
// Host Communication
#include "../Host_Communication/fl.tomax~.cpp"
#include "../Host_Communication/fl.frommax~.cpp"
struct FrameLib_Dummy : public MaxClass_Base
{
FrameLib_Dummy(t_symbol *sym, long ac, t_atom *av)
{
post("FrameLib Loaded");
}
};
// Main setup routine
extern "C" int C74_EXPORT main(void)
{
FrameLib_Dummy::makeClass<FrameLib_Dummy>(CLASS_BOX, "maxframelib");
// Filters
FrameLib_MaxClass_Expand<FrameLib_0dfSVF>::makeClass("fl.0dfsvf~");
FrameLib_MaxClass_Expand<FrameLib_OnePole>::makeClass("fl.onepole~");
FrameLib_MaxClass_Expand<FrameLib_OnePoleZero>::makeClass("fl.onepolezero~");
FrameLib_MaxClass_Expand<FrameLib_Resonant>::makeClass("fl.resonant~");
FrameLib_MaxClass_Expand<FrameLib_SallenAndKey>::makeClass("fl.sallenkey~");
// Generators
FrameLib_MaxClass_Expand<FrameLib_Gaussian>::makeClass("fl.gaussian~");
FrameLib_MaxClass_Expand<FrameLib_Ramp>::makeClass("fl.ramp~");
FrameLib_MaxClass_Expand<FrameLib_Random>::makeClass("fl.random~");
FrameLib_MaxClass_Expand<FrameLib_Uniform>::makeClass("fl.uniform~");
// IO
FrameLib_MaxClass_Expand<FrameLib_Sink>::makeClass("fl.sink~");
FrameLib_MaxClass_Expand<FrameLib_Source>::makeClass("fl.source~");
FrameLib_MaxClass_Expand<FrameLib_Trace>::makeClass("fl.trace~");
// Mapping
FrameLib_MaxClass_Expand<FrameLib_Constant>::makeClass("fl.constant~");
FrameLib_MaxClass_Expand<FrameLib_Convert>::makeClass("fl.convert~");
FrameLib_MaxClass_Expand<FrameLib_Lookup>::makeClass("fl.lookup~");
FrameLib_MaxClass_Expand<FrameLib_Map>::makeClass("fl.map~");
FrameLib_MaxClass_Expand<FrameLib_SampleRate>::makeClass("fl.samplerate~");
// Parameters
FrameLib_MaxClass_Expand<FrameLib_CombineTags>::makeClass("fl.combinetags~");
FrameLib_MaxClass_Expand<FrameLib_FilterTags>::makeClass("fl.filtertags~");
FrameLib_MaxClass_Expand<FrameLib_GetParam>::makeClass("fl.getparam~");
FrameLib_MaxClass_Expand<FrameLib_Tag>::makeClass("fl.tag~");
FrameLib_MaxClass_Expand<FrameLib_Untag>::makeClass("fl.untag~");
// Routing
FrameLib_MaxClass_Expand<FrameLib_Dispatch>::makeClass("fl.dispatch~");
FrameLib_MaxClass_Expand<FrameLib_Route>::makeClass("fl.route~");
FrameLib_MaxClass_Expand<FrameLib_Select>::makeClass("fl.select~");
// Schedulers
FrameLib_MaxClass_Expand<FrameLib_AudioTrigger>::makeClass("fl.audiotrigger~");
FrameLib_MaxClass_Expand<FrameLib_Future>::makeClass("fl.future~");
FrameLib_MaxClass_Expand<FrameLib_Interval>::makeClass("fl.interval~");
FrameLib_MaxClass_Expand<FrameLib_Once>::makeClass("fl.once~");
FrameLib_MaxClass_Expand<FrameLib_PerBlock>::makeClass("fl.perblock~");
// Spatial
FrameLib_MaxClass_Expand<FrameLib_CoordinateSystem>::makeClass("fl.coordinatesystem~");
FrameLib_MaxClass_Expand<FrameLib_Spatial>::makeClass("fl.spatial~");
// Spectral
FrameLib_MaxClass_Expand<FrameLib_FFT>::makeClass("fl.fft~");
FrameLib_MaxClass_Expand<FrameLib_iFFT>::makeClass("fl.ifft~");
FrameLib_MaxClass_Expand<FrameLib_Correlate>::makeClass("fl.correlate~");
FrameLib_MaxClass_Expand<FrameLib_Convolve>::makeClass("fl.convolve~");
FrameLib_MaxClass_Expand<FrameLib_Multitaper>::makeClass("fl.multitaper~");
FrameLib_MaxClass_Expand<FrameLib_Window>::makeClass("fl.window~");
// Storage
FrameLib_MaxClass_Expand<FrameLib_Recall>::makeClass("fl.recall~");
FrameLib_MaxClass_Expand<FrameLib_Register>::makeClass("fl.register~");
FrameLib_MaxClass_Expand<FrameLib_Store>::makeClass("fl.store~");
// Streaming
FrameLib_MaxClass<FrameLib_Unpack>::makeClass("fl.unpack~");
FrameLib_MaxClass<FrameLib_Pack>::makeClass("fl.pack~");
FrameLib_MaxClass_Expand<FrameLib_StreamID>::makeClass("fl.streamid~");
// Time Smoothing
FrameLib_MaxClass_Expand<FrameLib_EWMA>::makeClass("fl.ewma~");
FrameLib_MaxClass_Expand<FrameLib_EWMSD>::makeClass("fl.ewmsd~");
FrameLib_MaxClass_Expand<FrameLib_FrameDelta>::makeClass("fl.framedelta~");
FrameLib_MaxClass_Expand<FrameLib_Lag>::makeClass("fl.lag~");
FrameLib_MaxClass_Expand<FrameLib_TimeMean>::makeClass("fl.timemean~");
FrameLib_MaxClass_Expand<FrameLib_TimeMedian>::makeClass("fl.timemedian~");
FrameLib_MaxClass_Expand<FrameLib_TimeStdDev>::makeClass("fl.timestddev~");
// Timing
FrameLib_MaxClass_Expand<FrameLib_Now>::makeClass("fl.now~");
FrameLib_MaxClass_Expand<FrameLib_Ticks>::makeClass("fl.ticks~");
FrameLib_MaxClass_Expand<FrameLib_TimeDelta>::makeClass("fl.timedelta~");
FrameLib_MaxClass_Expand<FrameLib_Timer>::makeClass("fl.timer~");
// Vector
FrameLib_MaxClass_Expand<FrameLib_AccumPoint>::makeClass("fl.accumpoint~");
FrameLib_MaxClass_Expand<FrameLib_Chop>::makeClass("fl.chop~");
FrameLib_MaxClass_Expand<FrameLib_Join>::makeClass("fl.join~");
FrameLib_MaxClass_Expand<FrameLib_MedianFilter>::makeClass("fl.medianfilter~");
FrameLib_MaxClass_Expand<FrameLib_NonZero>::makeClass("fl.nonzero~");
FrameLib_MaxClass_Expand<FrameLib_Pad>::makeClass("fl.pad~");
FrameLib_MaxClass_Expand<FrameLib_Peaks>::makeClass("fl.pattern~");
FrameLib_MaxClass_Expand<FrameLib_Peaks>::makeClass("fl.peaks~");
FrameLib_MaxClass_Expand<FrameLib_Percentile>::makeClass("fl.percentile~");
FrameLib_MaxClass_Expand<FrameLib_Reverse>::makeClass("fl.reverse~");
FrameLib_MaxClass_Expand<FrameLib_Shift>::makeClass("fl.shift~");
FrameLib_MaxClass_Expand<FrameLib_Sort>::makeClass("fl.sort~");
FrameLib_MaxClass_Expand<FrameLib_Split>::makeClass("fl.split~");
FrameLib_MaxClass_Expand<FrameLib_Subframe>::makeClass("fl.subframe~");
FrameLib_MaxClass_Expand<FrameLib_Length>::makeClass("fl.length~");
FrameLib_MaxClass_Expand<FrameLib_VectorMin>::makeClass("fl.vmin~");
FrameLib_MaxClass_Expand<FrameLib_VectorMax>::makeClass("fl.vmax~");
FrameLib_MaxClass_Expand<FrameLib_Sum>::makeClass("fl.sum~");
FrameLib_MaxClass_Expand<FrameLib_Product>::makeClass("fl.product~");
FrameLib_MaxClass_Expand<FrameLib_Mean>::makeClass("fl.mean~");
FrameLib_MaxClass_Expand<FrameLib_GeometricMean>::makeClass("fl.geometricmean~");
FrameLib_MaxClass_Expand<FrameLib_StandardDeviation>::makeClass("fl.standarddeviation~");
FrameLib_MaxClass_Expand<FrameLib_Centroid>::makeClass("fl.centroid~");
FrameLib_MaxClass_Expand<FrameLib_Spread>::makeClass("fl.spread~");
FrameLib_MaxClass_Expand<FrameLib_Skewness>::makeClass("fl.skewness~");
FrameLib_MaxClass_Expand<FrameLib_Kurtosis>::makeClass("fl.kurtosis~");
FrameLib_MaxClass_Expand<FrameLib_Flatness>::makeClass("fl.flatness~");
FrameLib_MaxClass_Expand<FrameLib_RMS>::makeClass("fl.rms~");
FrameLib_MaxClass_Expand<FrameLib_Crest>::makeClass("fl.crest~");
FrameLib_MaxClass_Expand<FrameLib_VectorArgMin>::makeClass("fl.argmin~");
FrameLib_MaxClass_Expand<FrameLib_VectorArgMax>::makeClass("fl.argmax~");
FrameLib_MaxClass_Expand<FrameLib_NanFilter>::makeClass("fl.nanfilter~");
// Unary Operators
FrameLib_MaxClass_Expand<FrameLib_LogicalNot>::makeClass("fl.not~");
FrameLib_MaxClass_Expand<FrameLib_Acos>::makeClass("fl.acos~");
FrameLib_MaxClass_Expand<FrameLib_Asin>::makeClass("fl.asin~");
FrameLib_MaxClass_Expand<FrameLib_Atan>::makeClass("fl.atan~");
FrameLib_MaxClass_Expand<FrameLib_Cos>::makeClass("fl.cos~");
FrameLib_MaxClass_Expand<FrameLib_Sin>::makeClass("fl.sin~");
FrameLib_MaxClass_Expand<FrameLib_Tan>::makeClass("fl.tan~");
FrameLib_MaxClass_Expand<FrameLib_Acosh>::makeClass("fl.acosh~");
FrameLib_MaxClass_Expand<FrameLib_Asinh>::makeClass("fl.asinh~");
FrameLib_MaxClass_Expand<FrameLib_Atanh>::makeClass("fl.atanh~");
FrameLib_MaxClass_Expand<FrameLib_Cosh>::makeClass("fl.cosh~");
FrameLib_MaxClass_Expand<FrameLib_Sinh>::makeClass("fl.sinh~");
FrameLib_MaxClass_Expand<FrameLib_Tanh>::makeClass("fl.tanh~");
FrameLib_MaxClass_Expand<FrameLib_Log>::makeClass("fl.log~");
FrameLib_MaxClass_Expand<FrameLib_Log2>::makeClass("fl.log2~");
FrameLib_MaxClass_Expand<FrameLib_Log10>::makeClass("fl.log10~");
FrameLib_MaxClass_Expand<FrameLib_Exp>::makeClass("fl.exp~");
FrameLib_MaxClass_Expand<FrameLib_Exp2>::makeClass("fl.exp2~");
FrameLib_MaxClass_Expand<FrameLib_Abs>::makeClass("fl.abs~");
FrameLib_MaxClass_Expand<FrameLib_Ceil>::makeClass("fl.ceil~");
FrameLib_MaxClass_Expand<FrameLib_Floor>::makeClass("fl.floor~");
FrameLib_MaxClass_Expand<FrameLib_Round>::makeClass("fl.round~");
FrameLib_MaxClass_Expand<FrameLib_Trunc>::makeClass("fl.trunc~");
FrameLib_MaxClass_Expand<FrameLib_Sqrt>::makeClass("fl.sqrt~");
FrameLib_MaxClass_Expand<FrameLib_Cbrt>::makeClass("fl.cbrt~");
FrameLib_MaxClass_Expand<FrameLib_Erf>::makeClass("fl.erf~");
FrameLib_MaxClass_Expand<FrameLib_Erfc>::makeClass("fl.erfc~");
// Binary Operators
FrameLib_MaxClass_Expand<FrameLib_Plus, kAllInputs>::makeClass("fl.plus~");
FrameLib_MaxClass_Expand<FrameLib_Minus, kAllInputs>::makeClass("fl.minus~");
FrameLib_MaxClass_Expand<FrameLib_Multiply, kAllInputs>::makeClass("fl.times~");
FrameLib_MaxClass_Expand<FrameLib_Divide, kAllInputs>::makeClass("fl.divide~");
FrameLib_MaxClass_Expand<FrameLib_Equal, kAllInputs>::makeClass("fl.equals~");
FrameLib_MaxClass_Expand<FrameLib_NotEqual, kAllInputs>::makeClass("fl.notequals~");
FrameLib_MaxClass_Expand<FrameLib_GreaterThan, kAllInputs>::makeClass("fl.greaterthan~");
FrameLib_MaxClass_Expand<FrameLib_LessThan, kAllInputs>::makeClass("fl.lessthan~");
FrameLib_MaxClass_Expand<FrameLib_GreaterThanEqual, kAllInputs>::makeClass("fl.fl.greaterthaneq~");
FrameLib_MaxClass_Expand<FrameLib_LessThanEqual, kAllInputs>::makeClass("fl.lessthaneq~");
FrameLib_MaxClass_Expand<FrameLib_LogicalAnd, kAllInputs>::makeClass("fl.and~");
FrameLib_MaxClass_Expand<FrameLib_LogicalOr, kAllInputs>::makeClass("fl.or~");
FrameLib_MaxClass_Expand<FrameLib_Pow, kAllInputs>::makeClass("fl.pow~");
FrameLib_MaxClass_Expand<FrameLib_Atan2, kAllInputs>::makeClass("fl.atan2~");
FrameLib_MaxClass_Expand<FrameLib_Hypot, kAllInputs>::makeClass("fl.hypot~");
FrameLib_MaxClass_Expand<FrameLib_CopySign, kAllInputs>::makeClass("fl.copysign~");
FrameLib_MaxClass_Expand<FrameLib_Min, kAllInputs>::makeClass("fl.min~");
FrameLib_MaxClass_Expand<FrameLib_Max, kAllInputs>::makeClass("fl.max~");
FrameLib_MaxClass_Expand<FrameLib_Diff, kAllInputs>::makeClass("fl.diff~");
FrameLib_MaxClass_Expand<FrameLib_Modulo, kAllInputs>::makeClass("fl.modulo~");
// Ternary Operators
FrameLib_MaxClass_Expand<FrameLib_Clip, kDistribute>::makeClass("fl.clip~");
FrameLib_MaxClass_Expand<FrameLib_Fold, kDistribute>::makeClass("fl.fold~");
FrameLib_MaxClass_Expand<FrameLib_Wrap, kDistribute>::makeClass("fl.wrap~");
// Complex Unary Operators
FrameLib_MaxClass_Expand<FrameLib_Complex_Cos>::makeClass("fl.complexcos~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Sin>::makeClass("fl.complexsin~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Tan>::makeClass("fl.complextan~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Cosh>::makeClass("fl.complexcosh~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Sinh>::makeClass("fl.complexsinh~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Tanh>::makeClass("fl.complextanh~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Log>::makeClass("fl.complexlog~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Log10>::makeClass("fl.complexlog10~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Exp>::makeClass("fl.complexexp~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Sqrt>::makeClass("fl.complexsqrt~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Conj>::makeClass("fl.complexconj~");
FrameLib_MaxClass_Expand<FrameLib_Cartopol>::makeClass("fl.cartopol~");
FrameLib_MaxClass_Expand<FrameLib_Poltocar>::makeClass("fl.poltocar~");
// Complex Binary Operators
FrameLib_MaxClass_Expand<FrameLib_Complex_Plus, kAllInputs>::makeClass("fl.complexplus~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Minus, kAllInputs>::makeClass("fl.complexminus~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Multiply, kAllInputs>::makeClass("fl.complexmultiply~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Divide, kAllInputs>::makeClass("fl.complexdivide~");
FrameLib_MaxClass_Expand<FrameLib_Complex_Pow, kAllInputs>::makeClass("fl.complexpow~");
// Buffer
FrameLib_MaxClass_Info::makeClass<FrameLib_MaxClass_Info>("fl.info~");
FrameLib_MaxClass_Read::makeClass<FrameLib_MaxClass_Read>("fl.read~");
// Expressions
FrameLib_MaxClass_Expression::makeClass("fl.expr~");
FrameLib_MaxClass_ComplexExpression::makeClass("fl.complexexpr~");
// Host Communication
FrameLib_MaxClass_ToMax::makeClass("fl.tomax~");
FrameLib_MaxClass_FromMax::makeClass("fl.frommax~");
}
@@ -4,12 +4,12 @@
// This object parses it's arguments differently to normal, which is handled by pre-parsing the atoms into a different format
class ArgumentParser
class ComplexArgumentParser
{
public:
ArgumentParser(t_symbol *s, long argc, t_atom *argv) : mSymbol(s)
ComplexArgumentParser(t_symbol *s, long argc, t_atom *argv) : mSymbol(s)
{
concatenate(argc, argv);
@@ -93,7 +93,7 @@ private:
struct FrameLib_MaxClass_ComplexExpression_Parsed : public FrameLib_MaxClass_Expand<FrameLib_ComplexExpression>
{
FrameLib_MaxClass_ComplexExpression_Parsed(const ArgumentParser &parsed) :
FrameLib_MaxClass_ComplexExpression_Parsed(const ComplexArgumentParser &parsed) :
FrameLib_MaxClass(parsed.symbol(), parsed.count(), parsed.args(), new FrameLib_MaxProxy()) {}
};
@@ -104,10 +104,14 @@ struct FrameLib_MaxClass_ComplexExpression : public FrameLib_MaxClass_ComplexExp
// Constructor
FrameLib_MaxClass_ComplexExpression(t_symbol *s, long argc, t_atom *argv) :
FrameLib_MaxClass_ComplexExpression_Parsed(ArgumentParser(s, argc, argv)) {}
FrameLib_MaxClass_ComplexExpression_Parsed(ComplexArgumentParser(s, argc, argv)) {}
};
#ifndef FRAMELIB_MAX_SINGLE_OBJECT
extern "C" int C74_EXPORT main(void)
{
FrameLib_MaxClass_ComplexExpression::makeClass<FrameLib_MaxClass_ComplexExpression>("fl.complexexpr~");
}
#endif
@@ -107,7 +107,11 @@ struct FrameLib_MaxClass_Expression : public FrameLib_MaxClass_Expression_Parsed
FrameLib_MaxClass_Expression_Parsed(ArgumentParser(s, argc, argv)) {}
};
#ifndef FRAMELIB_MAX_SINGLE_OBJECT
extern "C" int C74_EXPORT main(void)
{
FrameLib_MaxClass_Expression::makeClass<FrameLib_MaxClass_Expression>("fl.expr~");
}
#endif
@@ -97,7 +97,11 @@ void FrameLib_MaxClass_FromMax::anything(t_symbol *s, long argc, t_atom *argv)
// Main
#ifndef FRAMELIB_MAX_SINGLE_OBJECT
extern "C" int C74_EXPORT main(void)
{
FrameLib_MaxClass_FromMax::makeClass<FrameLib_MaxClass_FromMax>("fl.frommax~");
}
#endif
@@ -171,7 +171,11 @@ void FrameLib_MaxClass_Expand<FrameLib_ToHost>::assist(void *b, long m, long a,
// Main
#ifndef FRAMELIB_MAX_SINGLE_OBJECT
extern "C" int C74_EXPORT main(void)
{
FrameLib_MaxClass_ToMax::makeClass<FrameLib_MaxClass_ToMax>("fl.tomax~");
}
#endif
+192 -29
View File
@@ -18,6 +18,11 @@
5AB54BE92052EB6100325C14 /* fl.fold~.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5AB54BE82052EB6100325C14 /* fl.fold~.cpp */; };
B80059BE1DAF96340073A866 /* FrameLib_RandGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B80059BD1DAF96340073A866 /* FrameLib_RandGen.cpp */; };
B80059BF1DAF96340073A866 /* FrameLib_RandGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B80059BD1DAF96340073A866 /* FrameLib_RandGen.cpp */; };
B802047C231BDCB80062447A /* HISSTools_FFT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B85435731F65BF03001BA1AA /* HISSTools_FFT.cpp */; };
B802047E231BDCB80062447A /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B88F558E207AB15C007774AD /* Accelerate.framework */; };
B8020480231BDCB80062447A /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B87E879819C8F61A00B1D0CD /* MaxAudioAPI.framework */; };
B8020488231BDD0F0062447A /* framelib_max.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B8020487231BDD0A0062447A /* framelib_max.cpp */; };
B802048B231BDD650062447A /* libframelib_objects.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B8BA6FD22078D49200D3DB3D /* libframelib_objects.a */; };
B805E34019C3AF73007D8D8B /* fl.plus~.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B805E33D19C3AF69007D8D8B /* fl.plus~.cpp */; };
B805E34119C3AF77007D8D8B /* fl.minus~.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B805E33B19C3AF69007D8D8B /* fl.minus~.cpp */; };
B805E34219C3AF7A007D8D8B /* fl.times~.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B805E33F19C3AF69007D8D8B /* fl.times~.cpp */; };
@@ -86,6 +91,7 @@
B822F4341FAE162D003DC4CB /* fl.filtertags~.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B822F4331FAE162D003DC4CB /* fl.filtertags~.cpp */; };
B822F4361FAE1685003DC4CB /* FrameLib_FilterTags.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B822F4351FAE1685003DC4CB /* FrameLib_FilterTags.cpp */; };
B823C12E20CFFE9300476F03 /* FrameLib_Errors.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B823C12D20CFFE9200476F03 /* FrameLib_Errors.cpp */; };
B8246733231BE8B200AEC4AA /* ibuffer_access.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B8AD883619C7C2B500FFA238 /* ibuffer_access.cpp */; };
B826E4A61F3148AB00B920C8 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B87E879819C8F61A00B1D0CD /* MaxAudioAPI.framework */; };
B826E4B01F31490100B920C8 /* FrameLib_Once.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B826E4AE1F31490100B920C8 /* FrameLib_Once.cpp */; };
B826E4B51F314AA800B920C8 /* fl.once~.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B826E4B41F314AA800B920C8 /* fl.once~.cpp */; };
@@ -742,6 +748,13 @@
remoteGlobalIDString = B89ABA8F1FA73483006DAD53;
remoteInfo = framelib;
};
B8020489231BDD490062447A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
proxyType = 1;
remoteGlobalIDString = B8BA6FD12078D49200D3DB3D;
remoteInfo = framelib_objects;
};
B8213A1C1FA758F50013E31F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 089C1669FE841209C02AAC07 /* Project object */;
@@ -1934,6 +1947,8 @@
5AB54BE62052EB4400325C14 /* fl.clip~.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "fl.clip~.cpp"; sourceTree = "<group>"; };
5AB54BE82052EB6100325C14 /* fl.fold~.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = "fl.fold~.cpp"; sourceTree = "<group>"; };
B80059BD1DAF96340073A866 /* FrameLib_RandGen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrameLib_RandGen.cpp; sourceTree = "<group>"; };
B8020485231BDCB80062447A /* maxframelib.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = maxframelib.mxo; sourceTree = BUILT_PRODUCTS_DIR; };
B8020487231BDD0A0062447A /* framelib_max.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = framelib_max.cpp; sourceTree = "<group>"; };
B805E23419C3AD0A007D8D8B /* fl.minus~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "fl.minus~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; };
B805E24519C3AD0C007D8D8B /* fl.times~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "fl.times~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; };
B805E25619C3AD11007D8D8B /* fl.divide~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "fl.divide~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -2544,6 +2559,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B802047D231BDCB80062447A /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B802048B231BDD650062447A /* libframelib_objects.a in Frameworks */,
B802047E231BDCB80062447A /* Accelerate.framework in Frameworks */,
B8020480231BDCB80062447A /* MaxAudioAPI.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
B805E22B19C3AD0A007D8D8B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -4259,6 +4284,7 @@
B83F045C223A762800AF1F8E /* fl.info~.mxo */,
B8A20FFC22FCD7E300DF86D8 /* fl.firphase~.mxo */,
B85536EE22FEB88100D10495 /* fl.kernelsmooth~.mxo */,
B8020485231BDCB80062447A /* maxframelib.mxo */,
);
name = Products;
sourceTree = "<group>";
@@ -4779,6 +4805,7 @@
children = (
B878DB731D819C15001A5151 /* MaxClass_Base.h */,
B8DE14DC0EB46B030050BDFE /* FrameLib_MaxClass.h */,
B8020487231BDD0A0062447A /* framelib_max.cpp */,
);
path = Common;
sourceTree = "<group>";
@@ -5179,6 +5206,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B8020475231BDCB80062447A /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
B805E22619C3AD0A007D8D8B /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@@ -6414,6 +6448,26 @@
productReference = B81F571D0D2422E0000D5E50 /* fl.unpack~.mxo */;
productType = "com.apple.product-type.bundle";
};
B8020472231BDCB80062447A /* maxframelib */ = {
isa = PBXNativeTarget;
buildConfigurationList = B8020481231BDCB80062447A /* Build configuration list for PBXNativeTarget "maxframelib" */;
buildPhases = (
B8020475231BDCB80062447A /* Headers */,
B8020478231BDCB80062447A /* Resources */,
B8020479231BDCB80062447A /* Sources */,
B802047D231BDCB80062447A /* Frameworks */,
);
buildRules = (
);
dependencies = (
B802048A231BDD490062447A /* PBXTargetDependency */,
);
name = maxframelib;
productInstallPath = "$(HOME)/Library/Bundles";
productName = MSPExternal;
productReference = B8020485231BDCB80062447A /* maxframelib.mxo */;
productType = "com.apple.product-type.bundle";
};
B805E22519C3AD0A007D8D8B /* fl.minus~ */ = {
isa = PBXNativeTarget;
buildConfigurationList = B805E23019C3AD0A007D8D8B /* Build configuration list for PBXNativeTarget "fl.minus~" */;
@@ -9764,6 +9818,7 @@
B89ABA8F1FA73483006DAD53 /* framelib */,
B8BA6FD12078D49200D3DB3D /* framelib_objects */,
B88C0A3021733BF9007A65C0 /* FrameLib */,
B8020472231BDCB80062447A /* maxframelib */,
B83E029B206674D4005925DD /* framelib_pd */,
B8CA31DE199A20BE005F30A1 /* fl.pack~ */,
8D01CCC60486CAD60068D4B7 /* fl.unpack~ */,
@@ -9962,6 +10017,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B8020478231BDCB80062447A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
B805E22719C3AD0A007D8D8B /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -11142,6 +11204,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B8020479231BDCB80062447A /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B8020488231BDD0F0062447A /* framelib_max.cpp in Sources */,
B8246733231BE8B200AEC4AA /* ibuffer_access.cpp in Sources */,
B802047C231BDCB80062447A /* HISSTools_FFT.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
B805E22819C3AD0A007D8D8B /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -12677,6 +12749,11 @@
target = B89ABA8F1FA73483006DAD53 /* framelib */;
targetProxy = 5AB54BD52052EAE900325C14 /* PBXContainerItemProxy */;
};
B802048A231BDD490062447A /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = B8BA6FD12078D49200D3DB3D /* framelib_objects */;
targetProxy = B8020489231BDD490062447A /* PBXContainerItemProxy */;
};
B8213A1B1FA758F50013E31F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = B89ABA8F1FA73483006DAD53 /* framelib */;
@@ -13584,6 +13661,7 @@
GCC_ALTIVEC_EXTENSIONS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = "\"DEBUG = 1\"";
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
@@ -13620,11 +13698,7 @@
GCC_ALTIVEC_EXTENSIONS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
"\"DENORM_WANT_FIX = 1\"",
"\"NO_TRANSLATION_SUPPORT = 1\"",
NDEBUG,
);
GCC_PREPROCESSOR_DEFINITIONS = NDEBUG;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
@@ -13919,6 +13993,109 @@
};
name = "Public Testing";
};
B8020482231BDCB80062447A /* Development */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B81CE02C207FC02000EAC64C /* Config_FrameLib_Max.xcconfig */;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DEBUGGING_SYMBOLS = YES;
DSTROOT = "$(SRCROOT)/Current Test Version/FrameLib/init/";
GCC_ALTIVEC_EXTENSIONS = YES;
GCC_AUTO_VECTORIZATION = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_ENABLE_SSE3_EXTENSIONS = YES;
GCC_ENABLE_TRIGRAPHS = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_PPC64 = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
FRAMELIB_MAX_SINGLE_OBJECT,
"$(inherited)",
);
GCC_UNROLL_LOOPS = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_UNKNOWN_PRAGMAS = NO;
OTHER_REZFLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
ZERO_LINK = YES;
};
name = Development;
};
B8020483231BDCB80062447A /* Deployment */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B81CE02C207FC02000EAC64C /* Config_FrameLib_Max.xcconfig */;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DSTROOT = "$(SRCROOT)/Current Test Version/FrameLib/init/";
GCC_ALTIVEC_EXTENSIONS = YES;
GCC_AUTO_VECTORIZATION = YES;
GCC_DEBUGGING_SYMBOLS = default;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_ENABLE_SSE3_EXTENSIONS = YES;
GCC_ENABLE_TRIGRAPHS = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_PPC64 = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
FRAMELIB_MAX_SINGLE_OBJECT,
"$(inherited)",
);
GCC_UNROLL_LOOPS = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_UNKNOWN_PRAGMAS = NO;
OTHER_REZFLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
ZERO_LINK = NO;
};
name = Deployment;
};
B8020484231BDCB80062447A /* Public Testing */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B81CE02C207FC02000EAC64C /* Config_FrameLib_Max.xcconfig */;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DSTROOT = "$(SRCROOT)/Current Test Version/FrameLib/init/";
GCC_ALTIVEC_EXTENSIONS = YES;
GCC_AUTO_VECTORIZATION = YES;
GCC_DEBUGGING_SYMBOLS = default;
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_ENABLE_SSE3_EXTENSIONS = YES;
GCC_ENABLE_TRIGRAPHS = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_MODEL_PPC64 = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
FRAMELIB_MAX_SINGLE_OBJECT,
"$(inherited)",
);
GCC_UNROLL_LOOPS = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
GCC_WARN_UNKNOWN_PRAGMAS = NO;
OTHER_REZFLAGS = "";
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
ZERO_LINK = NO;
};
name = "Public Testing";
};
B805E23119C3AD0A007D8D8B /* Development */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B81CE02C207FC02000EAC64C /* Config_FrameLib_Max.xcconfig */;
@@ -17833,10 +18010,6 @@
GCC_ALTIVEC_EXTENSIONS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
"\"DENORM_WANT_FIX = 1\"",
"\"NO_TRANSLATION_SUPPORT = 1\"",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
@@ -22879,10 +23052,6 @@
ENABLE_TESTABILITY = YES;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
@@ -23373,10 +23542,6 @@
EXECUTABLE_PREFIX = lib;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
@@ -23579,10 +23744,6 @@
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
@@ -23745,10 +23906,6 @@
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
@@ -26159,10 +26316,6 @@
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
@@ -28884,6 +29037,16 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Development;
};
B8020481231BDCB80062447A /* Build configuration list for PBXNativeTarget "maxframelib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B8020482231BDCB80062447A /* Development */,
B8020483231BDCB80062447A /* Deployment */,
B8020484231BDCB80062447A /* Public Testing */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Development;
};
B805E23019C3AD0A007D8D8B /* Build configuration list for PBXNativeTarget "fl.minus~" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0920"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B8020472231BDCB80062447A"
BuildableName = "maxframelib.mxo"
BlueprintName = "maxframelib"
ReferencedContainer = "container:framelib~.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Development"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Development"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B8020472231BDCB80062447A"
BuildableName = "maxframelib.mxo"
BlueprintName = "maxframelib"
ReferencedContainer = "container:framelib~.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Deployment"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "B8020472231BDCB80062447A"
BuildableName = "maxframelib.mxo"
BlueprintName = "maxframelib"
ReferencedContainer = "container:framelib~.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Development">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Deployment"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>