From b6d655bad82b89bef1b5c0570e23a96dd443cb29 Mon Sep 17 00:00:00 2001 From: airwindows Date: Sun, 4 Apr 2021 21:50:00 -0400 Subject: [PATCH] Mackity --- plugins/LinuxVST/CMakeLists.txt | 1 + plugins/LinuxVST/src/Mackity/Mackity.cpp | 134 + plugins/LinuxVST/src/Mackity/Mackity.h | 72 + plugins/LinuxVST/src/Mackity/MackityProc.cpp | 210 ++ .../AutoPan.pbxindex/categories.pbxbtree | Bin 84 -> 0 bytes .../AutoPan.pbxindex/cdecls.pbxbtree | Bin 323452 -> 0 bytes .../AutoPan.pbxindex/decls.pbxbtree | Bin 326972 -> 0 bytes .../AutoPan.pbxindex/files.pbxbtree | Bin 3808 -> 0 bytes .../AutoPan.pbxindex/imports.pbxbtree | Bin 10652 -> 0 bytes .../AutoPan.pbxindex/pbxindex.header | Bin 24 -> 0 bytes .../AutoPan.pbxindex/protocols.pbxbtree | Bin 84 -> 0 bytes .../AutoPan.pbxindex/refs.pbxbtree | Bin 241292 -> 0 bytes .../strings.pbxstrings/control | Bin 524308 -> 0 bytes .../strings.pbxstrings/strings | Bin 713617 -> 0 bytes .../AutoPan.pbxindex/subclasses.pbxbtree | Bin 824 -> 0 bytes .../AutoPan.pbxindex/symbols0.pbxsymbols | Bin 1199800 -> 0 bytes .../Release/AutoPan.build/AutoPan.dep | 118 - .../Release/AutoPan.build/AutoPan.hmap | Bin 5354 -> 0 bytes .../Release/AutoPan.build/AutoPan~.dep | 59 - .../Objects-normal/i386/AUBase.o | Bin 62760 -> 0 bytes .../Objects-normal/i386/AUBaseHelper.o | Bin 2216 -> 0 bytes .../Objects-normal/i386/AUBuffer.o | Bin 3596 -> 0 bytes .../Objects-normal/i386/AUDebugDispatcher.o | Bin 288 -> 0 bytes .../Objects-normal/i386/AUDispatch.o | Bin 5324 -> 0 bytes .../Objects-normal/i386/AUEffectBase.o | Bin 19796 -> 0 bytes .../Objects-normal/i386/AUInputElement.o | Bin 7552 -> 0 bytes .../Objects-normal/i386/AUOutputElement.o | Bin 5484 -> 0 bytes .../Objects-normal/i386/AUScopeElement.o | Bin 24616 -> 0 bytes .../AutoPan.build/Objects-normal/i386/AutoPan | Bin 109912 -> 0 bytes .../i386/AutoPan-1DB483EC8D75827.o | Bin 15900 -> 0 bytes .../Objects-normal/i386/AutoPan.LinkFileList | 16 - .../Objects-normal/i386/CAAUParameter.o | Bin 8912 -> 0 bytes .../i386/CAAudioChannelLayout.o | Bin 3452 -> 0 bytes .../Objects-normal/i386/CAMutex.o | Bin 4332 -> 0 bytes .../i386/CAStreamBasicDescription.o | Bin 8332 -> 0 bytes .../Objects-normal/i386/CAVectorUnit.o | Bin 1340 -> 0 bytes .../Objects-normal/i386/ComponentBase.o | Bin 4300 -> 0 bytes .../AutoPan.build/Objects-normal/ppc/AUBase.o | Bin 73140 -> 0 bytes .../Objects-normal/ppc/AUBaseHelper.o | Bin 2664 -> 0 bytes .../Objects-normal/ppc/AUBuffer.o | Bin 4340 -> 0 bytes .../Objects-normal/ppc/AUDebugDispatcher.o | Bin 356 -> 0 bytes .../Objects-normal/ppc/AUDispatch.o | Bin 6360 -> 0 bytes .../Objects-normal/ppc/AUEffectBase.o | Bin 22368 -> 0 bytes .../Objects-normal/ppc/AUInputElement.o | Bin 9176 -> 0 bytes .../Objects-normal/ppc/AUOutputElement.o | Bin 6632 -> 0 bytes .../Objects-normal/ppc/AUScopeElement.o | Bin 29532 -> 0 bytes .../AutoPan.build/Objects-normal/ppc/AutoPan | Bin 110348 -> 0 bytes .../ppc/AutoPan-1DB483EC8D75827.o | Bin 20448 -> 0 bytes .../ppc/AutoPan-1DB483EC8D75827.o~$ | Bin 20448 -> 0 bytes .../ppc/AutoPan-1DB483EC8D75827.o~> | 0 .../ppc/AutoPan-1DB483EC8D75827.o~? | Bin 36 -> 0 bytes .../Objects-normal/ppc/AutoPan.LinkFileList | 16 - .../Objects-normal/ppc/CAAUParameter.o | Bin 10844 -> 0 bytes .../Objects-normal/ppc/CAAudioChannelLayout.o | Bin 4512 -> 0 bytes .../Objects-normal/ppc/CAMutex.o | Bin 5376 -> 0 bytes .../ppc/CAStreamBasicDescription.o | Bin 10324 -> 0 bytes .../Objects-normal/ppc/CAVectorUnit.o | Bin 1520 -> 0 bytes .../Objects-normal/ppc/ComponentBase.o | Bin 5080 -> 0 bytes .../Objects-normal/x86_64/AUBase.o | Bin 63236 -> 0 bytes .../Objects-normal/x86_64/AUBaseHelper.o | Bin 2300 -> 0 bytes .../Objects-normal/x86_64/AUBuffer.o | Bin 3748 -> 0 bytes .../Objects-normal/x86_64/AUDebugDispatcher.o | Bin 344 -> 0 bytes .../Objects-normal/x86_64/AUDispatch.o | Bin 4456 -> 0 bytes .../Objects-normal/x86_64/AUEffectBase.o | Bin 20844 -> 0 bytes .../Objects-normal/x86_64/AUInputElement.o | Bin 7848 -> 0 bytes .../Objects-normal/x86_64/AUOutputElement.o | Bin 5712 -> 0 bytes .../Objects-normal/x86_64/AUScopeElement.o | Bin 25916 -> 0 bytes .../Objects-normal/x86_64/AutoPan | Bin 112584 -> 0 bytes .../x86_64/AutoPan-1DB483EC8D75827.o | Bin 16628 -> 0 bytes .../x86_64/AutoPan.LinkFileList | 16 - .../Objects-normal/x86_64/CAAUParameter.o | Bin 9460 -> 0 bytes .../x86_64/CAAudioChannelLayout.o | Bin 3652 -> 0 bytes .../Objects-normal/x86_64/CAMutex.o | Bin 4556 -> 0 bytes .../x86_64/CAStreamBasicDescription.o | Bin 9476 -> 0 bytes .../Objects-normal/x86_64/CAVectorUnit.o | Bin 1284 -> 0 bytes .../Objects-normal/x86_64/ComponentBase.o | Bin 4836 -> 0 bytes .../ResourceManagerResources/AutoPan.rsrc | Bin 532 -> 0 bytes .../Objects/AutoPan-F2DE06932BC77829.rsrc | Bin 532 -> 0 bytes .../Release/AutoPan.build/build-state.dat | 1984 --------------- .../Release/AutoPan.build/build-state~.dat | 1578 ------------ .../AutoPan.component/Contents/MacOS/AutoPan | Bin 337864 -> 0 bytes .../AutoPan.component/Contents/PkgInfo | 1 - .../Contents/Resources/AutoPan.rsrc | Bin 532 -> 0 bytes .../Resources/English.lproj/InfoPlist.strings | Bin 372 -> 0 bytes .../build-state.dat | 868 ------- .../«PROJECTNAMEASIDENTIFIER».dep | 43 - .../StarterAU.pbxindex/categories.pbxbtree | Bin 84 -> 0 bytes .../StarterAU.pbxindex/cdecls.pbxbtree | Bin 323184 -> 0 bytes .../StarterAU.pbxindex/decls.pbxbtree | Bin 325772 -> 0 bytes .../StarterAU.pbxindex/files.pbxbtree | Bin 3892 -> 0 bytes .../StarterAU.pbxindex/imports.pbxbtree | Bin 10476 -> 0 bytes .../StarterAU.pbxindex/pbxindex.header | Bin 24 -> 0 bytes .../StarterAU.pbxindex/protocols.pbxbtree | Bin 84 -> 0 bytes .../StarterAU.pbxindex/refs.pbxbtree | Bin 245972 -> 0 bytes .../strings.pbxstrings/control | Bin 524308 -> 0 bytes .../strings.pbxstrings/strings | Bin 713731 -> 0 bytes .../StarterAU.pbxindex/subclasses.pbxbtree | Bin 752 -> 0 bytes .../StarterAU.pbxindex/symbols0.pbxsymbols | Bin 1192672 -> 0 bytes .../AverMatrix.pbxindex/categories.pbxbtree | Bin 84 -> 0 bytes .../AverMatrix.pbxindex/cdecls.pbxbtree | Bin 323316 -> 0 bytes .../AverMatrix.pbxindex/decls.pbxbtree | Bin 327108 -> 0 bytes .../AverMatrix.pbxindex/files.pbxbtree | Bin 3808 -> 0 bytes .../AverMatrix.pbxindex/imports.pbxbtree | Bin 10652 -> 0 bytes .../AverMatrix.pbxindex/pbxindex.header | Bin 24 -> 0 bytes .../AverMatrix.pbxindex/protocols.pbxbtree | Bin 84 -> 0 bytes .../AverMatrix.pbxindex/refs.pbxbtree | Bin 241292 -> 0 bytes .../strings.pbxstrings/control | Bin 524308 -> 0 bytes .../strings.pbxstrings/strings | Bin 713626 -> 0 bytes .../AverMatrix.pbxindex/subclasses.pbxbtree | Bin 824 -> 0 bytes .../AverMatrix.pbxindex/symbols0.pbxsymbols | Bin 1196304 -> 0 bytes .../christopherjohnson.pbxuser | 40 +- .../christopherjohnson.perspectivev3 | 30 +- .../categories.pbxbtree | Bin 84 -> 0 bytes .../Console7Cascade.pbxindex/cdecls.pbxbtree | Bin 323452 -> 0 bytes .../Console7Cascade.pbxindex/decls.pbxbtree | Bin 326972 -> 0 bytes .../Console7Cascade.pbxindex/files.pbxbtree | Bin 3808 -> 0 bytes .../Console7Cascade.pbxindex/imports.pbxbtree | Bin 10652 -> 0 bytes .../Console7Cascade.pbxindex/pbxindex.header | Bin 24 -> 0 bytes .../protocols.pbxbtree | Bin 84 -> 0 bytes .../Console7Cascade.pbxindex/refs.pbxbtree | Bin 241292 -> 0 bytes .../strings.pbxstrings/control | Bin 524308 -> 0 bytes .../strings.pbxstrings/strings | Bin 713563 -> 0 bytes .../subclasses.pbxbtree | Bin 824 -> 0 bytes .../symbols0.pbxsymbols | Bin 1198120 -> 0 bytes .../christopherjohnson.pbxuser | 38 +- .../christopherjohnson.perspectivev3 | 23 +- .../Distortion.pbxindex/categories.pbxbtree | Bin 84 -> 0 bytes .../Distortion.pbxindex/cdecls.pbxbtree | Bin 323452 -> 0 bytes .../Distortion.pbxindex/decls.pbxbtree | Bin 327108 -> 0 bytes .../Distortion.pbxindex/files.pbxbtree | Bin 3808 -> 0 bytes .../Distortion.pbxindex/imports.pbxbtree | Bin 10652 -> 0 bytes .../Distortion.pbxindex/pbxindex.header | Bin 24 -> 0 bytes .../Distortion.pbxindex/protocols.pbxbtree | Bin 84 -> 0 bytes .../Distortion.pbxindex/refs.pbxbtree | Bin 241812 -> 0 bytes .../strings.pbxstrings/control | Bin 524308 -> 0 bytes .../strings.pbxstrings/strings | Bin 713740 -> 0 bytes .../Distortion.pbxindex/subclasses.pbxbtree | Bin 824 -> 0 bytes .../Distortion.pbxindex/symbols0.pbxsymbols | Bin 1196960 -> 0 bytes .../christopherjohnson.pbxuser | 45 +- .../christopherjohnson.perspectivev3 | 37 +- .../Galactic.pbxindex/categories.pbxbtree | Bin 84 -> 0 bytes .../Galactic.pbxindex/cdecls.pbxbtree | Bin 323588 -> 0 bytes .../Galactic.pbxindex/decls.pbxbtree | Bin 327516 -> 0 bytes .../Galactic.pbxindex/files.pbxbtree | Bin 3808 -> 0 bytes .../Galactic.pbxindex/imports.pbxbtree | Bin 10652 -> 0 bytes .../Galactic.pbxindex/pbxindex.header | Bin 24 -> 0 bytes .../Galactic.pbxindex/protocols.pbxbtree | Bin 84 -> 0 bytes .../Galactic.pbxindex/refs.pbxbtree | Bin 243372 -> 0 bytes .../strings.pbxstrings/control | Bin 524308 -> 0 bytes .../strings.pbxstrings/strings | Bin 714370 -> 0 bytes .../Galactic.pbxindex/subclasses.pbxbtree | Bin 824 -> 0 bytes .../Galactic.pbxindex/symbols0.pbxsymbols | Bin 1214848 -> 0 bytes .../Release/Galactic.build/Galactic.dep | 59 - .../Release/Galactic.build/Galactic.hmap | Bin 5380 -> 0 bytes .../Release/Galactic.build/Galactic~.dep | 59 - .../Objects-normal/i386/AUBase.o | Bin 62760 -> 0 bytes .../Objects-normal/i386/AUBaseHelper.o | Bin 2216 -> 0 bytes .../Objects-normal/i386/AUBuffer.o | Bin 3596 -> 0 bytes .../Objects-normal/i386/AUDebugDispatcher.o | Bin 288 -> 0 bytes .../Objects-normal/i386/AUDispatch.o | Bin 5324 -> 0 bytes .../Objects-normal/i386/AUEffectBase.o | Bin 19796 -> 0 bytes .../Objects-normal/i386/AUInputElement.o | Bin 7552 -> 0 bytes .../Objects-normal/i386/AUOutputElement.o | Bin 5484 -> 0 bytes .../Objects-normal/i386/AUScopeElement.o | Bin 24616 -> 0 bytes .../Objects-normal/i386/CAAUParameter.o | Bin 8912 -> 0 bytes .../i386/CAAudioChannelLayout.o | Bin 3452 -> 0 bytes .../Objects-normal/i386/CAMutex.o | Bin 4332 -> 0 bytes .../i386/CAStreamBasicDescription.o | Bin 8332 -> 0 bytes .../Objects-normal/i386/CAVectorUnit.o | Bin 1340 -> 0 bytes .../Objects-normal/i386/ComponentBase.o | Bin 4300 -> 0 bytes .../Objects-normal/i386/Galactic | Bin 114116 -> 0 bytes .../i386/Galactic-1DB483EC8D75827.o | Bin 23484 -> 0 bytes .../Objects-normal/i386/Galactic.LinkFileList | 16 - .../Objects-normal/ppc/AUBase.o | Bin 73140 -> 0 bytes .../Objects-normal/ppc/AUBaseHelper.o | Bin 2664 -> 0 bytes .../Objects-normal/ppc/AUBuffer.o | Bin 4340 -> 0 bytes .../Objects-normal/ppc/AUDebugDispatcher.o | Bin 356 -> 0 bytes .../Objects-normal/ppc/AUDispatch.o | Bin 6360 -> 0 bytes .../Objects-normal/ppc/AUEffectBase.o | Bin 22368 -> 0 bytes .../Objects-normal/ppc/AUInputElement.o | Bin 9176 -> 0 bytes .../Objects-normal/ppc/AUOutputElement.o | Bin 6632 -> 0 bytes .../Objects-normal/ppc/AUScopeElement.o | Bin 29532 -> 0 bytes .../Objects-normal/ppc/CAAUParameter.o | Bin 10844 -> 0 bytes .../Objects-normal/ppc/CAAudioChannelLayout.o | Bin 4512 -> 0 bytes .../Objects-normal/ppc/CAMutex.o | Bin 5376 -> 0 bytes .../ppc/CAStreamBasicDescription.o | Bin 10324 -> 0 bytes .../Objects-normal/ppc/CAVectorUnit.o | Bin 1520 -> 0 bytes .../Objects-normal/ppc/ComponentBase.o | Bin 5080 -> 0 bytes .../Objects-normal/ppc/Galactic | Bin 114556 -> 0 bytes .../ppc/Galactic-1DB483EC8D75827.o | Bin 28200 -> 0 bytes .../Objects-normal/ppc/Galactic.LinkFileList | 16 - .../Objects-normal/x86_64/AUBase.o | Bin 63236 -> 0 bytes .../Objects-normal/x86_64/AUBaseHelper.o | Bin 2300 -> 0 bytes .../Objects-normal/x86_64/AUBuffer.o | Bin 3748 -> 0 bytes .../Objects-normal/x86_64/AUDebugDispatcher.o | Bin 344 -> 0 bytes .../Objects-normal/x86_64/AUDispatch.o | Bin 4456 -> 0 bytes .../Objects-normal/x86_64/AUEffectBase.o | Bin 20844 -> 0 bytes .../Objects-normal/x86_64/AUInputElement.o | Bin 7848 -> 0 bytes .../Objects-normal/x86_64/AUOutputElement.o | Bin 5712 -> 0 bytes .../Objects-normal/x86_64/AUScopeElement.o | Bin 25916 -> 0 bytes .../Objects-normal/x86_64/CAAUParameter.o | Bin 9460 -> 0 bytes .../x86_64/CAAudioChannelLayout.o | Bin 3652 -> 0 bytes .../Objects-normal/x86_64/CAMutex.o | Bin 4556 -> 0 bytes .../x86_64/CAStreamBasicDescription.o | Bin 9476 -> 0 bytes .../Objects-normal/x86_64/CAVectorUnit.o | Bin 1284 -> 0 bytes .../Objects-normal/x86_64/ComponentBase.o | Bin 4836 -> 0 bytes .../Objects-normal/x86_64/Galactic | Bin 116808 -> 0 bytes .../x86_64/Galactic-1DB483EC8D75827.o | Bin 22724 -> 0 bytes .../x86_64/Galactic.LinkFileList | 16 - .../ResourceManagerResources/Galactic.rsrc | Bin 536 -> 0 bytes .../Objects/Galactic-F2DE06932BC77829.rsrc | Bin 536 -> 0 bytes .../Release/Galactic.build/build-state.dat | 1612 ------------ .../Release/Galactic.build/build-state~.dat | 1612 ------------ .../Contents/MacOS/Galactic | Bin 350280 -> 0 bytes .../Galactic.component/Contents/PkgInfo | 1 - .../Resources/English.lproj/InfoPlist.strings | Bin 376 -> 0 bytes .../Contents/Resources/Galactic.rsrc | Bin 536 -> 0 bytes .../Mackity/English.lproj/InfoPlist.strings | Bin 0 -> 374 bytes .../Contents => Mackity}/Info.plist | 26 +- plugins/MacAU/Mackity/Mackity.cpp | 255 ++ plugins/MacAU/Mackity/Mackity.exp | 1 + plugins/MacAU/Mackity/Mackity.h | 143 ++ plugins/MacAU/Mackity/Mackity.r | 61 + .../christopherjohnson.mode1v3 | 1358 ++++++++++ .../christopherjohnson.pbxuser | 161 ++ .../christopherjohnson.perspectivev3 | 1509 +++++++++++ .../Mackity/Mackity.xcodeproj/project.pbxproj | 490 ++++ plugins/MacAU/Mackity/MackityVersion.h | 58 + plugins/MacAU/Mackity/version.plist | 16 + .../AutoPan.pbxindex/categories.pbxbtree | Bin 84 -> 0 bytes .../AutoPan.pbxindex/cdecls.pbxbtree | Bin 91456 -> 0 bytes .../AutoPan.pbxindex/decls.pbxbtree | Bin 92136 -> 0 bytes .../AutoPan.pbxindex/files.pbxbtree | Bin 1176 -> 0 bytes .../AutoPan.pbxindex/imports.pbxbtree | Bin 1968 -> 0 bytes .../AutoPan.pbxindex/pbxindex.header | Bin 24 -> 0 bytes .../AutoPan.pbxindex/protocols.pbxbtree | Bin 84 -> 0 bytes .../AutoPan.pbxindex/refs.pbxbtree | Bin 64512 -> 0 bytes .../strings.pbxstrings/control | Bin 131092 -> 0 bytes .../strings.pbxstrings/strings | Bin 104375 -> 0 bytes .../AutoPan.pbxindex/subclasses.pbxbtree | Bin 968 -> 0 bytes .../AutoPan.pbxindex/symbols0.pbxsymbols | Bin 524424 -> 0 bytes .../Release/AutoPan.build/AutoPan.dep | 35 - .../Release/AutoPan.build/AutoPan.hmap | Bin 3137 -> 0 bytes .../Release/AutoPan.build/AutoPan~.dep | 35 - .../AutoPan.build/Objects-normal/i386/AutoPan | Bin 54776 -> 0 bytes .../Objects-normal/i386/AutoPan.LinkFileList | 5 - .../Objects-normal/i386/AutoPan.o | Bin 30388 -> 0 bytes .../Objects-normal/i386/AutoPanProc.o | Bin 5364 -> 0 bytes .../Objects-normal/i386/audioeffect.o | Bin 15508 -> 0 bytes .../Objects-normal/i386/audioeffectx.o | Bin 38324 -> 0 bytes .../Objects-normal/i386/vstplugmain.o | Bin 1012 -> 0 bytes .../AutoPan.build/Objects-normal/ppc/AutoPan | Bin 55420 -> 0 bytes .../Objects-normal/ppc/AutoPan.LinkFileList | 5 - .../Objects-normal/ppc/AutoPan.o | Bin 32080 -> 0 bytes .../Objects-normal/ppc/AutoPanProc.o | Bin 8144 -> 0 bytes .../Objects-normal/ppc/audioeffect.o | Bin 16852 -> 0 bytes .../Objects-normal/ppc/audioeffectx.o | Bin 38824 -> 0 bytes .../Objects-normal/ppc/vstplugmain.o | Bin 1416 -> 0 bytes .../Objects-normal/x86_64/AutoPan | Bin 56376 -> 0 bytes .../x86_64/AutoPan.LinkFileList | 5 - .../Objects-normal/x86_64/AutoPan.o | Bin 33760 -> 0 bytes .../Objects-normal/x86_64/AutoPanProc.o | Bin 4464 -> 0 bytes .../Objects-normal/x86_64/audioeffect.o | Bin 17340 -> 0 bytes .../Objects-normal/x86_64/audioeffectx.o | Bin 39840 -> 0 bytes .../Objects-normal/x86_64/vstplugmain.o | Bin 936 -> 0 bytes .../Script-24CFB70807E7A07C0081BD57.sh | 2 - .../Release/AutoPan.build/build-state.dat | 650 ----- .../Release/AutoPan.build/build-state~.dat | 650 ----- .../Release/Gain.build/AutoPan.dep | 22 - .../Release/Gain.build/build-state.dat | 287 --- .../christopherjohnson.pbxuser | 40 +- .../christopherjohnson.perspectivev3 | 31 +- .../christopherjohnson.pbxuser | 108 + .../christopherjohnson.perspectivev3 | 1501 +++++++++++ .../Mackity/Mackity.xcodeproj/project.pbxproj | 2201 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 12075 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../Mackity.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../Mackity.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcschemes/Gain.xcscheme | 80 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + .../Mackity/mac}/Info.plist | 24 +- plugins/MacVST/Mackity/mac/PkgInfo | 1 + plugins/MacVST/Mackity/mac/xcode_vst_prefix.h | 17 + plugins/MacVST/Mackity/source/Mackity.cpp | 134 + plugins/MacVST/Mackity/source/Mackity.h | 72 + plugins/MacVST/Mackity/source/MackityProc.cpp | 210 ++ .../Mackity/.vs/Console4Channel64/v14/.suo | Bin 0 -> 32768 bytes .../WinVST/Mackity/.vs/VSTProject/v14/.suo | Bin 0 -> 22528 bytes plugins/WinVST/Mackity/Mackity.cpp | 134 + plugins/WinVST/Mackity/Mackity.h | 72 + plugins/WinVST/Mackity/MackityProc.cpp | 210 ++ plugins/WinVST/Mackity/VSTProject.sln | 28 + plugins/WinVST/Mackity/VSTProject.vcxproj | 183 ++ .../WinVST/Mackity/VSTProject.vcxproj.filters | 48 + .../WinVST/Mackity/VSTProject.vcxproj.user | 19 + plugins/WinVST/Mackity/vstplug.def | 3 + 300 files changed, 11271 insertions(+), 9962 deletions(-) create mode 100755 plugins/LinuxVST/src/Mackity/Mackity.cpp create mode 100755 plugins/LinuxVST/src/Mackity/Mackity.h create mode 100755 plugins/LinuxVST/src/Mackity/MackityProc.cpp delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/categories.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/cdecls.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/decls.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/files.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/imports.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/pbxindex.header delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/protocols.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/refs.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/strings.pbxstrings/control delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/strings.pbxstrings/strings delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/subclasses.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/symbols0.pbxsymbols delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/AutoPan.dep delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/AutoPan.hmap delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/AutoPan~.dep delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUBaseHelper.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUBuffer.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUDebugDispatcher.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUDispatch.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUEffectBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUInputElement.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUOutputElement.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AUScopeElement.o delete mode 100755 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AutoPan delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AutoPan-1DB483EC8D75827.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AutoPan.LinkFileList delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/CAAUParameter.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/CAAudioChannelLayout.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/CAMutex.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/CAStreamBasicDescription.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/CAVectorUnit.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/ComponentBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUBaseHelper.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUBuffer.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUDebugDispatcher.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUDispatch.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUEffectBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUInputElement.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUOutputElement.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AUScopeElement.o delete mode 100755 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan-1DB483EC8D75827.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan-1DB483EC8D75827.o~$ delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan-1DB483EC8D75827.o~> delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan-1DB483EC8D75827.o~? delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan.LinkFileList delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/CAAUParameter.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/CAAudioChannelLayout.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/CAMutex.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/CAStreamBasicDescription.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/CAVectorUnit.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/ComponentBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUBaseHelper.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUBuffer.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUDebugDispatcher.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUDispatch.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUEffectBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUInputElement.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUOutputElement.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AUScopeElement.o delete mode 100755 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AutoPan delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AutoPan-1DB483EC8D75827.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AutoPan.LinkFileList delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/CAAUParameter.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/CAAudioChannelLayout.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/CAMutex.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/CAStreamBasicDescription.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/CAVectorUnit.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/ComponentBase.o delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/ResourceManagerResources/AutoPan.rsrc delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/ResourceManagerResources/Objects/AutoPan-F2DE06932BC77829.rsrc delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/build-state.dat delete mode 100644 plugins/MacAU/AutoPan/build/AutoPan.build/Release/AutoPan.build/build-state~.dat delete mode 100755 plugins/MacAU/AutoPan/build/Release/AutoPan.component/Contents/MacOS/AutoPan delete mode 100644 plugins/MacAU/AutoPan/build/Release/AutoPan.component/Contents/PkgInfo delete mode 100644 plugins/MacAU/AutoPan/build/Release/AutoPan.component/Contents/Resources/AutoPan.rsrc delete mode 100644 plugins/MacAU/AutoPan/build/Release/AutoPan.component/Contents/Resources/English.lproj/InfoPlist.strings delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/Debug/«PROJECTNAMEASIDENTIFIER».build/build-state.dat delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/Debug/«PROJECTNAMEASIDENTIFIER».build/«PROJECTNAMEASIDENTIFIER».dep delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/categories.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/cdecls.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/decls.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/files.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/imports.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/pbxindex.header delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/protocols.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/refs.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/strings.pbxstrings/control delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/strings.pbxstrings/strings delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/subclasses.pbxbtree delete mode 100644 plugins/MacAU/AutoPan/build/StarterAU.build/StarterAU.pbxindex/symbols0.pbxsymbols delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/categories.pbxbtree delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/cdecls.pbxbtree delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/decls.pbxbtree delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/files.pbxbtree delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/imports.pbxbtree delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/pbxindex.header delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/protocols.pbxbtree delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/refs.pbxbtree delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/strings.pbxstrings/control delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/strings.pbxstrings/strings delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/subclasses.pbxbtree delete mode 100644 plugins/MacAU/AverMatrix/build/AverMatrix.build/AverMatrix.pbxindex/symbols0.pbxsymbols delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/categories.pbxbtree delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/cdecls.pbxbtree delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/decls.pbxbtree delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/files.pbxbtree delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/imports.pbxbtree delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/pbxindex.header delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/protocols.pbxbtree delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/refs.pbxbtree delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/strings.pbxstrings/control delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/strings.pbxstrings/strings delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/subclasses.pbxbtree delete mode 100644 plugins/MacAU/Console7Cascade/build/Console7Cascade.build/Console7Cascade.pbxindex/symbols0.pbxsymbols delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/categories.pbxbtree delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/cdecls.pbxbtree delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/decls.pbxbtree delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/files.pbxbtree delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/imports.pbxbtree delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/pbxindex.header delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/protocols.pbxbtree delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/refs.pbxbtree delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/strings.pbxstrings/control delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/strings.pbxstrings/strings delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/subclasses.pbxbtree delete mode 100644 plugins/MacAU/Distortion/build/Distortion.build/Distortion.pbxindex/symbols0.pbxsymbols delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/categories.pbxbtree delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/cdecls.pbxbtree delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/decls.pbxbtree delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/files.pbxbtree delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/imports.pbxbtree delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/pbxindex.header delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/protocols.pbxbtree delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/refs.pbxbtree delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/strings.pbxstrings/control delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/strings.pbxstrings/strings delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/subclasses.pbxbtree delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Galactic.pbxindex/symbols0.pbxsymbols delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Galactic.dep delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Galactic.hmap delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Galactic~.dep delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUBase.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUBaseHelper.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUBuffer.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUDebugDispatcher.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUDispatch.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUEffectBase.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUInputElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUOutputElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/AUScopeElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/CAAUParameter.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/CAAudioChannelLayout.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/CAMutex.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/CAStreamBasicDescription.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/CAVectorUnit.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/ComponentBase.o delete mode 100755 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/Galactic delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/Galactic-1DB483EC8D75827.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/i386/Galactic.LinkFileList delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUBase.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUBaseHelper.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUBuffer.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUDebugDispatcher.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUDispatch.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUEffectBase.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUInputElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUOutputElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/AUScopeElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/CAAUParameter.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/CAAudioChannelLayout.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/CAMutex.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/CAStreamBasicDescription.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/CAVectorUnit.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/ComponentBase.o delete mode 100755 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/Galactic delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/Galactic-1DB483EC8D75827.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/ppc/Galactic.LinkFileList delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUBase.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUBaseHelper.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUBuffer.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUDebugDispatcher.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUDispatch.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUEffectBase.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUInputElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUOutputElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/AUScopeElement.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/CAAUParameter.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/CAAudioChannelLayout.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/CAMutex.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/CAStreamBasicDescription.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/CAVectorUnit.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/ComponentBase.o delete mode 100755 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/Galactic delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/Galactic-1DB483EC8D75827.o delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/Objects-normal/x86_64/Galactic.LinkFileList delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/ResourceManagerResources/Galactic.rsrc delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/ResourceManagerResources/Objects/Galactic-F2DE06932BC77829.rsrc delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/build-state.dat delete mode 100644 plugins/MacAU/Galactic/build/Galactic.build/Release/Galactic.build/build-state~.dat delete mode 100755 plugins/MacAU/Galactic/build/Release/Galactic.component/Contents/MacOS/Galactic delete mode 100644 plugins/MacAU/Galactic/build/Release/Galactic.component/Contents/PkgInfo delete mode 100644 plugins/MacAU/Galactic/build/Release/Galactic.component/Contents/Resources/English.lproj/InfoPlist.strings delete mode 100644 plugins/MacAU/Galactic/build/Release/Galactic.component/Contents/Resources/Galactic.rsrc create mode 100644 plugins/MacAU/Mackity/English.lproj/InfoPlist.strings rename plugins/MacAU/{AutoPan/build/Release/AutoPan.component/Contents => Mackity}/Info.plist (57%) create mode 100644 plugins/MacAU/Mackity/Mackity.cpp create mode 100644 plugins/MacAU/Mackity/Mackity.exp create mode 100644 plugins/MacAU/Mackity/Mackity.h create mode 100644 plugins/MacAU/Mackity/Mackity.r create mode 100644 plugins/MacAU/Mackity/Mackity.xcodeproj/christopherjohnson.mode1v3 create mode 100644 plugins/MacAU/Mackity/Mackity.xcodeproj/christopherjohnson.pbxuser create mode 100644 plugins/MacAU/Mackity/Mackity.xcodeproj/christopherjohnson.perspectivev3 create mode 100644 plugins/MacAU/Mackity/Mackity.xcodeproj/project.pbxproj create mode 100644 plugins/MacAU/Mackity/MackityVersion.h create mode 100644 plugins/MacAU/Mackity/version.plist delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/categories.pbxbtree delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/cdecls.pbxbtree delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/decls.pbxbtree delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/files.pbxbtree delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/imports.pbxbtree delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/pbxindex.header delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/protocols.pbxbtree delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/refs.pbxbtree delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/strings.pbxstrings/control delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/strings.pbxstrings/strings delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/subclasses.pbxbtree delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/AutoPan.pbxindex/symbols0.pbxsymbols delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/AutoPan.dep delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/AutoPan.hmap delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/AutoPan~.dep delete mode 100755 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AutoPan delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AutoPan.LinkFileList delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AutoPan.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/AutoPanProc.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/audioeffect.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/audioeffectx.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/i386/vstplugmain.o delete mode 100755 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan.LinkFileList delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPan.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/AutoPanProc.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/audioeffect.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/audioeffectx.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/ppc/vstplugmain.o delete mode 100755 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AutoPan delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AutoPan.LinkFileList delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AutoPan.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/AutoPanProc.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/audioeffect.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/audioeffectx.o delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Objects-normal/x86_64/vstplugmain.o delete mode 100755 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/Script-24CFB70807E7A07C0081BD57.sh delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/build-state.dat delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/AutoPan.build/build-state~.dat delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/Gain.build/AutoPan.dep delete mode 100644 plugins/MacVST/AutoPan/build/AutoPan.build/Release/Gain.build/build-state.dat create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/christopherjohnson.pbxuser create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacVST/Mackity/Mackity.xcodeproj/project.pbxproj create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/spiadmin.mode1v3 create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/spiadmin.pbxuser create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 plugins/MacVST/Mackity/Mackity.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme rename plugins/{MacAU/Galactic/build/Release/Galactic.component/Contents => MacVST/Mackity/mac}/Info.plist (53%) mode change 100644 => 100755 create mode 100755 plugins/MacVST/Mackity/mac/PkgInfo create mode 100755 plugins/MacVST/Mackity/mac/xcode_vst_prefix.h create mode 100755 plugins/MacVST/Mackity/source/Mackity.cpp create mode 100755 plugins/MacVST/Mackity/source/Mackity.h create mode 100755 plugins/MacVST/Mackity/source/MackityProc.cpp create mode 100644 plugins/WinVST/Mackity/.vs/Console4Channel64/v14/.suo create mode 100644 plugins/WinVST/Mackity/.vs/VSTProject/v14/.suo create mode 100644 plugins/WinVST/Mackity/Mackity.cpp create mode 100644 plugins/WinVST/Mackity/Mackity.h create mode 100644 plugins/WinVST/Mackity/MackityProc.cpp create mode 100644 plugins/WinVST/Mackity/VSTProject.sln create mode 100644 plugins/WinVST/Mackity/VSTProject.vcxproj create mode 100644 plugins/WinVST/Mackity/VSTProject.vcxproj.filters create mode 100644 plugins/WinVST/Mackity/VSTProject.vcxproj.user create mode 100644 plugins/WinVST/Mackity/vstplug.def diff --git a/plugins/LinuxVST/CMakeLists.txt b/plugins/LinuxVST/CMakeLists.txt index 20e453e5c..4ec845921 100755 --- a/plugins/LinuxVST/CMakeLists.txt +++ b/plugins/LinuxVST/CMakeLists.txt @@ -145,6 +145,7 @@ add_airwindows_plugin(Lowpass) add_airwindows_plugin(Lowpass2) add_airwindows_plugin(LRFlipTimer) add_airwindows_plugin(Luxor) +add_airwindows_plugin(Mackity) add_airwindows_plugin(MatrixVerb) add_airwindows_plugin(Melt) add_airwindows_plugin(MidSide) diff --git a/plugins/LinuxVST/src/Mackity/Mackity.cpp b/plugins/LinuxVST/src/Mackity/Mackity.cpp new file mode 100755 index 000000000..3e78cd322 --- /dev/null +++ b/plugins/LinuxVST/src/Mackity/Mackity.cpp @@ -0,0 +1,134 @@ +/* ======================================== + * Mackity - Mackity.h + * Copyright (c) 2016 airwindows, All rights reserved + * ======================================== */ + +#ifndef __Mackity_H +#include "Mackity.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new Mackity(audioMaster);} + +Mackity::Mackity(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.1; + B = 1.0; + + iirSampleAL = 0.0; + iirSampleBL = 0.0; + iirSampleAR = 0.0; + iirSampleBR = 0.0; + for (int x = 0; x < 15; x++) {biquadA[x] = 0.0; biquadB[x] = 0.0;} + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + //this is reset: values being initialized only once. Startup values, whatever they are. + + _canDo.insert("plugAsChannelInsert"); // plug-in can be used as a channel insert effect. + _canDo.insert("plugAsSend"); // plug-in can be used as a send effect. + _canDo.insert("x2in2out"); + setNumInputs(kNumInputs); + setNumOutputs(kNumOutputs); + setUniqueID(kUniqueId); + canProcessReplacing(); // supports output replacing + canDoubleReplacing(); // supports double precision processing + programsAreChunks(true); + vst_strncpy (_programName, "Default", kVstMaxProgNameLen); // default program name +} + +Mackity::~Mackity() {} +VstInt32 Mackity::getVendorVersion () {return 1000;} +void Mackity::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void Mackity::getProgramName(char *name) {vst_strncpy (name, _programName, kVstMaxProgNameLen);} +//airwindows likes to ignore this stuff. Make your own programs, and make a different plugin rather than +//trying to do versioning and preventing people from using older versions. Maybe they like the old one! + +static float pinParameter(float data) +{ + if (data < 0.0f) return 0.0f; + if (data > 1.0f) return 1.0f; + return data; +} + +VstInt32 Mackity::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + /* Note: The way this is set up, it will break if you manage to save settings on an Intel + machine and load them on a PPC Mac. However, it's fine if you stick to the machine you + started with. */ + + *data = chunkData; + return kNumParameters * sizeof(float); +} + +VstInt32 Mackity::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + /* We're ignoring byteSize as we found it to be a filthy liar */ + + /* calculate any other fields you need here - you could copy in + code from setParameter() here. */ + return 0; +} + +void Mackity::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float Mackity::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + default: break; // unknown parameter, shouldn't happen! + } return 0.0; //we only need to update the relevant name, this is simple to manage +} + +void Mackity::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "In Trim", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Out Pad", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void Mackity::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void Mackity::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 Mackity::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool Mackity::getEffectName(char* name) { + vst_strncpy(name, "Mackity", kVstMaxProductStrLen); return true; +} + +VstPlugCategory Mackity::getPlugCategory() {return kPlugCategEffect;} + +bool Mackity::getProductString(char* text) { + vst_strncpy (text, "airwindows Mackity", kVstMaxProductStrLen); return true; +} + +bool Mackity::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/Mackity/Mackity.h b/plugins/LinuxVST/src/Mackity/Mackity.h new file mode 100755 index 000000000..f6ecb608a --- /dev/null +++ b/plugins/LinuxVST/src/Mackity/Mackity.h @@ -0,0 +1,72 @@ +/* ======================================== + * Mackity - Mackity.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) 2011 __MyCompanyName__, All rights reserved + * ======================================== */ + +#ifndef __Mackity_H +#define __Mackity_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kNumParameters = 2 +}; // + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'mkty'; //Change this to what the AU identity is! + +class Mackity : + public AudioEffectX +{ +public: + Mackity(audioMasterCallback audioMaster); + ~Mackity(); + virtual bool getEffectName(char* name); // The plug-in name + virtual VstPlugCategory getPlugCategory(); // The general category for the plug-in + virtual bool getProductString(char* text); // This is a unique plug-in string provided by Steinberg + virtual bool getVendorString(char* text); // Vendor info + virtual VstInt32 getVendorVersion(); // Version number + virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames); + virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames); + virtual void getProgramName(char *name); // read the name from the host + virtual void setProgramName(char *name); // changes the name of the preset displayed in the host + virtual VstInt32 getChunk (void** data, bool isPreset); + virtual VstInt32 setChunk (void* data, VstInt32 byteSize, bool isPreset); + virtual float getParameter(VstInt32 index); // get the parameter value at the specified index + virtual void setParameter(VstInt32 index, float value); // set the parameter at index to value + virtual void getParameterLabel(VstInt32 index, char *text); // label for the parameter (eg dB) + virtual void getParameterName(VstInt32 index, char *text); // name of the parameter + virtual void getParameterDisplay(VstInt32 index, char *text); // text description of the current value + virtual VstInt32 canDo(char *text); +private: + char _programName[kVstMaxProgNameLen + 1]; + std::set< std::string > _canDo; + + + long double iirSampleAL; + long double iirSampleBL; + long double iirSampleAR; + long double iirSampleBR; + long double biquadA[15]; + long double biquadB[15]; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + float A; + float B; +}; + +#endif diff --git a/plugins/LinuxVST/src/Mackity/MackityProc.cpp b/plugins/LinuxVST/src/Mackity/MackityProc.cpp new file mode 100755 index 000000000..97a9b7fb6 --- /dev/null +++ b/plugins/LinuxVST/src/Mackity/MackityProc.cpp @@ -0,0 +1,210 @@ +/* ======================================== + * Mackity - Mackity.h + * Copyright (c) 2016 airwindows, All rights reserved + * ======================================== */ + +#ifndef __Mackity_H +#include "Mackity.h" +#endif + +void Mackity::processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames) +{ + float* in1 = inputs[0]; + float* in2 = inputs[1]; + float* out1 = outputs[0]; + float* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + + double inTrim = A*10.0; + double outPad = B; + inTrim *= inTrim; + + double iirAmountA = 0.001860867/overallscale; + double iirAmountB = 0.000287496/overallscale; + + biquadB[0] = biquadA[0] = 19160.0 / getSampleRate(); + biquadA[1] = 0.431684981684982; + biquadB[1] = 1.1582298; + + double K = tan(M_PI * biquadA[0]); //lowpass + double norm = 1.0 / (1.0 + K / biquadA[1] + K * K); + biquadA[2] = K * K * norm; + biquadA[3] = 2.0 * biquadA[2]; + biquadA[4] = biquadA[2]; + biquadA[5] = 2.0 * (K * K - 1.0) * norm; + biquadA[6] = (1.0 - K / biquadA[1] + K * K) * norm; + + K = tan(M_PI * biquadB[0]); + norm = 1.0 / (1.0 + K / biquadB[1] + K * K); + biquadB[2] = K * K * norm; + biquadB[3] = 2.0 * biquadB[2]; + biquadB[4] = biquadB[2]; + biquadB[5] = 2.0 * (K * K - 1.0) * norm; + biquadB[6] = (1.0 - K / biquadB[1] + K * K) * norm; + + while (--sampleFrames >= 0) + { + long double inputSampleL = *in1; + long double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-37) inputSampleL = fpdL * 1.18e-37; + if (fabs(inputSampleR)<1.18e-37) inputSampleR = fpdR * 1.18e-37; + + if (fabs(iirSampleAL)<1.18e-37) iirSampleAL = 0.0; + iirSampleAL = (iirSampleAL * (1.0 - iirAmountA)) + (inputSampleL * iirAmountA); + inputSampleL -= iirSampleAL; + if (fabs(iirSampleAR)<1.18e-37) iirSampleAR = 0.0; + iirSampleAR = (iirSampleAR * (1.0 - iirAmountA)) + (inputSampleR * iirAmountA); + inputSampleR -= iirSampleAR; + + if (inTrim != 1.0) {inputSampleL *= inTrim; inputSampleR *= inTrim;} + + long double outSampleL = biquadA[2]*inputSampleL+biquadA[3]*biquadA[7]+biquadA[4]*biquadA[8]-biquadA[5]*biquadA[9]-biquadA[6]*biquadA[10]; + biquadA[8] = biquadA[7]; biquadA[7] = inputSampleL; inputSampleL = outSampleL; biquadA[10] = biquadA[9]; biquadA[9] = inputSampleL; //DF1 left + + long double outSampleR = biquadA[2]*inputSampleR+biquadA[3]*biquadA[11]+biquadA[4]*biquadA[12]-biquadA[5]*biquadA[13]-biquadA[6]*biquadA[14]; + biquadA[12] = biquadA[11]; biquadA[11] = inputSampleR; inputSampleR = outSampleR; biquadA[14] = biquadA[13]; biquadA[13] = inputSampleR; //DF1 right + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + inputSampleL -= pow(inputSampleL,5)*0.1768; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + inputSampleR -= pow(inputSampleR,5)*0.1768; + + outSampleL = biquadB[2]*inputSampleL+biquadB[3]*biquadB[7]+biquadB[4]*biquadB[8]-biquadB[5]*biquadB[9]-biquadB[6]*biquadB[10]; + biquadB[8] = biquadB[7]; biquadB[7] = inputSampleL; inputSampleL = outSampleL; biquadB[10] = biquadB[9]; biquadB[9] = inputSampleL; //DF1 left + + outSampleR = biquadB[2]*inputSampleR+biquadB[3]*biquadB[11]+biquadB[4]*biquadB[12]-biquadB[5]*biquadB[13]-biquadB[6]*biquadB[14]; + biquadB[12] = biquadB[11]; biquadB[11] = inputSampleR; inputSampleR = outSampleR; biquadB[14] = biquadB[13]; biquadB[13] = inputSampleR; //DF1 right + + if (fabs(iirSampleBL)<1.18e-37) iirSampleBL = 0.0; + iirSampleBL = (iirSampleBL * (1.0 - iirAmountB)) + (inputSampleL * iirAmountB); + inputSampleL -= iirSampleBL; + if (fabs(iirSampleBR)<1.18e-37) iirSampleBR = 0.0; + iirSampleBR = (iirSampleBR * (1.0 - iirAmountB)) + (inputSampleR * iirAmountB); + inputSampleR -= iirSampleBR; + + if (outPad != 1.0) {inputSampleL *= outPad; inputSampleR *= outPad;} + + //begin 32 bit stereo floating point dither + int expon; frexpf((float)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + frexpf((float)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 5.5e-36l * pow(2,expon+62)); + //end 32 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + *in1++; + *in2++; + *out1++; + *out2++; + } +} + +void Mackity::processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames) +{ + double* in1 = inputs[0]; + double* in2 = inputs[1]; + double* out1 = outputs[0]; + double* out2 = outputs[1]; + + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= getSampleRate(); + + double inTrim = A*10.0; + double outPad = B; + inTrim *= inTrim; + + double iirAmountA = 0.001860867/overallscale; + double iirAmountB = 0.000287496/overallscale; + + biquadB[0] = biquadA[0] = 19160.0 / getSampleRate(); + biquadA[1] = 0.431684981684982; + biquadB[1] = 1.1582298; + + double K = tan(M_PI * biquadA[0]); //lowpass + double norm = 1.0 / (1.0 + K / biquadA[1] + K * K); + biquadA[2] = K * K * norm; + biquadA[3] = 2.0 * biquadA[2]; + biquadA[4] = biquadA[2]; + biquadA[5] = 2.0 * (K * K - 1.0) * norm; + biquadA[6] = (1.0 - K / biquadA[1] + K * K) * norm; + + K = tan(M_PI * biquadB[0]); + norm = 1.0 / (1.0 + K / biquadB[1] + K * K); + biquadB[2] = K * K * norm; + biquadB[3] = 2.0 * biquadB[2]; + biquadB[4] = biquadB[2]; + biquadB[5] = 2.0 * (K * K - 1.0) * norm; + biquadB[6] = (1.0 - K / biquadB[1] + K * K) * norm; + + while (--sampleFrames >= 0) + { + long double inputSampleL = *in1; + long double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-43) inputSampleL = fpdL * 1.18e-43; + if (fabs(inputSampleR)<1.18e-43) inputSampleR = fpdR * 1.18e-43; + + if (fabs(iirSampleAL)<1.18e-37) iirSampleAL = 0.0; + iirSampleAL = (iirSampleAL * (1.0 - iirAmountA)) + (inputSampleL * iirAmountA); + inputSampleL -= iirSampleAL; + if (fabs(iirSampleAR)<1.18e-37) iirSampleAR = 0.0; + iirSampleAR = (iirSampleAR * (1.0 - iirAmountA)) + (inputSampleR * iirAmountA); + inputSampleR -= iirSampleAR; + + if (inTrim != 1.0) {inputSampleL *= inTrim; inputSampleR *= inTrim;} + + long double outSampleL = biquadA[2]*inputSampleL+biquadA[3]*biquadA[7]+biquadA[4]*biquadA[8]-biquadA[5]*biquadA[9]-biquadA[6]*biquadA[10]; + biquadA[8] = biquadA[7]; biquadA[7] = inputSampleL; inputSampleL = outSampleL; biquadA[10] = biquadA[9]; biquadA[9] = inputSampleL; //DF1 left + + long double outSampleR = biquadA[2]*inputSampleR+biquadA[3]*biquadA[11]+biquadA[4]*biquadA[12]-biquadA[5]*biquadA[13]-biquadA[6]*biquadA[14]; + biquadA[12] = biquadA[11]; biquadA[11] = inputSampleR; inputSampleR = outSampleR; biquadA[14] = biquadA[13]; biquadA[13] = inputSampleR; //DF1 right + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + inputSampleL -= pow(inputSampleL,5)*0.1768; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + inputSampleR -= pow(inputSampleR,5)*0.1768; + + outSampleL = biquadB[2]*inputSampleL+biquadB[3]*biquadB[7]+biquadB[4]*biquadB[8]-biquadB[5]*biquadB[9]-biquadB[6]*biquadB[10]; + biquadB[8] = biquadB[7]; biquadB[7] = inputSampleL; inputSampleL = outSampleL; biquadB[10] = biquadB[9]; biquadB[9] = inputSampleL; //DF1 left + + outSampleR = biquadB[2]*inputSampleR+biquadB[3]*biquadB[11]+biquadB[4]*biquadB[12]-biquadB[5]*biquadB[13]-biquadB[6]*biquadB[14]; + biquadB[12] = biquadB[11]; biquadB[11] = inputSampleR; inputSampleR = outSampleR; biquadB[14] = biquadB[13]; biquadB[13] = inputSampleR; //DF1 right + + if (fabs(iirSampleBL)<1.18e-37) iirSampleBL = 0.0; + iirSampleBL = (iirSampleBL * (1.0 - iirAmountB)) + (inputSampleL * iirAmountB); + inputSampleL -= iirSampleBL; + if (fabs(iirSampleBR)<1.18e-37) iirSampleBR = 0.0; + iirSampleBR = (iirSampleBR * (1.0 - iirAmountB)) + (inputSampleR * iirAmountB); + inputSampleR -= iirSampleBR; + + if (outPad != 1.0) {inputSampleL *= outPad; inputSampleR *= outPad;} + + //begin 64 bit stereo floating point dither + int expon; frexp((double)inputSampleL, &expon); + fpdL ^= fpdL << 13; fpdL ^= fpdL >> 17; fpdL ^= fpdL << 5; + inputSampleL += ((double(fpdL)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + frexp((double)inputSampleR, &expon); + fpdR ^= fpdR << 13; fpdR ^= fpdR >> 17; fpdR ^= fpdR << 5; + inputSampleR += ((double(fpdR)-uint32_t(0x7fffffff)) * 1.1e-44l * pow(2,expon+62)); + //end 64 bit stereo floating point dither + + *out1 = inputSampleL; + *out2 = inputSampleR; + + *in1++; + *in2++; + *out1++; + *out2++; + } +} diff --git a/plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/categories.pbxbtree b/plugins/MacAU/AutoPan/build/AutoPan.build/AutoPan.pbxindex/categories.pbxbtree deleted file mode 100644 index d3f6bb3b64f07dbeb63faadde56acc354df3e9fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 Vcmd;LU|{$U1VD;G1w>E*002gj1S
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 z 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