From f046967835c45310fd75ce2b7992cf18634ccf3f Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 11:41:17 +0200 Subject: [PATCH 01/12] create standard max package layout --- .gitignore | 0 {src => extras}/lpcToolkitDemo.maxpat | 0 .../mbc.allpole~.maxhelp | 0 {src/mbc.blit~ => help}/mbc.blit~.maxhelp | 0 .../mbc.coeffDisp~.maxhelp | 0 .../mbc.errfilt~.maxhelp | 0 {src/mbc.lpc~ => help}/mbc.lpc~.maxhelp | 0 {src/mbc.pitch~ => help}/mbc.pitch~.maxhelp | 0 misc/README | 8 --- misc/bundlePackage | 12 ----- .../mbc.allpole~.mxo/Contents/Info.plist | 26 ---------- .../Contents/MacOS/mbc.allpole~ | Bin 18856 -> 0 bytes sdk-build/mbc.allpole~.mxo/Contents/PkgInfo | 1 - sdk-build/mbc.blit~.mxo/Contents/Info.plist | 26 ---------- .../mbc.blit~.mxo/Contents/MacOS/mbc.blit~ | Bin 18680 -> 0 bytes sdk-build/mbc.blit~.mxo/Contents/PkgInfo | 1 - .../mbc.coeffDisp~.mxo/Contents/Info.plist | 26 ---------- .../Contents/MacOS/mbc.coeffDisp~ | Bin 18284 -> 0 bytes sdk-build/mbc.coeffDisp~.mxo/Contents/PkgInfo | 1 - .../mbc.errfilt~.mxo/Contents/Info.plist | 26 ---------- .../Contents/MacOS/mbc.errfilt~ | Bin 14148 -> 0 bytes sdk-build/mbc.errfilt~.mxo/Contents/PkgInfo | 1 - sdk-build/mbc.lpc~.mxo/Contents/Info.plist | 26 ---------- .../mbc.lpc~.mxo/Contents/MacOS/mbc.lpc~ | Bin 22708 -> 0 bytes sdk-build/mbc.lpc~.mxo/Contents/PkgInfo | 1 - sdk-build/mbc.pitch~.mxo/Contents/Info.plist | 26 ---------- .../mbc.pitch~.mxo/Contents/MacOS/mbc.pitch~ | Bin 18424 -> 0 bytes sdk-build/mbc.pitch~.mxo/Contents/PkgInfo | 1 - .../mbc.allpole_tilde}/mbc.allpole~.c | 0 .../mbc.allpole~.xcodeproj/project.pbxproj | 0 .../projects/mbc.blit_tilde}/mbc.blit~.c | 0 .../mbc.blit~.xcodeproj/project.pbxproj | 0 .../mbc.coeffDisp_tilde}/mbc.coeffDisp~.c | 0 .../mbc.coeffDisp~.xcodeproj/project.pbxproj | 0 .../projects/mbc.errfilt_tilde}/errfilt~.c | 0 .../mbc.errfilt~.xcodeproj/project.pbxproj | 0 .../projects/mbc.lpc_tilde}/mbc.lpc~.c | 0 .../mbc.lpc~.xcodeproj/project.pbxproj | 0 .../projects/mbc.pitch_tilde}/mbc.pitch~.c | 0 .../mbc.pitch~.xcodeproj/project.pbxproj | 0 src/Info.plist | 28 ----------- src/maxmspsdk.xcconfig | 46 ------------------ 42 files changed, 256 deletions(-) create mode 100644 .gitignore rename {src => extras}/lpcToolkitDemo.maxpat (100%) rename {src/mbc.allpole~ => help}/mbc.allpole~.maxhelp (100%) rename {src/mbc.blit~ => help}/mbc.blit~.maxhelp (100%) rename {src/mbc.coeffDisp~ => help}/mbc.coeffDisp~.maxhelp (100%) rename {src/mbc.errfilt~ => help}/mbc.errfilt~.maxhelp (100%) rename {src/mbc.lpc~ => help}/mbc.lpc~.maxhelp (100%) rename {src/mbc.pitch~ => help}/mbc.pitch~.maxhelp (100%) delete mode 100644 misc/README delete mode 100755 misc/bundlePackage delete mode 100644 sdk-build/mbc.allpole~.mxo/Contents/Info.plist delete mode 100755 sdk-build/mbc.allpole~.mxo/Contents/MacOS/mbc.allpole~ delete mode 100644 sdk-build/mbc.allpole~.mxo/Contents/PkgInfo delete mode 100644 sdk-build/mbc.blit~.mxo/Contents/Info.plist delete mode 100755 sdk-build/mbc.blit~.mxo/Contents/MacOS/mbc.blit~ delete mode 100644 sdk-build/mbc.blit~.mxo/Contents/PkgInfo delete mode 100644 sdk-build/mbc.coeffDisp~.mxo/Contents/Info.plist delete mode 100755 sdk-build/mbc.coeffDisp~.mxo/Contents/MacOS/mbc.coeffDisp~ delete mode 100644 sdk-build/mbc.coeffDisp~.mxo/Contents/PkgInfo delete mode 100644 sdk-build/mbc.errfilt~.mxo/Contents/Info.plist delete mode 100755 sdk-build/mbc.errfilt~.mxo/Contents/MacOS/mbc.errfilt~ delete mode 100644 sdk-build/mbc.errfilt~.mxo/Contents/PkgInfo delete mode 100644 sdk-build/mbc.lpc~.mxo/Contents/Info.plist delete mode 100755 sdk-build/mbc.lpc~.mxo/Contents/MacOS/mbc.lpc~ delete mode 100644 sdk-build/mbc.lpc~.mxo/Contents/PkgInfo delete mode 100644 sdk-build/mbc.pitch~.mxo/Contents/Info.plist delete mode 100755 sdk-build/mbc.pitch~.mxo/Contents/MacOS/mbc.pitch~ delete mode 100644 sdk-build/mbc.pitch~.mxo/Contents/PkgInfo rename {src/mbc.allpole~ => source/projects/mbc.allpole_tilde}/mbc.allpole~.c (100%) rename {src/mbc.allpole~ => source/projects/mbc.allpole_tilde}/mbc.allpole~.xcodeproj/project.pbxproj (100%) rename {src/mbc.blit~ => source/projects/mbc.blit_tilde}/mbc.blit~.c (100%) rename {src/mbc.blit~ => source/projects/mbc.blit_tilde}/mbc.blit~.xcodeproj/project.pbxproj (100%) rename {src/mbc.coeffDisp~ => source/projects/mbc.coeffDisp_tilde}/mbc.coeffDisp~.c (100%) rename {src/mbc.coeffDisp~ => source/projects/mbc.coeffDisp_tilde}/mbc.coeffDisp~.xcodeproj/project.pbxproj (100%) rename {src/mbc.errfilt~ => source/projects/mbc.errfilt_tilde}/errfilt~.c (100%) rename {src/mbc.errfilt~ => source/projects/mbc.errfilt_tilde}/mbc.errfilt~.xcodeproj/project.pbxproj (100%) rename {src/mbc.lpc~ => source/projects/mbc.lpc_tilde}/mbc.lpc~.c (100%) rename {src/mbc.lpc~ => source/projects/mbc.lpc_tilde}/mbc.lpc~.xcodeproj/project.pbxproj (100%) rename {src/mbc.pitch~ => source/projects/mbc.pitch_tilde}/mbc.pitch~.c (100%) rename {src/mbc.pitch~ => source/projects/mbc.pitch_tilde}/mbc.pitch~.xcodeproj/project.pbxproj (100%) delete mode 100644 src/Info.plist delete mode 100644 src/maxmspsdk.xcconfig diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/src/lpcToolkitDemo.maxpat b/extras/lpcToolkitDemo.maxpat similarity index 100% rename from src/lpcToolkitDemo.maxpat rename to extras/lpcToolkitDemo.maxpat diff --git a/src/mbc.allpole~/mbc.allpole~.maxhelp b/help/mbc.allpole~.maxhelp similarity index 100% rename from src/mbc.allpole~/mbc.allpole~.maxhelp rename to help/mbc.allpole~.maxhelp diff --git a/src/mbc.blit~/mbc.blit~.maxhelp b/help/mbc.blit~.maxhelp similarity index 100% rename from src/mbc.blit~/mbc.blit~.maxhelp rename to help/mbc.blit~.maxhelp diff --git a/src/mbc.coeffDisp~/mbc.coeffDisp~.maxhelp b/help/mbc.coeffDisp~.maxhelp similarity index 100% rename from src/mbc.coeffDisp~/mbc.coeffDisp~.maxhelp rename to help/mbc.coeffDisp~.maxhelp diff --git a/src/mbc.errfilt~/mbc.errfilt~.maxhelp b/help/mbc.errfilt~.maxhelp similarity index 100% rename from src/mbc.errfilt~/mbc.errfilt~.maxhelp rename to help/mbc.errfilt~.maxhelp diff --git a/src/mbc.lpc~/mbc.lpc~.maxhelp b/help/mbc.lpc~.maxhelp similarity index 100% rename from src/mbc.lpc~/mbc.lpc~.maxhelp rename to help/mbc.lpc~.maxhelp diff --git a/src/mbc.pitch~/mbc.pitch~.maxhelp b/help/mbc.pitch~.maxhelp similarity index 100% rename from src/mbc.pitch~/mbc.pitch~.maxhelp rename to help/mbc.pitch~.maxhelp diff --git a/misc/README b/misc/README deleted file mode 100644 index 4bb3578..0000000 --- a/misc/README +++ /dev/null @@ -1,8 +0,0 @@ -This a collection of Max/MSP objects for performing linear prediction coding. - -Please copy the contents of the lpctoolkit-help folder into the msp-help folder in your Cycling74 directory, and the lpctoolkit-externals files into the msp-externals folder in your Cycling74 directory. - -For more information please visit http://markcartwright.com/projects/lpc-toolkit - -Mark Cartwright -mcartwright@gmail.com diff --git a/misc/bundlePackage b/misc/bundlePackage deleted file mode 100755 index 332f29b..0000000 --- a/misc/bundlePackage +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -rm -rf lpcoolkit - -mkdir -p lpctoolkit/lpctoolkit-externals -mkdir -p lpctoolkit/lpctoolkit-help - -find ../sdk-build/* -name '*.mxo' -exec cp -r {} ./lpctoolkit/lpctoolkit-externals/. \; -find ../src/* -name '*.maxhelp' -exec cp -r {} ./lpctoolkit/lpctoolkit-help/. \; -cp -r ../src/lpcToolkitDemo.maxpat ./lpctoolkit/lpctoolkit-help/. -cp README ./lpctoolkit/. - diff --git a/sdk-build/mbc.allpole~.mxo/Contents/Info.plist b/sdk-build/mbc.allpole~.mxo/Contents/Info.plist deleted file mode 100644 index 1f88d18..0000000 --- a/sdk-build/mbc.allpole~.mxo/Contents/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.allpole~ - CFBundleIdentifier - com.mcartwright.mbc.allpole~ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleLongVersionString - mbc.allpole~ 5.1.1, Copyright 2010 Mark Cartwright - CFBundlePackageType - iLaX - CFBundleShortVersionString - 5.1.1 - CFBundleSignature - max2 - CFBundleVersion - 5.1.1 - CSResourcesFileMapped - - - diff --git a/sdk-build/mbc.allpole~.mxo/Contents/MacOS/mbc.allpole~ b/sdk-build/mbc.allpole~.mxo/Contents/MacOS/mbc.allpole~ deleted file mode 100755 index aab695dd1e044b84df4d7c1c4f8c2bcfb8f267e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18856 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 diff --git a/sdk-build/mbc.allpole~.mxo/Contents/PkgInfo b/sdk-build/mbc.allpole~.mxo/Contents/PkgInfo deleted file mode 100644 index 0febb6e..0000000 --- a/sdk-build/mbc.allpole~.mxo/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -iLaXmax2 \ No newline at end of file diff --git a/sdk-build/mbc.blit~.mxo/Contents/Info.plist b/sdk-build/mbc.blit~.mxo/Contents/Info.plist deleted file mode 100644 index e409e73..0000000 --- a/sdk-build/mbc.blit~.mxo/Contents/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.blit~ - CFBundleIdentifier - com.mcartwright.mbc.blit~ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleLongVersionString - mbc.blit~ 5.1.1, Copyright 2010 Mark Cartwright - CFBundlePackageType - iLaX - CFBundleShortVersionString - 5.1.1 - CFBundleSignature - max2 - CFBundleVersion - 5.1.1 - CSResourcesFileMapped - - - diff --git a/sdk-build/mbc.blit~.mxo/Contents/MacOS/mbc.blit~ b/sdk-build/mbc.blit~.mxo/Contents/MacOS/mbc.blit~ deleted file mode 100755 index a885a61ed35dd5743fac112220b5e2150fbc0eed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18680 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 QUxlx^isppnGlj7~0jy5lBme*a diff --git a/sdk-build/mbc.blit~.mxo/Contents/PkgInfo b/sdk-build/mbc.blit~.mxo/Contents/PkgInfo deleted file mode 100644 index 0febb6e..0000000 --- a/sdk-build/mbc.blit~.mxo/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -iLaXmax2 \ No newline at end of file diff --git a/sdk-build/mbc.coeffDisp~.mxo/Contents/Info.plist b/sdk-build/mbc.coeffDisp~.mxo/Contents/Info.plist deleted file mode 100644 index f79f07a..0000000 --- a/sdk-build/mbc.coeffDisp~.mxo/Contents/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.coeffDisp~ - CFBundleIdentifier - com.mcartwright.mbc.coeffDisp~ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleLongVersionString - mbc.coeffDisp~ 5.1.1, Copyright 2010 Mark Cartwright - CFBundlePackageType - iLaX - CFBundleShortVersionString - 5.1.1 - CFBundleSignature - max2 - CFBundleVersion - 5.1.1 - CSResourcesFileMapped - - - diff --git a/sdk-build/mbc.coeffDisp~.mxo/Contents/MacOS/mbc.coeffDisp~ b/sdk-build/mbc.coeffDisp~.mxo/Contents/MacOS/mbc.coeffDisp~ deleted file mode 100755 index a0121ad6716d0fd30a9ba1b26062ead701f33062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18284 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 ZJ5#4KwKC?Lr{b2}+M3=S+302aKLH(0@SXqw diff --git a/sdk-build/mbc.coeffDisp~.mxo/Contents/PkgInfo b/sdk-build/mbc.coeffDisp~.mxo/Contents/PkgInfo deleted file mode 100644 index 0febb6e..0000000 --- a/sdk-build/mbc.coeffDisp~.mxo/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -iLaXmax2 \ No newline at end of file diff --git a/sdk-build/mbc.errfilt~.mxo/Contents/Info.plist b/sdk-build/mbc.errfilt~.mxo/Contents/Info.plist deleted file mode 100644 index 3694465..0000000 --- a/sdk-build/mbc.errfilt~.mxo/Contents/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.errfilt~ - CFBundleIdentifier - com.mcartwright.mbc.errfilt~ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleLongVersionString - mbc.errfilt~ 5.1.1, Copyright 2010 Mark Cartwright - CFBundlePackageType - iLaX - CFBundleShortVersionString - 5.1.1 - CFBundleSignature - max2 - CFBundleVersion - 5.1.1 - CSResourcesFileMapped - - - diff --git a/sdk-build/mbc.errfilt~.mxo/Contents/MacOS/mbc.errfilt~ b/sdk-build/mbc.errfilt~.mxo/Contents/MacOS/mbc.errfilt~ deleted file mode 100755 index 7e5966c3b508e599700a9d46cf3a2e7d4fea4ad2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14148 zcmeHOZEPGz86Gtp;qM53l37$SRh)d$Meq4 z`1bsPP$VRfcBI*P=AGw#=bd-n-Mh1AfA`Mc-n)e{whlFj`hL_G)-!ezZ5!$UE}Ax^ z9vni)Tf(A)mh_>*0z#x|wmxBt4w~iqBkyDEvzUz9_9l%C%*d{$r7XK>xc{?f~S}%Jq|; zw@@4dJdXW+Lw%kRilL{LY}&ty>nt=TJ3maBqD7=bG81KnQ&%T8aTxX-CrvrjfVxq6Hz! zYWjR`rKv+aq}Ec=v?HZlL9-LdtWLt^Hew26hajictB2Uqw(;Diwii{?_6+XZt@aPf z6>Nc!{72gl$H{l%%5pD27i#=#Z*B{nIr93)Pu=>k^2U*iv_6veLT@ixWjkXLZ2axS zMWwP;RFdsLy%TkGmU-TGb=F?TxSqo5R$qfV1`GeorB2Qr zY@GeUt&CM>p2xK@=gKNG&+*=H`OO2)we4JZxayoDVz}x&OD(JQN9f5!Z5Q2^Xgld+ z25nf#Lv&k|ha$mpewvs`H7J3hi9snH36@KUL?^l?tyRhpWz4Rw%eG^{-U;9u$Ok-{QKvi349> zLa%(DhOq2%XQY0T50As63abn+mcu`R6U>?2e)!j~AjXd)$niRf4p-Emb1qOpcrJ1n zBzTF#5W&kFh6(_nX%M}kQA!`#{KGFlSR4k9}i%hQm;`Q|m`@MAf@ zsxCIziK)dJyy!SJjt~h4gO%Z6MGcjAZs!8ru$}G=>r92%@efv=9S9mN>V;0a<#=K& z+;?IsM3$yERGk?y{Ir-#B0`B1>UUxB+J=NzF4 zJQM-(Y^cNnxYKzL4~aM zVnJn>k*&o-_)@6UV&TDjp_Hk`I&F6Kt84HdGj;GY86yS0q33PlTWsM_MO|rJl9fS_ z^J#tJ)mSH6h^|I$@ne60yy{#eTaaRqlr}?1(@>JG7t=KGRkfxD>FGsD8k9*oD8}D# z$9a+tkC$c47$(TjOwdmD?jl_g2 zR}4$p`p`ow<|tXVViok1k(pG;M_A-`lx}+rD%O};%BEq)PK_z{m@Wp*4EHWuNKGq= zJjSueL^fM6v-?|zr1@3a5J?@=m*Y5PLZ40COgdP;ci zxgaV@Y223BhVTF zI`@q;1%Z%g!=mjJZI@^_idGRVokO6rzf^vSj>PW*XJGO6d(Q76P7f~AI12PM4k$zf zCV2!k4M2DwE)o;}$}NmNEBJ(oL;Nyik}omwkKV@EcLkrYItTG{!6!^M$san8O?V$J5)+@Fp%8q+lArYOB_=+dvG}9l6PEmG4_{*9(>aZ| z1fQ_v|HZ?XnD}&-;~#=gSn{9r@FgZbo&Q*mLnE|bgeCuqhfnw}a1`th72?nyQo&U0 zK7ny6kKF-G?|SqITmbGPjF$560B{F5w3ZZM*rdNp6@~l?_UMGb6rWQ9(^|eGFzx$G z0@EJ-OkncACNS;A?**p3`m4Z{pVxugSR1@Riz_fKgN0qp<@b8<$2^?v9{D34Oz+M} zn{f{w@!%sKJnq5Ic<^Z#!%N1V_uv;@%>De42ZJ_42cvP+mOYC4DbyHhAL>rj$58uG zRn%RmpGHNA4d60}`We*SsC!Tqyz!75(~_lpI;(4AdV-Ew(Q7H1WtWm#60gSKB^?Z8 z3m9iGmQnKl=*HR}_)b(c1 z$Q!n|hhtYBZeBmu9CS~0E!lz78N4N=XEF>v8hNI1C$vO5ozv|xGc5&}-JQi9=Qdqf z)JJjVj1~_LDe}oo^vTKOq^(<9A7t97p0_4*)Y?ljGkHW$*&2>|nJK23B|EFz8aHiC zS~)$(Efj2+5`B#E?s)%!xMqzb1mn3ey8M+7X zdYE3sp*AtRpU1&^Aa53PiEPx^*85=75mWArOa$+qNm*+Kq_QoUBaR3zZThktXi2Q) QIoX - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.lpc~ - CFBundleIdentifier - com.mcartwright.mbc.lpc~ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleLongVersionString - mbc.lpc~ 5.1.1, Copyright 2010 Mark Cartwright - CFBundlePackageType - iLaX - CFBundleShortVersionString - 5.1.1 - CFBundleSignature - max2 - CFBundleVersion - 5.1.1 - CSResourcesFileMapped - - - diff --git a/sdk-build/mbc.lpc~.mxo/Contents/MacOS/mbc.lpc~ b/sdk-build/mbc.lpc~.mxo/Contents/MacOS/mbc.lpc~ deleted file mode 100755 index f8bc60132254e23d3ed30ecbafd0940efbbed273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22708 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 - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.pitch~ - CFBundleIdentifier - com.mcartwright.mbc.pitch~ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleLongVersionString - mbc.pitch~ 5.1.1, Copyright 2010 Mark Cartwright - CFBundlePackageType - iLaX - CFBundleShortVersionString - 5.1.1 - CFBundleSignature - max2 - CFBundleVersion - 5.1.1 - CSResourcesFileMapped - - - diff --git a/sdk-build/mbc.pitch~.mxo/Contents/MacOS/mbc.pitch~ b/sdk-build/mbc.pitch~.mxo/Contents/MacOS/mbc.pitch~ deleted file mode 100755 index 48ba7f966ce7387ad2b6e1d7151b14be6fddb9cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18424 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 diff --git a/sdk-build/mbc.pitch~.mxo/Contents/PkgInfo b/sdk-build/mbc.pitch~.mxo/Contents/PkgInfo deleted file mode 100644 index 0febb6e..0000000 --- a/sdk-build/mbc.pitch~.mxo/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -iLaXmax2 \ No newline at end of file diff --git a/src/mbc.allpole~/mbc.allpole~.c b/source/projects/mbc.allpole_tilde/mbc.allpole~.c similarity index 100% rename from src/mbc.allpole~/mbc.allpole~.c rename to source/projects/mbc.allpole_tilde/mbc.allpole~.c diff --git a/src/mbc.allpole~/mbc.allpole~.xcodeproj/project.pbxproj b/source/projects/mbc.allpole_tilde/mbc.allpole~.xcodeproj/project.pbxproj similarity index 100% rename from src/mbc.allpole~/mbc.allpole~.xcodeproj/project.pbxproj rename to source/projects/mbc.allpole_tilde/mbc.allpole~.xcodeproj/project.pbxproj diff --git a/src/mbc.blit~/mbc.blit~.c b/source/projects/mbc.blit_tilde/mbc.blit~.c similarity index 100% rename from src/mbc.blit~/mbc.blit~.c rename to source/projects/mbc.blit_tilde/mbc.blit~.c diff --git a/src/mbc.blit~/mbc.blit~.xcodeproj/project.pbxproj b/source/projects/mbc.blit_tilde/mbc.blit~.xcodeproj/project.pbxproj similarity index 100% rename from src/mbc.blit~/mbc.blit~.xcodeproj/project.pbxproj rename to source/projects/mbc.blit_tilde/mbc.blit~.xcodeproj/project.pbxproj diff --git a/src/mbc.coeffDisp~/mbc.coeffDisp~.c b/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.c similarity index 100% rename from src/mbc.coeffDisp~/mbc.coeffDisp~.c rename to source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.c diff --git a/src/mbc.coeffDisp~/mbc.coeffDisp~.xcodeproj/project.pbxproj b/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.xcodeproj/project.pbxproj similarity index 100% rename from src/mbc.coeffDisp~/mbc.coeffDisp~.xcodeproj/project.pbxproj rename to source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.xcodeproj/project.pbxproj diff --git a/src/mbc.errfilt~/errfilt~.c b/source/projects/mbc.errfilt_tilde/errfilt~.c similarity index 100% rename from src/mbc.errfilt~/errfilt~.c rename to source/projects/mbc.errfilt_tilde/errfilt~.c diff --git a/src/mbc.errfilt~/mbc.errfilt~.xcodeproj/project.pbxproj b/source/projects/mbc.errfilt_tilde/mbc.errfilt~.xcodeproj/project.pbxproj similarity index 100% rename from src/mbc.errfilt~/mbc.errfilt~.xcodeproj/project.pbxproj rename to source/projects/mbc.errfilt_tilde/mbc.errfilt~.xcodeproj/project.pbxproj diff --git a/src/mbc.lpc~/mbc.lpc~.c b/source/projects/mbc.lpc_tilde/mbc.lpc~.c similarity index 100% rename from src/mbc.lpc~/mbc.lpc~.c rename to source/projects/mbc.lpc_tilde/mbc.lpc~.c diff --git a/src/mbc.lpc~/mbc.lpc~.xcodeproj/project.pbxproj b/source/projects/mbc.lpc_tilde/mbc.lpc~.xcodeproj/project.pbxproj similarity index 100% rename from src/mbc.lpc~/mbc.lpc~.xcodeproj/project.pbxproj rename to source/projects/mbc.lpc_tilde/mbc.lpc~.xcodeproj/project.pbxproj diff --git a/src/mbc.pitch~/mbc.pitch~.c b/source/projects/mbc.pitch_tilde/mbc.pitch~.c similarity index 100% rename from src/mbc.pitch~/mbc.pitch~.c rename to source/projects/mbc.pitch_tilde/mbc.pitch~.c diff --git a/src/mbc.pitch~/mbc.pitch~.xcodeproj/project.pbxproj b/source/projects/mbc.pitch_tilde/mbc.pitch~.xcodeproj/project.pbxproj similarity index 100% rename from src/mbc.pitch~/mbc.pitch~.xcodeproj/project.pbxproj rename to source/projects/mbc.pitch_tilde/mbc.pitch~.xcodeproj/project.pbxproj diff --git a/src/Info.plist b/src/Info.plist deleted file mode 100644 index 3c37968..0000000 --- a/src/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - ${PRODUCT_NAME} - CFBundleIconFile - - CFBundleIdentifier - com.mcartwright.${PRODUCT_NAME} - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - iLaX - CFBundleSignature - max2 - CFBundleVersion - ${PRODUCT_VERSION} - CFBundleShortVersionString - ${PRODUCT_VERSION} - CFBundleLongVersionString - ${PRODUCT_NAME} ${PRODUCT_VERSION}, Copyright 2010 Mark Cartwright - CSResourcesFileMapped - - - diff --git a/src/maxmspsdk.xcconfig b/src/maxmspsdk.xcconfig deleted file mode 100644 index 259893a..0000000 --- a/src/maxmspsdk.xcconfig +++ /dev/null @@ -1,46 +0,0 @@ -// Xcode target configuration settings for the Max 5 SDK -// Used as the basis for Xcode projects to build Max externals. -// -// Changes to the settings in this file will be applied to all SDK examples -// To change settings for only one of the examples, override the settings using -// Xcode's target inspector. -// -// by Timothy Place -// Copyright © 2008, Cycling '74 - - -// Name & Version -PRODUCT_NAME = $(PROJECT_NAME) -PRODUCT_VERSION = 5.1.1 - - -// Paths -C74SUPPORT = $(SRCROOT)/../../c74support -HEADER_SEARCH_PATHS = /Developer/Headers/FlatCarbon "$(C74SUPPORT)/max-includes" "$(C74SUPPORT)/msp-includes" "$(C74SUPPORT)/jit-includes" -FRAMEWORK_SEARCH_PATHS = "$(C74SUPPORT)/max-includes" "$(C74SUPPORT)/msp-includes" "$(C74SUPPORT)/jit-includes" -DSTROOT = $(SRCROOT)/../../sdk-build -// (This next path is relative to DSTROOT) -INSTALL_PATH = / - - -// Special Files -GCC_PREFIX_HEADER = $(C74SUPPORT)/max-includes/macho-prefix.pch -INFOPLIST_FILE = $(SRCROOT)/../Info.plist - - -// Per architecture and deployment settings -SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk - -GCC_VERSION = 4.0 -// The above line can be specialized as follows provided you are using Xcode 3 or higher -// GCC_VERSION[arch=i386] = 4.0 -// GCC_VERSION[arch=ppc] = 4.0 - -MACOSX_DEPLOYMENT_TARGET = 10.4 - - -// Static Configuration (don't change these) -WRAPPER_EXTENSION = mxo; -WARNING_CFLAGS = -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -DEPLOYMENT_LOCATION = YES -GENERATE_PKGINFO_FILE = YES From 946d0e11364a95bb76d1529252b538dd5f212870 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 11:41:51 +0200 Subject: [PATCH 02/12] add max sdk base --- .gitmodules | 3 +++ source/max-sdk-base | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 source/max-sdk-base diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..df2e46c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "source/max-sdk-base"] + path = source/max-sdk-base + url = https://github.com/Cycling74/max-sdk-base.git diff --git a/source/max-sdk-base b/source/max-sdk-base new file mode 160000 index 0000000..b6d635c --- /dev/null +++ b/source/max-sdk-base @@ -0,0 +1 @@ +Subproject commit b6d635cc69bac680c35a63fcfebba9d523ab0d6c From 82906d3e8fe4d931784acf59ea36c18049a7e634 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 11:59:10 +0200 Subject: [PATCH 03/12] initial cmake layout --- CMakeLists.txt | 49 ++++ README.md | 32 +++ .../mbc.allpole~.mxo/Contents/Info.plist | 41 ++++ externals/mbc.blit~.mxo/Contents/Info.plist | 41 ++++ .../mbc.coeffDisp~.mxo/Contents/Info.plist | 41 ++++ .../mbc.errfilt~.mxo/Contents/Info.plist | 41 ++++ externals/mbc.lpc~.mxo/Contents/Info.plist | 41 ++++ externals/mbc.pitch~.mxo/Contents/Info.plist | 41 ++++ .../projects/mbc.allpole_tilde/CMakeLists.txt | 24 ++ .../mbc.allpole~.xcodeproj/project.pbxproj | 222 ------------------ source/projects/mbc.blit_tilde/CMakeLists.txt | 24 ++ .../mbc.blit~.xcodeproj/project.pbxproj | 218 ----------------- .../mbc.coeffDisp_tilde/CMakeLists.txt | 24 ++ .../mbc.coeffDisp~.xcodeproj/project.pbxproj | 218 ----------------- .../projects/mbc.errfilt_tilde/CMakeLists.txt | 24 ++ .../mbc.errfilt~.xcodeproj/project.pbxproj | 222 ------------------ source/projects/mbc.lpc_tilde/CMakeLists.txt | 24 ++ .../mbc.lpc~.xcodeproj/project.pbxproj | 222 ------------------ .../projects/mbc.pitch_tilde/CMakeLists.txt | 24 ++ .../mbc.pitch~.xcodeproj/project.pbxproj | 222 ------------------ 20 files changed, 471 insertions(+), 1324 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 externals/mbc.allpole~.mxo/Contents/Info.plist create mode 100644 externals/mbc.blit~.mxo/Contents/Info.plist create mode 100644 externals/mbc.coeffDisp~.mxo/Contents/Info.plist create mode 100644 externals/mbc.errfilt~.mxo/Contents/Info.plist create mode 100644 externals/mbc.lpc~.mxo/Contents/Info.plist create mode 100644 externals/mbc.pitch~.mxo/Contents/Info.plist create mode 100644 source/projects/mbc.allpole_tilde/CMakeLists.txt delete mode 100755 source/projects/mbc.allpole_tilde/mbc.allpole~.xcodeproj/project.pbxproj create mode 100644 source/projects/mbc.blit_tilde/CMakeLists.txt delete mode 100755 source/projects/mbc.blit_tilde/mbc.blit~.xcodeproj/project.pbxproj create mode 100644 source/projects/mbc.coeffDisp_tilde/CMakeLists.txt delete mode 100755 source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.xcodeproj/project.pbxproj create mode 100644 source/projects/mbc.errfilt_tilde/CMakeLists.txt delete mode 100755 source/projects/mbc.errfilt_tilde/mbc.errfilt~.xcodeproj/project.pbxproj create mode 100644 source/projects/mbc.lpc_tilde/CMakeLists.txt delete mode 100755 source/projects/mbc.lpc_tilde/mbc.lpc~.xcodeproj/project.pbxproj create mode 100644 source/projects/mbc.pitch_tilde/CMakeLists.txt delete mode 100755 source/projects/mbc.pitch_tilde/mbc.pitch~.xcodeproj/project.pbxproj diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..7dc8361 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,49 @@ +cmake_minimum_required(VERSION 3.19) + +string(REGEX REPLACE "(.*)/" "" THIS_FOLDER_NAME "${CMAKE_CURRENT_SOURCE_DIR}") +project(${THIS_FOLDER_NAME}) + +if (APPLE) + if (${CMAKE_GENERATOR} MATCHES "Xcode") + if (${XCODE_VERSION} VERSION_LESS 10) + message(STATUS "Xcode 10 or higher is required. Please install from the Mac App Store.") + return () + elseif(${XCODE_VERSION} VERSION_GREATER_EQUAL 12) + set(C74_BUILD_FAT YES) + endif () + endif () + + if (NOT CMAKE_OSX_ARCHITECTURES) + if(C74_BUILD_FAT) + set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "macOS architecture" FORCE) + else() + set(CMAKE_OSX_ARCHITECTURES ${CMAKE_SYSTEM_PROCESSOR} CACHE STRING "macOS architecture" FORCE) + endif() + message("CMAKE_OSX_ARCHITECTURES set to ${CMAKE_OSX_ARCHITECTURES}") + endif() +endif() + +MACRO(SUBDIRLIST result curdir) + FILE(GLOB children RELATIVE ${curdir} ${curdir}/*) + SET(dirlist "") + FOREACH(child ${children}) + IF(IS_DIRECTORY ${curdir}/${child}) + LIST(APPEND dirlist ${child}) + ENDIF() + ENDFOREACH() + SET(${result} ${dirlist}) +ENDMACRO() + +# Generate a project for every folder in the "source/category" folder +SUBDIRLIST(CATEGORY_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/source) +foreach (cat_dir ${CATEGORY_DIRS}) + SUBDIRLIST(PROJECT_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/source/${cat_dir}) + foreach (project_dir ${PROJECT_DIRS}) + set(project_path ${CMAKE_CURRENT_SOURCE_DIR}/source/${cat_dir}/${project_dir}) + #message("checking in: ${project_path}") + if (EXISTS "${project_path}/CMakeLists.txt") + message("Generating: ${project_dir}") + add_subdirectory(${project_path}) + endif () + endforeach () +endforeach () diff --git a/README.md b/README.md index e984286..d0fac00 100644 --- a/README.md +++ b/README.md @@ -2,3 +2,35 @@ A toolkit of Max objects to use real-time linear predictive coding in creative projects This project was initially developed in 2007 at Stanford's Center for Computer Research in Music and Acoustics (CCRMA), but it hasn't seen much attention since then. Contributions are welcome. + + +## Building + +``` +mkdir build +cd build +``` + +### Mac + +Run `cmake -G Xcode ..` + +Next run `cmake --build .` or open the Xcode project from this "build" folder and use the GUI. + +Note: you can add the `-j4` option where "4" is the number of cores to use. This can help to speed up your builds, though sometimes the error output is interleaved in such a way as to make troubleshooting more difficult. + +If you are running on a Mac M1 machine, you will likely see an error `cannot be loaded due to system security policy` when loading your externals in Max. To resolve this, you can ad-hoc codesign your external with `codesign --force --deep -s - myobject.mxo`. + +### Windows + +You can run `cmake --help` to get a list of the options available. Assuming some version of Visual Studio 2019, the commands to generate the projects will look like this: + +`cmake -G "Visual Studio 16 2019" ..` + +Or using Visual Studio 2017 it will look like this: + +`cmake -G "Visual Studio 15 2017 Win64" ..` + +Having generated the projects, you can now build by opening the .sln file in the build folder with the Visual Studio app (just double-click the .sln file) or you can build on the command line like this: + +`cmake --build . --config Release` diff --git a/externals/mbc.allpole~.mxo/Contents/Info.plist b/externals/mbc.allpole~.mxo/Contents/Info.plist new file mode 100644 index 0000000..9ad2f24 --- /dev/null +++ b/externals/mbc.allpole~.mxo/Contents/Info.plist @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + mbc.allpole~ + CFBundleIconFile + + CFBundleIdentifier + . + CFBundleInfoDictionaryVersion + 6.0 + + CFBundlePackageType + iLaX + CFBundleSignature + max2 + + C74ObjectProperties + + c74excludefromcollectives + + + + CFBundleVersion + + CFBundleShortVersionString + + CFBundleLongVersionString + mbc.allpole~ - + NSHumanReadableCopyright + + + CSResourcesFileMapped + + LSRequiresCarbon + + + diff --git a/externals/mbc.blit~.mxo/Contents/Info.plist b/externals/mbc.blit~.mxo/Contents/Info.plist new file mode 100644 index 0000000..aa9eb7e --- /dev/null +++ b/externals/mbc.blit~.mxo/Contents/Info.plist @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + mbc.blit~ + CFBundleIconFile + + CFBundleIdentifier + . + CFBundleInfoDictionaryVersion + 6.0 + + CFBundlePackageType + iLaX + CFBundleSignature + max2 + + C74ObjectProperties + + c74excludefromcollectives + + + + CFBundleVersion + + CFBundleShortVersionString + + CFBundleLongVersionString + mbc.blit~ - + NSHumanReadableCopyright + + + CSResourcesFileMapped + + LSRequiresCarbon + + + diff --git a/externals/mbc.coeffDisp~.mxo/Contents/Info.plist b/externals/mbc.coeffDisp~.mxo/Contents/Info.plist new file mode 100644 index 0000000..271d545 --- /dev/null +++ b/externals/mbc.coeffDisp~.mxo/Contents/Info.plist @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + mbc.coeffDisp~ + CFBundleIconFile + + CFBundleIdentifier + . + CFBundleInfoDictionaryVersion + 6.0 + + CFBundlePackageType + iLaX + CFBundleSignature + max2 + + C74ObjectProperties + + c74excludefromcollectives + + + + CFBundleVersion + + CFBundleShortVersionString + + CFBundleLongVersionString + mbc.coeffDisp~ - + NSHumanReadableCopyright + + + CSResourcesFileMapped + + LSRequiresCarbon + + + diff --git a/externals/mbc.errfilt~.mxo/Contents/Info.plist b/externals/mbc.errfilt~.mxo/Contents/Info.plist new file mode 100644 index 0000000..f23b238 --- /dev/null +++ b/externals/mbc.errfilt~.mxo/Contents/Info.plist @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + mbc.errfilt~ + CFBundleIconFile + + CFBundleIdentifier + . + CFBundleInfoDictionaryVersion + 6.0 + + CFBundlePackageType + iLaX + CFBundleSignature + max2 + + C74ObjectProperties + + c74excludefromcollectives + + + + CFBundleVersion + + CFBundleShortVersionString + + CFBundleLongVersionString + mbc.errfilt~ - + NSHumanReadableCopyright + + + CSResourcesFileMapped + + LSRequiresCarbon + + + diff --git a/externals/mbc.lpc~.mxo/Contents/Info.plist b/externals/mbc.lpc~.mxo/Contents/Info.plist new file mode 100644 index 0000000..1d41175 --- /dev/null +++ b/externals/mbc.lpc~.mxo/Contents/Info.plist @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + mbc.lpc~ + CFBundleIconFile + + CFBundleIdentifier + . + CFBundleInfoDictionaryVersion + 6.0 + + CFBundlePackageType + iLaX + CFBundleSignature + max2 + + C74ObjectProperties + + c74excludefromcollectives + + + + CFBundleVersion + + CFBundleShortVersionString + + CFBundleLongVersionString + mbc.lpc~ - + NSHumanReadableCopyright + + + CSResourcesFileMapped + + LSRequiresCarbon + + + diff --git a/externals/mbc.pitch~.mxo/Contents/Info.plist b/externals/mbc.pitch~.mxo/Contents/Info.plist new file mode 100644 index 0000000..da02769 --- /dev/null +++ b/externals/mbc.pitch~.mxo/Contents/Info.plist @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + mbc.pitch~ + CFBundleIconFile + + CFBundleIdentifier + . + CFBundleInfoDictionaryVersion + 6.0 + + CFBundlePackageType + iLaX + CFBundleSignature + max2 + + C74ObjectProperties + + c74excludefromcollectives + + + + CFBundleVersion + + CFBundleShortVersionString + + CFBundleLongVersionString + mbc.pitch~ - + NSHumanReadableCopyright + + + CSResourcesFileMapped + + LSRequiresCarbon + + + diff --git a/source/projects/mbc.allpole_tilde/CMakeLists.txt b/source/projects/mbc.allpole_tilde/CMakeLists.txt new file mode 100644 index 0000000..3af3a99 --- /dev/null +++ b/source/projects/mbc.allpole_tilde/CMakeLists.txt @@ -0,0 +1,24 @@ +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-pretarget.cmake) + +############################################################# +# MAX EXTERNAL +############################################################# + +include_directories( + "${MAX_SDK_INCLUDES}" + "${MAX_SDK_MSP_INCLUDES}" + "${MAX_SDK_JIT_INCLUDES}" +) + +file(GLOB PROJECT_SRC + "*.h" + "*.c" + "*.cpp" +) +add_library( + ${PROJECT_NAME} + MODULE + ${PROJECT_SRC} +) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file diff --git a/source/projects/mbc.allpole_tilde/mbc.allpole~.xcodeproj/project.pbxproj b/source/projects/mbc.allpole_tilde/mbc.allpole~.xcodeproj/project.pbxproj deleted file mode 100755 index 2ec195e..0000000 --- a/source/projects/mbc.allpole_tilde/mbc.allpole~.xcodeproj/project.pbxproj +++ /dev/null @@ -1,222 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 44; - objects = { - -/* Begin PBXBuildFile section */ - 22CF119B0EE9A8250054F513 /* mbc.allpole~.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CF119A0EE9A8250054F513 /* mbc.allpole~.c */; }; - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */; }; - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54266BCE05E6E9780000000C /* MaxAPI.framework */; }; - 7799690912700DB800554666 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7799690812700DB800554666 /* Accelerate.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = maxmspsdk.xcconfig; path = ../maxmspsdk.xcconfig; sourceTree = SOURCE_ROOT; }; - 22CF119A0EE9A8250054F513 /* mbc.allpole~.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mbc.allpole~.c"; sourceTree = ""; }; - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; }; - 2FBBEAE508F335360078DB84 /* mbc.allpole~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mbc.allpole~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; }; - 54266BCE05E6E9780000000C /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = "../../c74support/max-includes/MaxAPI.framework"; sourceTree = SOURCE_ROOT; }; - 7799690812700DB800554666 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2FBBEADC08F335360078DB84 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */, - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */, - 7799690912700DB800554666 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* iterator */ = { - isa = PBXGroup; - children = ( - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */, - 08FB77ADFE841716C02AAC07 /* Source */, - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, - 19C28FB4FE9D528D11CA2CBB /* Products */, - ); - name = iterator; - sourceTree = ""; - }; - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 54266BCE05E6E9780000000C /* MaxAPI.framework */, - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */, - 7799690812700DB800554666 /* Accelerate.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 08FB77ADFE841716C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 22CF119A0EE9A8250054F513 /* mbc.allpole~.c */, - ); - name = Source; - sourceTree = ""; - }; - 19C28FB4FE9D528D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 2FBBEAE508F335360078DB84 /* mbc.allpole~.mxo */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2FBBEAD708F335360078DB84 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 2FBBEAD608F335360078DB84 /* max-external */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; - buildPhases = ( - 2FBBEAD708F335360078DB84 /* Headers */, - 2FBBEAD808F335360078DB84 /* Resources */, - 2FBBEADA08F335360078DB84 /* Sources */, - 2FBBEADC08F335360078DB84 /* Frameworks */, - 2FBBEADF08F335360078DB84 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "max-external"; - productName = iterator; - productReference = 2FBBEAE508F335360078DB84 /* mbc.allpole~.mxo */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.allpole~" */; - compatibilityVersion = "Xcode 3.0"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* iterator */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2FBBEAD608F335360078DB84 /* max-external */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2FBBEAD808F335360078DB84 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 2FBBEADF08F335360078DB84 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2FBBEADA08F335360078DB84 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 22CF119B0EE9A8250054F513 /* mbc.allpole~.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 2FBBEAD008F335010078DB84 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Development; - }; - 2FBBEAD108F335010078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Deployment; - }; - 2FBBEAE108F335360078DB84 /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - GCC_OPTIMIZATION_LEVEL = 0; - }; - name = Development; - }; - 2FBBEAE208F335360078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - }; - name = Deployment; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.allpole~" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAD008F335010078DB84 /* Development */, - 2FBBEAD108F335010078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; - 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAE108F335360078DB84 /* Development */, - 2FBBEAE208F335360078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} diff --git a/source/projects/mbc.blit_tilde/CMakeLists.txt b/source/projects/mbc.blit_tilde/CMakeLists.txt new file mode 100644 index 0000000..3af3a99 --- /dev/null +++ b/source/projects/mbc.blit_tilde/CMakeLists.txt @@ -0,0 +1,24 @@ +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-pretarget.cmake) + +############################################################# +# MAX EXTERNAL +############################################################# + +include_directories( + "${MAX_SDK_INCLUDES}" + "${MAX_SDK_MSP_INCLUDES}" + "${MAX_SDK_JIT_INCLUDES}" +) + +file(GLOB PROJECT_SRC + "*.h" + "*.c" + "*.cpp" +) +add_library( + ${PROJECT_NAME} + MODULE + ${PROJECT_SRC} +) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file diff --git a/source/projects/mbc.blit_tilde/mbc.blit~.xcodeproj/project.pbxproj b/source/projects/mbc.blit_tilde/mbc.blit~.xcodeproj/project.pbxproj deleted file mode 100755 index 958ab2d..0000000 --- a/source/projects/mbc.blit_tilde/mbc.blit~.xcodeproj/project.pbxproj +++ /dev/null @@ -1,218 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 44; - objects = { - -/* Begin PBXBuildFile section */ - 22CF119B0EE9A8250054F513 /* mbc.blit~.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CF119A0EE9A8250054F513 /* mbc.blit~.c */; }; - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */; }; - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54266BCE05E6E9780000000C /* MaxAPI.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = maxmspsdk.xcconfig; path = ../maxmspsdk.xcconfig; sourceTree = SOURCE_ROOT; }; - 22CF119A0EE9A8250054F513 /* mbc.blit~.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mbc.blit~.c"; sourceTree = ""; }; - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; }; - 2FBBEAE508F335360078DB84 /* mbc.blit~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mbc.blit~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; }; - 54266BCE05E6E9780000000C /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = "../../c74support/max-includes/MaxAPI.framework"; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2FBBEADC08F335360078DB84 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */, - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* iterator */ = { - isa = PBXGroup; - children = ( - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */, - 08FB77ADFE841716C02AAC07 /* Source */, - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, - 19C28FB4FE9D528D11CA2CBB /* Products */, - ); - name = iterator; - sourceTree = ""; - }; - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 54266BCE05E6E9780000000C /* MaxAPI.framework */, - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 08FB77ADFE841716C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 22CF119A0EE9A8250054F513 /* mbc.blit~.c */, - ); - name = Source; - sourceTree = ""; - }; - 19C28FB4FE9D528D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 2FBBEAE508F335360078DB84 /* mbc.blit~.mxo */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2FBBEAD708F335360078DB84 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 2FBBEAD608F335360078DB84 /* max-external */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; - buildPhases = ( - 2FBBEAD708F335360078DB84 /* Headers */, - 2FBBEAD808F335360078DB84 /* Resources */, - 2FBBEADA08F335360078DB84 /* Sources */, - 2FBBEADC08F335360078DB84 /* Frameworks */, - 2FBBEADF08F335360078DB84 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "max-external"; - productName = iterator; - productReference = 2FBBEAE508F335360078DB84 /* mbc.blit~.mxo */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.blit~" */; - compatibilityVersion = "Xcode 3.0"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* iterator */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2FBBEAD608F335360078DB84 /* max-external */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2FBBEAD808F335360078DB84 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 2FBBEADF08F335360078DB84 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2FBBEADA08F335360078DB84 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 22CF119B0EE9A8250054F513 /* mbc.blit~.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 2FBBEAD008F335010078DB84 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Development; - }; - 2FBBEAD108F335010078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Deployment; - }; - 2FBBEAE108F335360078DB84 /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - GCC_OPTIMIZATION_LEVEL = 0; - }; - name = Development; - }; - 2FBBEAE208F335360078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - }; - name = Deployment; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.blit~" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAD008F335010078DB84 /* Development */, - 2FBBEAD108F335010078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; - 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAE108F335360078DB84 /* Development */, - 2FBBEAE208F335360078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} diff --git a/source/projects/mbc.coeffDisp_tilde/CMakeLists.txt b/source/projects/mbc.coeffDisp_tilde/CMakeLists.txt new file mode 100644 index 0000000..3af3a99 --- /dev/null +++ b/source/projects/mbc.coeffDisp_tilde/CMakeLists.txt @@ -0,0 +1,24 @@ +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-pretarget.cmake) + +############################################################# +# MAX EXTERNAL +############################################################# + +include_directories( + "${MAX_SDK_INCLUDES}" + "${MAX_SDK_MSP_INCLUDES}" + "${MAX_SDK_JIT_INCLUDES}" +) + +file(GLOB PROJECT_SRC + "*.h" + "*.c" + "*.cpp" +) +add_library( + ${PROJECT_NAME} + MODULE + ${PROJECT_SRC} +) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file diff --git a/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.xcodeproj/project.pbxproj b/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.xcodeproj/project.pbxproj deleted file mode 100755 index a650fc9..0000000 --- a/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.xcodeproj/project.pbxproj +++ /dev/null @@ -1,218 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 44; - objects = { - -/* Begin PBXBuildFile section */ - 22CF119B0EE9A8250054F513 /* mbc.coeffDisp~.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CF119A0EE9A8250054F513 /* mbc.coeffDisp~.c */; }; - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */; }; - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54266BCE05E6E9780000000C /* MaxAPI.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = maxmspsdk.xcconfig; path = ../maxmspsdk.xcconfig; sourceTree = SOURCE_ROOT; }; - 22CF119A0EE9A8250054F513 /* mbc.coeffDisp~.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mbc.coeffDisp~.c"; sourceTree = ""; }; - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; }; - 2FBBEAE508F335360078DB84 /* mbc.coeffDisp~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mbc.coeffDisp~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; }; - 54266BCE05E6E9780000000C /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = "../../c74support/max-includes/MaxAPI.framework"; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2FBBEADC08F335360078DB84 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */, - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* iterator */ = { - isa = PBXGroup; - children = ( - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */, - 08FB77ADFE841716C02AAC07 /* Source */, - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, - 19C28FB4FE9D528D11CA2CBB /* Products */, - ); - name = iterator; - sourceTree = ""; - }; - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 54266BCE05E6E9780000000C /* MaxAPI.framework */, - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 08FB77ADFE841716C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 22CF119A0EE9A8250054F513 /* mbc.coeffDisp~.c */, - ); - name = Source; - sourceTree = ""; - }; - 19C28FB4FE9D528D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 2FBBEAE508F335360078DB84 /* mbc.coeffDisp~.mxo */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2FBBEAD708F335360078DB84 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 2FBBEAD608F335360078DB84 /* max-external */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; - buildPhases = ( - 2FBBEAD708F335360078DB84 /* Headers */, - 2FBBEAD808F335360078DB84 /* Resources */, - 2FBBEADA08F335360078DB84 /* Sources */, - 2FBBEADC08F335360078DB84 /* Frameworks */, - 2FBBEADF08F335360078DB84 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "max-external"; - productName = iterator; - productReference = 2FBBEAE508F335360078DB84 /* mbc.coeffDisp~.mxo */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.coeffDisp~" */; - compatibilityVersion = "Xcode 3.0"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* iterator */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2FBBEAD608F335360078DB84 /* max-external */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2FBBEAD808F335360078DB84 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 2FBBEADF08F335360078DB84 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2FBBEADA08F335360078DB84 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 22CF119B0EE9A8250054F513 /* mbc.coeffDisp~.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 2FBBEAD008F335010078DB84 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Development; - }; - 2FBBEAD108F335010078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Deployment; - }; - 2FBBEAE108F335360078DB84 /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - GCC_OPTIMIZATION_LEVEL = 0; - }; - name = Development; - }; - 2FBBEAE208F335360078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - }; - name = Deployment; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.coeffDisp~" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAD008F335010078DB84 /* Development */, - 2FBBEAD108F335010078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; - 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAE108F335360078DB84 /* Development */, - 2FBBEAE208F335360078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} diff --git a/source/projects/mbc.errfilt_tilde/CMakeLists.txt b/source/projects/mbc.errfilt_tilde/CMakeLists.txt new file mode 100644 index 0000000..3af3a99 --- /dev/null +++ b/source/projects/mbc.errfilt_tilde/CMakeLists.txt @@ -0,0 +1,24 @@ +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-pretarget.cmake) + +############################################################# +# MAX EXTERNAL +############################################################# + +include_directories( + "${MAX_SDK_INCLUDES}" + "${MAX_SDK_MSP_INCLUDES}" + "${MAX_SDK_JIT_INCLUDES}" +) + +file(GLOB PROJECT_SRC + "*.h" + "*.c" + "*.cpp" +) +add_library( + ${PROJECT_NAME} + MODULE + ${PROJECT_SRC} +) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file diff --git a/source/projects/mbc.errfilt_tilde/mbc.errfilt~.xcodeproj/project.pbxproj b/source/projects/mbc.errfilt_tilde/mbc.errfilt~.xcodeproj/project.pbxproj deleted file mode 100755 index 8e49d3f..0000000 --- a/source/projects/mbc.errfilt_tilde/mbc.errfilt~.xcodeproj/project.pbxproj +++ /dev/null @@ -1,222 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 44; - objects = { - -/* Begin PBXBuildFile section */ - 22CF119B0EE9A8250054F513 /* errfilt~.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CF119A0EE9A8250054F513 /* errfilt~.c */; }; - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */; }; - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54266BCE05E6E9780000000C /* MaxAPI.framework */; }; - 77CD4C2E127000B700AA9073 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 77CD4C2D127000B700AA9073 /* Accelerate.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = maxmspsdk.xcconfig; path = ../maxmspsdk.xcconfig; sourceTree = SOURCE_ROOT; }; - 22CF119A0EE9A8250054F513 /* errfilt~.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "errfilt~.c"; sourceTree = ""; }; - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; }; - 2FBBEAE508F335360078DB84 /* mbc.errfilt~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mbc.errfilt~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; }; - 54266BCE05E6E9780000000C /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = "../../c74support/max-includes/MaxAPI.framework"; sourceTree = SOURCE_ROOT; }; - 77CD4C2D127000B700AA9073 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2FBBEADC08F335360078DB84 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */, - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */, - 77CD4C2E127000B700AA9073 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* iterator */ = { - isa = PBXGroup; - children = ( - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */, - 08FB77ADFE841716C02AAC07 /* Source */, - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, - 19C28FB4FE9D528D11CA2CBB /* Products */, - ); - name = iterator; - sourceTree = ""; - }; - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 54266BCE05E6E9780000000C /* MaxAPI.framework */, - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */, - 77CD4C2D127000B700AA9073 /* Accelerate.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 08FB77ADFE841716C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 22CF119A0EE9A8250054F513 /* errfilt~.c */, - ); - name = Source; - sourceTree = ""; - }; - 19C28FB4FE9D528D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 2FBBEAE508F335360078DB84 /* mbc.errfilt~.mxo */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2FBBEAD708F335360078DB84 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 2FBBEAD608F335360078DB84 /* max-external */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; - buildPhases = ( - 2FBBEAD708F335360078DB84 /* Headers */, - 2FBBEAD808F335360078DB84 /* Resources */, - 2FBBEADA08F335360078DB84 /* Sources */, - 2FBBEADC08F335360078DB84 /* Frameworks */, - 2FBBEADF08F335360078DB84 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "max-external"; - productName = iterator; - productReference = 2FBBEAE508F335360078DB84 /* mbc.errfilt~.mxo */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.errfilt~" */; - compatibilityVersion = "Xcode 3.0"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* iterator */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2FBBEAD608F335360078DB84 /* max-external */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2FBBEAD808F335360078DB84 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 2FBBEADF08F335360078DB84 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2FBBEADA08F335360078DB84 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 22CF119B0EE9A8250054F513 /* errfilt~.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 2FBBEAD008F335010078DB84 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Development; - }; - 2FBBEAD108F335010078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Deployment; - }; - 2FBBEAE108F335360078DB84 /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - GCC_OPTIMIZATION_LEVEL = 0; - }; - name = Development; - }; - 2FBBEAE208F335360078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - }; - name = Deployment; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.errfilt~" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAD008F335010078DB84 /* Development */, - 2FBBEAD108F335010078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; - 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAE108F335360078DB84 /* Development */, - 2FBBEAE208F335360078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} diff --git a/source/projects/mbc.lpc_tilde/CMakeLists.txt b/source/projects/mbc.lpc_tilde/CMakeLists.txt new file mode 100644 index 0000000..3af3a99 --- /dev/null +++ b/source/projects/mbc.lpc_tilde/CMakeLists.txt @@ -0,0 +1,24 @@ +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-pretarget.cmake) + +############################################################# +# MAX EXTERNAL +############################################################# + +include_directories( + "${MAX_SDK_INCLUDES}" + "${MAX_SDK_MSP_INCLUDES}" + "${MAX_SDK_JIT_INCLUDES}" +) + +file(GLOB PROJECT_SRC + "*.h" + "*.c" + "*.cpp" +) +add_library( + ${PROJECT_NAME} + MODULE + ${PROJECT_SRC} +) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file diff --git a/source/projects/mbc.lpc_tilde/mbc.lpc~.xcodeproj/project.pbxproj b/source/projects/mbc.lpc_tilde/mbc.lpc~.xcodeproj/project.pbxproj deleted file mode 100755 index 9c2ac4c..0000000 --- a/source/projects/mbc.lpc_tilde/mbc.lpc~.xcodeproj/project.pbxproj +++ /dev/null @@ -1,222 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 44; - objects = { - -/* Begin PBXBuildFile section */ - 22CF119B0EE9A8250054F513 /* mbc.lpc~.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CF119A0EE9A8250054F513 /* mbc.lpc~.c */; }; - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */; }; - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54266BCE05E6E9780000000C /* MaxAPI.framework */; }; - 7799693D1270197600554666 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7799693C1270197600554666 /* Accelerate.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = maxmspsdk.xcconfig; path = ../maxmspsdk.xcconfig; sourceTree = SOURCE_ROOT; }; - 22CF119A0EE9A8250054F513 /* mbc.lpc~.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mbc.lpc~.c"; sourceTree = ""; }; - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; }; - 2FBBEAE508F335360078DB84 /* mbc.lpc~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mbc.lpc~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; }; - 54266BCE05E6E9780000000C /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = "../../c74support/max-includes/MaxAPI.framework"; sourceTree = SOURCE_ROOT; }; - 7799693C1270197600554666 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2FBBEADC08F335360078DB84 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */, - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */, - 7799693D1270197600554666 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* iterator */ = { - isa = PBXGroup; - children = ( - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */, - 08FB77ADFE841716C02AAC07 /* Source */, - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, - 19C28FB4FE9D528D11CA2CBB /* Products */, - ); - name = iterator; - sourceTree = ""; - }; - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 54266BCE05E6E9780000000C /* MaxAPI.framework */, - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */, - 7799693C1270197600554666 /* Accelerate.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 08FB77ADFE841716C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 22CF119A0EE9A8250054F513 /* mbc.lpc~.c */, - ); - name = Source; - sourceTree = ""; - }; - 19C28FB4FE9D528D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 2FBBEAE508F335360078DB84 /* mbc.lpc~.mxo */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2FBBEAD708F335360078DB84 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 2FBBEAD608F335360078DB84 /* max-external */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; - buildPhases = ( - 2FBBEAD708F335360078DB84 /* Headers */, - 2FBBEAD808F335360078DB84 /* Resources */, - 2FBBEADA08F335360078DB84 /* Sources */, - 2FBBEADC08F335360078DB84 /* Frameworks */, - 2FBBEADF08F335360078DB84 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "max-external"; - productName = iterator; - productReference = 2FBBEAE508F335360078DB84 /* mbc.lpc~.mxo */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.lpc~" */; - compatibilityVersion = "Xcode 3.0"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* iterator */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2FBBEAD608F335360078DB84 /* max-external */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2FBBEAD808F335360078DB84 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 2FBBEADF08F335360078DB84 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2FBBEADA08F335360078DB84 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 22CF119B0EE9A8250054F513 /* mbc.lpc~.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 2FBBEAD008F335010078DB84 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Development; - }; - 2FBBEAD108F335010078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Deployment; - }; - 2FBBEAE108F335360078DB84 /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - GCC_OPTIMIZATION_LEVEL = 0; - }; - name = Development; - }; - 2FBBEAE208F335360078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - }; - name = Deployment; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.lpc~" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAD008F335010078DB84 /* Development */, - 2FBBEAD108F335010078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; - 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAE108F335360078DB84 /* Development */, - 2FBBEAE208F335360078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} diff --git a/source/projects/mbc.pitch_tilde/CMakeLists.txt b/source/projects/mbc.pitch_tilde/CMakeLists.txt new file mode 100644 index 0000000..3af3a99 --- /dev/null +++ b/source/projects/mbc.pitch_tilde/CMakeLists.txt @@ -0,0 +1,24 @@ +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-pretarget.cmake) + +############################################################# +# MAX EXTERNAL +############################################################# + +include_directories( + "${MAX_SDK_INCLUDES}" + "${MAX_SDK_MSP_INCLUDES}" + "${MAX_SDK_JIT_INCLUDES}" +) + +file(GLOB PROJECT_SRC + "*.h" + "*.c" + "*.cpp" +) +add_library( + ${PROJECT_NAME} + MODULE + ${PROJECT_SRC} +) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file diff --git a/source/projects/mbc.pitch_tilde/mbc.pitch~.xcodeproj/project.pbxproj b/source/projects/mbc.pitch_tilde/mbc.pitch~.xcodeproj/project.pbxproj deleted file mode 100755 index 9844f9d..0000000 --- a/source/projects/mbc.pitch_tilde/mbc.pitch~.xcodeproj/project.pbxproj +++ /dev/null @@ -1,222 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 44; - objects = { - -/* Begin PBXBuildFile section */ - 22CF119B0EE9A8250054F513 /* mbc.pitch~.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CF119A0EE9A8250054F513 /* mbc.pitch~.c */; }; - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */; }; - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54266BCE05E6E9780000000C /* MaxAPI.framework */; }; - 779969F0127023D400554666 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 779969EF127023D400554666 /* Accelerate.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = maxmspsdk.xcconfig; path = ../maxmspsdk.xcconfig; sourceTree = SOURCE_ROOT; }; - 22CF119A0EE9A8250054F513 /* mbc.pitch~.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "mbc.pitch~.c"; sourceTree = ""; }; - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; }; - 2FBBEAE508F335360078DB84 /* mbc.pitch~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mbc.pitch~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; }; - 54266BCE05E6E9780000000C /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = "../../c74support/max-includes/MaxAPI.framework"; sourceTree = SOURCE_ROOT; }; - 779969EF127023D400554666 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2FBBEADC08F335360078DB84 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 2FBBEADE08F335360078DB84 /* MaxAPI.framework in Frameworks */, - 22CF119E0EE9A82E0054F513 /* MaxAudioAPI.framework in Frameworks */, - 779969F0127023D400554666 /* Accelerate.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 089C166AFE841209C02AAC07 /* iterator */ = { - isa = PBXGroup; - children = ( - 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */, - 08FB77ADFE841716C02AAC07 /* Source */, - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, - 19C28FB4FE9D528D11CA2CBB /* Products */, - ); - name = iterator; - sourceTree = ""; - }; - 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 54266BCE05E6E9780000000C /* MaxAPI.framework */, - 22CF119D0EE9A82E0054F513 /* MaxAudioAPI.framework */, - 779969EF127023D400554666 /* Accelerate.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = ""; - }; - 08FB77ADFE841716C02AAC07 /* Source */ = { - isa = PBXGroup; - children = ( - 22CF119A0EE9A8250054F513 /* mbc.pitch~.c */, - ); - name = Source; - sourceTree = ""; - }; - 19C28FB4FE9D528D11CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 2FBBEAE508F335360078DB84 /* mbc.pitch~.mxo */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2FBBEAD708F335360078DB84 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 2FBBEAD608F335360078DB84 /* max-external */ = { - isa = PBXNativeTarget; - buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; - buildPhases = ( - 2FBBEAD708F335360078DB84 /* Headers */, - 2FBBEAD808F335360078DB84 /* Resources */, - 2FBBEADA08F335360078DB84 /* Sources */, - 2FBBEADC08F335360078DB84 /* Frameworks */, - 2FBBEADF08F335360078DB84 /* Rez */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "max-external"; - productName = iterator; - productReference = 2FBBEAE508F335360078DB84 /* mbc.pitch~.mxo */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 089C1669FE841209C02AAC07 /* Project object */ = { - isa = PBXProject; - buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.pitch~" */; - compatibilityVersion = "Xcode 3.0"; - hasScannedForEncodings = 1; - mainGroup = 089C166AFE841209C02AAC07 /* iterator */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 2FBBEAD608F335360078DB84 /* max-external */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 2FBBEAD808F335360078DB84 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXRezBuildPhase section */ - 2FBBEADF08F335360078DB84 /* Rez */ = { - isa = PBXRezBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXRezBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 2FBBEADA08F335360078DB84 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 22CF119B0EE9A8250054F513 /* mbc.pitch~.c in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 2FBBEAD008F335010078DB84 /* Development */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Development; - }; - 2FBBEAD108F335010078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - buildSettings = { - }; - name = Deployment; - }; - 2FBBEAE108F335360078DB84 /* Development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - COPY_PHASE_STRIP = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - GCC_OPTIMIZATION_LEVEL = 0; - }; - name = Development; - }; - 2FBBEAE208F335360078DB84 /* Deployment */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; - buildSettings = { - ARCHS = ( - ppc, - i386, - ); - COPY_PHASE_STRIP = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../../c74support/msp-includes\"", - ); - }; - name = Deployment; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbc.pitch~" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAD008F335010078DB84 /* Development */, - 2FBBEAD108F335010078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; - 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 2FBBEAE108F335360078DB84 /* Development */, - 2FBBEAE208F335360078DB84 /* Deployment */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Development; - }; -/* End XCConfigurationList section */ - }; - rootObject = 089C1669FE841209C02AAC07 /* Project object */; -} From ab8489195c1c840ce979768b236a87fc7504ada0 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 12:02:54 +0200 Subject: [PATCH 04/12] don't check in externals --- .../mbc.allpole~.mxo/Contents/Info.plist | 41 ------------------- externals/mbc.blit~.mxo/Contents/Info.plist | 41 ------------------- .../mbc.coeffDisp~.mxo/Contents/Info.plist | 41 ------------------- .../mbc.errfilt~.mxo/Contents/Info.plist | 41 ------------------- externals/mbc.lpc~.mxo/Contents/Info.plist | 41 ------------------- externals/mbc.pitch~.mxo/Contents/Info.plist | 41 ------------------- 6 files changed, 246 deletions(-) delete mode 100644 externals/mbc.allpole~.mxo/Contents/Info.plist delete mode 100644 externals/mbc.blit~.mxo/Contents/Info.plist delete mode 100644 externals/mbc.coeffDisp~.mxo/Contents/Info.plist delete mode 100644 externals/mbc.errfilt~.mxo/Contents/Info.plist delete mode 100644 externals/mbc.lpc~.mxo/Contents/Info.plist delete mode 100644 externals/mbc.pitch~.mxo/Contents/Info.plist diff --git a/externals/mbc.allpole~.mxo/Contents/Info.plist b/externals/mbc.allpole~.mxo/Contents/Info.plist deleted file mode 100644 index 9ad2f24..0000000 --- a/externals/mbc.allpole~.mxo/Contents/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.allpole~ - CFBundleIconFile - - CFBundleIdentifier - . - CFBundleInfoDictionaryVersion - 6.0 - - CFBundlePackageType - iLaX - CFBundleSignature - max2 - - C74ObjectProperties - - c74excludefromcollectives - - - - CFBundleVersion - - CFBundleShortVersionString - - CFBundleLongVersionString - mbc.allpole~ - - NSHumanReadableCopyright - - - CSResourcesFileMapped - - LSRequiresCarbon - - - diff --git a/externals/mbc.blit~.mxo/Contents/Info.plist b/externals/mbc.blit~.mxo/Contents/Info.plist deleted file mode 100644 index aa9eb7e..0000000 --- a/externals/mbc.blit~.mxo/Contents/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.blit~ - CFBundleIconFile - - CFBundleIdentifier - . - CFBundleInfoDictionaryVersion - 6.0 - - CFBundlePackageType - iLaX - CFBundleSignature - max2 - - C74ObjectProperties - - c74excludefromcollectives - - - - CFBundleVersion - - CFBundleShortVersionString - - CFBundleLongVersionString - mbc.blit~ - - NSHumanReadableCopyright - - - CSResourcesFileMapped - - LSRequiresCarbon - - - diff --git a/externals/mbc.coeffDisp~.mxo/Contents/Info.plist b/externals/mbc.coeffDisp~.mxo/Contents/Info.plist deleted file mode 100644 index 271d545..0000000 --- a/externals/mbc.coeffDisp~.mxo/Contents/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.coeffDisp~ - CFBundleIconFile - - CFBundleIdentifier - . - CFBundleInfoDictionaryVersion - 6.0 - - CFBundlePackageType - iLaX - CFBundleSignature - max2 - - C74ObjectProperties - - c74excludefromcollectives - - - - CFBundleVersion - - CFBundleShortVersionString - - CFBundleLongVersionString - mbc.coeffDisp~ - - NSHumanReadableCopyright - - - CSResourcesFileMapped - - LSRequiresCarbon - - - diff --git a/externals/mbc.errfilt~.mxo/Contents/Info.plist b/externals/mbc.errfilt~.mxo/Contents/Info.plist deleted file mode 100644 index f23b238..0000000 --- a/externals/mbc.errfilt~.mxo/Contents/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.errfilt~ - CFBundleIconFile - - CFBundleIdentifier - . - CFBundleInfoDictionaryVersion - 6.0 - - CFBundlePackageType - iLaX - CFBundleSignature - max2 - - C74ObjectProperties - - c74excludefromcollectives - - - - CFBundleVersion - - CFBundleShortVersionString - - CFBundleLongVersionString - mbc.errfilt~ - - NSHumanReadableCopyright - - - CSResourcesFileMapped - - LSRequiresCarbon - - - diff --git a/externals/mbc.lpc~.mxo/Contents/Info.plist b/externals/mbc.lpc~.mxo/Contents/Info.plist deleted file mode 100644 index 1d41175..0000000 --- a/externals/mbc.lpc~.mxo/Contents/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.lpc~ - CFBundleIconFile - - CFBundleIdentifier - . - CFBundleInfoDictionaryVersion - 6.0 - - CFBundlePackageType - iLaX - CFBundleSignature - max2 - - C74ObjectProperties - - c74excludefromcollectives - - - - CFBundleVersion - - CFBundleShortVersionString - - CFBundleLongVersionString - mbc.lpc~ - - NSHumanReadableCopyright - - - CSResourcesFileMapped - - LSRequiresCarbon - - - diff --git a/externals/mbc.pitch~.mxo/Contents/Info.plist b/externals/mbc.pitch~.mxo/Contents/Info.plist deleted file mode 100644 index da02769..0000000 --- a/externals/mbc.pitch~.mxo/Contents/Info.plist +++ /dev/null @@ -1,41 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - mbc.pitch~ - CFBundleIconFile - - CFBundleIdentifier - . - CFBundleInfoDictionaryVersion - 6.0 - - CFBundlePackageType - iLaX - CFBundleSignature - max2 - - C74ObjectProperties - - c74excludefromcollectives - - - - CFBundleVersion - - CFBundleShortVersionString - - CFBundleLongVersionString - mbc.pitch~ - - NSHumanReadableCopyright - - - CSResourcesFileMapped - - LSRequiresCarbon - - - From 81486576ba6cd98dab434d43b4f147367ad1f35b Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 17:29:23 +0200 Subject: [PATCH 05/12] working blit --- .gitignore | 2 + source/projects/mbc.blit_tilde/mbc.blit~.c | 85 ++++++++++------------ 2 files changed, 41 insertions(+), 46 deletions(-) diff --git a/.gitignore b/.gitignore index e69de29..7d906a6 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +build/ +externals/ diff --git a/source/projects/mbc.blit_tilde/mbc.blit~.c b/source/projects/mbc.blit_tilde/mbc.blit~.c index c6b2ef5..29ab5b7 100755 --- a/source/projects/mbc.blit_tilde/mbc.blit~.c +++ b/source/projects/mbc.blit_tilde/mbc.blit~.c @@ -46,11 +46,13 @@ void *blit_new(t_symbol *s, long argc, t_atom *argv); void blit_free(t_blit *x); void blit_assist(t_blit *x, void *b, long m, long a, char *s); -void blit_dsp(t_blit *x, t_signal **sp, short *count); -t_int *blit_sigperf(t_int *w); //signal frequency input - bandlimited -t_int *blit_fltperf(t_int *w); //float frequency input - bandlimited -t_int *blit_sigperf_a(t_int *w); //signal frequency input - aliased -t_int *blit_fltperf_a(t_int *w); //float frequency input - aliased +void blit_dsp64(t_blit *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags); + +void blit_sigperf(t_blit *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); //signal frequency input - bandlimited +void blit_fltperf(t_blit *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); //float frequency input - bandlimited +void blit_sigperf_a(t_blit *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); //signal frequency input - aliased +void blit_fltperf_a(t_blit *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); //float frequency input - aliased + void blit_float(t_blit *x, double f); void blit_int(t_blit *x, long n); void blit_sincGen(t_blit *x); @@ -59,7 +61,7 @@ void blit_winGen(double *win, long N); void *blit_class; -int main(void) +void ext_main(void *r) { // object initialization, note the use of dsp_free for the freemethod, which is required // unless you need to free allocated memory, in which case you should call dsp_free from @@ -81,23 +83,20 @@ int main(void) class_addmethod(c, (method)blit_float, "float", A_FLOAT, 0); class_addmethod(c, (method)blit_int, "int", A_LONG, 0); - class_addmethod(c, (method)blit_dsp, "dsp", A_CANT, 0); + class_addmethod(c, (method)blit_dsp64, "dsp64", A_CANT, 0); class_addmethod(c, (method)blit_assist, "assist", A_CANT, 0); class_dspinit(c); // new style object version of dsp_initclass(); class_register(CLASS_BOX, c); // register class as a box class blit_class = c; - - return 0; } -t_int *blit_sigperf(t_int *w) { +void blit_sigperf(t_blit *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { int i; - t_float *pinc = (t_float *)(w[1]); - t_blit *x = (t_blit *)(w[2]); - t_float *out = (t_float *)(w[3]); - int n = (int)(w[4]); + double *pinc = ins[0]; + double *out = outs[0]; + long n = sampleframes; float thresh = x->b_fs; double phase = x->b_phase; float phasen1 = phase; @@ -145,17 +144,14 @@ t_int *blit_sigperf(t_int *w) { } x->b_phase = phase; - - return (w+5); } -t_int *blit_fltperf(t_int *w) { +void blit_fltperf(t_blit *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { int i; - t_blit *x = (t_blit *)(w[1]); - t_float *out = (t_float *)(w[2]); - int n = (int)(w[3]); + double *out = outs[0]; + long n = sampleframes; float thresh = x->b_fs; double phase = x->b_phase; float phasen1 = phase; @@ -204,15 +200,12 @@ t_int *blit_fltperf(t_int *w) { } x->b_phase = phase; - - return (w+4); } -t_int *blit_sigperf_a(t_int *w) { - t_float *pinc = (t_float *)(w[1]); - t_blit *x = (t_blit *)(w[2]); - t_float *out = (t_float *)(w[3]); - int n = (int)(w[4]); +void blit_sigperf_a(t_blit *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { + double *pinc = ins[0]; + double *out = outs[0]; + long n = sampleframes; float thresh = x->b_fs; double phase = x->b_phase; @@ -230,15 +223,12 @@ t_int *blit_sigperf_a(t_int *w) { } x->b_phase = phase; - - return (w+5); } -t_int *blit_fltperf_a(t_int *w) { - t_blit *x = (t_blit *)(w[1]); - t_float *out = (t_float *)(w[2]); - int n = (int)(w[3]); +void blit_fltperf_a(t_blit *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { + double *out = outs[0]; + long n = sampleframes; float thresh = x->b_fs; double phase = x->b_phase; float pinc = x->b_pinc; @@ -256,8 +246,6 @@ t_int *blit_fltperf_a(t_int *w) { } x->b_phase = phase; - - return (w+4); } void blit_sincGen(t_blit *x) { @@ -303,21 +291,26 @@ void blit_winGen(double *win, long N) { } } -void blit_dsp(t_blit *x, t_signal **sp, short *count) +void blit_dsp64(t_blit *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags) { - x->b_fs = sys_getsr(); + x->b_fs = samplerate; x->b_phase = 0; if (count[0]) { // perform signal based frequency update - if (x->b_bandlimit) - dsp_add(blit_sigperf, 4, sp[0]->s_vec, x, sp[1]->s_vec, sp[0]->s_n); - else - dsp_add(blit_sigperf_a, 4, sp[0]->s_vec, x, sp[1]->s_vec, sp[0]->s_n); + if (x->b_bandlimit) { + object_method(dsp64, gensym("dsp_add64"), x, blit_sigperf, 0, NULL); + } + else { + object_method(dsp64, gensym("dsp_add64"), x, blit_sigperf_a, 0, NULL); + } + } else { //perform interrupt based frequency update - if (x->b_bandlimit) - dsp_add(blit_fltperf, 3, x, sp[1]->s_vec, sp[1]->s_n); - else - dsp_add(blit_fltperf_a, 3, x, sp[1]->s_vec, sp[1]->s_n); + if (x->b_bandlimit) { + object_method(dsp64, gensym("dsp_add64"), x, blit_fltperf, 0, NULL); + } + else { + object_method(dsp64, gensym("dsp_add64"), x, blit_fltperf_a, 0, NULL); + } } } @@ -362,7 +355,7 @@ void *blit_new(t_symbol *s, long argc, t_atom *argv) { t_blit *x = NULL; - if (x = (t_blit *)object_alloc(blit_class)) { + if ((x = (t_blit *)object_alloc(blit_class))) { dsp_setup((t_pxobject *)x,1); outlet_new((t_pxobject *)x, "signal"); From f9273e152508b4c1d89be703c69540649c507d65 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 17:43:24 +0200 Subject: [PATCH 06/12] working pitch --- .../projects/mbc.pitch_tilde/CMakeLists.txt | 5 ++- source/projects/mbc.pitch_tilde/mbc.pitch~.c | 35 ++++++++----------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/source/projects/mbc.pitch_tilde/CMakeLists.txt b/source/projects/mbc.pitch_tilde/CMakeLists.txt index 3af3a99..8357b6b 100644 --- a/source/projects/mbc.pitch_tilde/CMakeLists.txt +++ b/source/projects/mbc.pitch_tilde/CMakeLists.txt @@ -20,5 +20,8 @@ add_library( MODULE ${PROJECT_SRC} ) +find_library(ACCELERATE Accelerate REQUIRED) +target_link_libraries(${PROJECT_NAME} PUBLIC ${ACCELERATE}) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) diff --git a/source/projects/mbc.pitch_tilde/mbc.pitch~.c b/source/projects/mbc.pitch_tilde/mbc.pitch~.c index 4d992ff..894c946 100755 --- a/source/projects/mbc.pitch_tilde/mbc.pitch~.c +++ b/source/projects/mbc.pitch_tilde/mbc.pitch~.c @@ -42,7 +42,7 @@ typedef struct _pitch int p_inframe_idx; //current inframe buffer index int p_hop_idx; //hop index long p_v_size; //vector size - float p_fs; //sampling rate + double p_fs; //sampling rate int p_maxnfft; //fft length int p_log2nfft; //log2(fft length) float p_thresh; //detection threshold @@ -64,8 +64,8 @@ void pitch_free(t_pitch *x); void pitch_free_arrays(t_pitch *x); void pitch_assist(t_pitch *x, void *b, long m, long a, char *s); -void pitch_dsp(t_pitch *x, t_signal **sp, short *count); -t_int *pitch_perform(t_int *w); +void pitch_dsp64(t_pitch *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags); +void pitch_perform(t_pitch *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); void pitch_init(t_pitch *x); void pitch_thresh(t_pitch *x, double thresh); void pitch_frame_rate(t_pitch *x, double thresh); @@ -74,7 +74,7 @@ void pitch_frame_rate(t_pitch *x, double thresh); void *pitch_class; -int main(void) +void ext_main(void *r) { // object initialization, note the use of dsp_free for the freemethod, which is required // unless you need to free allocated memory, in which case you should call dsp_free from @@ -94,7 +94,7 @@ int main(void) c = class_new("mbc.pitch~", (method)pitch_new, (method)pitch_free, (long)sizeof(t_pitch), 0L, A_GIMME, 0); - class_addmethod(c, (method)pitch_dsp, "dsp", A_CANT, 0); + class_addmethod(c, (method)pitch_dsp64, "dsp64", A_CANT, 0); class_addmethod(c, (method)pitch_assist, "assist", A_CANT, 0); class_addmethod(c, (method)pitch_thresh, "thresh", A_FLOAT,0); class_addmethod(c, (method)pitch_frame_rate, "frame_rate",A_FLOAT,0); @@ -102,14 +102,11 @@ int main(void) class_dspinit(c); // new style object version of dsp_initclass(); class_register(CLASS_BOX, c); // register class as a box class pitch_class = c; - - return 0; } -t_int *pitch_perform(t_int *w) { - t_float *in = (t_float *)(w[1]); - t_pitch *x = (t_pitch *) (w[2]); - int n = (int)(w[3]); +void pitch_perform(t_pitch *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { + double *in = ins[0]; + long n = sampleframes; int length = x->p_frame_size; int hop_size = x->p_hop_size; int log2nfft = NLOG2(2*length); @@ -255,19 +252,17 @@ t_int *pitch_perform(t_int *w) { x->p_inframe_idx = inframeidx; x->p_hop_idx = hopidx; - - return (w+4); } -void pitch_dsp(t_pitch *x, t_signal **sp, short *count) +void pitch_dsp64(t_pitch *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags) { - if (sp[0]->s_n != x->p_v_size || sp[0]->s_sr != x->p_fs) { - x->p_v_size = sp[0]->s_n; - x->p_fs = sp[0]->s_sr; + if (maxvectorsize != x->p_v_size || samplerate != x->p_fs) { + x->p_v_size = maxvectorsize; + x->p_fs = samplerate; pitch_init(x); } - - dsp_add(pitch_perform, 3, sp[0]->s_vec, x, sp[0]->s_n); + + object_method(dsp64, gensym("dsp_add64"), x, pitch_perform, 0, NULL); } void pitch_assist(t_pitch *x, void *b, long msg, long arg, char *dst) @@ -387,7 +382,7 @@ void *pitch_new(t_symbol *s, long argc, t_atom *argv) { t_pitch *x = NULL; - if (x = (t_pitch *)object_alloc(pitch_class)) { + if ((x = (t_pitch *)object_alloc(pitch_class))) { dsp_setup((t_pxobject *)x,1); x->p_clarityOut = floatout(x); x->p_freqOut = floatout(x); From 43740bcc5e3b3c1d5f64eebff2e37b5f7c6c72d0 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 18:01:26 +0200 Subject: [PATCH 07/12] errfilt working --- .../projects/mbc.errfilt_tilde/CMakeLists.txt | 5 +- source/projects/mbc.errfilt_tilde/errfilt~.c | 67 ++++++++++--------- 2 files changed, 38 insertions(+), 34 deletions(-) diff --git a/source/projects/mbc.errfilt_tilde/CMakeLists.txt b/source/projects/mbc.errfilt_tilde/CMakeLists.txt index 3af3a99..7dadaf4 100644 --- a/source/projects/mbc.errfilt_tilde/CMakeLists.txt +++ b/source/projects/mbc.errfilt_tilde/CMakeLists.txt @@ -21,4 +21,7 @@ add_library( ${PROJECT_SRC} ) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file +find_library(ACCELERATE Accelerate REQUIRED) +target_link_libraries(${PROJECT_NAME} PUBLIC ${ACCELERATE}) + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) diff --git a/source/projects/mbc.errfilt_tilde/errfilt~.c b/source/projects/mbc.errfilt_tilde/errfilt~.c index 82a4eff..7a0418c 100755 --- a/source/projects/mbc.errfilt_tilde/errfilt~.c +++ b/source/projects/mbc.errfilt_tilde/errfilt~.c @@ -32,17 +32,19 @@ void *errfilt_new(int order, float interp); void errfilt_free(t_errfilt *x); void errfilt_assist(t_errfilt *x, void *b, long m, long a, char *s); -void errfilt_dsp(t_errfilt *x, t_signal **sp, short *count); + +void errfilt_dsp64(t_errfilt *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags); void errfilt_interp(t_errfilt *x, float interp); void errfilt_order(t_errfilt *x, int order); void errfilt_init(t_errfilt *x); void errfilt_clear(t_errfilt *x); -t_int *errfilt_perf_coeff(t_int *w); +void errfilt_perf_coeff(t_errfilt *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); + //////////////////////// global class pointer variable void *errfilt_class; -int main(void) +void ext_main(void *r) { // object initialization, note the use of dsp_free for the freemethod, which is required // unless you need to free allocated memory, in which case you should call dsp_free from @@ -62,7 +64,7 @@ int main(void) c = class_new("mbc.errfilt~", (method)errfilt_new, (method)errfilt_free, (long)sizeof(t_errfilt), 0L, A_DEFLONG, A_DEFFLOAT, 0); - class_addmethod(c, (method)errfilt_dsp, "dsp", A_CANT, 0); + class_addmethod(c, (method)errfilt_dsp64, "dsp64", A_CANT, 0); class_addmethod(c, (method)errfilt_interp,"interp",A_DEFFLOAT,0); class_addmethod(c, (method)errfilt_order,"order",A_LONG,0); class_addmethod(c, (method)errfilt_assist,"assist",A_CANT,0); @@ -70,18 +72,16 @@ int main(void) class_dspinit(c); // new style object version of dsp_initclass(); class_register(CLASS_BOX, c); // register class as a box class errfilt_class = c; - - return 0; } -t_int *errfilt_perf_coeff(t_int *w) +void errfilt_perf_coeff(t_errfilt *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { - t_float *in = (t_float *)(w[1]); - t_float *coeffIn = (t_float *)(w[2]); - t_float *coeffIdxIn = (t_float *)(w[3]); - t_errfilt *x = (t_errfilt *)(w[4]); - t_float *out = (t_float *)(w[5]); - int n = (int)(w[6]); + double *in = ins[0]; + double *coeffIn = ins[1]; + double *coeffIdxIn = ins[2]; + + double *out = outs[0]; + int n = sampleframes; int order = x->a_order; int i, in_idx = 0, out_idx = 0; t_float val = 0.0; @@ -94,7 +94,7 @@ t_int *errfilt_perf_coeff(t_int *w) } in_idx = 0; - n = (int)(w[6]); + n = sampleframes; //look at coefficient index, if not zeros, buffer in coefficients while (n--) { @@ -109,7 +109,7 @@ t_int *errfilt_perf_coeff(t_int *w) in_idx++; } - n = (int)(w[6]); + n = sampleframes; while (n--) { val = in[out_idx]; @@ -123,17 +123,15 @@ t_int *errfilt_perf_coeff(t_int *w) out[out_idx] = (float)val; out_idx++; } - - return (w+7); } void errfilt_init(t_errfilt *x) { - x->a_b = (t_float *) getbytes16( MAX_ORDER * sizeof(t_float)); + x->a_b = (t_float *) getbytes( MAX_ORDER * sizeof(t_float)); x->a_bBuff = (t_float *) getbytes( MAX_ORDER * sizeof(t_float)); - x->a_x = (t_float *) getbytes16( MAX_ORDER * sizeof(t_float)); + x->a_x = (t_float *) getbytes( MAX_ORDER * sizeof(t_float)); x->a_A = (t_float *) getbytes( MAX_ORDER * sizeof(t_float)); - x->a_tempVec = (t_float *) getbytes16( MAX_ORDER * sizeof(t_float)); + x->a_tempVec = (t_float *) getbytes( MAX_ORDER * sizeof(t_float)); errfilt_clear(x); } @@ -167,16 +165,19 @@ void errfilt_order(t_errfilt *x, int order) { // this function is called when the DAC is enabled, and "registers" a function // for the signal chain. in this case, "errfilt_perform" -void errfilt_dsp(t_errfilt *x, t_signal **sp, short *count) +void errfilt_dsp64(t_errfilt *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags) { - // dsp_add - // 1: (t_perfroutine p) perform method - // 2: (long argc) number of args to your perform method - // 3...: argc additional arguments, all must be sizeof(pointer) or long - // these can be whatever, so you might want to include your object pointer in there - // so that you have access to the info, if you need it. - - dsp_add(errfilt_perf_coeff, 6, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, x, sp[3]->s_vec, sp[0]->s_n); + + // instead of calling dsp_add(), we send the "dsp_add64" message to the object representing the dsp chain + // the arguments passed are: + // 1: the dsp64 object passed-in by the calling + // 2: the symbol of the "dsp_add64" message we are sending + // 3: a pointer to your object + // 4: a pointer to your 64-bit perform method + // 5: flags to alter how the signal chain handles your object -- just pass 0 + // 6: a generic pointer that you can use to pass any additional data to your perform method + + object_method(dsp64, gensym("dsp_add64"), x, errfilt_perf_coeff, 0, NULL); } void errfilt_assist(t_errfilt *x, void *b, long m, long a, char *s) @@ -195,11 +196,11 @@ void errfilt_assist(t_errfilt *x, void *b, long m, long a, char *s) void errfilt_free(t_errfilt *x) { dsp_free((t_pxobject *) x); - freebytes16((char *)x->a_b, MAX_ORDER * sizeof(t_float)); + freebytes((char *)x->a_b, MAX_ORDER * sizeof(t_float)); freebytes(x->a_bBuff, MAX_ORDER * sizeof(t_float)); - freebytes16((char *)x->a_x, MAX_ORDER * sizeof(t_float)); + freebytes((char *)x->a_x, MAX_ORDER * sizeof(t_float)); freebytes(x->a_A, MAX_ORDER * sizeof(t_float)); - freebytes16((char *)x->a_tempVec, MAX_ORDER * sizeof(t_float)); + freebytes((char *)x->a_tempVec, MAX_ORDER * sizeof(t_float)); } void *errfilt_new(int order, float interp) @@ -212,7 +213,7 @@ void *errfilt_new(int order, float interp) return NULL; } - if (x = (t_errfilt *)object_alloc(errfilt_class)) + if ((x = (t_errfilt *)object_alloc(errfilt_class))) { dsp_setup((t_pxobject *)x,3); outlet_new(x, "signal"); From 38f1652de7fa7c65220bdef921eab4c80a166ff2 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 18:10:37 +0200 Subject: [PATCH 08/12] working lpc --- source/projects/mbc.lpc_tilde/CMakeLists.txt | 4 +- source/projects/mbc.lpc_tilde/mbc.lpc~.c | 45 +++++++++----------- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/source/projects/mbc.lpc_tilde/CMakeLists.txt b/source/projects/mbc.lpc_tilde/CMakeLists.txt index 3af3a99..dc643ec 100644 --- a/source/projects/mbc.lpc_tilde/CMakeLists.txt +++ b/source/projects/mbc.lpc_tilde/CMakeLists.txt @@ -20,5 +20,7 @@ add_library( MODULE ${PROJECT_SRC} ) +find_library(ACCELERATE Accelerate REQUIRED) +target_link_libraries(${PROJECT_NAME} PUBLIC ${ACCELERATE}) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) diff --git a/source/projects/mbc.lpc_tilde/mbc.lpc~.c b/source/projects/mbc.lpc_tilde/mbc.lpc~.c index 66ce03d..db3a479 100755 --- a/source/projects/mbc.lpc_tilde/mbc.lpc~.c +++ b/source/projects/mbc.lpc_tilde/mbc.lpc~.c @@ -46,7 +46,7 @@ typedef struct _lpc int l_inframe_idx; //current inframe buffer index int l_outframe_idx; //current outframe buffer index long l_v_size; //vector size - float l_fs; //sampling rate + double l_fs; //sampling rate int l_maxnfft; //fft length int l_log2nfft; //log2(fft length) FFTSetup l_fftsetup; //FFTSetup for vDSP FFT functions @@ -60,8 +60,8 @@ void lpc_free(t_lpc *x); void lpc_free_arrays(t_lpc *x); void lpc_assist(t_lpc *x, void *b, long m, long a, char *s); -void lpc_dsp(t_lpc *x, t_signal **sp, short *count); -t_int *lpc_perform(t_int *w); +void lpc_dsp64(t_lpc *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags); +void lpc_perform(t_lpc *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); void lpc_order(t_lpc *x, int n); void lpc_preemph(t_lpc *x, int n); @@ -74,7 +74,7 @@ void lpc_bartlett(t_lpc *x); void *lpc_class; -int main(void) +void ext_main(void *r) { // object initialization, note the use of dsp_free for the freemethod, which is required // unless you need to free allocated memory, in which case you should call dsp_free from @@ -94,7 +94,7 @@ int main(void) c = class_new("mbc.lpc~", (method)lpc_new, (method)lpc_free, (long)sizeof(t_lpc), 0L, A_DEFLONG, A_DEFLONG, A_DEFLONG, 0); //arglist: order, framerate, preemph - class_addmethod(c, (method)lpc_dsp, "dsp", A_CANT, 0); + class_addmethod(c, (method)lpc_dsp64, "dsp64", A_CANT, 0); class_addmethod(c, (method)lpc_order,"order",A_DEFLONG,0); class_addmethod(c, (method)lpc_preemph,"preemph",A_DEFLONG,0); class_addmethod(c, (method)lpc_assist,"assist",A_CANT,0); @@ -102,20 +102,17 @@ int main(void) class_dspinit(c); // new style object version of dsp_initclass(); class_register(CLASS_BOX, c); // register class as a box class lpc_class = c; - - return 0; } -t_int *lpc_perform(t_int *w) +void lpc_perform(t_lpc *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { - t_lpc *x = (t_lpc *) (w[1]); - t_float *in = (t_float *)(w[2]); - t_float *out_error = (t_float *)(w[3]); - t_float *out_gain = (t_float *)(w[4]); - t_float *out_coeff = (t_float *)(w[5]); - t_float *out_parcor = (t_float *)(w[6]); - t_float *out_index = (t_float *)(w[7]); - int n = (int)(w[8]); + double *in = ins[0]; + double *out_error = outs[0]; + double *out_gain = outs[1]; + double *out_coeff = outs[2]; + double *out_parcor = outs[3]; + double *out_index = outs[4]; + long n = sampleframes; int p = x->l_order; int length = x->l_frame_size; int log2nfft = NLOG2(length+p+1); @@ -139,7 +136,7 @@ t_int *lpc_perform(t_int *w) x->l_x1 = val; in_idx++; } - n = (int)(w[8]); + n = sampleframes; in_idx = 0; } @@ -296,19 +293,17 @@ t_int *lpc_perform(t_int *w) x->l_inframe_idx = inframeidx; x->l_outframe_idx = outframeidx; - - return (w+9); } -void lpc_dsp(t_lpc *x, t_signal **sp, short *count) +void lpc_dsp64(t_lpc *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags) { - if (sp[0]->s_n != x->l_v_size || sp[0]->s_sr != x->l_fs) { - x->l_v_size = sp[0]->s_n; - x->l_fs = sp[0]->s_sr; + if (maxvectorsize != x->l_v_size || samplerate != x->l_fs) { + x->l_v_size = maxvectorsize; + x->l_fs = samplerate; lpc_init(x); } - dsp_add(lpc_perform, 8, x, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, sp[4]->s_vec, sp[5]->s_vec, sp[0]->s_n); + object_method(dsp64, gensym("dsp_add64"), x, lpc_perform, 0, NULL); } void lpc_assist(t_lpc *x, void *b, long msg, long arg, char *dst) @@ -514,7 +509,7 @@ void *lpc_new(long order, long framerate, long preemph) framerate = DEFAULT_FRAMERATE; } - if (x = (t_lpc *)object_alloc(lpc_class)) { + if ((x = (t_lpc *)object_alloc(lpc_class))) { dsp_setup((t_pxobject *)x,1); outlet_new((t_pxobject *)x, "signal"); outlet_new((t_pxobject *)x, "signal"); From 4ece6a3f2338d1b7ea4f4317afa13bec0a672dc4 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 18:32:45 +0200 Subject: [PATCH 09/12] working allpole - can't verify e2e yet --- .../projects/mbc.allpole_tilde/CMakeLists.txt | 5 +- .../projects/mbc.allpole_tilde/mbc.allpole~.c | 93 +++++++++---------- 2 files changed, 47 insertions(+), 51 deletions(-) diff --git a/source/projects/mbc.allpole_tilde/CMakeLists.txt b/source/projects/mbc.allpole_tilde/CMakeLists.txt index 3af3a99..8357b6b 100644 --- a/source/projects/mbc.allpole_tilde/CMakeLists.txt +++ b/source/projects/mbc.allpole_tilde/CMakeLists.txt @@ -20,5 +20,8 @@ add_library( MODULE ${PROJECT_SRC} ) +find_library(ACCELERATE Accelerate REQUIRED) +target_link_libraries(${PROJECT_NAME} PUBLIC ${ACCELERATE}) -include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) \ No newline at end of file + +include(${CMAKE_CURRENT_SOURCE_DIR}/../../max-sdk-base/script/max-posttarget.cmake) diff --git a/source/projects/mbc.allpole_tilde/mbc.allpole~.c b/source/projects/mbc.allpole_tilde/mbc.allpole~.c index 89e4953..f4293b6 100755 --- a/source/projects/mbc.allpole_tilde/mbc.allpole~.c +++ b/source/projects/mbc.allpole_tilde/mbc.allpole~.c @@ -38,8 +38,8 @@ typedef struct _allpole long a_order; long a_deemph; int a_coeffType; //type of coeffecients: CT_PARCOR,CT_FILTER,CT_AREA - float a_fs; //sampling rate - int a_vsize; //vector size + double a_fs; //sampling rate + long a_vsize; //vector size } t_allpole; enum coeffTypes @@ -57,11 +57,11 @@ void allpole_assist(t_allpole *x, void *b, long m, long a, char *s); void allpole_float(t_allpole *x, double f); -void allpole_dsp(t_allpole *x, t_signal **sp, short *count); +void allpole_dsp64(t_allpole *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags); //t_int *allpole_perf_filter(t_int *w); //t_int *allpole_perf_area(t_int *w); -t_int *allpole_perf_parcor(t_int *w); -t_int *allpole_perf_parcorI(t_int *w); +void allpole_perf_parcor(t_allpole *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); +void allpole_perf_parcorI(t_allpole *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); //t_int *allpole_perf_filterI(t_int *w); //t_int *allpole_perf_areaI(t_int *w); void allpole_interp(t_allpole *x, t_floatarg interp); @@ -71,15 +71,15 @@ void allpole_init(t_allpole *x); void allpole_free(t_allpole *x); void allpole_free_arrays(t_allpole *x); void allpole_clear(t_allpole *x); -inline void allpole_highOrdFilter(t_allpole* x, int N, int order, t_float* in, t_float* out); -inline void allpole_solveForFiltCoefs(t_allpole* x, int order); -inline void allpole_deemphFilter(t_allpole *x, int N, float* vec); +static void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out); +static void allpole_solveForFiltCoefs(t_allpole* x, int order); +static void allpole_deemphFilter(t_allpole *x, int N, double* vec); //////////////////////// global class pointer variable void *allpole_class; -int main(void) +void ext_main(void *r) { // object initialization, note the use of dsp_free for the freemethod, which is required // unless you need to free allocated memory, in which case you should call dsp_free from @@ -99,7 +99,7 @@ int main(void) c = class_new("mbc.allpole~", (method)allpole_new, (method)allpole_free, (long)sizeof(t_allpole), 0L, A_GIMME, 0); - class_addmethod(c, (method)allpole_dsp, "dsp", A_CANT, 0); + class_addmethod(c, (method)allpole_dsp64, "dsp64", A_CANT, 0); class_addmethod(c, (method)allpole_interp,"interp",A_DEFFLOAT,0); class_addmethod(c, (method)allpole_order,"order",A_DEFLONG,0); class_addmethod(c, (method)allpole_clear,"clear",0); @@ -109,8 +109,6 @@ int main(void) class_dspinit(c); // new style object version of dsp_initclass(); class_register(CLASS_BOX, c); // register class as a box class allpole_class = c; - - return 0; } //perform for FILTER COEFFICIENTS, INTERPOLATION OFF @@ -180,15 +178,15 @@ int main(void) }*/ //perform for PARCOR COEFFICIENTS, INTERPOLATION OFF -t_int *allpole_perf_parcor(t_int *w) +void allpole_perf_parcor(t_allpole *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { - t_float *in = (t_float *)(w[1]); - t_float *coeffIn = (t_float *)(w[2]); - t_float *coeffIdxIn = (t_float *)(w[3]); - t_float *G_n = (t_float *)(w[4]); - t_allpole *x = (t_allpole *)(w[5]); - t_float *out = (t_float *)(w[6]); - int N = (int)(w[7]); + double *in = ins[0]; + double *coeffIn = ins[1]; + double *coeffIdxIn = ins[2]; + double *G_n = ins[3]; + + double *out = outs[0]; + long N = sampleframes; int order = x->a_order; int i, n; @@ -224,19 +222,17 @@ t_int *allpole_perf_parcor(t_int *w) { allpole_deemphFilter(x, N, out); } - - return (w+8); } -t_int *allpole_perf_parcorI(t_int *w) +void allpole_perf_parcorI(t_allpole *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { - t_float *in = (t_float *)(w[1]); - t_float *coeffIn = (t_float *)(w[2]); - t_float *coeffIdxIn = (t_float *)(w[3]); - t_float *G_n = (t_float *)(w[4]); - t_allpole *x = (t_allpole *)(w[5]); - t_float *out = (t_float *)(w[6]); - int N = (int)(w[7]); + double *in = ins[0]; + double *coeffIn = ins[1]; + double *coeffIdxIn = ins[2]; + double *G_n = ins[3]; + + double *out = outs[0]; + int N = sampleframes; int order = x->a_order; int i, n; float interpDiv; //interpolation denominator @@ -289,10 +285,7 @@ t_int *allpole_perf_parcorI(t_int *w) if (x->a_deemph) { allpole_deemphFilter(x, N, out); - } - - - return (w+8); + } } /* @@ -686,10 +679,10 @@ t_int *allpole_perf_parcor(t_int *w) void allpole_init(t_allpole *x) { int i; - x->a_a = (t_mbcfloat *) getbytes16( MAX_ORDER * sizeof(t_mbcfloat)); + x->a_a = (t_mbcfloat *) getbytes( MAX_ORDER * sizeof(t_mbcfloat)); x->a_aBuff = (t_mbcfloat *) getbytes( MAX_ORDER * sizeof(t_mbcfloat)); - x->a_y = (t_mbcfloat *) getbytes16( MAX_ORDER * sizeof(t_mbcfloat)); - x->a_tempVec = (t_mbcfloat *) getbytes16( MAX_ORDER * sizeof(t_mbcfloat)); + x->a_y = (t_mbcfloat *) getbytes( MAX_ORDER * sizeof(t_mbcfloat)); + x->a_tempVec = (t_mbcfloat *) getbytes( MAX_ORDER * sizeof(t_mbcfloat)); x->a_Ar = (t_mbcfloat *) getbytes( MAX_ORDER * sizeof(t_mbcfloat)); x->a_K = (t_mbcfloat *) getbytes( (MAX_ORDER + 1) * sizeof(t_mbcfloat)); x->a_interpCoeff = (t_mbcfloat *) getbytes( (MAX_ORDER + 1) * sizeof(t_mbcfloat)); @@ -712,7 +705,7 @@ void allpole_free_arrays(t_allpole *x) { int i; if (x->a_a) { - freebytes16((char *)x->a_a, MAX_ORDER * sizeof(t_mbcfloat)); + freebytes((char *)x->a_a, MAX_ORDER * sizeof(t_mbcfloat)); x->a_a = NULL; } if (x->a_aBuff) { @@ -720,11 +713,11 @@ void allpole_free_arrays(t_allpole *x) x->a_aBuff = NULL; } if (x->a_y) { - freebytes16((char *)x->a_y, MAX_ORDER * sizeof(t_mbcfloat)); + freebytes((char *)x->a_y, MAX_ORDER * sizeof(t_mbcfloat)); x->a_y = NULL; } if (x->a_tempVec) { - freebytes16((char *)x->a_tempVec, MAX_ORDER * sizeof(t_mbcfloat)); + freebytes((char *)x->a_tempVec, MAX_ORDER * sizeof(t_mbcfloat)); x->a_tempVec = NULL; } if (x->a_Ar) { @@ -781,11 +774,11 @@ void allpole_clear(t_allpole *x) { // this function is called when the DAC is enabled, and "registers" a function // for the signal chain. in this case, "allpole_perform" -void allpole_dsp(t_allpole *x, t_signal **sp, short *count) +void allpole_dsp64(t_allpole *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags) { //NOTE: need to specify parcor, filter, or area perform string !!!!!! - x->a_fs = sp[0]->s_sr; - x->a_vsize = sp[0]->s_n; + x->a_fs = samplerate; + x->a_vsize = maxvectorsize; allpole_clear(x); @@ -796,7 +789,7 @@ void allpole_dsp(t_allpole *x, t_signal **sp, short *count) //break; case CT_PARCOR: - dsp_add(allpole_perf_parcorI, 7, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, x, sp[4]->s_vec, sp[0]->s_n); + object_method(dsp64, gensym("dsp_add64"), x, allpole_perf_parcorI); break; case CT_AREA: @@ -814,7 +807,7 @@ void allpole_dsp(t_allpole *x, t_signal **sp, short *count) //break; case CT_PARCOR: - dsp_add(allpole_perf_parcor, 7, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[3]->s_vec, x, sp[4]->s_vec, sp[0]->s_n); + object_method(dsp64, gensym("dsp_add64"), x, allpole_perf_parcor); break; case CT_AREA: @@ -907,7 +900,7 @@ void *allpole_new(t_symbol *s, long argc, t_atom *argv) return NULL; } - if (x = (t_allpole *)object_alloc(allpole_class)) { + if ((x = (t_allpole *)object_alloc(allpole_class))) { dsp_setup((t_pxobject *)x, 1); // MSP inlets: arg is # of inlets and is REQUIRED! // use 0 if you don't need inlets @@ -981,7 +974,7 @@ void *allpole_new(t_symbol *s, long argc, t_atom *argv) } return (x); } -inline void allpole_deemphFilter(t_allpole *x, int N, float* vec) +void allpole_deemphFilter(t_allpole *x, int N, double* vec) { int n; @@ -997,7 +990,7 @@ inline void allpole_deemphFilter(t_allpole *x, int N, float* vec) x->a_y1 = y1; } -inline void allpole_solveForFiltCoefs(t_allpole* x, int order) +void allpole_solveForFiltCoefs(t_allpole* x, int order) { int i, i1, ji, j; @@ -1023,7 +1016,7 @@ inline void allpole_solveForFiltCoefs(t_allpole* x, int order) } #if defined(MBC_VDSP) -inline void allpole_highOrdFilter(t_allpole* x, int N, int order, t_float* in, t_float* out) +void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out) { int n, i; t_mbcfloat val; @@ -1040,7 +1033,7 @@ inline void allpole_highOrdFilter(t_allpole* x, int N, int order, t_float* in, t } } #else -inline void allpole_highOrdFilter(t_allpole* x, int N, int order, t_float* in, t_float* out) +void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out) { int n, i; t_mbcfloat val; From fb150be4b710800413c5dfe74e2337ea4091f9c4 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Sun, 18 Sep 2022 18:40:05 +0200 Subject: [PATCH 10/12] coeffdisp --- package-info.json.in | 24 +++++++++ .../mbc.coeffDisp_tilde/mbc.coeffDisp~.c | 51 +++++++++---------- 2 files changed, 47 insertions(+), 28 deletions(-) create mode 100644 package-info.json.in diff --git a/package-info.json.in b/package-info.json.in new file mode 100644 index 0000000..ed3d8fe --- /dev/null +++ b/package-info.json.in @@ -0,0 +1,24 @@ +{ + "author" : "Mark Cartwright", + "description" : "A toolkit of Max objects to use real-time linear predictive coding in creative projects.", + "homepatcher" : "lpcToolkitDemo.maxpat", + "max_version_min" : "8.0", "max_version_max" : "none", + "name" : "@C74_PACKAGE_NAME@", + "os" : { + "macintosh" : { + "platform" : [ "x64", "aarch64" ], + "min_version" : "none" + }, + "windows" : { + "platform" : [ "x64" ], + "min_version" : "none" + } + }, + "package_extra" : { + "reverse_domain" : "com.markcartwright", + "copyright" : "Copyright 2010 Mark Cartwright" + }, + "tags" : [ ], + "version" : "@GIT_VERSION_MAJ@.@GIT_VERSION_MIN@.@GIT_VERSION_SUB@", + "website" : "http://www.github.com/mcartwright/LPC-Toolkit" +} diff --git a/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.c b/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.c index 6420b80..63d0229 100755 --- a/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.c +++ b/source/projects/mbc.coeffDisp_tilde/mbc.coeffDisp~.c @@ -37,9 +37,9 @@ void *coeffDisp_new(t_symbol *s, long argc, t_atom *argv); void coeffDisp_free(t_coeffDisp *x); void coeffDisp_assist(t_coeffDisp *x, void *b, long m, long a, char *s); -void coeffDisp_dsp(t_coeffDisp *x, t_signal **sp, short *count); -t_int *coeffDisp_perf_filter(t_int *w); -t_int *coeffDisp_perf_area(t_int *w); +void coeffDisp_dsp64(t_coeffDisp *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags); +void coeffDisp_perf_filter(t_coeffDisp *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); +void coeffDisp_perf_area(t_coeffDisp *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); void coeffDisp_order(t_coeffDisp *x, int order); void coeffDisp_tick(t_coeffDisp *x); void coeffDisp_init(t_coeffDisp *x); @@ -48,7 +48,7 @@ void coeffDisp_clear(t_coeffDisp *x); void *coeffDisp_class; -int main(void) +void ext_main(void *r) { // object initialization, note the use of dsp_free for the freemethod, which is required // unless you need to free allocated memory, in which case you should call dsp_free from @@ -68,24 +68,22 @@ int main(void) c = class_new("mbc.coeffDisp~", (method)coeffDisp_new, (method)coeffDisp_free, (long)sizeof(t_coeffDisp), 0L, A_GIMME, 0); - class_addmethod(c, (method)coeffDisp_dsp, "dsp", A_CANT, 0); + class_addmethod(c, (method)coeffDisp_dsp64, "dsp64", A_CANT, 0); class_addmethod(c, (method)coeffDisp_assist, "assist", A_CANT, 0); class_addmethod(c, (method)coeffDisp_order, "order", A_DEFLONG,0); class_dspinit(c); // new style object version of dsp_initclass(); class_register(CLASS_BOX, c); // register class as a box class coeffDisp_class = c; - - return 0; } -t_int *coeffDisp_perf_filter(t_int *w) +void coeffDisp_perf_filter(t_coeffDisp *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) { - t_float *coeffIn = (t_float *)(w[1]); - t_float *coeffIdxIn = (t_float *)(w[2]); - t_float *G = (t_float *)(w[3]); - t_coeffDisp *x = (t_coeffDisp *)(w[4]); - int n = (int)(w[5]); + double *coeffIn = ins[0]; + double *coeffIdxIn = ins[1]; + double *G = ins[2]; + long n = sampleframes; + int order = x->c_order; int outMax = x->c_outMax; int i, in_idx = 0; @@ -96,7 +94,7 @@ t_int *coeffDisp_perf_filter(t_int *w) } in_idx = 0; - n = (int)(w[5]); + n = sampleframes; //look at coefficient index, if not zeros, buffer in coefficients while (n--) { @@ -120,16 +118,15 @@ t_int *coeffDisp_perf_filter(t_int *w) } in_idx++; } - - return (w+6); } -t_int *coeffDisp_perf_area(t_int *w) //TODO: complete correctly (right now it's the same as coeff) +void coeffDisp_perf_area(t_coeffDisp *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) //TODO: complete correctly (right now it's the same as coeff) { - t_float *coeffIn = (t_float *)(w[1]); - t_float *coeffIdxIn = (t_float *)(w[2]); - t_coeffDisp *x = (t_coeffDisp *)(w[3]); - int n = (int)(w[4]); + double *coeffIn = ins[0]; + double *coeffIdxIn = ins[1]; + double *G = ins[2]; + long n = sampleframes; + int order = x->c_order; int i, in_idx = 0; @@ -139,7 +136,7 @@ t_int *coeffDisp_perf_area(t_int *w) //TODO: complete correctly (right now it's } in_idx = 0; - n = (int)(w[4]); + n = sampleframes; //look at coefficient index, if not zeros, buffer in coefficients while (n--) { @@ -156,8 +153,6 @@ t_int *coeffDisp_perf_area(t_int *w) //TODO: complete correctly (right now it's } in_idx++; } - - return (w+5); } void coeffDisp_tick(t_coeffDisp *x) @@ -191,15 +186,15 @@ void coeffDisp_clear(t_coeffDisp *x) { } } -void coeffDisp_dsp(t_coeffDisp *x, t_signal **sp, short *count) +void coeffDisp_dsp64(t_coeffDisp *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags) { switch (x->c_coeffType) { case CT_FILTER: - dsp_add(coeffDisp_perf_filter, 5, sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, x, sp[0]->s_n); + object_method(dsp64, gensym("dsp_add64"), x, coeffDisp_perf_filter, 0, NULL); break; case CT_AREA: - dsp_add(coeffDisp_perf_area, 4, sp[0]->s_vec, sp[1]->s_vec, x, sp[0]->s_n); + object_method(dsp64, gensym("dsp_add64"), x, coeffDisp_perf_area, 0, NULL); break; default: @@ -260,7 +255,7 @@ void *coeffDisp_new(t_symbol *s, long argc, t_atom *argv) return NULL; } - if (x = (t_coeffDisp *)object_alloc(coeffDisp_class)) { + if ((x = (t_coeffDisp *)object_alloc(coeffDisp_class))) { dsp_setup((t_pxobject *)x,3); x->c_out = listout(x); From f139331d14e3dd40e32dcdbe5584827bd5494ae4 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Mon, 19 Sep 2022 23:57:29 +0200 Subject: [PATCH 11/12] allpole kinda working --- .../projects/mbc.allpole_tilde/mbc.allpole~.c | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/source/projects/mbc.allpole_tilde/mbc.allpole~.c b/source/projects/mbc.allpole_tilde/mbc.allpole~.c index f4293b6..bdc4f5a 100755 --- a/source/projects/mbc.allpole_tilde/mbc.allpole~.c +++ b/source/projects/mbc.allpole_tilde/mbc.allpole~.c @@ -26,8 +26,8 @@ typedef struct _allpole t_mbcfloat* a_aBuff; //filter coeff input buffer t_mbcfloat* a_y; //filter memory t_mbcfloat* a_tempVec; //temporary buff for vector math - float a_a1; //deemph coeff - float a_y1; //deemph filter memory + double a_a1; //deemph coeff + double a_y1; //deemph filter memory t_mbcfloat* a_Ar; //tube areas t_mbcfloat** a_A; //for parcor to coeff conversion t_mbcfloat* a_K; //parcor coefficients @@ -71,9 +71,9 @@ void allpole_init(t_allpole *x); void allpole_free(t_allpole *x); void allpole_free_arrays(t_allpole *x); void allpole_clear(t_allpole *x); -static void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out); -static void allpole_solveForFiltCoefs(t_allpole* x, int order); -static void allpole_deemphFilter(t_allpole *x, int N, double* vec); +static inline void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out); +static inline void allpole_solveForFiltCoefs(t_allpole* x, int order); +static inline void allpole_deemphFilter(t_allpole *x, int N, double* vec); //////////////////////// global class pointer variable void *allpole_class; @@ -192,8 +192,8 @@ void allpole_perf_parcor(t_allpole *x, t_object *dsp64, double **ins, long numin for (n=0; n < N; n++) { - if(IS_NAN_FLOAT(G_n[n])) G_n[n] = 0.0; - if(IS_NAN_FLOAT(coeffIn[n])) coeffIn[n] = 0.0; + if(IS_NAN_DOUBLE(G_n[n])) G_n[n] = 0.0; + if(IS_NAN_DOUBLE(coeffIn[n])) coeffIn[n] = 0.0; } //look at coefficient index, if not zeros, buffer in coefficients @@ -239,8 +239,8 @@ void allpole_perf_parcorI(t_allpole *x, t_object *dsp64, double **ins, long numi for (n=0; n < N; n++) { - if(IS_NAN_FLOAT(G_n[n])) G_n[n] = 0.0; - if(IS_NAN_FLOAT(coeffIn[n])) coeffIn[n] = 0.0; + if(IS_NAN_DOUBLE(G_n[n])) G_n[n] = 0.0; + if(IS_NAN_DOUBLE(coeffIn[n])) coeffIn[n] = 0.0; } //look at coefficient index, if not zeros, buffer in coefficients @@ -974,7 +974,7 @@ void *allpole_new(t_symbol *s, long argc, t_atom *argv) } return (x); } -void allpole_deemphFilter(t_allpole *x, int N, double* vec) +inline void allpole_deemphFilter(t_allpole *x, int N, double* vec) { int n; @@ -990,7 +990,7 @@ void allpole_deemphFilter(t_allpole *x, int N, double* vec) x->a_y1 = y1; } -void allpole_solveForFiltCoefs(t_allpole* x, int order) +inline void allpole_solveForFiltCoefs(t_allpole* x, int order) { int i, i1, ji, j; @@ -1016,7 +1016,7 @@ void allpole_solveForFiltCoefs(t_allpole* x, int order) } #if defined(MBC_VDSP) -void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out) +inline void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out) { int n, i; t_mbcfloat val; @@ -1033,7 +1033,7 @@ void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* o } } #else -void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out) +inline void allpole_highOrdFilter(t_allpole* x, int N, int order, double* in, double* out) { int n, i; t_mbcfloat val; From e73056e1ce8d153d098be4dec0978a065b77add6 Mon Sep 17 00:00:00 2001 From: Stephen Lumenta Date: Tue, 20 Sep 2022 00:10:42 +0200 Subject: [PATCH 12/12] review double usage in allpole --- source/projects/mbc.allpole_tilde/mbc.allpole~.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/projects/mbc.allpole_tilde/mbc.allpole~.c b/source/projects/mbc.allpole_tilde/mbc.allpole~.c index bdc4f5a..3a8ce95 100755 --- a/source/projects/mbc.allpole_tilde/mbc.allpole~.c +++ b/source/projects/mbc.allpole_tilde/mbc.allpole~.c @@ -235,7 +235,7 @@ void allpole_perf_parcorI(t_allpole *x, t_object *dsp64, double **ins, long numi int N = sampleframes; int order = x->a_order; int i, n; - float interpDiv; //interpolation denominator + double interpDiv; //interpolation denominator for (n=0; n < N; n++) { @@ -823,10 +823,10 @@ void allpole_dsp64(t_allpole *x, t_object *dsp64, short *count, double samplerat void allpole_interp(t_allpole *x, t_floatarg interp) { - x->a_interp = (float)interp; + x->a_interp = interp; int i; int order = x->a_order; - float interpDiv; + double interpDiv; switch (x->a_coeffType) { case CT_FILTER: @@ -978,8 +978,8 @@ inline void allpole_deemphFilter(t_allpole *x, int N, double* vec) { int n; - float a1 = x->a_a1; - float y1 = x->a_y1; + double a1 = x->a_a1; + double y1 = x->a_y1; for (n=N; n!=0; n--) {