From cefb199ff87c9bc987d87ce0972120c84d9e5a5d Mon Sep 17 00:00:00 2001 From: Christopher Johnson Date: Sat, 28 Oct 2023 20:43:40 -0400 Subject: [PATCH] ConsoleMC --- Airwindopedia.txt | 22 +- plugins/LinuxVST/CMakeLists.txt | 2 + plugins/LinuxVST/src/ClearCoat/ClearCoat.cpp | 229 ++ plugins/LinuxVST/src/ClearCoat/ClearCoat.h | 202 ++ .../LinuxVST/src/ClearCoat/ClearCoatProc.cpp | 744 ++++++ .../LinuxVST/src/kCathedral/kCathedral.cpp | 274 ++ plugins/LinuxVST/src/kCathedral/kCathedral.h | 307 +++ .../src/kCathedral/kCathedralProc.cpp | 1070 ++++++++ plugins/MacAU/ClearCoat/ClearCoat.cpp | 664 +++++ plugins/MacAU/ClearCoat/ClearCoat.exp | 1 + plugins/MacAU/ClearCoat/ClearCoat.h | 261 ++ plugins/MacAU/ClearCoat/ClearCoat.r | 61 + .../christopherjohnson.mode1v3 | 1359 ++++++++++ .../christopherjohnson.pbxuser | 147 ++ .../christopherjohnson.perspectivev3 | 1486 +++++++++++ .../ClearCoat.xcodeproj/project.pbxproj | 490 ++++ plugins/MacAU/ClearCoat/ClearCoatVersion.h | 58 + .../ClearCoat/English.lproj/InfoPlist.strings | Bin 0 -> 382 bytes plugins/MacAU/ClearCoat/Info.plist | 28 + plugins/MacAU/ClearCoat/StarterAU_Prefix.pch | 5 + plugins/MacAU/ClearCoat/version.plist | 16 + .../English.lproj/InfoPlist.strings | Bin 0 -> 386 bytes plugins/MacAU/kCathedral/Info.plist | 28 + plugins/MacAU/kCathedral/StarterAU_Prefix.pch | 5 + plugins/MacAU/kCathedral/kCathedral.cpp | 871 +++++++ plugins/MacAU/kCathedral/kCathedral.exp | 1 + plugins/MacAU/kCathedral/kCathedral.h | 362 +++ plugins/MacAU/kCathedral/kCathedral.r | 61 + .../christopherjohnson.mode1v3 | 1359 ++++++++++ .../christopherjohnson.pbxuser | 147 ++ .../christopherjohnson.perspectivev3 | 1486 +++++++++++ .../kCathedral.xcodeproj/project.pbxproj | 490 ++++ plugins/MacAU/kCathedral/kCathedralVersion.h | 58 + plugins/MacAU/kCathedral/version.plist | 16 + plugins/MacSignedAU/ClearCoat/ClearCoat.cpp | 664 +++++ plugins/MacSignedAU/ClearCoat/ClearCoat.exp | 2 + plugins/MacSignedAU/ClearCoat/ClearCoat.h | 261 ++ plugins/MacSignedAU/ClearCoat/ClearCoat.r | 61 + .../christopherjohnson.mode1v3 | 1359 ++++++++++ .../christopherjohnson.pbxuser | 147 ++ .../christopherjohnson.perspectivev3 | 1486 +++++++++++ .../ClearCoat.xcodeproj/project.pbxproj | 965 ++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 14326 bytes .../xcshareddata/xcschemes/ClearCoat.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../MacSignedAU/ClearCoat/ClearCoatVersion.h | 58 + plugins/MacSignedAU/ClearCoat/Info.plist | 47 + .../ClearCoat/StarterAU_Prefix.pch | 5 + .../ClearCoat/en.lproj/InfoPlist.strings | Bin 0 -> 382 bytes plugins/MacSignedAU/ClearCoat/version.plist | 16 + plugins/MacSignedAU/kCathedral/Info.plist | 47 + .../kCathedral/StarterAU_Prefix.pch | 5 + .../kCathedral/en.lproj/InfoPlist.strings | Bin 0 -> 386 bytes plugins/MacSignedAU/kCathedral/kCathedral.cpp | 871 +++++++ plugins/MacSignedAU/kCathedral/kCathedral.exp | 2 + plugins/MacSignedAU/kCathedral/kCathedral.h | 362 +++ plugins/MacSignedAU/kCathedral/kCathedral.r | 61 + .../christopherjohnson.mode1v3 | 1359 ++++++++++ .../christopherjohnson.pbxuser | 147 ++ .../christopherjohnson.perspectivev3 | 1486 +++++++++++ .../kCathedral.xcodeproj/project.pbxproj | 965 ++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 16376 bytes .../xcschemes/kCathedral.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../kCathedral/kCathedralVersion.h | 58 + plugins/MacSignedAU/kCathedral/version.plist | 16 + .../christopherjohnson.pbxuser | 108 + .../christopherjohnson.perspectivev3 | 1503 +++++++++++ .../ClearCoat.xcodeproj/project.pbxproj | 462 ++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 24534 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../ClearCoat.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../ClearCoat.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcshareddata/xcschemes/ClearCoat.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + plugins/MacSignedVST/ClearCoat/mac/Info.plist | 24 + plugins/MacSignedVST/ClearCoat/mac/PkgInfo | 1 + .../ClearCoat/mac/xcode_vst_prefix.h | 17 + .../ClearCoat/source/ClearCoat.cpp | 229 ++ .../MacSignedVST/ClearCoat/source/ClearCoat.h | 202 ++ .../ClearCoat/source/ClearCoatProc.cpp | 744 ++++++ .../christopherjohnson.pbxuser | 108 + .../christopherjohnson.perspectivev3 | 1503 +++++++++++ .../kCathedral.xcodeproj/project.pbxproj | 462 ++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 24553 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../kCathedral.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../kCathedral.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcschemes/kCathedral.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + .../MacSignedVST/kCathedral/mac/Info.plist | 24 + plugins/MacSignedVST/kCathedral/mac/PkgInfo | 1 + .../kCathedral/mac/xcode_vst_prefix.h | 17 + .../kCathedral/source/kCathedral.cpp | 274 ++ .../kCathedral/source/kCathedral.h | 307 +++ .../kCathedral/source/kCathedralProc.cpp | 1070 ++++++++ .../christopherjohnson.pbxuser | 108 + .../christopherjohnson.perspectivev3 | 1503 +++++++++++ .../ClearCoat.xcodeproj/project.pbxproj | 2201 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 12075 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../ClearCoat.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../ClearCoat.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcschemes/Gain.xcscheme | 80 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + plugins/MacVST/ClearCoat/mac/Info.plist | 24 + plugins/MacVST/ClearCoat/mac/PkgInfo | 1 + .../MacVST/ClearCoat/mac/xcode_vst_prefix.h | 17 + plugins/MacVST/ClearCoat/source/ClearCoat.cpp | 229 ++ plugins/MacVST/ClearCoat/source/ClearCoat.h | 202 ++ .../MacVST/ClearCoat/source/ClearCoatProc.cpp | 744 ++++++ .../christopherjohnson.pbxuser | 108 + .../christopherjohnson.perspectivev3 | 1503 +++++++++++ .../kCathedral.xcodeproj/project.pbxproj | 2201 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 12075 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../kCathedral.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../kCathedral.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcschemes/Gain.xcscheme | 80 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + plugins/MacVST/kCathedral/mac/Info.plist | 24 + plugins/MacVST/kCathedral/mac/PkgInfo | 1 + .../MacVST/kCathedral/mac/xcode_vst_prefix.h | 17 + .../MacVST/kCathedral/source/kCathedral.cpp | 274 ++ plugins/MacVST/kCathedral/source/kCathedral.h | 307 +++ .../kCathedral/source/kCathedralProc.cpp | 1070 ++++++++ .../ClearCoat/.vs/Console4Channel64/v14/.suo | Bin 0 -> 32768 bytes .../WinVST/ClearCoat/.vs/VSTProject/v14/.suo | Bin 0 -> 23040 bytes plugins/WinVST/ClearCoat/ClearCoat.cpp | 229 ++ plugins/WinVST/ClearCoat/ClearCoat.h | 202 ++ plugins/WinVST/ClearCoat/ClearCoatProc.cpp | 744 ++++++ plugins/WinVST/ClearCoat/VSTProject.sln | 28 + plugins/WinVST/ClearCoat/VSTProject.vcxproj | 183 ++ .../ClearCoat/VSTProject.vcxproj.filters | 48 + .../WinVST/ClearCoat/VSTProject.vcxproj.user | 19 + plugins/WinVST/ClearCoat/vstplug.def | 3 + .../kCathedral/.vs/Console4Channel64/v14/.suo | Bin 0 -> 32768 bytes .../WinVST/kCathedral/.vs/VSTProject/v14/.suo | Bin 0 -> 23040 bytes plugins/WinVST/kCathedral/VSTProject.sln | 28 + plugins/WinVST/kCathedral/VSTProject.vcxproj | 183 ++ .../kCathedral/VSTProject.vcxproj.filters | 48 + .../WinVST/kCathedral/VSTProject.vcxproj.user | 19 + plugins/WinVST/kCathedral/kCathedral.cpp | 274 ++ plugins/WinVST/kCathedral/kCathedral.h | 307 +++ plugins/WinVST/kCathedral/kCathedralProc.cpp | 1070 ++++++++ plugins/WinVST/kCathedral/vstplug.def | 3 + what.txt | 2 + 165 files changed, 50748 insertions(+), 2 deletions(-) create mode 100755 plugins/LinuxVST/src/ClearCoat/ClearCoat.cpp create mode 100755 plugins/LinuxVST/src/ClearCoat/ClearCoat.h create mode 100755 plugins/LinuxVST/src/ClearCoat/ClearCoatProc.cpp create mode 100755 plugins/LinuxVST/src/kCathedral/kCathedral.cpp create mode 100755 plugins/LinuxVST/src/kCathedral/kCathedral.h create mode 100755 plugins/LinuxVST/src/kCathedral/kCathedralProc.cpp create mode 100755 plugins/MacAU/ClearCoat/ClearCoat.cpp create mode 100755 plugins/MacAU/ClearCoat/ClearCoat.exp create mode 100755 plugins/MacAU/ClearCoat/ClearCoat.h create mode 100755 plugins/MacAU/ClearCoat/ClearCoat.r create mode 100755 plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/project.pbxproj create mode 100755 plugins/MacAU/ClearCoat/ClearCoatVersion.h create mode 100755 plugins/MacAU/ClearCoat/English.lproj/InfoPlist.strings create mode 100755 plugins/MacAU/ClearCoat/Info.plist create mode 100755 plugins/MacAU/ClearCoat/StarterAU_Prefix.pch create mode 100755 plugins/MacAU/ClearCoat/version.plist create mode 100755 plugins/MacAU/kCathedral/English.lproj/InfoPlist.strings create mode 100755 plugins/MacAU/kCathedral/Info.plist create mode 100755 plugins/MacAU/kCathedral/StarterAU_Prefix.pch create mode 100755 plugins/MacAU/kCathedral/kCathedral.cpp create mode 100755 plugins/MacAU/kCathedral/kCathedral.exp create mode 100755 plugins/MacAU/kCathedral/kCathedral.h create mode 100755 plugins/MacAU/kCathedral/kCathedral.r create mode 100755 plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacAU/kCathedral/kCathedral.xcodeproj/project.pbxproj create mode 100755 plugins/MacAU/kCathedral/kCathedralVersion.h create mode 100755 plugins/MacAU/kCathedral/version.plist create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoat.cpp create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoat.exp create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoat.h create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoat.r create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.pbxproj create mode 100644 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/xcshareddata/xcschemes/ClearCoat.xcscheme create mode 100644 plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedAU/ClearCoat/ClearCoatVersion.h create mode 100755 plugins/MacSignedAU/ClearCoat/Info.plist create mode 100755 plugins/MacSignedAU/ClearCoat/StarterAU_Prefix.pch create mode 100755 plugins/MacSignedAU/ClearCoat/en.lproj/InfoPlist.strings create mode 100755 plugins/MacSignedAU/ClearCoat/version.plist create mode 100755 plugins/MacSignedAU/kCathedral/Info.plist create mode 100755 plugins/MacSignedAU/kCathedral/StarterAU_Prefix.pch create mode 100755 plugins/MacSignedAU/kCathedral/en.lproj/InfoPlist.strings create mode 100755 plugins/MacSignedAU/kCathedral/kCathedral.cpp create mode 100755 plugins/MacSignedAU/kCathedral/kCathedral.exp create mode 100755 plugins/MacSignedAU/kCathedral/kCathedral.h create mode 100755 plugins/MacSignedAU/kCathedral/kCathedral.r create mode 100755 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.pbxproj create mode 100644 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/xcshareddata/xcschemes/kCathedral.xcscheme create mode 100644 plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedAU/kCathedral/kCathedralVersion.h create mode 100755 plugins/MacSignedAU/kCathedral/version.plist create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.pbxproj create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.mode1v3 create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.pbxuser create mode 100644 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcshareddata/xcschemes/ClearCoat.xcscheme create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme create mode 100755 plugins/MacSignedVST/ClearCoat/mac/Info.plist create mode 100755 plugins/MacSignedVST/ClearCoat/mac/PkgInfo create mode 100755 plugins/MacSignedVST/ClearCoat/mac/xcode_vst_prefix.h create mode 100755 plugins/MacSignedVST/ClearCoat/source/ClearCoat.cpp create mode 100755 plugins/MacSignedVST/ClearCoat/source/ClearCoat.h create mode 100755 plugins/MacSignedVST/ClearCoat/source/ClearCoatProc.cpp create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.pbxproj create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/spiadmin.mode1v3 create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/spiadmin.pbxuser create mode 100644 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcshareddata/xcschemes/kCathedral.xcscheme create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme create mode 100755 plugins/MacSignedVST/kCathedral/mac/Info.plist create mode 100755 plugins/MacSignedVST/kCathedral/mac/PkgInfo create mode 100755 plugins/MacSignedVST/kCathedral/mac/xcode_vst_prefix.h create mode 100755 plugins/MacSignedVST/kCathedral/source/kCathedral.cpp create mode 100755 plugins/MacSignedVST/kCathedral/source/kCathedral.h create mode 100755 plugins/MacSignedVST/kCathedral/source/kCathedralProc.cpp create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.pbxproj create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.mode1v3 create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.pbxuser create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme create mode 100755 plugins/MacVST/ClearCoat/mac/Info.plist create mode 100755 plugins/MacVST/ClearCoat/mac/PkgInfo create mode 100755 plugins/MacVST/ClearCoat/mac/xcode_vst_prefix.h create mode 100755 plugins/MacVST/ClearCoat/source/ClearCoat.cpp create mode 100755 plugins/MacVST/ClearCoat/source/ClearCoat.h create mode 100755 plugins/MacVST/ClearCoat/source/ClearCoatProc.cpp create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.pbxproj create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/spiadmin.mode1v3 create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/spiadmin.pbxuser create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme create mode 100755 plugins/MacVST/kCathedral/mac/Info.plist create mode 100755 plugins/MacVST/kCathedral/mac/PkgInfo create mode 100755 plugins/MacVST/kCathedral/mac/xcode_vst_prefix.h create mode 100755 plugins/MacVST/kCathedral/source/kCathedral.cpp create mode 100755 plugins/MacVST/kCathedral/source/kCathedral.h create mode 100755 plugins/MacVST/kCathedral/source/kCathedralProc.cpp create mode 100755 plugins/WinVST/ClearCoat/.vs/Console4Channel64/v14/.suo create mode 100755 plugins/WinVST/ClearCoat/.vs/VSTProject/v14/.suo create mode 100755 plugins/WinVST/ClearCoat/ClearCoat.cpp create mode 100755 plugins/WinVST/ClearCoat/ClearCoat.h create mode 100755 plugins/WinVST/ClearCoat/ClearCoatProc.cpp create mode 100755 plugins/WinVST/ClearCoat/VSTProject.sln create mode 100755 plugins/WinVST/ClearCoat/VSTProject.vcxproj create mode 100755 plugins/WinVST/ClearCoat/VSTProject.vcxproj.filters create mode 100755 plugins/WinVST/ClearCoat/VSTProject.vcxproj.user create mode 100755 plugins/WinVST/ClearCoat/vstplug.def create mode 100755 plugins/WinVST/kCathedral/.vs/Console4Channel64/v14/.suo create mode 100755 plugins/WinVST/kCathedral/.vs/VSTProject/v14/.suo create mode 100755 plugins/WinVST/kCathedral/VSTProject.sln create mode 100755 plugins/WinVST/kCathedral/VSTProject.vcxproj create mode 100755 plugins/WinVST/kCathedral/VSTProject.vcxproj.filters create mode 100755 plugins/WinVST/kCathedral/VSTProject.vcxproj.user create mode 100755 plugins/WinVST/kCathedral/kCathedral.cpp create mode 100755 plugins/WinVST/kCathedral/kCathedral.h create mode 100755 plugins/WinVST/kCathedral/kCathedralProc.cpp create mode 100755 plugins/WinVST/kCathedral/vstplug.def diff --git a/Airwindopedia.txt b/Airwindopedia.txt index 8c0aeb45a..50803191c 100644 --- a/Airwindopedia.txt +++ b/Airwindopedia.txt @@ -19,8 +19,7 @@ Brightness: PlatinumSlew, DeBess, GoldenSlew, Sinew, SlewSonic, Acceleration2, D Clipping: ClipOnly2, ClipSoftly, OneCornerClip, ADClip7, AQuickVoiceClip, ClipOnly -Consoles: Console8LiteChannel, Console8LiteBuss, Console8BussHype, Console8BussIn, Console8BussOut, Console8ChannelHype, Console8ChannelIn, Console8ChannelOut, Console8SubHype, Console8SubIn, Console8SubOut, Console0Channel, Console0Buss, PurestConsole3Buss, PurestConsole3Channel, PurestConsole2Buss, PurestConsole2Channel, Console7Buss, Console7Channel, Console7Cascade, Console7Crunch, PurestConsoleBuss, PurestConsoleChannel,Console6Buss, Console6Channel, PDBuss, PDChannel, Console5Buss, Console5Channel, Console5DarkCh, C5RawBuss, C5RawChannel, AtmosphereBuss, AtmosphereChannel, -Console4Buss, Console4Channel, EveryConsole +Consoles: ConsoleMCBuss, ConsoleMCChannel, Console8LiteChannel, Console8LiteBuss, Console8BussHype, Console8BussIn, Console8BussOut, Console8ChannelHype, Console8ChannelIn, Console8ChannelOut, Console8SubHype, Console8SubIn, Console8SubOut, Console0Channel, Console0Buss, PurestConsole3Buss, PurestConsole3Channel, PurestConsole2Buss, PurestConsole2Channel, Console7Buss, Console7Channel, Console7Cascade, Console7Crunch, PurestConsoleBuss, PurestConsoleChannel,Console6Buss, Console6Channel, PDBuss, PDChannel, Console5Buss, Console5Channel, Console5DarkCh, C5RawBuss, C5RawChannel, AtmosphereBuss, AtmosphereChannel, Console4Buss, Console4Channel, EveryConsole Distortion: Distortion, Edge, Dirt, Mackity, Density2, Density, Drive, Loud, Hard Vacuum, HighImpact, MultiBandDistortion @@ -983,6 +982,25 @@ When using it, set it up like any pre-8 version of Console. Use it as a replacem Hope you like the new, simpler and more direct Console8Lite :) +############ ConsoleMCBuss goes for the tone shaping of the classic MCI console! +############ ConsoleMCChannel goes for the tone shaping of the classic MCI console! + +This has been a real journey, to get to this point. + +ConsoleMC is replacing my fully analog mixing system, which I'm now looking to sell off. Technically, just the mixer, as I can re-use the Lavry for tracking, where I used to have it dedicated to re-capturing the mixdown from the Heritage Audio mixer. This is what it took, to retire that glorious beast. + +It's a channel strip that functions like a normal Console Channel, except it's got treble, a sweepable mid that only boosts (like the classic MCI mid boost), bass, a fader that runs before the EQ section like the classic MCI, and a special pan switching network that's like an evil cousin of LCR panning. And it's a summing buss that brings the summing character of the big MCI desks with a gnarly analog dirtiness that's not simply 'add a distortion box' but is actually a modification of other recent and unique work I've put out. + +ConsoleMC draws on the following recent plugins: Creature. SubTight. Sinew. ResEQ2. Pear. BitShiftPan. There is not a single normal DSP algorithm in this thing unless you count sin() and asin() functions. It is ALL built out of current, 2023 Airwindows plugins that have all been pretty well received, sometimes with a fair bit of excitement. I told you all this was working up to something. This is it. + +Specifically, this is the first 'it' to come together: I've got at least five other big console concepts that deserve this treatment, but ConsoleMC is right here for you to jump into, right now. There's a couple reverbs in the demo, including kCathedral which is a call-out to the corresponding Bricasti patch. Those are for later. + +ConsoleMC is designed around running at 96k (or possibly 192k if you're so inclined) but ought to work at 44.1k. If you're at low sample rate and seek to oversample it 2x or 4x it shouldn't do it any harm but try running it at 1x to see if you get more immediacy, as it learns from Console Zero and can put across a very clean signal path. + +All of the EQ options are designed to be pristine when flat (mids, being boost only, are flat at 0.0 boost, not 0.5) and bring in multiple stages as you crank them harder and harder, whether it's the highs and mids getting increasingly saturated or the mids getting increasingly high-Q, allowing for everything from clarity to tonal extremeness thoroughly beyond what any real MCI console would do. This is not a clone, it's a tone in its own right, that tries to do the same job as some of the greatest big analog consoles ever to exist, but does it by the unforgiving and touchy rules of digital. + +I hope it brings you joy, and helps you get your sound as it helps me get mine. + ############ Creature is a soft slew saturator, a new class of noisechanger. So here's something new: didn't exist before, even I didn't have it. diff --git a/plugins/LinuxVST/CMakeLists.txt b/plugins/LinuxVST/CMakeLists.txt index 1455df338..3eb612343 100755 --- a/plugins/LinuxVST/CMakeLists.txt +++ b/plugins/LinuxVST/CMakeLists.txt @@ -64,6 +64,7 @@ add_airwindows_plugin(Chorus) add_airwindows_plugin(ChorusEnsemble) add_airwindows_plugin(ChromeOxide) add_airwindows_plugin(Cider) +add_airwindows_plugin(ClearCoat) add_airwindows_plugin(ClipOnly) add_airwindows_plugin(ClipOnly2) add_airwindows_plugin(ClipSoftly) @@ -194,6 +195,7 @@ add_airwindows_plugin(IronOxideClassic) add_airwindows_plugin(IronOxideClassic2) add_airwindows_plugin(Isolator) add_airwindows_plugin(Isolator2) +add_airwindows_plugin(kCathedral) add_airwindows_plugin(kChamberAR) add_airwindows_plugin(kPlateA) add_airwindows_plugin(kPlateB) diff --git a/plugins/LinuxVST/src/ClearCoat/ClearCoat.cpp b/plugins/LinuxVST/src/ClearCoat/ClearCoat.cpp new file mode 100755 index 000000000..a3aec775b --- /dev/null +++ b/plugins/LinuxVST/src/ClearCoat/ClearCoat.cpp @@ -0,0 +1,229 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#include "ClearCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ClearCoat(audioMaster);} + +ClearCoat::ClearCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 1.0; + + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevclearcoat = -1; + + 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 +} + +ClearCoat::~ClearCoat() {} +VstInt32 ClearCoat::getVendorVersion () {return 1000;} +void ClearCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void ClearCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), 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 ClearCoat::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 ClearCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool ClearCoat::getEffectName(char* name) { + vst_strncpy(name, "ClearCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory ClearCoat::getPlugCategory() {return kPlugCategEffect;} + +bool ClearCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows ClearCoat", kVstMaxProductStrLen); return true; +} + +bool ClearCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/ClearCoat/ClearCoat.h b/plugins/LinuxVST/src/ClearCoat/ClearCoat.h new file mode 100755 index 000000000..7f7284a92 --- /dev/null +++ b/plugins/LinuxVST/src/ClearCoat/ClearCoat.h @@ -0,0 +1,202 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#define __ClearCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kNumParameters = 2 +}; // + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'clco'; //Change this to what the AU identity is! + +class ClearCoat : + public AudioEffectX +{ +public: + ClearCoat(audioMasterCallback audioMaster); + ~ClearCoat(); + 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; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevclearcoat; + + float A; + float B; +}; + +#endif diff --git a/plugins/LinuxVST/src/ClearCoat/ClearCoatProc.cpp b/plugins/LinuxVST/src/ClearCoat/ClearCoatProc.cpp new file mode 100755 index 000000000..b93707b53 --- /dev/null +++ b/plugins/LinuxVST/src/ClearCoat/ClearCoatProc.cpp @@ -0,0 +1,744 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#include "ClearCoat.h" +#endif + +void ClearCoat::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = (int)(A*16.999); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = B*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 ClearCoat::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = (int)(A*16.999); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = B*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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/LinuxVST/src/kCathedral/kCathedral.cpp b/plugins/LinuxVST/src/kCathedral/kCathedral.cpp new file mode 100755 index 000000000..1965dd97b --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral/kCathedral.cpp @@ -0,0 +1,274 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#include "kCathedral.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral(audioMaster);} + +kCathedral::kCathedral(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < earlyA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < earlyB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < earlyC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < earlyD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < earlyE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < earlyF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < earlyG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < earlyH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < earlyI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + prevMulchBL = 0.0; + prevMulchBR = 0.0; + prevMulchCL = 0.0; + prevMulchCR = 0.0; + prevMulchDL = 0.0; + prevMulchDR = 0.0; + prevMulchEL = 0.0; + prevMulchER = 0.0; + + tailL = 0.0; + tailR = 0.0; + + prevOutEL = 0.0; + prevOutER = 0.0; + prevInEL = 0.0; + prevInER = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + earlyAL = 1; + earlyBL = 1; + earlyCL = 1; + earlyDL = 1; + earlyEL = 1; + earlyFL = 1; + earlyGL = 1; + earlyHL = 1; + earlyIL = 1; + + earlyAR = 1; + earlyBR = 1; + earlyCR = 1; + earlyDR = 1; + earlyER = 1; + earlyFR = 1; + earlyGR = 1; + earlyHR = 1; + earlyIR = 1; + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + //from SubTight + + 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 +} + +kCathedral::~kCathedral() {} +VstInt32 kCathedral::getVendorVersion () {return 1000;} +void kCathedral::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral::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 kCathedral::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + /* 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 kCathedral::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + /* 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 kCathedral::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; 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 kCathedral::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Wetness", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void kCathedral::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void kCathedral::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral::getEffectName(char* name) { + vst_strncpy(name, "kCathedral", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral", kVstMaxProductStrLen); return true; +} + +bool kCathedral::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/kCathedral/kCathedral.h b/plugins/LinuxVST/src/kCathedral/kCathedral.h new file mode 100755 index 000000000..7533c8f90 --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral/kCathedral.h @@ -0,0 +1,307 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#define __kCathedral_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; // + +//regular3x3 +const int earlyA = 437; const int earlyB = 284; const int earlyC = 754; const int earlyD = 1538; const int earlyE = 59; const int earlyF = 1829; const int earlyG = 37; const int earlyH = 3304; const int earlyI = 200; const int predelay = 1014; const int vlfpredelay = 3275; //6 to 151 ms, 741 seat theater. Scarcity, 1 in 17259 +//kCathedralEarly741 + +const int delayA = 253; const int delayB = 1395; const int delayC = 248; const int delayD = 284; const int delayE = 952; const int delayF = 430; const int delayG = 1253; const int delayH = 889; const int delayI = 798; const int delayJ = 397; const int delayK = 1166; const int delayL = 250; const int delayM = 38; const int delayN = 1389; const int delayO = 1103; const int delayP = 50; const int delayQ = 1317; const int delayR = 40; const int delayS = 1393; const int delayT = 325; const int delayU = 11; const int delayV = 265; const int delayW = 1339; const int delayX = 315; const int delayY = 753; //16 to 153 ms, 860 seat hall. Scarcity, 1 in 60182 +//###RevSmooth860 + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcth'; //Change this to what the AU identity is! + +class kCathedral : + public AudioEffectX +{ +public: + kCathedral(audioMasterCallback audioMaster); + ~kCathedral(); + 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; + + double gainOutL; + double gainOutR; + + double eAL[earlyA+5]; + double eBL[earlyB+5]; + double eCL[earlyC+5]; + double eDL[earlyD+5]; + double eEL[earlyE+5]; + double eFL[earlyF+5]; + double eGL[earlyG+5]; + double eHL[earlyH+5]; + double eIL[earlyI+5]; + + double eAR[earlyA+5]; + double eBR[earlyB+5]; + double eCR[earlyC+5]; + double eDR[earlyD+5]; + double eER[earlyE+5]; + double eFR[earlyF+5]; + double eGR[earlyG+5]; + double eHR[earlyH+5]; + double eIR[earlyI+5]; + + int earlyAL, earlyAR; + int earlyBL, earlyBR; + int earlyCL, earlyCR; + int earlyDL, earlyDR; + int earlyEL, earlyER; + int earlyFL, earlyFR; + int earlyGL, earlyGR; + int earlyHL, earlyHR; + int earlyIL, earlyIR; + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double prevMulchBL; + double prevMulchBR; + double prevMulchCL; + double prevMulchCR; + double prevMulchDL; + double prevMulchDR; + double prevMulchEL; + double prevMulchER; + + double prevOutEL; + double prevOutER; + double prevInEL; + double prevInER; + + double tailL; + double tailR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/LinuxVST/src/kCathedral/kCathedralProc.cpp b/plugins/LinuxVST/src/kCathedral/kCathedralProc.cpp new file mode 100755 index 000000000..18c4e88c2 --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral/kCathedralProc.cpp @@ -0,0 +1,1070 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#include "kCathedral.h" +#endif + +void kCathedral::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 kCathedral::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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/ClearCoat/ClearCoat.cpp b/plugins/MacAU/ClearCoat/ClearCoat.cpp new file mode 100755 index 000000000..27c207666 --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoat.cpp @@ -0,0 +1,664 @@ +/* +* File: ClearCoat.cpp +* +* Version: 1.0 +* +* Created: 10/23/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/*============================================================================= + ClearCoat.cpp + +=============================================================================*/ +#include "ClearCoat.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(ClearCoat) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::ClearCoat +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ClearCoat::ClearCoat(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + SetParameter(kParam_Two, kDefaultValue_ParamTwo ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_One: + AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 0; + outParameterInfo.maxValue = 16; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + case kParam_Two: + AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamTwo; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 ClearCoat::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// ClearCoat::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____ClearCoatEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::ClearCoatKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevclearcoat = -1; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus ClearCoat::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = GetParameter( kParam_One ); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = GetParameter( kParam_Two )*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} + diff --git a/plugins/MacAU/ClearCoat/ClearCoat.exp b/plugins/MacAU/ClearCoat/ClearCoat.exp new file mode 100755 index 000000000..72b9e5a06 --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoat.exp @@ -0,0 +1 @@ +_ClearCoatEntry diff --git a/plugins/MacAU/ClearCoat/ClearCoat.h b/plugins/MacAU/ClearCoat/ClearCoat.h new file mode 100755 index 000000000..0e9970f2e --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoat.h @@ -0,0 +1,261 @@ +/* +* File: ClearCoat.h +* +* Version: 1.0 +* +* Created: 10/23/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "AUEffectBase.h" +#include "ClearCoatVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __ClearCoat_h__ +#define __ClearCoat_h__ + + +#pragma mark ____ClearCoat Parameters + +// parameters +static const float kDefaultValue_ParamOne = 10; +static const float kDefaultValue_ParamTwo = 1.0; + +static CFStringRef kParameterOneName = CFSTR("Selection"); +static CFStringRef kParameterTwoName = CFSTR("Dry/Wet"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + kParam_Two =1, + //Add your parameters here... + kNumberOfParameters=2 +}; + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + + +#pragma mark ____ClearCoat +class ClearCoat : public AUEffectBase +{ +public: + ClearCoat(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~ClearCoat () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kClearCoatVersion; } + + private: + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevclearcoat; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/ClearCoat/ClearCoat.r b/plugins/MacAU/ClearCoat/ClearCoat.r new file mode 100755 index 000000000..4d88b7ef6 --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoat.r @@ -0,0 +1,61 @@ +/* +* File: ClearCoat.r +* +* Version: 1.0 +* +* Created: 10/23/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "ClearCoatVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_ClearCoat 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ClearCoat~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_ClearCoat +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE ClearCoat_COMP_SUBTYPE +#define COMP_MANUF ClearCoat_COMP_MANF + +#define VERSION kClearCoatVersion +#define NAME "Airwindows: ClearCoat" +#define DESCRIPTION "ClearCoat AU" +#define ENTRY_POINT "ClearCoatEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..4a9d617fb --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,147 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* ClearCoat */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 719864074; + PBXWorkspaceStateSaveDate = 719864074; + }; + perUserProjectItems = { + 8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */; + 8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */; + 8B1FFB7D2AE848C4004C416B /* PBXBookmark */ = 8B1FFB7D2AE848C4004C416B /* PBXBookmark */; + 8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ClearCoat.h */; + name = "ClearCoat.h: 60"; + rLen = 0; + rLoc = 2984; + rType = 0; + vrLen = 59; + vrLoc = 6477; + }; + 8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ClearCoat.cpp */; + name = "ClearCoat.cpp: 633"; + rLen = 270; + rLoc = 29022; + rType = 0; + vrLen = 217; + vrLoc = 29026; + }; + 8B1FFB7D2AE848C4004C416B /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */; + }; + 8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */; + name = "ClearCoatVersion.h: 54"; + rLen = 0; + rLoc = 2907; + rType = 0; + vrLen = 181; + vrLoc = 2781; + }; + 8BA05A660720730100365D66 /* ClearCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {2748, 12150}}"; + sepNavSelRange = "{20031, 9580}"; + sepNavVisRange = "{28900, 1352}"; + sepNavWindowFrame = "{{659, 40}, {771, 838}}"; + }; + }; + 8BA05A690720730100365D66 /* ClearCoatVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1152}}"; + sepNavSelRange = "{2907, 0}"; + sepNavVisRange = "{2781, 181}"; + sepNavWindowFrame = "{{15, 38}, {896, 840}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BC6025B073B072D006C4272 /* ClearCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 3834}}"; + sepNavSelRange = "{3285, 0}"; + sepNavVisRange = "{2146, 1005}"; + sepNavWindowFrame = "{{641, 119}, {1060, 701}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* ClearCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..ce2ece318 --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1486 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B80DD882AE71ACE0036BE63 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 609 346 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B80DD832AE71ACE0036BE63 + PBXProjectModuleLabel + ClearCoatVersion.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B80DD842AE71ACE0036BE63 + PBXProjectModuleLabel + ClearCoatVersion.h + _historyCapacity + 0 + bookmark + 8B1FFB7E2AE848C4004C416B + history + + 8B1FFB7B2AE848C4004C416B + 8B1FFB7C2AE848C4004C416B + 8B1FFB7D2AE848C4004C416B + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 117}} + RubberWindowFrame + 609 346 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 117pt + + + Proportion + 324pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 297}} + RubberWindowFrame + 609 346 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B1FFB7F2AE848C4004C416B + 1CA23ED40692098700951B8B + 8B1FFB802AE848C4004C416B + 8B80DD832AE71ACE0036BE63 + 8B1FFB812AE848C4004C416B + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 719866052.44707799 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B1FFB822AE848C4004C416B + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj + + WindowString + 609 346 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/project.pbxproj b/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..c55e22d7a --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj/project.pbxproj @@ -0,0 +1,490 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; }; + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; }; + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; }; + 8B4119B70749654200361ABE /* ClearCoat.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* ClearCoat.r */; }; + 8BA05A6B0720730100365D66 /* ClearCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ClearCoat.cpp */; }; + 8BA05A6E0720730100365D66 /* ClearCoatVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */; }; + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A7F072073D200365D66 /* AUBase.cpp */; }; + 8BA05AAF072073D300365D66 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A80072073D200365D66 /* AUBase.h */; }; + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A81072073D200365D66 /* AUDispatch.cpp */; }; + 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A82072073D200365D66 /* AUDispatch.h */; }; + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A83072073D200365D66 /* AUInputElement.cpp */; }; + 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A84072073D200365D66 /* AUInputElement.h */; }; + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A85072073D200365D66 /* AUOutputElement.cpp */; }; + 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A86072073D200365D66 /* AUOutputElement.h */; }; + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A88072073D200365D66 /* AUScopeElement.cpp */; }; + 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A89072073D200365D66 /* AUScopeElement.h */; }; + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A8A072073D200365D66 /* ComponentBase.cpp */; }; + 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A8B072073D200365D66 /* ComponentBase.h */; }; + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */; }; + 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A9B072073D200365D66 /* AUEffectBase.h */; }; + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA7072073D200365D66 /* AUBuffer.cpp */; }; + 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AA8072073D200365D66 /* AUBuffer.h */; }; + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */; }; + 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */; }; + 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */; }; + 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */; }; + 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */; }; + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */; }; + 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */; }; + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE10720742100365D66 /* CAMutex.cpp */; }; + 8BA05AE80720742100365D66 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE20720742100365D66 /* CAMutex.h */; }; + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */; }; + 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; }; + 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; }; + 8BC6025C073B072D006C4272 /* ClearCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ClearCoat.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; }; + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* ClearCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ClearCoat.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* ClearCoat.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ClearCoat.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* ClearCoat.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ClearCoat.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* ClearCoatVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClearCoatVersion.h; sourceTree = ""; }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = ""; }; + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = ""; }; + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* ClearCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClearCoat.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* ClearCoat.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ClearCoat.component; sourceTree = BUILT_PRODUCTS_DIR; }; + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUBaseHelper.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.cpp; sourceTree = SYSTEM_DEVELOPER_DIR; }; + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.h; sourceTree = SYSTEM_DEVELOPER_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */, + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */, + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* ClearCoat */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = ClearCoat; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BA05A56072072A900365D66 /* AU Source */, + 8BA05AEB0720742700365D66 /* PublicUtility */, + 8BA05A7D072073D200365D66 /* AUPublic */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* ClearCoat.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* ClearCoat.h */, + 8BA05A660720730100365D66 /* ClearCoat.cpp */, + 8BA05A670720730100365D66 /* ClearCoat.exp */, + 8BA05A680720730100365D66 /* ClearCoat.r */, + 8BA05A690720730100365D66 /* ClearCoatVersion.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 8BA05A7D072073D200365D66 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8BA05A7E072073D200365D66 /* AUBase */, + 8BA05A99072073D200365D66 /* OtherBases */, + 8BA05AA6072073D200365D66 /* Utility */, + ); + name = AUPublic; + path = Extras/CoreAudio/AudioUnits/AUPublic; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; + 8BA05A7E072073D200365D66 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8BA05A7F072073D200365D66 /* AUBase.cpp */, + 8BA05A80072073D200365D66 /* AUBase.h */, + 8BA05A81072073D200365D66 /* AUDispatch.cpp */, + 8BA05A82072073D200365D66 /* AUDispatch.h */, + 8BA05A83072073D200365D66 /* AUInputElement.cpp */, + 8BA05A84072073D200365D66 /* AUInputElement.h */, + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */, + 8BA05A86072073D200365D66 /* AUOutputElement.h */, + 8BA05A87072073D200365D66 /* AUResources.r */, + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */, + 8BA05A89072073D200365D66 /* AUScopeElement.h */, + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */, + 8BA05A8B072073D200365D66 /* ComponentBase.h */, + ); + path = AUBase; + sourceTree = ""; + }; + 8BA05A99072073D200365D66 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */, + 8BA05A9B072073D200365D66 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8BA05AA6072073D200365D66 /* Utility */ = { + isa = PBXGroup; + children = ( + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */, + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */, + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */, + 8BA05AA8072073D200365D66 /* AUBuffer.h */, + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */, + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */, + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */, + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */, + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05AEB0720742700365D66 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8BA05B050720754400365D66 /* CAAUParameter.cpp */, + 8BA05B060720754400365D66 /* CAAUParameter.h */, + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */, + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */, + 8BA05AE10720742100365D66 /* CAMutex.cpp */, + 8BA05AE20720742100365D66 /* CAMutex.h */, + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */, + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */, + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */, + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */, + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */, + ); + name = PublicUtility; + path = Extras/CoreAudio/PublicUtility; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6E0720730100365D66 /* ClearCoatVersion.h in Headers */, + 8BA05AAF072073D300365D66 /* AUBase.h in Headers */, + 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */, + 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */, + 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */, + 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */, + 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */, + 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */, + 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */, + 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */, + 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */, + 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */, + 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */, + 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */, + 8BA05AE80720742100365D66 /* CAMutex.h in Headers */, + 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */, + 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */, + 8BC6025C073B072D006C4272 /* ClearCoat.h in Headers */, + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */, + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */, + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* ClearCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ClearCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ClearCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = ClearCoat; + productReference = 8D01CCD20486CAD60068D4B7 /* ClearCoat.component */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ClearCoat" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* ClearCoat */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* ClearCoat */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B4119B70749654200361ABE /* ClearCoat.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* ClearCoat.cpp in Sources */, + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */, + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */, + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */, + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */, + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */, + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */, + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */, + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */, + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */, + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */, + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */, + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */, + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */, + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */, + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXPORTED_SYMBOLS_FILE = ClearCoat.exp; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_NAME = ClearCoat; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = ClearCoat.exp; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_NAME = ClearCoat; + SDKROOT = macosx10.5; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 3E4BA248089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + SDKROOT = macosx10.6; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 3E4BA249089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + SDKROOT = macosx10.6; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ClearCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ClearCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/ClearCoat/ClearCoatVersion.h b/plugins/MacAU/ClearCoat/ClearCoatVersion.h new file mode 100755 index 000000000..39b0ca4f3 --- /dev/null +++ b/plugins/MacAU/ClearCoat/ClearCoatVersion.h @@ -0,0 +1,58 @@ +/* +* File: ClearCoatVersion.h +* +* Version: 1.0 +* +* Created: 10/23/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#ifndef __ClearCoatVersion_h__ +#define __ClearCoatVersion_h__ + + +#ifdef DEBUG + #define kClearCoatVersion 0xFFFFFFFF +#else + #define kClearCoatVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define ClearCoat_COMP_MANF 'Dthr' +#define ClearCoat_COMP_SUBTYPE 'clco' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/ClearCoat/English.lproj/InfoPlist.strings b/plugins/MacAU/ClearCoat/English.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..9df8b9cb4cee3b8a6c4a38d2024fe4cf688272fa GIT binary patch literal 382 zcmZ{gI}5@<5QL}pR~#uVjITSs*YNUZKutRto z&Cx%Sjd~o9x + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.audiounit.${PRODUCT_NAME:identifier} + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacAU/ClearCoat/StarterAU_Prefix.pch b/plugins/MacAU/ClearCoat/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacAU/ClearCoat/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacAU/ClearCoat/version.plist b/plugins/MacAU/ClearCoat/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacAU/ClearCoat/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacAU/kCathedral/English.lproj/InfoPlist.strings b/plugins/MacAU/kCathedral/English.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..7a7aa70cc0716d2dd062925433c6b9a98e6056cc GIT binary patch literal 386 zcmZ{gO>4qX5Jk`0U-5A1!c^@-EH2tWrC^I7xR)k=U~43%O8xP+ClPcLdAylf5rscI~L^;ZC2C)x}kR zU3HzNP^k=b8SqHoNfX|+ + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.audiounit.${PRODUCT_NAME:identifier} + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacAU/kCathedral/StarterAU_Prefix.pch b/plugins/MacAU/kCathedral/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacAU/kCathedral/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacAU/kCathedral/kCathedral.cpp b/plugins/MacAU/kCathedral/kCathedral.cpp new file mode 100755 index 000000000..20505e213 --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedral.cpp @@ -0,0 +1,871 @@ +/* +* File: kCathedral.cpp +* +* Version: 1.0 +* +* Created: 10/20/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/*============================================================================= + kCathedral.cpp + +=============================================================================*/ +#include "kCathedral.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(kCathedral) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::kCathedral +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +kCathedral::kCathedral(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_One: + AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 kCathedral::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// kCathedral::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____kCathedralEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::kCathedralKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < earlyA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < earlyB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < earlyC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < earlyD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < earlyE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < earlyF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < earlyG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < earlyH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < earlyI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + prevMulchBL = 0.0; + prevMulchBR = 0.0; + prevMulchCL = 0.0; + prevMulchCR = 0.0; + prevMulchDL = 0.0; + prevMulchDR = 0.0; + prevMulchEL = 0.0; + prevMulchER = 0.0; + + tailL = 0.0; + tailR = 0.0; + + prevOutEL = 0.0; + prevOutER = 0.0; + prevInEL = 0.0; + prevInER = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + earlyAL = 1; + earlyBL = 1; + earlyCL = 1; + earlyDL = 1; + earlyEL = 1; + earlyFL = 1; + earlyGL = 1; + earlyHL = 1; + earlyIL = 1; + + earlyAR = 1; + earlyBR = 1; + earlyCR = 1; + earlyDR = 1; + earlyER = 1; + earlyFR = 1; + earlyGR = 1; + earlyHR = 1; + earlyIR = 1; + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + //from SubTight + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus kCathedral::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = GetParameter( kParam_One )*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} \ No newline at end of file diff --git a/plugins/MacAU/kCathedral/kCathedral.exp b/plugins/MacAU/kCathedral/kCathedral.exp new file mode 100755 index 000000000..5a87dcd63 --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedral.exp @@ -0,0 +1 @@ +_kCathedralEntry diff --git a/plugins/MacAU/kCathedral/kCathedral.h b/plugins/MacAU/kCathedral/kCathedral.h new file mode 100755 index 000000000..0e2288787 --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedral.h @@ -0,0 +1,362 @@ +/* +* File: kCathedral.h +* +* Version: 1.0 +* +* Created: 10/20/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "AUEffectBase.h" +#include "kCathedralVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __kCathedral_h__ +#define __kCathedral_h__ + + +#pragma mark ____kCathedral Parameters + +// parameters +static const float kDefaultValue_ParamOne = 1.0; +static CFStringRef kParameterOneName = CFSTR("Wetness"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + //Add your parameters here... + kNumberOfParameters=1 +}; + +//regular3x3 +const int earlyA = 437; const int earlyB = 284; const int earlyC = 754; const int earlyD = 1538; const int earlyE = 59; const int earlyF = 1829; const int earlyG = 37; const int earlyH = 3304; const int earlyI = 200; const int predelay = 1014; const int vlfpredelay = 3275; //6 to 151 ms, 741 seat theater. Scarcity, 1 in 17259 +//kCathedralEarly741 + +const int delayA = 253; const int delayB = 1395; const int delayC = 248; const int delayD = 284; const int delayE = 952; const int delayF = 430; const int delayG = 1253; const int delayH = 889; const int delayI = 798; const int delayJ = 397; const int delayK = 1166; const int delayL = 250; const int delayM = 38; const int delayN = 1389; const int delayO = 1103; const int delayP = 50; const int delayQ = 1317; const int delayR = 40; const int delayS = 1393; const int delayT = 325; const int delayU = 11; const int delayV = 265; const int delayW = 1339; const int delayX = 315; const int delayY = 753; //16 to 153 ms, 860 seat hall. Scarcity, 1 in 60182 +//###RevSmooth860 + + +#pragma mark ____kCathedral +class kCathedral : public AUEffectBase +{ +public: + kCathedral(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~kCathedral () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kkCathedralVersion; } + + private: + double gainOutL; + double gainOutR; + + double eAL[earlyA+5]; + double eBL[earlyB+5]; + double eCL[earlyC+5]; + double eDL[earlyD+5]; + double eEL[earlyE+5]; + double eFL[earlyF+5]; + double eGL[earlyG+5]; + double eHL[earlyH+5]; + double eIL[earlyI+5]; + + double eAR[earlyA+5]; + double eBR[earlyB+5]; + double eCR[earlyC+5]; + double eDR[earlyD+5]; + double eER[earlyE+5]; + double eFR[earlyF+5]; + double eGR[earlyG+5]; + double eHR[earlyH+5]; + double eIR[earlyI+5]; + + int earlyAL, earlyAR; + int earlyBL, earlyBR; + int earlyCL, earlyCR; + int earlyDL, earlyDR; + int earlyEL, earlyER; + int earlyFL, earlyFR; + int earlyGL, earlyGR; + int earlyHL, earlyHR; + int earlyIL, earlyIR; + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double prevMulchBL; + double prevMulchBR; + double prevMulchCL; + double prevMulchCR; + double prevMulchDL; + double prevMulchDR; + double prevMulchEL; + double prevMulchER; + + double prevOutEL; + double prevOutER; + double prevInEL; + double prevInER; + + double tailL; + double tailR; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/kCathedral/kCathedral.r b/plugins/MacAU/kCathedral/kCathedral.r new file mode 100755 index 000000000..5a2bc5ff7 --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedral.r @@ -0,0 +1,61 @@ +/* +* File: kCathedral.r +* +* Version: 1.0 +* +* Created: 10/20/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "kCathedralVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_kCathedral 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kCathedral~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_kCathedral +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE kCathedral_COMP_SUBTYPE +#define COMP_MANUF kCathedral_COMP_MANF + +#define VERSION kkCathedralVersion +#define NAME "Airwindows: kCathedral" +#define DESCRIPTION "kCathedral AU" +#define ENTRY_POINT "kCathedralEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..85016cfbb --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,147 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 719866814; + PBXWorkspaceStateSaveDate = 719866814; + }; + perUserProjectItems = { + 8B1FFBAE2AE850BF004C416B /* PBXTextBookmark */ = 8B1FFBAE2AE850BF004C416B /* PBXTextBookmark */; + 8B1FFBAF2AE850BF004C416B /* PBXTextBookmark */ = 8B1FFBAF2AE850BF004C416B /* PBXTextBookmark */; + 8B1FFBB02AE850BF004C416B /* PBXBookmark */ = 8B1FFBB02AE850BF004C416B /* PBXBookmark */; + 8B1FFBB12AE850BF004C416B /* PBXTextBookmark */ = 8B1FFBB12AE850BF004C416B /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B1FFBAE2AE850BF004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral.cpp */; + name = "kCathedral.cpp: 355"; + rLen = 0; + rLoc = 13725; + rType = 0; + vrLen = 68; + vrLoc = 20572; + }; + 8B1FFBAF2AE850BF004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* kCathedral.h */; + name = "kCathedral.h: 336"; + rLen = 0; + rLoc = 9782; + rType = 0; + vrLen = 17; + vrLoc = 9771; + }; + 8B1FFBB02AE850BF004C416B /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A690720730100365D66 /* kCathedralVersion.h */; + }; + 8B1FFBB12AE850BF004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* kCathedralVersion.h */; + name = "kCathedralVersion.h: 54"; + rLen = 0; + rLoc = 2914; + rType = 0; + vrLen = 138; + vrLoc = 2838; + }; + 8BA05A660720730100365D66 /* kCathedral.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 15678}}"; + sepNavSelRange = "{14496, 22716}"; + sepNavVisRange = "{36037, 1776}"; + sepNavWindowFrame = "{{521, 69}, {1039, 809}}"; + }; + }; + 8BA05A690720730100365D66 /* kCathedralVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1170}}"; + sepNavSelRange = "{2914, 0}"; + sepNavVisRange = "{2838, 138}"; + sepNavWindowFrame = "{{15, 48}, {720, 825}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BC6025B073B072D006C4272 /* kCathedral.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {5907, 6516}}"; + sepNavSelRange = "{3062, 0}"; + sepNavVisRange = "{2728, 1765}"; + sepNavWindowFrame = "{{727, 53}, {720, 825}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..4670494db --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1486 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B72DDF82AE3085200A82FFF + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 644 292 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B72DDF32AE3085200A82FFF + PBXProjectModuleLabel + kCathedralVersion.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B72DDF42AE3085200A82FFF + PBXProjectModuleLabel + kCathedralVersion.h + _historyCapacity + 0 + bookmark + 8B1FFBB12AE850BF004C416B + history + + 8B1FFBAE2AE850BF004C416B + 8B1FFBAF2AE850BF004C416B + 8B1FFBB02AE850BF004C416B + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 116}} + RubberWindowFrame + 644 292 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 116pt + + + Proportion + 325pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 298}} + RubberWindowFrame + 644 292 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 345}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B1FFBB22AE850BF004C416B + 1CA23ED40692098700951B8B + 8B1FFBB32AE850BF004C416B + 8B72DDF32AE3085200A82FFF + 8B1FFBB42AE850BF004C416B + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 719868095.79937196 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B1FFBB52AE850BF004C416B + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/kCathedral/kCathedral.xcodeproj + + WindowString + 644 292 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacAU/kCathedral/kCathedral.xcodeproj/project.pbxproj b/plugins/MacAU/kCathedral/kCathedral.xcodeproj/project.pbxproj new file mode 100755 index 000000000..211bf7b6d --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedral.xcodeproj/project.pbxproj @@ -0,0 +1,490 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; }; + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; }; + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; }; + 8B4119B70749654200361ABE /* kCathedral.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* kCathedral.r */; }; + 8BA05A6B0720730100365D66 /* kCathedral.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* kCathedral.cpp */; }; + 8BA05A6E0720730100365D66 /* kCathedralVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* kCathedralVersion.h */; }; + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A7F072073D200365D66 /* AUBase.cpp */; }; + 8BA05AAF072073D300365D66 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A80072073D200365D66 /* AUBase.h */; }; + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A81072073D200365D66 /* AUDispatch.cpp */; }; + 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A82072073D200365D66 /* AUDispatch.h */; }; + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A83072073D200365D66 /* AUInputElement.cpp */; }; + 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A84072073D200365D66 /* AUInputElement.h */; }; + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A85072073D200365D66 /* AUOutputElement.cpp */; }; + 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A86072073D200365D66 /* AUOutputElement.h */; }; + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A88072073D200365D66 /* AUScopeElement.cpp */; }; + 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A89072073D200365D66 /* AUScopeElement.h */; }; + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A8A072073D200365D66 /* ComponentBase.cpp */; }; + 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A8B072073D200365D66 /* ComponentBase.h */; }; + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */; }; + 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A9B072073D200365D66 /* AUEffectBase.h */; }; + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA7072073D200365D66 /* AUBuffer.cpp */; }; + 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AA8072073D200365D66 /* AUBuffer.h */; }; + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */; }; + 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */; }; + 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */; }; + 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */; }; + 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */; }; + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */; }; + 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */; }; + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE10720742100365D66 /* CAMutex.cpp */; }; + 8BA05AE80720742100365D66 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE20720742100365D66 /* CAMutex.h */; }; + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */; }; + 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; }; + 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; }; + 8BC6025C073B072D006C4272 /* kCathedral.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* kCathedral.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; }; + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = ""; }; + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* kCathedral.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kCathedral.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* kCathedral.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = kCathedral.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* kCathedral.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = kCathedral.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* kCathedralVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedralVersion.h; sourceTree = ""; }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = ""; }; + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = ""; }; + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* kCathedral.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* kCathedral.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral.component; sourceTree = BUILT_PRODUCTS_DIR; }; + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUBaseHelper.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.cpp; sourceTree = SYSTEM_DEVELOPER_DIR; }; + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.h; sourceTree = SYSTEM_DEVELOPER_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */, + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */, + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* kCathedral */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = kCathedral; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8BA05A56072072A900365D66 /* AU Source */, + 8BA05AEB0720742700365D66 /* PublicUtility */, + 8BA05A7D072073D200365D66 /* AUPublic */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* kCathedral.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* kCathedral.h */, + 8BA05A660720730100365D66 /* kCathedral.cpp */, + 8BA05A670720730100365D66 /* kCathedral.exp */, + 8BA05A680720730100365D66 /* kCathedral.r */, + 8BA05A690720730100365D66 /* kCathedralVersion.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; + 8BA05A7D072073D200365D66 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8BA05A7E072073D200365D66 /* AUBase */, + 8BA05A99072073D200365D66 /* OtherBases */, + 8BA05AA6072073D200365D66 /* Utility */, + ); + name = AUPublic; + path = Extras/CoreAudio/AudioUnits/AUPublic; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; + 8BA05A7E072073D200365D66 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8BA05A7F072073D200365D66 /* AUBase.cpp */, + 8BA05A80072073D200365D66 /* AUBase.h */, + 8BA05A81072073D200365D66 /* AUDispatch.cpp */, + 8BA05A82072073D200365D66 /* AUDispatch.h */, + 8BA05A83072073D200365D66 /* AUInputElement.cpp */, + 8BA05A84072073D200365D66 /* AUInputElement.h */, + 8BA05A85072073D200365D66 /* AUOutputElement.cpp */, + 8BA05A86072073D200365D66 /* AUOutputElement.h */, + 8BA05A87072073D200365D66 /* AUResources.r */, + 8BA05A88072073D200365D66 /* AUScopeElement.cpp */, + 8BA05A89072073D200365D66 /* AUScopeElement.h */, + 8BA05A8A072073D200365D66 /* ComponentBase.cpp */, + 8BA05A8B072073D200365D66 /* ComponentBase.h */, + ); + path = AUBase; + sourceTree = ""; + }; + 8BA05A99072073D200365D66 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */, + 8BA05A9B072073D200365D66 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8BA05AA6072073D200365D66 /* Utility */ = { + isa = PBXGroup; + children = ( + F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */, + F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */, + 8BA05AA7072073D200365D66 /* AUBuffer.cpp */, + 8BA05AA8072073D200365D66 /* AUBuffer.h */, + 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */, + 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */, + 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */, + 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */, + 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05AEB0720742700365D66 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8BA05B050720754400365D66 /* CAAUParameter.cpp */, + 8BA05B060720754400365D66 /* CAAUParameter.h */, + 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */, + 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */, + 8BA05AE10720742100365D66 /* CAMutex.cpp */, + 8BA05AE20720742100365D66 /* CAMutex.h */, + 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */, + 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */, + 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */, + 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */, + 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */, + ); + name = PublicUtility; + path = Extras/CoreAudio/PublicUtility; + sourceTree = SYSTEM_DEVELOPER_DIR; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6E0720730100365D66 /* kCathedralVersion.h in Headers */, + 8BA05AAF072073D300365D66 /* AUBase.h in Headers */, + 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */, + 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */, + 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */, + 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */, + 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */, + 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */, + 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */, + 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */, + 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */, + 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */, + 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */, + 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */, + 8BA05AE80720742100365D66 /* CAMutex.h in Headers */, + 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */, + 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */, + 8BC6025C073B072D006C4272 /* kCathedral.h in Headers */, + 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */, + 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */, + F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "kCathedral" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = kCathedral; + productReference = 8D01CCD20486CAD60068D4B7 /* kCathedral.component */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "kCathedral" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* kCathedral */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B4119B70749654200361ABE /* kCathedral.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* kCathedral.cpp in Sources */, + 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */, + 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */, + 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */, + 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */, + 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */, + 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */, + 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */, + 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */, + 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */, + 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */, + 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */, + 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */, + 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */, + 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */, + F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 089C167EFE841241C02AAC07 /* English */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + EXPORTED_SYMBOLS_FILE = kCathedral.exp; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_NAME = kCathedral; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = kCathedral.exp; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\""; + PRODUCT_NAME = kCathedral; + SDKROOT = macosx10.5; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 3E4BA248089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + SDKROOT = macosx10.6; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 3E4BA249089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + SDKROOT = macosx10.6; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "kCathedral" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "kCathedral" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/kCathedral/kCathedralVersion.h b/plugins/MacAU/kCathedral/kCathedralVersion.h new file mode 100755 index 000000000..4c8e3af8a --- /dev/null +++ b/plugins/MacAU/kCathedral/kCathedralVersion.h @@ -0,0 +1,58 @@ +/* +* File: kCathedralVersion.h +* +* Version: 1.0 +* +* Created: 10/20/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#ifndef __kCathedralVersion_h__ +#define __kCathedralVersion_h__ + + +#ifdef DEBUG + #define kkCathedralVersion 0xFFFFFFFF +#else + #define kkCathedralVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define kCathedral_COMP_MANF 'Dthr' +#define kCathedral_COMP_SUBTYPE 'kcth' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/kCathedral/version.plist b/plugins/MacAU/kCathedral/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacAU/kCathedral/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.cpp b/plugins/MacSignedAU/ClearCoat/ClearCoat.cpp new file mode 100755 index 000000000..87cb92138 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.cpp @@ -0,0 +1,664 @@ +/* +* File: ClearCoat.cpp +* +* Version: 1.0 +* +* Created: 10/23/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +/*============================================================================= + ClearCoat.cpp + +=============================================================================*/ +#include "ClearCoat.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AUDIOCOMPONENT_ENTRY(AUBaseFactory, ClearCoat) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::ClearCoat +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ClearCoat::ClearCoat(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + SetParameter(kParam_Two, kDefaultValue_ParamTwo ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_One: + AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Indexed; + outParameterInfo.minValue = 0; + outParameterInfo.maxValue = 16; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + case kParam_Two: + AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamTwo; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 ClearCoat::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// ClearCoat::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____ClearCoatEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::ClearCoatKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult ClearCoat::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevclearcoat = -1; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ClearCoat::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus ClearCoat::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = GetParameter( kParam_One ); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = GetParameter( kParam_Two )*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} + diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.exp b/plugins/MacSignedAU/ClearCoat/ClearCoat.exp new file mode 100755 index 000000000..f5545dd97 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.exp @@ -0,0 +1,2 @@ +_ClearCoatEntry +_ClearCoatFactory diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.h b/plugins/MacSignedAU/ClearCoat/ClearCoat.h new file mode 100755 index 000000000..0e9970f2e --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.h @@ -0,0 +1,261 @@ +/* +* File: ClearCoat.h +* +* Version: 1.0 +* +* Created: 10/23/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "AUEffectBase.h" +#include "ClearCoatVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __ClearCoat_h__ +#define __ClearCoat_h__ + + +#pragma mark ____ClearCoat Parameters + +// parameters +static const float kDefaultValue_ParamOne = 10; +static const float kDefaultValue_ParamTwo = 1.0; + +static CFStringRef kParameterOneName = CFSTR("Selection"); +static CFStringRef kParameterTwoName = CFSTR("Dry/Wet"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + kParam_Two =1, + //Add your parameters here... + kNumberOfParameters=2 +}; + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + + +#pragma mark ____ClearCoat +class ClearCoat : public AUEffectBase +{ +public: + ClearCoat(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~ClearCoat () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kClearCoatVersion; } + + private: + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevclearcoat; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.r b/plugins/MacSignedAU/ClearCoat/ClearCoat.r new file mode 100755 index 000000000..4d88b7ef6 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.r @@ -0,0 +1,61 @@ +/* +* File: ClearCoat.r +* +* Version: 1.0 +* +* Created: 10/23/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "ClearCoatVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_ClearCoat 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ClearCoat~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_ClearCoat +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE ClearCoat_COMP_SUBTYPE +#define COMP_MANUF ClearCoat_COMP_MANF + +#define VERSION kClearCoatVersion +#define NAME "Airwindows: ClearCoat" +#define DESCRIPTION "ClearCoat AU" +#define ENTRY_POINT "ClearCoatEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..4a9d617fb --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,147 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* ClearCoat */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 719864074; + PBXWorkspaceStateSaveDate = 719864074; + }; + perUserProjectItems = { + 8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */; + 8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */; + 8B1FFB7D2AE848C4004C416B /* PBXBookmark */ = 8B1FFB7D2AE848C4004C416B /* PBXBookmark */; + 8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */ = 8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B1FFB7B2AE848C4004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* ClearCoat.h */; + name = "ClearCoat.h: 60"; + rLen = 0; + rLoc = 2984; + rType = 0; + vrLen = 59; + vrLoc = 6477; + }; + 8B1FFB7C2AE848C4004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* ClearCoat.cpp */; + name = "ClearCoat.cpp: 633"; + rLen = 270; + rLoc = 29022; + rType = 0; + vrLen = 217; + vrLoc = 29026; + }; + 8B1FFB7D2AE848C4004C416B /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */; + }; + 8B1FFB7E2AE848C4004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */; + name = "ClearCoatVersion.h: 54"; + rLen = 0; + rLoc = 2907; + rType = 0; + vrLen = 181; + vrLoc = 2781; + }; + 8BA05A660720730100365D66 /* ClearCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {2748, 12150}}"; + sepNavSelRange = "{20031, 9580}"; + sepNavVisRange = "{28900, 1352}"; + sepNavWindowFrame = "{{659, 40}, {771, 838}}"; + }; + }; + 8BA05A690720730100365D66 /* ClearCoatVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1152}}"; + sepNavSelRange = "{2907, 0}"; + sepNavVisRange = "{2781, 181}"; + sepNavWindowFrame = "{{15, 38}, {896, 840}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BC6025B073B072D006C4272 /* ClearCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 3834}}"; + sepNavSelRange = "{3285, 0}"; + sepNavVisRange = "{2146, 1005}"; + sepNavWindowFrame = "{{641, 119}, {1060, 701}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* ClearCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..ce2ece318 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1486 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B80DD882AE71ACE0036BE63 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 609 346 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B80DD832AE71ACE0036BE63 + PBXProjectModuleLabel + ClearCoatVersion.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B80DD842AE71ACE0036BE63 + PBXProjectModuleLabel + ClearCoatVersion.h + _historyCapacity + 0 + bookmark + 8B1FFB7E2AE848C4004C416B + history + + 8B1FFB7B2AE848C4004C416B + 8B1FFB7C2AE848C4004C416B + 8B1FFB7D2AE848C4004C416B + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 117}} + RubberWindowFrame + 609 346 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 117pt + + + Proportion + 324pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 297}} + RubberWindowFrame + 609 346 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B1FFB7F2AE848C4004C416B + 1CA23ED40692098700951B8B + 8B1FFB802AE848C4004C416B + 8B80DD832AE71ACE0036BE63 + 8B1FFB812AE848C4004C416B + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 719866052.44707799 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B1FFB822AE848C4004C416B + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/ClearCoat/ClearCoat.xcodeproj + + WindowString + 609 346 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.pbxproj b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..614f3eca1 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.pbxproj @@ -0,0 +1,965 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 8B15406B2AE9B7F600DE8C34 /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FE32AE9B7F600DE8C34 /* CAExtAudioFile.h */; }; + 8B15406C2AE9B7F600DE8C34 /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FE42AE9B7F600DE8C34 /* CACFMachPort.h */; }; + 8B15406D2AE9B7F600DE8C34 /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FE52AE9B7F600DE8C34 /* CABool.h */; }; + 8B15406E2AE9B7F600DE8C34 /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B153FE62AE9B7F600DE8C34 /* CAComponent.cpp */; }; + 8B15406F2AE9B7F600DE8C34 /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FE72AE9B7F600DE8C34 /* CADebugger.h */; }; + 8B1540702AE9B7F600DE8C34 /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B153FE82AE9B7F600DE8C34 /* CACFNumber.cpp */; }; + 8B1540712AE9B7F600DE8C34 /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FE92AE9B7F600DE8C34 /* CAGuard.h */; }; + 8B1540722AE9B7F600DE8C34 /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FEA2AE9B7F600DE8C34 /* CAAtomic.h */; }; + 8B1540732AE9B7F600DE8C34 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FEB2AE9B7F600DE8C34 /* CAStreamBasicDescription.h */; }; + 8B1540742AE9B7F600DE8C34 /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FEC2AE9B7F600DE8C34 /* CACFObject.h */; }; + 8B1540752AE9B7F600DE8C34 /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FED2AE9B7F600DE8C34 /* CAStreamRangedDescription.h */; }; + 8B1540762AE9B7F600DE8C34 /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FEE2AE9B7F600DE8C34 /* CATokenMap.h */; }; + 8B1540772AE9B7F600DE8C34 /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FEF2AE9B7F600DE8C34 /* CAComponent.h */; }; + 8B1540782AE9B7F600DE8C34 /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FF02AE9B7F600DE8C34 /* CAAudioBufferList.h */; }; + 8B1540792AE9B7F600DE8C34 /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FF12AE9B7F600DE8C34 /* CAAudioUnit.h */; }; + 8B15407A2AE9B7F600DE8C34 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FF22AE9B7F600DE8C34 /* CAAUParameter.h */; }; + 8B15407B2AE9B7F600DE8C34 /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FF32AE9B7F600DE8C34 /* CAException.h */; }; + 8B15407C2AE9B7F600DE8C34 /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B153FF42AE9B7F600DE8C34 /* CAAUProcessor.cpp */; }; + 8B15407D2AE9B7F600DE8C34 /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FF52AE9B7F600DE8C34 /* CAAUProcessor.h */; }; + 8B15407E2AE9B7F600DE8C34 /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FF62AE9B7F600DE8C34 /* CAProcess.h */; }; + 8B15407F2AE9B7F600DE8C34 /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FF72AE9B7F600DE8C34 /* CACFDictionary.h */; }; + 8B1540802AE9B7F600DE8C34 /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FF82AE9B7F600DE8C34 /* CAPThread.h */; }; + 8B1540812AE9B7F600DE8C34 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B153FF92AE9B7F600DE8C34 /* CAAUParameter.cpp */; }; + 8B1540822AE9B7F600DE8C34 /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FFA2AE9B7F600DE8C34 /* CAAudioTimeStamp.h */; }; + 8B1540832AE9B7F600DE8C34 /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B153FFB2AE9B7F600DE8C34 /* CAFilePathUtils.cpp */; }; + 8B1540842AE9B7F600DE8C34 /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FFC2AE9B7F600DE8C34 /* CAAudioValueRange.h */; }; + 8B1540852AE9B7F600DE8C34 /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B153FFD2AE9B7F600DE8C34 /* CAVectorUnitTypes.h */; }; + 8B1540862AE9B7F600DE8C34 /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B153FFE2AE9B7F600DE8C34 /* CAAudioChannelLayoutObject.cpp */; }; + 8B1540872AE9B7F600DE8C34 /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B153FFF2AE9B7F600DE8C34 /* CAGuard.cpp */; }; + 8B1540882AE9B7F600DE8C34 /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540002AE9B7F600DE8C34 /* CACFNumber.h */; }; + 8B1540892AE9B7F600DE8C34 /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540012AE9B7F600DE8C34 /* CACFDistributedNotification.cpp */; }; + 8B15408A2AE9B7F600DE8C34 /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540022AE9B7F600DE8C34 /* CACFString.h */; }; + 8B15408B2AE9B7F600DE8C34 /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540032AE9B7F600DE8C34 /* CAAUMIDIMapManager.cpp */; }; + 8B15408C2AE9B7F600DE8C34 /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540042AE9B7F600DE8C34 /* CAComponentDescription.cpp */; }; + 8B15408D2AE9B7F600DE8C34 /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540052AE9B7F600DE8C34 /* CAHostTimeBase.h */; }; + 8B15408E2AE9B7F600DE8C34 /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540062AE9B7F600DE8C34 /* CADebugMacros.cpp */; }; + 8B15408F2AE9B7F600DE8C34 /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540072AE9B7F600DE8C34 /* CAAudioFileFormats.h */; }; + 8B1540902AE9B7F600DE8C34 /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540082AE9B7F600DE8C34 /* CAAUMIDIMapManager.h */; }; + 8B1540912AE9B7F600DE8C34 /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540092AE9B7F600DE8C34 /* CACFDictionary.cpp */; }; + 8B1540922AE9B7F600DE8C34 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15400A2AE9B7F600DE8C34 /* CAMutex.h */; }; + 8B1540932AE9B7F600DE8C34 /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15400B2AE9B7F600DE8C34 /* CACFString.cpp */; }; + 8B1540942AE9B7F600DE8C34 /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15400C2AE9B7F600DE8C34 /* CASettingsStorage.h */; }; + 8B1540952AE9B7F600DE8C34 /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15400D2AE9B7F600DE8C34 /* CADebugPrintf.h */; }; + 8B1540962AE9B7F600DE8C34 /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15400E2AE9B7F600DE8C34 /* CAXException.cpp */; }; + 8B1540972AE9B7F600DE8C34 /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15400F2AE9B7F600DE8C34 /* CAAUMIDIMap.h */; }; + 8B1540982AE9B7F600DE8C34 /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540102AE9B7F600DE8C34 /* AUParamInfo.h */; }; + 8B1540992AE9B7F600DE8C34 /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540112AE9B7F600DE8C34 /* CABitOperations.h */; }; + 8B15409A2AE9B7F600DE8C34 /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540122AE9B7F600DE8C34 /* CACFPreferences.cpp */; }; + 8B15409B2AE9B7F600DE8C34 /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540132AE9B7F600DE8C34 /* CABundleLocker.h */; }; + 8B15409C2AE9B7F600DE8C34 /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540142AE9B7F600DE8C34 /* CAPropertyAddress.h */; }; + 8B15409D2AE9B7F600DE8C34 /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540152AE9B7F600DE8C34 /* CAXException.h */; }; + 8B15409E2AE9B7F600DE8C34 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540162AE9B7F600DE8C34 /* CAAudioChannelLayout.cpp */; }; + 8B15409F2AE9B7F600DE8C34 /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540172AE9B7F600DE8C34 /* CAThreadSafeList.h */; }; + 8B1540A02AE9B7F600DE8C34 /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540182AE9B7F600DE8C34 /* CAAudioUnitOutputCapturer.h */; }; + 8B1540A12AE9B7F600DE8C34 /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540192AE9B7F600DE8C34 /* AUParamInfo.cpp */; }; + 8B1540A22AE9B7F600DE8C34 /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15401A2AE9B7F600DE8C34 /* CASharedLibrary.cpp */; }; + 8B1540A32AE9B7F600DE8C34 /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15401B2AE9B7F600DE8C34 /* CAAUMIDIMap.cpp */; }; + 8B1540A42AE9B7F600DE8C34 /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15401C2AE9B7F600DE8C34 /* CALogMacros.h */; }; + 8B1540A52AE9B7F600DE8C34 /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15401D2AE9B7F600DE8C34 /* CACFMessagePort.cpp */; }; + 8B1540A62AE9B7F600DE8C34 /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15401E2AE9B7F600DE8C34 /* CARingBuffer.h */; }; + 8B1540A72AE9B7F600DE8C34 /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15401F2AE9B7F600DE8C34 /* AUOutputBL.cpp */; }; + 8B1540A82AE9B7F600DE8C34 /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540202AE9B7F600DE8C34 /* CABufferList.h */; }; + 8B1540A92AE9B7F600DE8C34 /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540212AE9B7F600DE8C34 /* CASharedLibrary.h */; }; + 8B1540AA2AE9B7F600DE8C34 /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540222AE9B7F600DE8C34 /* CACFData.h */; }; + 8B1540AB2AE9B7F600DE8C34 /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540232AE9B7F600DE8C34 /* CAStreamRangedDescription.cpp */; }; + 8B1540AC2AE9B7F600DE8C34 /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540242AE9B7F600DE8C34 /* CAPThread.cpp */; }; + 8B1540AD2AE9B7F600DE8C34 /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540252AE9B7F600DE8C34 /* CAAutoDisposer.h */; }; + 8B1540AE2AE9B7F600DE8C34 /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540262AE9B7F600DE8C34 /* CACFPreferences.h */; }; + 8B1540AF2AE9B7F600DE8C34 /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540272AE9B7F600DE8C34 /* CAVectorUnit.cpp */; }; + 8B1540B02AE9B7F600DE8C34 /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540282AE9B7F600DE8C34 /* CAComponentDescription.h */; }; + 8B1540B12AE9B7F600DE8C34 /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540292AE9B7F600DE8C34 /* CADebugMacros.h */; }; + 8B1540B22AE9B7F600DE8C34 /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15402A2AE9B7F600DE8C34 /* AUOutputBL.h */; }; + 8B1540B32AE9B7F600DE8C34 /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15402B2AE9B7F600DE8C34 /* CADebugPrintf.cpp */; }; + 8B1540B42AE9B7F600DE8C34 /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15402C2AE9B7F600DE8C34 /* CARingBuffer.cpp */; }; + 8B1540B52AE9B7F600DE8C34 /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15402D2AE9B7F600DE8C34 /* CACFPlugIn.h */; }; + 8B1540B62AE9B7F600DE8C34 /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15402E2AE9B7F600DE8C34 /* CASettingsStorage.cpp */; }; + 8B1540B72AE9B7F600DE8C34 /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15402F2AE9B7F600DE8C34 /* CAMixMap.h */; }; + 8B1540B82AE9B7F600DE8C34 /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540302AE9B7F600DE8C34 /* CACFDistributedNotification.h */; }; + 8B1540B92AE9B7F600DE8C34 /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540312AE9B7F600DE8C34 /* CAFilePathUtils.h */; }; + 8B1540BA2AE9B7F600DE8C34 /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540322AE9B7F600DE8C34 /* CATink.h */; }; + 8B1540BB2AE9B7F600DE8C34 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540332AE9B7F600DE8C34 /* CAStreamBasicDescription.cpp */; }; + 8B1540BC2AE9B7F600DE8C34 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540342AE9B7F600DE8C34 /* CAAudioChannelLayout.h */; }; + 8B1540BD2AE9B7F600DE8C34 /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540352AE9B7F600DE8C34 /* CAProcess.cpp */; }; + 8B1540BE2AE9B7F600DE8C34 /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540362AE9B7F600DE8C34 /* CAHostTimeBase.cpp */; }; + 8B1540BF2AE9B7F600DE8C34 /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540372AE9B7F600DE8C34 /* CAPersistence.cpp */; }; + 8B1540C02AE9B7F600DE8C34 /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540382AE9B7F600DE8C34 /* CAAudioBufferList.cpp */; }; + 8B1540C12AE9B7F600DE8C34 /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540392AE9B7F600DE8C34 /* CAAudioTimeStamp.cpp */; }; + 8B1540C22AE9B7F600DE8C34 /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15403A2AE9B7F600DE8C34 /* CAVectorUnit.h */; }; + 8B1540C32AE9B7F600DE8C34 /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15403B2AE9B7F600DE8C34 /* CAByteOrder.h */; }; + 8B1540C42AE9B7F600DE8C34 /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15403C2AE9B7F600DE8C34 /* CACFArray.h */; }; + 8B1540C52AE9B7F600DE8C34 /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15403D2AE9B7F600DE8C34 /* CAAtomicStack.h */; }; + 8B1540C62AE9B7F600DE8C34 /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15403E2AE9B7F600DE8C34 /* CAReferenceCounted.h */; }; + 8B1540C72AE9B7F600DE8C34 /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15403F2AE9B7F600DE8C34 /* CACFMachPort.cpp */; }; + 8B1540C82AE9B7F600DE8C34 /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540402AE9B7F600DE8C34 /* CABufferList.cpp */; }; + 8B1540C92AE9B7F600DE8C34 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540412AE9B7F600DE8C34 /* CAMutex.cpp */; }; + 8B1540CA2AE9B7F600DE8C34 /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540422AE9B7F600DE8C34 /* CADebugger.cpp */; }; + 8B1540CB2AE9B7F600DE8C34 /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540432AE9B7F600DE8C34 /* CABundleLocker.cpp */; }; + 8B1540CC2AE9B7F600DE8C34 /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540442AE9B7F600DE8C34 /* CAAudioFileFormats.cpp */; }; + 8B1540CD2AE9B7F600DE8C34 /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540452AE9B7F600DE8C34 /* CAMath.h */; }; + 8B1540CE2AE9B7F600DE8C34 /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540462AE9B7F600DE8C34 /* CACFArray.cpp */; }; + 8B1540CF2AE9B7F600DE8C34 /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540472AE9B7F600DE8C34 /* CACFMessagePort.h */; }; + 8B1540D02AE9B7F600DE8C34 /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540482AE9B7F600DE8C34 /* CAAudioValueRange.cpp */; }; + 8B1540D12AE9B7F600DE8C34 /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540492AE9B7F600DE8C34 /* CAAudioUnit.cpp */; }; + 8B1540D22AE9B7F600DE8C34 /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15404D2AE9B7F600DE8C34 /* AUViewLocalizedStringKeys.h */; }; + 8B1540D32AE9B7F600DE8C34 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15404F2AE9B7F600DE8C34 /* ComponentBase.cpp */; }; + 8B1540D42AE9B7F600DE8C34 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540502AE9B7F600DE8C34 /* AUScopeElement.cpp */; }; + 8B1540D52AE9B7F600DE8C34 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540512AE9B7F600DE8C34 /* ComponentBase.h */; }; + 8B1540D62AE9B7F600DE8C34 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540522AE9B7F600DE8C34 /* AUBase.cpp */; }; + 8B1540D72AE9B7F600DE8C34 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540532AE9B7F600DE8C34 /* AUInputElement.h */; }; + 8B1540D82AE9B7F600DE8C34 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540542AE9B7F600DE8C34 /* AUBase.h */; }; + 8B1540D92AE9B7F600DE8C34 /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540552AE9B7F600DE8C34 /* AUPlugInDispatch.h */; }; + 8B1540DA2AE9B7F600DE8C34 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540562AE9B7F600DE8C34 /* AUDispatch.h */; }; + 8B1540DB2AE9B7F600DE8C34 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540572AE9B7F600DE8C34 /* AUOutputElement.cpp */; }; + 8B1540DD2AE9B7F600DE8C34 /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540592AE9B7F600DE8C34 /* AUPlugInDispatch.cpp */; }; + 8B1540DE2AE9B7F600DE8C34 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15405A2AE9B7F600DE8C34 /* AUOutputElement.h */; }; + 8B1540DF2AE9B7F600DE8C34 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15405B2AE9B7F600DE8C34 /* AUDispatch.cpp */; }; + 8B1540E02AE9B7F600DE8C34 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15405C2AE9B7F600DE8C34 /* AUScopeElement.h */; }; + 8B1540E12AE9B7F600DE8C34 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15405D2AE9B7F600DE8C34 /* AUInputElement.cpp */; }; + 8B1540E22AE9B7F600DE8C34 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15405F2AE9B7F600DE8C34 /* AUEffectBase.cpp */; }; + 8B1540E32AE9B7F600DE8C34 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540602AE9B7F600DE8C34 /* AUEffectBase.h */; }; + 8B1540E42AE9B7F600DE8C34 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540622AE9B7F600DE8C34 /* AUTimestampGenerator.h */; }; + 8B1540E52AE9B7F600DE8C34 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540632AE9B7F600DE8C34 /* AUBaseHelper.cpp */; }; + 8B1540E62AE9B7F600DE8C34 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540642AE9B7F600DE8C34 /* AUSilentTimeout.h */; }; + 8B1540E72AE9B7F600DE8C34 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540652AE9B7F600DE8C34 /* AUInputFormatConverter.h */; }; + 8B1540E82AE9B7F600DE8C34 /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540662AE9B7F600DE8C34 /* AUTimestampGenerator.cpp */; }; + 8B1540E92AE9B7F600DE8C34 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540672AE9B7F600DE8C34 /* AUBuffer.cpp */; }; + 8B1540EA2AE9B7F600DE8C34 /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540682AE9B7F600DE8C34 /* AUMIDIDefs.h */; }; + 8B1540EB2AE9B7F600DE8C34 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540692AE9B7F600DE8C34 /* AUBuffer.h */; }; + 8B1540EC2AE9B7F600DE8C34 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15406A2AE9B7F600DE8C34 /* AUBaseHelper.h */; }; + 8BA05A6B0720730100365D66 /* ClearCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* ClearCoat.cpp */; }; + 8BA05A6E0720730100365D66 /* ClearCoatVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* ClearCoatVersion.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BC6025C073B072D006C4272 /* ClearCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* ClearCoat.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8B153FE32AE9B7F600DE8C34 /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = ""; }; + 8B153FE42AE9B7F600DE8C34 /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = ""; }; + 8B153FE52AE9B7F600DE8C34 /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = ""; }; + 8B153FE62AE9B7F600DE8C34 /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = ""; }; + 8B153FE72AE9B7F600DE8C34 /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = ""; }; + 8B153FE82AE9B7F600DE8C34 /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = ""; }; + 8B153FE92AE9B7F600DE8C34 /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = ""; }; + 8B153FEA2AE9B7F600DE8C34 /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = ""; }; + 8B153FEB2AE9B7F600DE8C34 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8B153FEC2AE9B7F600DE8C34 /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = ""; }; + 8B153FED2AE9B7F600DE8C34 /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = ""; }; + 8B153FEE2AE9B7F600DE8C34 /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = ""; }; + 8B153FEF2AE9B7F600DE8C34 /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = ""; }; + 8B153FF02AE9B7F600DE8C34 /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = ""; }; + 8B153FF12AE9B7F600DE8C34 /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = ""; }; + 8B153FF22AE9B7F600DE8C34 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8B153FF32AE9B7F600DE8C34 /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = ""; }; + 8B153FF42AE9B7F600DE8C34 /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = ""; }; + 8B153FF52AE9B7F600DE8C34 /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = ""; }; + 8B153FF62AE9B7F600DE8C34 /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = ""; }; + 8B153FF72AE9B7F600DE8C34 /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = ""; }; + 8B153FF82AE9B7F600DE8C34 /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = ""; }; + 8B153FF92AE9B7F600DE8C34 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8B153FFA2AE9B7F600DE8C34 /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = ""; }; + 8B153FFB2AE9B7F600DE8C34 /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = ""; }; + 8B153FFC2AE9B7F600DE8C34 /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = ""; }; + 8B153FFD2AE9B7F600DE8C34 /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B153FFE2AE9B7F600DE8C34 /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = ""; }; + 8B153FFF2AE9B7F600DE8C34 /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = ""; }; + 8B1540002AE9B7F600DE8C34 /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = ""; }; + 8B1540012AE9B7F600DE8C34 /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = ""; }; + 8B1540022AE9B7F600DE8C34 /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = ""; }; + 8B1540032AE9B7F600DE8C34 /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = ""; }; + 8B1540042AE9B7F600DE8C34 /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = ""; }; + 8B1540052AE9B7F600DE8C34 /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = ""; }; + 8B1540062AE9B7F600DE8C34 /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = ""; }; + 8B1540072AE9B7F600DE8C34 /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = ""; }; + 8B1540082AE9B7F600DE8C34 /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = ""; }; + 8B1540092AE9B7F600DE8C34 /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = ""; }; + 8B15400A2AE9B7F600DE8C34 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8B15400B2AE9B7F600DE8C34 /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = ""; }; + 8B15400C2AE9B7F600DE8C34 /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = ""; }; + 8B15400D2AE9B7F600DE8C34 /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = ""; }; + 8B15400E2AE9B7F600DE8C34 /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = ""; }; + 8B15400F2AE9B7F600DE8C34 /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = ""; }; + 8B1540102AE9B7F600DE8C34 /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = ""; }; + 8B1540112AE9B7F600DE8C34 /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = ""; }; + 8B1540122AE9B7F600DE8C34 /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = ""; }; + 8B1540132AE9B7F600DE8C34 /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = ""; }; + 8B1540142AE9B7F600DE8C34 /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = ""; }; + 8B1540152AE9B7F600DE8C34 /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = ""; }; + 8B1540162AE9B7F600DE8C34 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8B1540172AE9B7F600DE8C34 /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = ""; }; + 8B1540182AE9B7F600DE8C34 /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = ""; }; + 8B1540192AE9B7F600DE8C34 /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = ""; }; + 8B15401A2AE9B7F600DE8C34 /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = ""; }; + 8B15401B2AE9B7F600DE8C34 /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = ""; }; + 8B15401C2AE9B7F600DE8C34 /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = ""; }; + 8B15401D2AE9B7F600DE8C34 /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = ""; }; + 8B15401E2AE9B7F600DE8C34 /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = ""; }; + 8B15401F2AE9B7F600DE8C34 /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = ""; }; + 8B1540202AE9B7F600DE8C34 /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = ""; }; + 8B1540212AE9B7F600DE8C34 /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = ""; }; + 8B1540222AE9B7F600DE8C34 /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = ""; }; + 8B1540232AE9B7F600DE8C34 /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = ""; }; + 8B1540242AE9B7F600DE8C34 /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = ""; }; + 8B1540252AE9B7F600DE8C34 /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = ""; }; + 8B1540262AE9B7F600DE8C34 /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = ""; }; + 8B1540272AE9B7F600DE8C34 /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 8B1540282AE9B7F600DE8C34 /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = ""; }; + 8B1540292AE9B7F600DE8C34 /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = ""; }; + 8B15402A2AE9B7F600DE8C34 /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = ""; }; + 8B15402B2AE9B7F600DE8C34 /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = ""; }; + 8B15402C2AE9B7F600DE8C34 /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = ""; }; + 8B15402D2AE9B7F600DE8C34 /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = ""; }; + 8B15402E2AE9B7F600DE8C34 /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = ""; }; + 8B15402F2AE9B7F600DE8C34 /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = ""; }; + 8B1540302AE9B7F600DE8C34 /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = ""; }; + 8B1540312AE9B7F600DE8C34 /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = ""; }; + 8B1540322AE9B7F600DE8C34 /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = ""; }; + 8B1540332AE9B7F600DE8C34 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8B1540342AE9B7F600DE8C34 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8B1540352AE9B7F600DE8C34 /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = ""; }; + 8B1540362AE9B7F600DE8C34 /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = ""; }; + 8B1540372AE9B7F600DE8C34 /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = ""; }; + 8B1540382AE9B7F600DE8C34 /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = ""; }; + 8B1540392AE9B7F600DE8C34 /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = ""; }; + 8B15403A2AE9B7F600DE8C34 /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 8B15403B2AE9B7F600DE8C34 /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = ""; }; + 8B15403C2AE9B7F600DE8C34 /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = ""; }; + 8B15403D2AE9B7F600DE8C34 /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = ""; }; + 8B15403E2AE9B7F600DE8C34 /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = ""; }; + 8B15403F2AE9B7F600DE8C34 /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = ""; }; + 8B1540402AE9B7F600DE8C34 /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = ""; }; + 8B1540412AE9B7F600DE8C34 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8B1540422AE9B7F600DE8C34 /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = ""; }; + 8B1540432AE9B7F600DE8C34 /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = ""; }; + 8B1540442AE9B7F600DE8C34 /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = ""; }; + 8B1540452AE9B7F600DE8C34 /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = ""; }; + 8B1540462AE9B7F600DE8C34 /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = ""; }; + 8B1540472AE9B7F600DE8C34 /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = ""; }; + 8B1540482AE9B7F600DE8C34 /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = ""; }; + 8B1540492AE9B7F600DE8C34 /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = ""; }; + 8B15404D2AE9B7F600DE8C34 /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = ""; }; + 8B15404F2AE9B7F600DE8C34 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8B1540502AE9B7F600DE8C34 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8B1540512AE9B7F600DE8C34 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8B1540522AE9B7F600DE8C34 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8B1540532AE9B7F600DE8C34 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8B1540542AE9B7F600DE8C34 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8B1540552AE9B7F600DE8C34 /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = ""; }; + 8B1540562AE9B7F600DE8C34 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8B1540572AE9B7F600DE8C34 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8B1540582AE9B7F600DE8C34 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8B1540592AE9B7F600DE8C34 /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = ""; }; + 8B15405A2AE9B7F600DE8C34 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8B15405B2AE9B7F600DE8C34 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8B15405C2AE9B7F600DE8C34 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8B15405D2AE9B7F600DE8C34 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8B15405F2AE9B7F600DE8C34 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8B1540602AE9B7F600DE8C34 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8B1540622AE9B7F600DE8C34 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8B1540632AE9B7F600DE8C34 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = ""; }; + 8B1540642AE9B7F600DE8C34 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8B1540652AE9B7F600DE8C34 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8B1540662AE9B7F600DE8C34 /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = ""; }; + 8B1540672AE9B7F600DE8C34 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8B1540682AE9B7F600DE8C34 /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = ""; }; + 8B1540692AE9B7F600DE8C34 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8B15406A2AE9B7F600DE8C34 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = ""; }; + 8B1540ED2AE9B91500DE8C34 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* ClearCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ClearCoat.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* ClearCoat.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = ClearCoat.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* ClearCoat.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = ClearCoat.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* ClearCoatVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClearCoatVersion.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* ClearCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ClearCoat.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* ClearCoat.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ClearCoat.component; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */, + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */, + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* ClearCoat */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = ClearCoat; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8B153FE12AE9B7F600DE8C34 /* CA_SDK */, + 8BA05A56072072A900365D66 /* AU Source */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* ClearCoat.component */, + ); + name = Products; + sourceTree = ""; + }; + 8B153FE12AE9B7F600DE8C34 /* CA_SDK */ = { + isa = PBXGroup; + children = ( + 8B153FE22AE9B7F600DE8C34 /* PublicUtility */, + 8B15404A2AE9B7F600DE8C34 /* AudioUnits */, + ); + name = CA_SDK; + path = ../../../../CA_SDK; + sourceTree = ""; + }; + 8B153FE22AE9B7F600DE8C34 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8B153FE32AE9B7F600DE8C34 /* CAExtAudioFile.h */, + 8B153FE42AE9B7F600DE8C34 /* CACFMachPort.h */, + 8B153FE52AE9B7F600DE8C34 /* CABool.h */, + 8B153FE62AE9B7F600DE8C34 /* CAComponent.cpp */, + 8B153FE72AE9B7F600DE8C34 /* CADebugger.h */, + 8B153FE82AE9B7F600DE8C34 /* CACFNumber.cpp */, + 8B153FE92AE9B7F600DE8C34 /* CAGuard.h */, + 8B153FEA2AE9B7F600DE8C34 /* CAAtomic.h */, + 8B153FEB2AE9B7F600DE8C34 /* CAStreamBasicDescription.h */, + 8B153FEC2AE9B7F600DE8C34 /* CACFObject.h */, + 8B153FED2AE9B7F600DE8C34 /* CAStreamRangedDescription.h */, + 8B153FEE2AE9B7F600DE8C34 /* CATokenMap.h */, + 8B153FEF2AE9B7F600DE8C34 /* CAComponent.h */, + 8B153FF02AE9B7F600DE8C34 /* CAAudioBufferList.h */, + 8B153FF12AE9B7F600DE8C34 /* CAAudioUnit.h */, + 8B153FF22AE9B7F600DE8C34 /* CAAUParameter.h */, + 8B153FF32AE9B7F600DE8C34 /* CAException.h */, + 8B153FF42AE9B7F600DE8C34 /* CAAUProcessor.cpp */, + 8B153FF52AE9B7F600DE8C34 /* CAAUProcessor.h */, + 8B153FF62AE9B7F600DE8C34 /* CAProcess.h */, + 8B153FF72AE9B7F600DE8C34 /* CACFDictionary.h */, + 8B153FF82AE9B7F600DE8C34 /* CAPThread.h */, + 8B153FF92AE9B7F600DE8C34 /* CAAUParameter.cpp */, + 8B153FFA2AE9B7F600DE8C34 /* CAAudioTimeStamp.h */, + 8B153FFB2AE9B7F600DE8C34 /* CAFilePathUtils.cpp */, + 8B153FFC2AE9B7F600DE8C34 /* CAAudioValueRange.h */, + 8B153FFD2AE9B7F600DE8C34 /* CAVectorUnitTypes.h */, + 8B153FFE2AE9B7F600DE8C34 /* CAAudioChannelLayoutObject.cpp */, + 8B153FFF2AE9B7F600DE8C34 /* CAGuard.cpp */, + 8B1540002AE9B7F600DE8C34 /* CACFNumber.h */, + 8B1540012AE9B7F600DE8C34 /* CACFDistributedNotification.cpp */, + 8B1540022AE9B7F600DE8C34 /* CACFString.h */, + 8B1540032AE9B7F600DE8C34 /* CAAUMIDIMapManager.cpp */, + 8B1540042AE9B7F600DE8C34 /* CAComponentDescription.cpp */, + 8B1540052AE9B7F600DE8C34 /* CAHostTimeBase.h */, + 8B1540062AE9B7F600DE8C34 /* CADebugMacros.cpp */, + 8B1540072AE9B7F600DE8C34 /* CAAudioFileFormats.h */, + 8B1540082AE9B7F600DE8C34 /* CAAUMIDIMapManager.h */, + 8B1540092AE9B7F600DE8C34 /* CACFDictionary.cpp */, + 8B15400A2AE9B7F600DE8C34 /* CAMutex.h */, + 8B15400B2AE9B7F600DE8C34 /* CACFString.cpp */, + 8B15400C2AE9B7F600DE8C34 /* CASettingsStorage.h */, + 8B15400D2AE9B7F600DE8C34 /* CADebugPrintf.h */, + 8B15400E2AE9B7F600DE8C34 /* CAXException.cpp */, + 8B15400F2AE9B7F600DE8C34 /* CAAUMIDIMap.h */, + 8B1540102AE9B7F600DE8C34 /* AUParamInfo.h */, + 8B1540112AE9B7F600DE8C34 /* CABitOperations.h */, + 8B1540122AE9B7F600DE8C34 /* CACFPreferences.cpp */, + 8B1540132AE9B7F600DE8C34 /* CABundleLocker.h */, + 8B1540142AE9B7F600DE8C34 /* CAPropertyAddress.h */, + 8B1540152AE9B7F600DE8C34 /* CAXException.h */, + 8B1540162AE9B7F600DE8C34 /* CAAudioChannelLayout.cpp */, + 8B1540172AE9B7F600DE8C34 /* CAThreadSafeList.h */, + 8B1540182AE9B7F600DE8C34 /* CAAudioUnitOutputCapturer.h */, + 8B1540192AE9B7F600DE8C34 /* AUParamInfo.cpp */, + 8B15401A2AE9B7F600DE8C34 /* CASharedLibrary.cpp */, + 8B15401B2AE9B7F600DE8C34 /* CAAUMIDIMap.cpp */, + 8B15401C2AE9B7F600DE8C34 /* CALogMacros.h */, + 8B15401D2AE9B7F600DE8C34 /* CACFMessagePort.cpp */, + 8B15401E2AE9B7F600DE8C34 /* CARingBuffer.h */, + 8B15401F2AE9B7F600DE8C34 /* AUOutputBL.cpp */, + 8B1540202AE9B7F600DE8C34 /* CABufferList.h */, + 8B1540212AE9B7F600DE8C34 /* CASharedLibrary.h */, + 8B1540222AE9B7F600DE8C34 /* CACFData.h */, + 8B1540232AE9B7F600DE8C34 /* CAStreamRangedDescription.cpp */, + 8B1540242AE9B7F600DE8C34 /* CAPThread.cpp */, + 8B1540252AE9B7F600DE8C34 /* CAAutoDisposer.h */, + 8B1540262AE9B7F600DE8C34 /* CACFPreferences.h */, + 8B1540272AE9B7F600DE8C34 /* CAVectorUnit.cpp */, + 8B1540282AE9B7F600DE8C34 /* CAComponentDescription.h */, + 8B1540292AE9B7F600DE8C34 /* CADebugMacros.h */, + 8B15402A2AE9B7F600DE8C34 /* AUOutputBL.h */, + 8B15402B2AE9B7F600DE8C34 /* CADebugPrintf.cpp */, + 8B15402C2AE9B7F600DE8C34 /* CARingBuffer.cpp */, + 8B15402D2AE9B7F600DE8C34 /* CACFPlugIn.h */, + 8B15402E2AE9B7F600DE8C34 /* CASettingsStorage.cpp */, + 8B15402F2AE9B7F600DE8C34 /* CAMixMap.h */, + 8B1540302AE9B7F600DE8C34 /* CACFDistributedNotification.h */, + 8B1540312AE9B7F600DE8C34 /* CAFilePathUtils.h */, + 8B1540322AE9B7F600DE8C34 /* CATink.h */, + 8B1540332AE9B7F600DE8C34 /* CAStreamBasicDescription.cpp */, + 8B1540342AE9B7F600DE8C34 /* CAAudioChannelLayout.h */, + 8B1540352AE9B7F600DE8C34 /* CAProcess.cpp */, + 8B1540362AE9B7F600DE8C34 /* CAHostTimeBase.cpp */, + 8B1540372AE9B7F600DE8C34 /* CAPersistence.cpp */, + 8B1540382AE9B7F600DE8C34 /* CAAudioBufferList.cpp */, + 8B1540392AE9B7F600DE8C34 /* CAAudioTimeStamp.cpp */, + 8B15403A2AE9B7F600DE8C34 /* CAVectorUnit.h */, + 8B15403B2AE9B7F600DE8C34 /* CAByteOrder.h */, + 8B15403C2AE9B7F600DE8C34 /* CACFArray.h */, + 8B15403D2AE9B7F600DE8C34 /* CAAtomicStack.h */, + 8B15403E2AE9B7F600DE8C34 /* CAReferenceCounted.h */, + 8B15403F2AE9B7F600DE8C34 /* CACFMachPort.cpp */, + 8B1540402AE9B7F600DE8C34 /* CABufferList.cpp */, + 8B1540412AE9B7F600DE8C34 /* CAMutex.cpp */, + 8B1540422AE9B7F600DE8C34 /* CADebugger.cpp */, + 8B1540432AE9B7F600DE8C34 /* CABundleLocker.cpp */, + 8B1540442AE9B7F600DE8C34 /* CAAudioFileFormats.cpp */, + 8B1540452AE9B7F600DE8C34 /* CAMath.h */, + 8B1540462AE9B7F600DE8C34 /* CACFArray.cpp */, + 8B1540472AE9B7F600DE8C34 /* CACFMessagePort.h */, + 8B1540482AE9B7F600DE8C34 /* CAAudioValueRange.cpp */, + 8B1540492AE9B7F600DE8C34 /* CAAudioUnit.cpp */, + ); + path = PublicUtility; + sourceTree = ""; + }; + 8B15404A2AE9B7F600DE8C34 /* AudioUnits */ = { + isa = PBXGroup; + children = ( + 8B15404B2AE9B7F600DE8C34 /* AUPublic */, + ); + path = AudioUnits; + sourceTree = ""; + }; + 8B15404B2AE9B7F600DE8C34 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8B15404C2AE9B7F600DE8C34 /* AUViewBase */, + 8B15404E2AE9B7F600DE8C34 /* AUBase */, + 8B15405E2AE9B7F600DE8C34 /* OtherBases */, + 8B1540612AE9B7F600DE8C34 /* Utility */, + ); + path = AUPublic; + sourceTree = ""; + }; + 8B15404C2AE9B7F600DE8C34 /* AUViewBase */ = { + isa = PBXGroup; + children = ( + 8B15404D2AE9B7F600DE8C34 /* AUViewLocalizedStringKeys.h */, + ); + path = AUViewBase; + sourceTree = ""; + }; + 8B15404E2AE9B7F600DE8C34 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8B15404F2AE9B7F600DE8C34 /* ComponentBase.cpp */, + 8B1540502AE9B7F600DE8C34 /* AUScopeElement.cpp */, + 8B1540512AE9B7F600DE8C34 /* ComponentBase.h */, + 8B1540522AE9B7F600DE8C34 /* AUBase.cpp */, + 8B1540532AE9B7F600DE8C34 /* AUInputElement.h */, + 8B1540542AE9B7F600DE8C34 /* AUBase.h */, + 8B1540552AE9B7F600DE8C34 /* AUPlugInDispatch.h */, + 8B1540562AE9B7F600DE8C34 /* AUDispatch.h */, + 8B1540572AE9B7F600DE8C34 /* AUOutputElement.cpp */, + 8B1540582AE9B7F600DE8C34 /* AUResources.r */, + 8B1540592AE9B7F600DE8C34 /* AUPlugInDispatch.cpp */, + 8B15405A2AE9B7F600DE8C34 /* AUOutputElement.h */, + 8B15405B2AE9B7F600DE8C34 /* AUDispatch.cpp */, + 8B15405C2AE9B7F600DE8C34 /* AUScopeElement.h */, + 8B15405D2AE9B7F600DE8C34 /* AUInputElement.cpp */, + ); + path = AUBase; + sourceTree = ""; + }; + 8B15405E2AE9B7F600DE8C34 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8B15405F2AE9B7F600DE8C34 /* AUEffectBase.cpp */, + 8B1540602AE9B7F600DE8C34 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8B1540612AE9B7F600DE8C34 /* Utility */ = { + isa = PBXGroup; + children = ( + 8B1540622AE9B7F600DE8C34 /* AUTimestampGenerator.h */, + 8B1540632AE9B7F600DE8C34 /* AUBaseHelper.cpp */, + 8B1540642AE9B7F600DE8C34 /* AUSilentTimeout.h */, + 8B1540652AE9B7F600DE8C34 /* AUInputFormatConverter.h */, + 8B1540662AE9B7F600DE8C34 /* AUTimestampGenerator.cpp */, + 8B1540672AE9B7F600DE8C34 /* AUBuffer.cpp */, + 8B1540682AE9B7F600DE8C34 /* AUMIDIDefs.h */, + 8B1540692AE9B7F600DE8C34 /* AUBuffer.h */, + 8B15406A2AE9B7F600DE8C34 /* AUBaseHelper.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* ClearCoat.h */, + 8BA05A660720730100365D66 /* ClearCoat.cpp */, + 8BA05A670720730100365D66 /* ClearCoat.exp */, + 8BA05A680720730100365D66 /* ClearCoat.r */, + 8BA05A690720730100365D66 /* ClearCoatVersion.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B15409B2AE9B7F600DE8C34 /* CABundleLocker.h in Headers */, + 8B1540BC2AE9B7F600DE8C34 /* CAAudioChannelLayout.h in Headers */, + 8B1540B22AE9B7F600DE8C34 /* AUOutputBL.h in Headers */, + 8B15408D2AE9B7F600DE8C34 /* CAHostTimeBase.h in Headers */, + 8B1540D52AE9B7F600DE8C34 /* ComponentBase.h in Headers */, + 8B1540C52AE9B7F600DE8C34 /* CAAtomicStack.h in Headers */, + 8B1540822AE9B7F600DE8C34 /* CAAudioTimeStamp.h in Headers */, + 8B15409F2AE9B7F600DE8C34 /* CAThreadSafeList.h in Headers */, + 8B15407A2AE9B7F600DE8C34 /* CAAUParameter.h in Headers */, + 8B1540EC2AE9B7F600DE8C34 /* AUBaseHelper.h in Headers */, + 8B1540E42AE9B7F600DE8C34 /* AUTimestampGenerator.h in Headers */, + 8B1540952AE9B7F600DE8C34 /* CADebugPrintf.h in Headers */, + 8B1540CF2AE9B7F600DE8C34 /* CACFMessagePort.h in Headers */, + 8B15407D2AE9B7F600DE8C34 /* CAAUProcessor.h in Headers */, + 8B1540792AE9B7F600DE8C34 /* CAAudioUnit.h in Headers */, + 8B1540D22AE9B7F600DE8C34 /* AUViewLocalizedStringKeys.h in Headers */, + 8B1540B82AE9B7F600DE8C34 /* CACFDistributedNotification.h in Headers */, + 8B1540772AE9B7F600DE8C34 /* CAComponent.h in Headers */, + 8B1540852AE9B7F600DE8C34 /* CAVectorUnitTypes.h in Headers */, + 8BA05A6E0720730100365D66 /* ClearCoatVersion.h in Headers */, + 8B1540B92AE9B7F600DE8C34 /* CAFilePathUtils.h in Headers */, + 8B15407B2AE9B7F600DE8C34 /* CAException.h in Headers */, + 8B1540722AE9B7F600DE8C34 /* CAAtomic.h in Headers */, + 8B1540712AE9B7F600DE8C34 /* CAGuard.h in Headers */, + 8B1540D72AE9B7F600DE8C34 /* AUInputElement.h in Headers */, + 8B1540AE2AE9B7F600DE8C34 /* CACFPreferences.h in Headers */, + 8B1540C32AE9B7F600DE8C34 /* CAByteOrder.h in Headers */, + 8B1540A62AE9B7F600DE8C34 /* CARingBuffer.h in Headers */, + 8B15406D2AE9B7F600DE8C34 /* CABool.h in Headers */, + 8B1540922AE9B7F600DE8C34 /* CAMutex.h in Headers */, + 8B1540D82AE9B7F600DE8C34 /* AUBase.h in Headers */, + 8BC6025C073B072D006C4272 /* ClearCoat.h in Headers */, + 8B15408A2AE9B7F600DE8C34 /* CACFString.h in Headers */, + 8B1540A92AE9B7F600DE8C34 /* CASharedLibrary.h in Headers */, + 8B1540762AE9B7F600DE8C34 /* CATokenMap.h in Headers */, + 8B15406B2AE9B7F600DE8C34 /* CAExtAudioFile.h in Headers */, + 8B1540802AE9B7F600DE8C34 /* CAPThread.h in Headers */, + 8B15409C2AE9B7F600DE8C34 /* CAPropertyAddress.h in Headers */, + 8B1540C62AE9B7F600DE8C34 /* CAReferenceCounted.h in Headers */, + 8B1540EB2AE9B7F600DE8C34 /* AUBuffer.h in Headers */, + 8B1540CD2AE9B7F600DE8C34 /* CAMath.h in Headers */, + 8B1540AD2AE9B7F600DE8C34 /* CAAutoDisposer.h in Headers */, + 8B1540742AE9B7F600DE8C34 /* CACFObject.h in Headers */, + 8B1540942AE9B7F600DE8C34 /* CASettingsStorage.h in Headers */, + 8B15409D2AE9B7F600DE8C34 /* CAXException.h in Headers */, + 8B1540BA2AE9B7F600DE8C34 /* CATink.h in Headers */, + 8B1540E72AE9B7F600DE8C34 /* AUInputFormatConverter.h in Headers */, + 8B1540C22AE9B7F600DE8C34 /* CAVectorUnit.h in Headers */, + 8B15407E2AE9B7F600DE8C34 /* CAProcess.h in Headers */, + 8B1540842AE9B7F600DE8C34 /* CAAudioValueRange.h in Headers */, + 8B1540992AE9B7F600DE8C34 /* CABitOperations.h in Headers */, + 8B15408F2AE9B7F600DE8C34 /* CAAudioFileFormats.h in Headers */, + 8B1540882AE9B7F600DE8C34 /* CACFNumber.h in Headers */, + 8B1540A02AE9B7F600DE8C34 /* CAAudioUnitOutputCapturer.h in Headers */, + 8B1540B12AE9B7F600DE8C34 /* CADebugMacros.h in Headers */, + 8B1540EA2AE9B7F600DE8C34 /* AUMIDIDefs.h in Headers */, + 8B1540AA2AE9B7F600DE8C34 /* CACFData.h in Headers */, + 8B1540732AE9B7F600DE8C34 /* CAStreamBasicDescription.h in Headers */, + 8B1540D92AE9B7F600DE8C34 /* AUPlugInDispatch.h in Headers */, + 8B1540752AE9B7F600DE8C34 /* CAStreamRangedDescription.h in Headers */, + 8B1540B52AE9B7F600DE8C34 /* CACFPlugIn.h in Headers */, + 8B1540782AE9B7F600DE8C34 /* CAAudioBufferList.h in Headers */, + 8B1540902AE9B7F600DE8C34 /* CAAUMIDIMapManager.h in Headers */, + 8B1540E32AE9B7F600DE8C34 /* AUEffectBase.h in Headers */, + 8B15407F2AE9B7F600DE8C34 /* CACFDictionary.h in Headers */, + 8B1540E02AE9B7F600DE8C34 /* AUScopeElement.h in Headers */, + 8B1540B02AE9B7F600DE8C34 /* CAComponentDescription.h in Headers */, + 8B1540E62AE9B7F600DE8C34 /* AUSilentTimeout.h in Headers */, + 8B1540A82AE9B7F600DE8C34 /* CABufferList.h in Headers */, + 8B1540DA2AE9B7F600DE8C34 /* AUDispatch.h in Headers */, + 8B1540DE2AE9B7F600DE8C34 /* AUOutputElement.h in Headers */, + 8B1540A42AE9B7F600DE8C34 /* CALogMacros.h in Headers */, + 8B1540982AE9B7F600DE8C34 /* AUParamInfo.h in Headers */, + 8B1540B72AE9B7F600DE8C34 /* CAMixMap.h in Headers */, + 8B1540C42AE9B7F600DE8C34 /* CACFArray.h in Headers */, + 8B15406C2AE9B7F600DE8C34 /* CACFMachPort.h in Headers */, + 8B1540972AE9B7F600DE8C34 /* CAAUMIDIMap.h in Headers */, + 8B15406F2AE9B7F600DE8C34 /* CADebugger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* ClearCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ClearCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ClearCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = ClearCoat; + productReference = 8D01CCD20486CAD60068D4B7 /* ClearCoat.component */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1420; + }; + buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ClearCoat" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + fr, + ja, + en, + de, + Base, + ); + mainGroup = 089C166AFE841209C02AAC07 /* ClearCoat */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* ClearCoat */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B1540A72AE9B7F600DE8C34 /* AUOutputBL.cpp in Sources */, + 8B1540CC2AE9B7F600DE8C34 /* CAAudioFileFormats.cpp in Sources */, + 8B1540BE2AE9B7F600DE8C34 /* CAHostTimeBase.cpp in Sources */, + 8B1540962AE9B7F600DE8C34 /* CAXException.cpp in Sources */, + 8B1540C02AE9B7F600DE8C34 /* CAAudioBufferList.cpp in Sources */, + 8B1540832AE9B7F600DE8C34 /* CAFilePathUtils.cpp in Sources */, + 8B1540812AE9B7F600DE8C34 /* CAAUParameter.cpp in Sources */, + 8B1540A32AE9B7F600DE8C34 /* CAAUMIDIMap.cpp in Sources */, + 8B1540D02AE9B7F600DE8C34 /* CAAudioValueRange.cpp in Sources */, + 8B1540DF2AE9B7F600DE8C34 /* AUDispatch.cpp in Sources */, + 8B15409A2AE9B7F600DE8C34 /* CACFPreferences.cpp in Sources */, + 8B1540DD2AE9B7F600DE8C34 /* AUPlugInDispatch.cpp in Sources */, + 8B15407C2AE9B7F600DE8C34 /* CAAUProcessor.cpp in Sources */, + 8B1540912AE9B7F600DE8C34 /* CACFDictionary.cpp in Sources */, + 8B1540E52AE9B7F600DE8C34 /* AUBaseHelper.cpp in Sources */, + 8B1540CA2AE9B7F600DE8C34 /* CADebugger.cpp in Sources */, + 8B15409E2AE9B7F600DE8C34 /* CAAudioChannelLayout.cpp in Sources */, + 8B1540A12AE9B7F600DE8C34 /* AUParamInfo.cpp in Sources */, + 8B1540BF2AE9B7F600DE8C34 /* CAPersistence.cpp in Sources */, + 8B1540B32AE9B7F600DE8C34 /* CADebugPrintf.cpp in Sources */, + 8B1540E82AE9B7F600DE8C34 /* AUTimestampGenerator.cpp in Sources */, + 8B1540BB2AE9B7F600DE8C34 /* CAStreamBasicDescription.cpp in Sources */, + 8B15408B2AE9B7F600DE8C34 /* CAAUMIDIMapManager.cpp in Sources */, + 8B1540B62AE9B7F600DE8C34 /* CASettingsStorage.cpp in Sources */, + 8B1540DB2AE9B7F600DE8C34 /* AUOutputElement.cpp in Sources */, + 8B1540872AE9B7F600DE8C34 /* CAGuard.cpp in Sources */, + 8BA05A6B0720730100365D66 /* ClearCoat.cpp in Sources */, + 8B1540C92AE9B7F600DE8C34 /* CAMutex.cpp in Sources */, + 8B1540E22AE9B7F600DE8C34 /* AUEffectBase.cpp in Sources */, + 8B1540C72AE9B7F600DE8C34 /* CACFMachPort.cpp in Sources */, + 8B1540D62AE9B7F600DE8C34 /* AUBase.cpp in Sources */, + 8B1540A22AE9B7F600DE8C34 /* CASharedLibrary.cpp in Sources */, + 8B1540892AE9B7F600DE8C34 /* CACFDistributedNotification.cpp in Sources */, + 8B15408C2AE9B7F600DE8C34 /* CAComponentDescription.cpp in Sources */, + 8B1540932AE9B7F600DE8C34 /* CACFString.cpp in Sources */, + 8B1540D32AE9B7F600DE8C34 /* ComponentBase.cpp in Sources */, + 8B1540B42AE9B7F600DE8C34 /* CARingBuffer.cpp in Sources */, + 8B1540D42AE9B7F600DE8C34 /* AUScopeElement.cpp in Sources */, + 8B1540D12AE9B7F600DE8C34 /* CAAudioUnit.cpp in Sources */, + 8B1540CE2AE9B7F600DE8C34 /* CACFArray.cpp in Sources */, + 8B1540CB2AE9B7F600DE8C34 /* CABundleLocker.cpp in Sources */, + 8B1540BD2AE9B7F600DE8C34 /* CAProcess.cpp in Sources */, + 8B1540AB2AE9B7F600DE8C34 /* CAStreamRangedDescription.cpp in Sources */, + 8B1540AC2AE9B7F600DE8C34 /* CAPThread.cpp in Sources */, + 8B15406E2AE9B7F600DE8C34 /* CAComponent.cpp in Sources */, + 8B1540862AE9B7F600DE8C34 /* CAAudioChannelLayoutObject.cpp in Sources */, + 8B1540C12AE9B7F600DE8C34 /* CAAudioTimeStamp.cpp in Sources */, + 8B1540C82AE9B7F600DE8C34 /* CABufferList.cpp in Sources */, + 8B1540A52AE9B7F600DE8C34 /* CACFMessagePort.cpp in Sources */, + 8B1540AF2AE9B7F600DE8C34 /* CAVectorUnit.cpp in Sources */, + 8B1540E12AE9B7F600DE8C34 /* AUInputElement.cpp in Sources */, + 8B1540E92AE9B7F600DE8C34 /* AUBuffer.cpp in Sources */, + 8B15408E2AE9B7F600DE8C34 /* CADebugMacros.cpp in Sources */, + 8B1540702AE9B7F600DE8C34 /* CACFNumber.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 8B1540ED2AE9B91500DE8C34 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + EXPORTED_SYMBOLS_FILE = ClearCoat.exp; + GCC_OPTIMIZATION_LEVEL = 0; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}"; + PRODUCT_NAME = ClearCoat; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + STRIP_STYLE = debugging; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + EXPORTED_SYMBOLS_FILE = ClearCoat.exp; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}"; + PRODUCT_NAME = ClearCoat; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = debugging; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 3E4BA248089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**"; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 3E4BA249089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**"; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "ClearCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "ClearCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..055232563c291fe347055edbfcac2f9cae455bd5 GIT binary patch literal 14326 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 CmNX^+ literal 0 HcmV?d00001 diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/xcshareddata/xcschemes/ClearCoat.xcscheme b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/xcshareddata/xcschemes/ClearCoat.xcscheme new file mode 100644 index 000000000..267591cf7 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/xcshareddata/xcschemes/ClearCoat.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..af6161266 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + ClearCoat.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedAU/ClearCoat/ClearCoatVersion.h b/plugins/MacSignedAU/ClearCoat/ClearCoatVersion.h new file mode 100755 index 000000000..39b0ca4f3 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/ClearCoatVersion.h @@ -0,0 +1,58 @@ +/* +* File: ClearCoatVersion.h +* +* Version: 1.0 +* +* Created: 10/23/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#ifndef __ClearCoatVersion_h__ +#define __ClearCoatVersion_h__ + + +#ifdef DEBUG + #define kClearCoatVersion 0xFFFFFFFF +#else + #define kClearCoatVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define ClearCoat_COMP_MANF 'Dthr' +#define ClearCoat_COMP_SUBTYPE 'clco' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacSignedAU/ClearCoat/Info.plist b/plugins/MacSignedAU/ClearCoat/Info.plist new file mode 100755 index 000000000..dbdb7ee10 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/Info.plist @@ -0,0 +1,47 @@ + + + + + AudioComponents + + + description + ${PRODUCT_NAME:identifier} AU + factoryFunction + ${PRODUCT_NAME:identifier}Factory + manufacturer + Dthr + name + Airwindows: ${PRODUCT_NAME:identifier} + subtype + clco + type + aufx + version + 65536 + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedAU/ClearCoat/StarterAU_Prefix.pch b/plugins/MacSignedAU/ClearCoat/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacSignedAU/ClearCoat/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacSignedAU/ClearCoat/en.lproj/InfoPlist.strings b/plugins/MacSignedAU/ClearCoat/en.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..9df8b9cb4cee3b8a6c4a38d2024fe4cf688272fa GIT binary patch literal 382 zcmZ{gI}5@<5QL}pR~#uVjITSs*YNUZKutRto z&Cx%Sjd~o9x + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedAU/kCathedral/Info.plist b/plugins/MacSignedAU/kCathedral/Info.plist new file mode 100755 index 000000000..b771b8c77 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/Info.plist @@ -0,0 +1,47 @@ + + + + + AudioComponents + + + description + ${PRODUCT_NAME:identifier} AU + factoryFunction + ${PRODUCT_NAME:identifier}Factory + manufacturer + Dthr + name + Airwindows: ${PRODUCT_NAME:identifier} + subtype + kcth + type + aufx + version + 65536 + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PROJECTNAMEASIDENTIFIER} + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedAU/kCathedral/StarterAU_Prefix.pch b/plugins/MacSignedAU/kCathedral/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/StarterAU_Prefix.pch @@ -0,0 +1,5 @@ +// +// Prefix header for all source files of the '«PROJECTNAMEASIDENTIFIER»' target in the '«PROJECTNAMEASIDENTIFIER»' project. +// + +#include diff --git a/plugins/MacSignedAU/kCathedral/en.lproj/InfoPlist.strings b/plugins/MacSignedAU/kCathedral/en.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..7a7aa70cc0716d2dd062925433c6b9a98e6056cc GIT binary patch literal 386 zcmZ{gO>4qX5Jk`0U-5A1!c^@-EH2tWrC^I7xR)k=U~43%O8xP+ClPcLdAylf5rscI~L^;ZC2C)x}kR zU3HzNP^k=b8SqHoNfX|+UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo ) +{ + ComponentResult result = noErr; + + outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable + | kAudioUnitParameterFlag_IsReadable; + + if (inScope == kAudioUnitScope_Global) { + switch(inParameterID) + { + case kParam_One: + AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamOne; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::GetPropertyInfo (AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable) +{ + return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable); +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// state that plugin supports only stereo-in/stereo-out processing +UInt32 kCathedral::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// kCathedral::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____kCathedralEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::kCathedralKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < earlyA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < earlyB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < earlyC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < earlyD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < earlyE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < earlyF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < earlyG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < earlyH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < earlyI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + prevMulchBL = 0.0; + prevMulchBR = 0.0; + prevMulchCL = 0.0; + prevMulchCR = 0.0; + prevMulchDL = 0.0; + prevMulchDR = 0.0; + prevMulchEL = 0.0; + prevMulchER = 0.0; + + tailL = 0.0; + tailR = 0.0; + + prevOutEL = 0.0; + prevOutER = 0.0; + prevInEL = 0.0; + prevInER = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + earlyAL = 1; + earlyBL = 1; + earlyCL = 1; + earlyDL = 1; + earlyEL = 1; + earlyFL = 1; + earlyGL = 1; + earlyHL = 1; + earlyIL = 1; + + earlyAR = 1; + earlyBR = 1; + earlyCR = 1; + earlyDR = 1; + earlyER = 1; + earlyFR = 1; + earlyGR = 1; + earlyHR = 1; + earlyIR = 1; + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + //from SubTight + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus kCathedral::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, + AudioBufferList & outBuffer, + UInt32 inFramesToProcess) +{ + Float32 * inputL = (Float32*)(inBuffer.mBuffers[0].mData); + Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData); + Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData); + Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData); + UInt32 nSampleFrames = inFramesToProcess; + double overallscale = 1.0; + overallscale /= 44100.0; + overallscale *= GetSampleRate(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = GetParameter( kParam_One )*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (nSampleFrames-- > 0) { + double inputSampleL = *inputL; + double inputSampleR = *inputR; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 + + *outputL = inputSampleL; + *outputR = inputSampleR; + //direct stereo out + + inputL += 1; + inputR += 1; + outputL += 1; + outputR += 1; + } + return noErr; +} \ No newline at end of file diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.exp b/plugins/MacSignedAU/kCathedral/kCathedral.exp new file mode 100755 index 000000000..ccd05d133 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.exp @@ -0,0 +1,2 @@ +_kCathedralEntry +_kCathedralFactory diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.h b/plugins/MacSignedAU/kCathedral/kCathedral.h new file mode 100755 index 000000000..0e2288787 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.h @@ -0,0 +1,362 @@ +/* +* File: kCathedral.h +* +* Version: 1.0 +* +* Created: 10/20/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include "AUEffectBase.h" +#include "kCathedralVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __kCathedral_h__ +#define __kCathedral_h__ + + +#pragma mark ____kCathedral Parameters + +// parameters +static const float kDefaultValue_ParamOne = 1.0; +static CFStringRef kParameterOneName = CFSTR("Wetness"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + //Add your parameters here... + kNumberOfParameters=1 +}; + +//regular3x3 +const int earlyA = 437; const int earlyB = 284; const int earlyC = 754; const int earlyD = 1538; const int earlyE = 59; const int earlyF = 1829; const int earlyG = 37; const int earlyH = 3304; const int earlyI = 200; const int predelay = 1014; const int vlfpredelay = 3275; //6 to 151 ms, 741 seat theater. Scarcity, 1 in 17259 +//kCathedralEarly741 + +const int delayA = 253; const int delayB = 1395; const int delayC = 248; const int delayD = 284; const int delayE = 952; const int delayF = 430; const int delayG = 1253; const int delayH = 889; const int delayI = 798; const int delayJ = 397; const int delayK = 1166; const int delayL = 250; const int delayM = 38; const int delayN = 1389; const int delayO = 1103; const int delayP = 50; const int delayQ = 1317; const int delayR = 40; const int delayS = 1393; const int delayT = 325; const int delayU = 11; const int delayV = 265; const int delayW = 1339; const int delayX = 315; const int delayY = 753; //16 to 153 ms, 860 seat hall. Scarcity, 1 in 60182 +//###RevSmooth860 + + +#pragma mark ____kCathedral +class kCathedral : public AUEffectBase +{ +public: + kCathedral(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~kCathedral () { delete mDebugDispatcher; } +#endif + + virtual ComponentResult Reset(AudioUnitScope inScope, AudioUnitElement inElement); + + virtual OSStatus ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags, + const AudioBufferList & inBuffer, AudioBufferList & outBuffer, + UInt32 inFramesToProcess); + virtual UInt32 SupportedNumChannels(const AUChannelInfo ** outInfo); + + virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings); + + virtual ComponentResult GetParameterInfo(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + AudioUnitParameterInfo &outParameterInfo); + + virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + UInt32 & outDataSize, + Boolean & outWritable ); + + virtual ComponentResult GetProperty(AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData); + + virtual ComponentResult Initialize(); + virtual bool SupportsTail () { return true; } + virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples + virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples + + /*! @method Version */ + virtual ComponentResult Version() { return kkCathedralVersion; } + + private: + double gainOutL; + double gainOutR; + + double eAL[earlyA+5]; + double eBL[earlyB+5]; + double eCL[earlyC+5]; + double eDL[earlyD+5]; + double eEL[earlyE+5]; + double eFL[earlyF+5]; + double eGL[earlyG+5]; + double eHL[earlyH+5]; + double eIL[earlyI+5]; + + double eAR[earlyA+5]; + double eBR[earlyB+5]; + double eCR[earlyC+5]; + double eDR[earlyD+5]; + double eER[earlyE+5]; + double eFR[earlyF+5]; + double eGR[earlyG+5]; + double eHR[earlyH+5]; + double eIR[earlyI+5]; + + int earlyAL, earlyAR; + int earlyBL, earlyBR; + int earlyCL, earlyCR; + int earlyDL, earlyDR; + int earlyEL, earlyER; + int earlyFL, earlyFR; + int earlyGL, earlyGR; + int earlyHL, earlyHR; + int earlyIL, earlyIR; + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double prevMulchBL; + double prevMulchBR; + double prevMulchCL; + double prevMulchCR; + double prevMulchDL; + double prevMulchDR; + double prevMulchEL; + double prevMulchER; + + double prevOutEL; + double prevOutER; + double prevInEL; + double prevInER; + + double tailL; + double tailR; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.r b/plugins/MacSignedAU/kCathedral/kCathedral.r new file mode 100755 index 000000000..5a2bc5ff7 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.r @@ -0,0 +1,61 @@ +/* +* File: kCathedral.r +* +* Version: 1.0 +* +* Created: 10/20/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#include + +#include "kCathedralVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_kCathedral 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kCathedral~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_kCathedral +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE kCathedral_COMP_SUBTYPE +#define COMP_MANUF kCathedral_COMP_MANF + +#define VERSION kkCathedralVersion +#define NAME "Airwindows: kCathedral" +#define DESCRIPTION "kCathedral AU" +#define ENTRY_POINT "kCathedralEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.mode1v3 @@ -0,0 +1,1359 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 8BD3CCBC148831C90062E48C + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + build + debugger-enable-breakpoints + get-info + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 299 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A7D072073D200365D66 + 8BA05A7E072073D200365D66 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 5 + 4 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {299, 445}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {316, 463}} + GroupTreeTableConfiguration + + MainColumn + 299 + + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 316pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {467, 0}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 5}, {467, 458}} + RubberWindowFrame + 18 337 788 504 0 0 1440 878 + + Module + XCDetailModule + Proportion + 458pt + + + Proportion + 467pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 8BDD47AA1A48BB8900FB2F61 + 1CE0B1FE06471DED0097A5F4 + 8BDD47AB1A48BB8900FB2F61 + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 8BD3CCBD148831C90062E48C + /Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect with Cocoa View/StarterAU.xcodeproj + + WindowString + 18 337 788 504 0 0 1440 878 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {500, 218}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 223}, {500, 236}} + RubberWindowFrame + 668 222 500 500 0 0 1440 878 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 459pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 8BD3CCBD148831C90062E48C + 8BDD47AC1A48BB8900FB2F61 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 668 222 500 500 0 0 1440 878 + WindowToolGUID + 8BD3CCBD148831C90062E48C + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..85016cfbb --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,147 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 188, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 719866814; + PBXWorkspaceStateSaveDate = 719866814; + }; + perUserProjectItems = { + 8B1FFBAE2AE850BF004C416B /* PBXTextBookmark */ = 8B1FFBAE2AE850BF004C416B /* PBXTextBookmark */; + 8B1FFBAF2AE850BF004C416B /* PBXTextBookmark */ = 8B1FFBAF2AE850BF004C416B /* PBXTextBookmark */; + 8B1FFBB02AE850BF004C416B /* PBXBookmark */ = 8B1FFBB02AE850BF004C416B /* PBXBookmark */; + 8B1FFBB12AE850BF004C416B /* PBXTextBookmark */ = 8B1FFBB12AE850BF004C416B /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B1FFBAE2AE850BF004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral.cpp */; + name = "kCathedral.cpp: 355"; + rLen = 0; + rLoc = 13725; + rType = 0; + vrLen = 68; + vrLoc = 20572; + }; + 8B1FFBAF2AE850BF004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* kCathedral.h */; + name = "kCathedral.h: 336"; + rLen = 0; + rLoc = 9782; + rType = 0; + vrLen = 17; + vrLoc = 9771; + }; + 8B1FFBB02AE850BF004C416B /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 8BA05A690720730100365D66 /* kCathedralVersion.h */; + }; + 8B1FFBB12AE850BF004C416B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* kCathedralVersion.h */; + name = "kCathedralVersion.h: 54"; + rLen = 0; + rLoc = 2914; + rType = 0; + vrLen = 138; + vrLoc = 2838; + }; + 8BA05A660720730100365D66 /* kCathedral.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 15678}}"; + sepNavSelRange = "{14496, 22716}"; + sepNavVisRange = "{36037, 1776}"; + sepNavWindowFrame = "{{521, 69}, {1039, 809}}"; + }; + }; + 8BA05A690720730100365D66 /* kCathedralVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1170}}"; + sepNavSelRange = "{2914, 0}"; + sepNavVisRange = "{2838, 138}"; + sepNavWindowFrame = "{{15, 48}, {720, 825}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BC6025B073B072D006C4272 /* kCathedral.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {5907, 6516}}"; + sepNavSelRange = "{3062, 0}"; + sepNavVisRange = "{2728, 1765}"; + sepNavWindowFrame = "{{727, 53}, {720, 825}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..4670494db --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1486 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B72DDF82AE3085200A82FFF + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 8BA05A56072072A900365D66 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 4 + 2 + 1 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 644 292 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B72DDF32AE3085200A82FFF + PBXProjectModuleLabel + kCathedralVersion.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B72DDF42AE3085200A82FFF + PBXProjectModuleLabel + kCathedralVersion.h + _historyCapacity + 0 + bookmark + 8B1FFBB12AE850BF004C416B + history + + 8B1FFBAE2AE850BF004C416B + 8B1FFBAF2AE850BF004C416B + 8B1FFBB02AE850BF004C416B + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 116}} + RubberWindowFrame + 644 292 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 116pt + + + Proportion + 325pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 298}} + RubberWindowFrame + 644 292 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 345}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B1FFBB22AE850BF004C416B + 1CA23ED40692098700951B8B + 8B1FFBB32AE850BF004C416B + 8B72DDF32AE3085200A82FFF + 8B1FFBB42AE850BF004C416B + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 719868095.79937196 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B1FFBB52AE850BF004C416B + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/kCathedral/kCathedral.xcodeproj + + WindowString + 644 292 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.pbxproj b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.pbxproj new file mode 100755 index 000000000..746e75310 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.pbxproj @@ -0,0 +1,965 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 8B1541782AE9B95000DE8C34 /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540F02AE9B95000DE8C34 /* CAExtAudioFile.h */; }; + 8B1541792AE9B95000DE8C34 /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540F12AE9B95000DE8C34 /* CACFMachPort.h */; }; + 8B15417A2AE9B95000DE8C34 /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540F22AE9B95000DE8C34 /* CABool.h */; }; + 8B15417B2AE9B95000DE8C34 /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540F32AE9B95000DE8C34 /* CAComponent.cpp */; }; + 8B15417C2AE9B95000DE8C34 /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540F42AE9B95000DE8C34 /* CADebugger.h */; }; + 8B15417D2AE9B95000DE8C34 /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1540F52AE9B95000DE8C34 /* CACFNumber.cpp */; }; + 8B15417E2AE9B95000DE8C34 /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540F62AE9B95000DE8C34 /* CAGuard.h */; }; + 8B15417F2AE9B95000DE8C34 /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540F72AE9B95000DE8C34 /* CAAtomic.h */; }; + 8B1541802AE9B95000DE8C34 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540F82AE9B95000DE8C34 /* CAStreamBasicDescription.h */; }; + 8B1541812AE9B95000DE8C34 /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540F92AE9B95000DE8C34 /* CACFObject.h */; }; + 8B1541822AE9B95000DE8C34 /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540FA2AE9B95000DE8C34 /* CAStreamRangedDescription.h */; }; + 8B1541832AE9B95000DE8C34 /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540FB2AE9B95000DE8C34 /* CATokenMap.h */; }; + 8B1541842AE9B95000DE8C34 /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540FC2AE9B95000DE8C34 /* CAComponent.h */; }; + 8B1541852AE9B95000DE8C34 /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540FD2AE9B95000DE8C34 /* CAAudioBufferList.h */; }; + 8B1541862AE9B95000DE8C34 /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540FE2AE9B95000DE8C34 /* CAAudioUnit.h */; }; + 8B1541872AE9B95000DE8C34 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1540FF2AE9B95000DE8C34 /* CAAUParameter.h */; }; + 8B1541882AE9B95000DE8C34 /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541002AE9B95000DE8C34 /* CAException.h */; }; + 8B1541892AE9B95000DE8C34 /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541012AE9B95000DE8C34 /* CAAUProcessor.cpp */; }; + 8B15418A2AE9B95000DE8C34 /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541022AE9B95000DE8C34 /* CAAUProcessor.h */; }; + 8B15418B2AE9B95000DE8C34 /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541032AE9B95000DE8C34 /* CAProcess.h */; }; + 8B15418C2AE9B95000DE8C34 /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541042AE9B95000DE8C34 /* CACFDictionary.h */; }; + 8B15418D2AE9B95000DE8C34 /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541052AE9B95000DE8C34 /* CAPThread.h */; }; + 8B15418E2AE9B95000DE8C34 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541062AE9B95000DE8C34 /* CAAUParameter.cpp */; }; + 8B15418F2AE9B95000DE8C34 /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541072AE9B95000DE8C34 /* CAAudioTimeStamp.h */; }; + 8B1541902AE9B95000DE8C34 /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541082AE9B95000DE8C34 /* CAFilePathUtils.cpp */; }; + 8B1541912AE9B95000DE8C34 /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541092AE9B95000DE8C34 /* CAAudioValueRange.h */; }; + 8B1541922AE9B95000DE8C34 /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15410A2AE9B95000DE8C34 /* CAVectorUnitTypes.h */; }; + 8B1541932AE9B95000DE8C34 /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15410B2AE9B95000DE8C34 /* CAAudioChannelLayoutObject.cpp */; }; + 8B1541942AE9B95000DE8C34 /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15410C2AE9B95000DE8C34 /* CAGuard.cpp */; }; + 8B1541952AE9B95000DE8C34 /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15410D2AE9B95000DE8C34 /* CACFNumber.h */; }; + 8B1541962AE9B95000DE8C34 /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15410E2AE9B95000DE8C34 /* CACFDistributedNotification.cpp */; }; + 8B1541972AE9B95000DE8C34 /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15410F2AE9B95000DE8C34 /* CACFString.h */; }; + 8B1541982AE9B95000DE8C34 /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541102AE9B95000DE8C34 /* CAAUMIDIMapManager.cpp */; }; + 8B1541992AE9B95000DE8C34 /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541112AE9B95000DE8C34 /* CAComponentDescription.cpp */; }; + 8B15419A2AE9B95000DE8C34 /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541122AE9B95000DE8C34 /* CAHostTimeBase.h */; }; + 8B15419B2AE9B95000DE8C34 /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541132AE9B95000DE8C34 /* CADebugMacros.cpp */; }; + 8B15419C2AE9B95000DE8C34 /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541142AE9B95000DE8C34 /* CAAudioFileFormats.h */; }; + 8B15419D2AE9B95000DE8C34 /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541152AE9B95000DE8C34 /* CAAUMIDIMapManager.h */; }; + 8B15419E2AE9B95000DE8C34 /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541162AE9B95000DE8C34 /* CACFDictionary.cpp */; }; + 8B15419F2AE9B95000DE8C34 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541172AE9B95000DE8C34 /* CAMutex.h */; }; + 8B1541A02AE9B95000DE8C34 /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541182AE9B95000DE8C34 /* CACFString.cpp */; }; + 8B1541A12AE9B95000DE8C34 /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541192AE9B95000DE8C34 /* CASettingsStorage.h */; }; + 8B1541A22AE9B95000DE8C34 /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15411A2AE9B95000DE8C34 /* CADebugPrintf.h */; }; + 8B1541A32AE9B95000DE8C34 /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15411B2AE9B95000DE8C34 /* CAXException.cpp */; }; + 8B1541A42AE9B95000DE8C34 /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15411C2AE9B95000DE8C34 /* CAAUMIDIMap.h */; }; + 8B1541A52AE9B95000DE8C34 /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15411D2AE9B95000DE8C34 /* AUParamInfo.h */; }; + 8B1541A62AE9B95000DE8C34 /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15411E2AE9B95000DE8C34 /* CABitOperations.h */; }; + 8B1541A72AE9B95000DE8C34 /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15411F2AE9B95000DE8C34 /* CACFPreferences.cpp */; }; + 8B1541A82AE9B95000DE8C34 /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541202AE9B95000DE8C34 /* CABundleLocker.h */; }; + 8B1541A92AE9B95000DE8C34 /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541212AE9B95000DE8C34 /* CAPropertyAddress.h */; }; + 8B1541AA2AE9B95000DE8C34 /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541222AE9B95000DE8C34 /* CAXException.h */; }; + 8B1541AB2AE9B95000DE8C34 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541232AE9B95000DE8C34 /* CAAudioChannelLayout.cpp */; }; + 8B1541AC2AE9B95000DE8C34 /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541242AE9B95000DE8C34 /* CAThreadSafeList.h */; }; + 8B1541AD2AE9B95000DE8C34 /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541252AE9B95000DE8C34 /* CAAudioUnitOutputCapturer.h */; }; + 8B1541AE2AE9B95000DE8C34 /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541262AE9B95000DE8C34 /* AUParamInfo.cpp */; }; + 8B1541AF2AE9B95000DE8C34 /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541272AE9B95000DE8C34 /* CASharedLibrary.cpp */; }; + 8B1541B02AE9B95000DE8C34 /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541282AE9B95000DE8C34 /* CAAUMIDIMap.cpp */; }; + 8B1541B12AE9B95000DE8C34 /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541292AE9B95000DE8C34 /* CALogMacros.h */; }; + 8B1541B22AE9B95000DE8C34 /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15412A2AE9B95000DE8C34 /* CACFMessagePort.cpp */; }; + 8B1541B32AE9B95000DE8C34 /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15412B2AE9B95000DE8C34 /* CARingBuffer.h */; }; + 8B1541B42AE9B95000DE8C34 /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15412C2AE9B95000DE8C34 /* AUOutputBL.cpp */; }; + 8B1541B52AE9B95000DE8C34 /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15412D2AE9B95000DE8C34 /* CABufferList.h */; }; + 8B1541B62AE9B95000DE8C34 /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15412E2AE9B95000DE8C34 /* CASharedLibrary.h */; }; + 8B1541B72AE9B95000DE8C34 /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15412F2AE9B95000DE8C34 /* CACFData.h */; }; + 8B1541B82AE9B95000DE8C34 /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541302AE9B95000DE8C34 /* CAStreamRangedDescription.cpp */; }; + 8B1541B92AE9B95000DE8C34 /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541312AE9B95000DE8C34 /* CAPThread.cpp */; }; + 8B1541BA2AE9B95000DE8C34 /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541322AE9B95000DE8C34 /* CAAutoDisposer.h */; }; + 8B1541BB2AE9B95000DE8C34 /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541332AE9B95000DE8C34 /* CACFPreferences.h */; }; + 8B1541BC2AE9B95000DE8C34 /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541342AE9B95000DE8C34 /* CAVectorUnit.cpp */; }; + 8B1541BD2AE9B95000DE8C34 /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541352AE9B95000DE8C34 /* CAComponentDescription.h */; }; + 8B1541BE2AE9B95000DE8C34 /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541362AE9B95000DE8C34 /* CADebugMacros.h */; }; + 8B1541BF2AE9B95000DE8C34 /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541372AE9B95000DE8C34 /* AUOutputBL.h */; }; + 8B1541C02AE9B95000DE8C34 /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541382AE9B95000DE8C34 /* CADebugPrintf.cpp */; }; + 8B1541C12AE9B95000DE8C34 /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541392AE9B95000DE8C34 /* CARingBuffer.cpp */; }; + 8B1541C22AE9B95000DE8C34 /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15413A2AE9B95000DE8C34 /* CACFPlugIn.h */; }; + 8B1541C32AE9B95000DE8C34 /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15413B2AE9B95000DE8C34 /* CASettingsStorage.cpp */; }; + 8B1541C42AE9B95000DE8C34 /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15413C2AE9B95000DE8C34 /* CAMixMap.h */; }; + 8B1541C52AE9B95000DE8C34 /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15413D2AE9B95000DE8C34 /* CACFDistributedNotification.h */; }; + 8B1541C62AE9B95000DE8C34 /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15413E2AE9B95000DE8C34 /* CAFilePathUtils.h */; }; + 8B1541C72AE9B95000DE8C34 /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15413F2AE9B95000DE8C34 /* CATink.h */; }; + 8B1541C82AE9B95000DE8C34 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541402AE9B95000DE8C34 /* CAStreamBasicDescription.cpp */; }; + 8B1541C92AE9B95000DE8C34 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541412AE9B95000DE8C34 /* CAAudioChannelLayout.h */; }; + 8B1541CA2AE9B95000DE8C34 /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541422AE9B95000DE8C34 /* CAProcess.cpp */; }; + 8B1541CB2AE9B95000DE8C34 /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541432AE9B95000DE8C34 /* CAHostTimeBase.cpp */; }; + 8B1541CC2AE9B95000DE8C34 /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541442AE9B95000DE8C34 /* CAPersistence.cpp */; }; + 8B1541CD2AE9B95000DE8C34 /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541452AE9B95000DE8C34 /* CAAudioBufferList.cpp */; }; + 8B1541CE2AE9B95000DE8C34 /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541462AE9B95000DE8C34 /* CAAudioTimeStamp.cpp */; }; + 8B1541CF2AE9B95000DE8C34 /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541472AE9B95000DE8C34 /* CAVectorUnit.h */; }; + 8B1541D02AE9B95000DE8C34 /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541482AE9B95000DE8C34 /* CAByteOrder.h */; }; + 8B1541D12AE9B95000DE8C34 /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541492AE9B95000DE8C34 /* CACFArray.h */; }; + 8B1541D22AE9B95000DE8C34 /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15414A2AE9B95000DE8C34 /* CAAtomicStack.h */; }; + 8B1541D32AE9B95000DE8C34 /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15414B2AE9B95000DE8C34 /* CAReferenceCounted.h */; }; + 8B1541D42AE9B95000DE8C34 /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15414C2AE9B95000DE8C34 /* CACFMachPort.cpp */; }; + 8B1541D52AE9B95000DE8C34 /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15414D2AE9B95000DE8C34 /* CABufferList.cpp */; }; + 8B1541D62AE9B95000DE8C34 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15414E2AE9B95000DE8C34 /* CAMutex.cpp */; }; + 8B1541D72AE9B95000DE8C34 /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15414F2AE9B95000DE8C34 /* CADebugger.cpp */; }; + 8B1541D82AE9B95000DE8C34 /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541502AE9B95000DE8C34 /* CABundleLocker.cpp */; }; + 8B1541D92AE9B95000DE8C34 /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541512AE9B95000DE8C34 /* CAAudioFileFormats.cpp */; }; + 8B1541DA2AE9B95000DE8C34 /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541522AE9B95000DE8C34 /* CAMath.h */; }; + 8B1541DB2AE9B95000DE8C34 /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541532AE9B95000DE8C34 /* CACFArray.cpp */; }; + 8B1541DC2AE9B95000DE8C34 /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541542AE9B95000DE8C34 /* CACFMessagePort.h */; }; + 8B1541DD2AE9B95000DE8C34 /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541552AE9B95000DE8C34 /* CAAudioValueRange.cpp */; }; + 8B1541DE2AE9B95000DE8C34 /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541562AE9B95000DE8C34 /* CAAudioUnit.cpp */; }; + 8B1541DF2AE9B95000DE8C34 /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15415A2AE9B95000DE8C34 /* AUViewLocalizedStringKeys.h */; }; + 8B1541E02AE9B95000DE8C34 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15415C2AE9B95000DE8C34 /* ComponentBase.cpp */; }; + 8B1541E12AE9B95000DE8C34 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15415D2AE9B95000DE8C34 /* AUScopeElement.cpp */; }; + 8B1541E22AE9B95000DE8C34 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15415E2AE9B95000DE8C34 /* ComponentBase.h */; }; + 8B1541E32AE9B95000DE8C34 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15415F2AE9B95000DE8C34 /* AUBase.cpp */; }; + 8B1541E42AE9B95000DE8C34 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541602AE9B95000DE8C34 /* AUInputElement.h */; }; + 8B1541E52AE9B95000DE8C34 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541612AE9B95000DE8C34 /* AUBase.h */; }; + 8B1541E62AE9B95000DE8C34 /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541622AE9B95000DE8C34 /* AUPlugInDispatch.h */; }; + 8B1541E72AE9B95000DE8C34 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541632AE9B95000DE8C34 /* AUDispatch.h */; }; + 8B1541E82AE9B95000DE8C34 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541642AE9B95000DE8C34 /* AUOutputElement.cpp */; }; + 8B1541EA2AE9B95000DE8C34 /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541662AE9B95000DE8C34 /* AUPlugInDispatch.cpp */; }; + 8B1541EB2AE9B95000DE8C34 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541672AE9B95000DE8C34 /* AUOutputElement.h */; }; + 8B1541EC2AE9B95000DE8C34 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541682AE9B95000DE8C34 /* AUDispatch.cpp */; }; + 8B1541ED2AE9B95000DE8C34 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541692AE9B95000DE8C34 /* AUScopeElement.h */; }; + 8B1541EE2AE9B95000DE8C34 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15416A2AE9B95000DE8C34 /* AUInputElement.cpp */; }; + 8B1541EF2AE9B95000DE8C34 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15416C2AE9B95000DE8C34 /* AUEffectBase.cpp */; }; + 8B1541F02AE9B95000DE8C34 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15416D2AE9B95000DE8C34 /* AUEffectBase.h */; }; + 8B1541F12AE9B95000DE8C34 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15416F2AE9B95000DE8C34 /* AUTimestampGenerator.h */; }; + 8B1541F22AE9B95000DE8C34 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541702AE9B95000DE8C34 /* AUBaseHelper.cpp */; }; + 8B1541F32AE9B95000DE8C34 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541712AE9B95000DE8C34 /* AUSilentTimeout.h */; }; + 8B1541F42AE9B95000DE8C34 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541722AE9B95000DE8C34 /* AUInputFormatConverter.h */; }; + 8B1541F52AE9B95000DE8C34 /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541732AE9B95000DE8C34 /* AUTimestampGenerator.cpp */; }; + 8B1541F62AE9B95000DE8C34 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1541742AE9B95000DE8C34 /* AUBuffer.cpp */; }; + 8B1541F72AE9B95000DE8C34 /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541752AE9B95000DE8C34 /* AUMIDIDefs.h */; }; + 8B1541F82AE9B95000DE8C34 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541762AE9B95000DE8C34 /* AUBuffer.h */; }; + 8B1541F92AE9B95000DE8C34 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1541772AE9B95000DE8C34 /* AUBaseHelper.h */; }; + 8BA05A6B0720730100365D66 /* kCathedral.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* kCathedral.cpp */; }; + 8BA05A6E0720730100365D66 /* kCathedralVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* kCathedralVersion.h */; }; + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; }; + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; }; + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; }; + 8BC6025C073B072D006C4272 /* kCathedral.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* kCathedral.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8B1540F02AE9B95000DE8C34 /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = ""; }; + 8B1540F12AE9B95000DE8C34 /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = ""; }; + 8B1540F22AE9B95000DE8C34 /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = ""; }; + 8B1540F32AE9B95000DE8C34 /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = ""; }; + 8B1540F42AE9B95000DE8C34 /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = ""; }; + 8B1540F52AE9B95000DE8C34 /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = ""; }; + 8B1540F62AE9B95000DE8C34 /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = ""; }; + 8B1540F72AE9B95000DE8C34 /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = ""; }; + 8B1540F82AE9B95000DE8C34 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8B1540F92AE9B95000DE8C34 /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = ""; }; + 8B1540FA2AE9B95000DE8C34 /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = ""; }; + 8B1540FB2AE9B95000DE8C34 /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = ""; }; + 8B1540FC2AE9B95000DE8C34 /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = ""; }; + 8B1540FD2AE9B95000DE8C34 /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = ""; }; + 8B1540FE2AE9B95000DE8C34 /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = ""; }; + 8B1540FF2AE9B95000DE8C34 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8B1541002AE9B95000DE8C34 /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = ""; }; + 8B1541012AE9B95000DE8C34 /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = ""; }; + 8B1541022AE9B95000DE8C34 /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = ""; }; + 8B1541032AE9B95000DE8C34 /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = ""; }; + 8B1541042AE9B95000DE8C34 /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = ""; }; + 8B1541052AE9B95000DE8C34 /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = ""; }; + 8B1541062AE9B95000DE8C34 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8B1541072AE9B95000DE8C34 /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = ""; }; + 8B1541082AE9B95000DE8C34 /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = ""; }; + 8B1541092AE9B95000DE8C34 /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = ""; }; + 8B15410A2AE9B95000DE8C34 /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B15410B2AE9B95000DE8C34 /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = ""; }; + 8B15410C2AE9B95000DE8C34 /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = ""; }; + 8B15410D2AE9B95000DE8C34 /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = ""; }; + 8B15410E2AE9B95000DE8C34 /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = ""; }; + 8B15410F2AE9B95000DE8C34 /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = ""; }; + 8B1541102AE9B95000DE8C34 /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = ""; }; + 8B1541112AE9B95000DE8C34 /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = ""; }; + 8B1541122AE9B95000DE8C34 /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = ""; }; + 8B1541132AE9B95000DE8C34 /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = ""; }; + 8B1541142AE9B95000DE8C34 /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = ""; }; + 8B1541152AE9B95000DE8C34 /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = ""; }; + 8B1541162AE9B95000DE8C34 /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = ""; }; + 8B1541172AE9B95000DE8C34 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8B1541182AE9B95000DE8C34 /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = ""; }; + 8B1541192AE9B95000DE8C34 /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = ""; }; + 8B15411A2AE9B95000DE8C34 /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = ""; }; + 8B15411B2AE9B95000DE8C34 /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = ""; }; + 8B15411C2AE9B95000DE8C34 /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = ""; }; + 8B15411D2AE9B95000DE8C34 /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = ""; }; + 8B15411E2AE9B95000DE8C34 /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = ""; }; + 8B15411F2AE9B95000DE8C34 /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = ""; }; + 8B1541202AE9B95000DE8C34 /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = ""; }; + 8B1541212AE9B95000DE8C34 /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = ""; }; + 8B1541222AE9B95000DE8C34 /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = ""; }; + 8B1541232AE9B95000DE8C34 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8B1541242AE9B95000DE8C34 /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = ""; }; + 8B1541252AE9B95000DE8C34 /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = ""; }; + 8B1541262AE9B95000DE8C34 /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = ""; }; + 8B1541272AE9B95000DE8C34 /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = ""; }; + 8B1541282AE9B95000DE8C34 /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = ""; }; + 8B1541292AE9B95000DE8C34 /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = ""; }; + 8B15412A2AE9B95000DE8C34 /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = ""; }; + 8B15412B2AE9B95000DE8C34 /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = ""; }; + 8B15412C2AE9B95000DE8C34 /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = ""; }; + 8B15412D2AE9B95000DE8C34 /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = ""; }; + 8B15412E2AE9B95000DE8C34 /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = ""; }; + 8B15412F2AE9B95000DE8C34 /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = ""; }; + 8B1541302AE9B95000DE8C34 /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = ""; }; + 8B1541312AE9B95000DE8C34 /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = ""; }; + 8B1541322AE9B95000DE8C34 /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = ""; }; + 8B1541332AE9B95000DE8C34 /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = ""; }; + 8B1541342AE9B95000DE8C34 /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 8B1541352AE9B95000DE8C34 /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = ""; }; + 8B1541362AE9B95000DE8C34 /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = ""; }; + 8B1541372AE9B95000DE8C34 /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = ""; }; + 8B1541382AE9B95000DE8C34 /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = ""; }; + 8B1541392AE9B95000DE8C34 /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = ""; }; + 8B15413A2AE9B95000DE8C34 /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = ""; }; + 8B15413B2AE9B95000DE8C34 /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = ""; }; + 8B15413C2AE9B95000DE8C34 /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = ""; }; + 8B15413D2AE9B95000DE8C34 /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = ""; }; + 8B15413E2AE9B95000DE8C34 /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = ""; }; + 8B15413F2AE9B95000DE8C34 /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = ""; }; + 8B1541402AE9B95000DE8C34 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8B1541412AE9B95000DE8C34 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8B1541422AE9B95000DE8C34 /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = ""; }; + 8B1541432AE9B95000DE8C34 /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = ""; }; + 8B1541442AE9B95000DE8C34 /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = ""; }; + 8B1541452AE9B95000DE8C34 /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = ""; }; + 8B1541462AE9B95000DE8C34 /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = ""; }; + 8B1541472AE9B95000DE8C34 /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 8B1541482AE9B95000DE8C34 /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = ""; }; + 8B1541492AE9B95000DE8C34 /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = ""; }; + 8B15414A2AE9B95000DE8C34 /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = ""; }; + 8B15414B2AE9B95000DE8C34 /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = ""; }; + 8B15414C2AE9B95000DE8C34 /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = ""; }; + 8B15414D2AE9B95000DE8C34 /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = ""; }; + 8B15414E2AE9B95000DE8C34 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8B15414F2AE9B95000DE8C34 /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = ""; }; + 8B1541502AE9B95000DE8C34 /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = ""; }; + 8B1541512AE9B95000DE8C34 /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = ""; }; + 8B1541522AE9B95000DE8C34 /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = ""; }; + 8B1541532AE9B95000DE8C34 /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = ""; }; + 8B1541542AE9B95000DE8C34 /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = ""; }; + 8B1541552AE9B95000DE8C34 /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = ""; }; + 8B1541562AE9B95000DE8C34 /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = ""; }; + 8B15415A2AE9B95000DE8C34 /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = ""; }; + 8B15415C2AE9B95000DE8C34 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8B15415D2AE9B95000DE8C34 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8B15415E2AE9B95000DE8C34 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8B15415F2AE9B95000DE8C34 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8B1541602AE9B95000DE8C34 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8B1541612AE9B95000DE8C34 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8B1541622AE9B95000DE8C34 /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = ""; }; + 8B1541632AE9B95000DE8C34 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8B1541642AE9B95000DE8C34 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8B1541652AE9B95000DE8C34 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8B1541662AE9B95000DE8C34 /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = ""; }; + 8B1541672AE9B95000DE8C34 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8B1541682AE9B95000DE8C34 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8B1541692AE9B95000DE8C34 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8B15416A2AE9B95000DE8C34 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8B15416C2AE9B95000DE8C34 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8B15416D2AE9B95000DE8C34 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8B15416F2AE9B95000DE8C34 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8B1541702AE9B95000DE8C34 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = ""; }; + 8B1541712AE9B95000DE8C34 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8B1541722AE9B95000DE8C34 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8B1541732AE9B95000DE8C34 /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = ""; }; + 8B1541742AE9B95000DE8C34 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8B1541752AE9B95000DE8C34 /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = ""; }; + 8B1541762AE9B95000DE8C34 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8B1541772AE9B95000DE8C34 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = ""; }; + 8B1541FA2AE9BA2100DE8C34 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = ""; }; + 8BA05A660720730100365D66 /* kCathedral.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kCathedral.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* kCathedral.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = kCathedral.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* kCathedral.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = kCathedral.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* kCathedralVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedralVersion.h; sourceTree = ""; }; + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; + 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; }; + 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; + 8BC6025B073B072D006C4272 /* kCathedral.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* kCathedral.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral.component; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */, + 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */, + 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* kCathedral */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = kCathedral; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */, + 8BA05B01072074F900365D66 /* CoreServices.framework */, + 8BA05AF9072074E100365D66 /* AudioToolbox.framework */, + 8BA05AFA072074E100365D66 /* AudioUnit.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + 089C167DFE841241C02AAC07 /* InfoPlist.strings */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8B1540EE2AE9B95000DE8C34 /* CA_SDK */, + 8BA05A56072072A900365D66 /* AU Source */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* kCathedral.component */, + ); + name = Products; + sourceTree = ""; + }; + 8B1540EE2AE9B95000DE8C34 /* CA_SDK */ = { + isa = PBXGroup; + children = ( + 8B1540EF2AE9B95000DE8C34 /* PublicUtility */, + 8B1541572AE9B95000DE8C34 /* AudioUnits */, + ); + name = CA_SDK; + path = ../../../../CA_SDK; + sourceTree = ""; + }; + 8B1540EF2AE9B95000DE8C34 /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8B1540F02AE9B95000DE8C34 /* CAExtAudioFile.h */, + 8B1540F12AE9B95000DE8C34 /* CACFMachPort.h */, + 8B1540F22AE9B95000DE8C34 /* CABool.h */, + 8B1540F32AE9B95000DE8C34 /* CAComponent.cpp */, + 8B1540F42AE9B95000DE8C34 /* CADebugger.h */, + 8B1540F52AE9B95000DE8C34 /* CACFNumber.cpp */, + 8B1540F62AE9B95000DE8C34 /* CAGuard.h */, + 8B1540F72AE9B95000DE8C34 /* CAAtomic.h */, + 8B1540F82AE9B95000DE8C34 /* CAStreamBasicDescription.h */, + 8B1540F92AE9B95000DE8C34 /* CACFObject.h */, + 8B1540FA2AE9B95000DE8C34 /* CAStreamRangedDescription.h */, + 8B1540FB2AE9B95000DE8C34 /* CATokenMap.h */, + 8B1540FC2AE9B95000DE8C34 /* CAComponent.h */, + 8B1540FD2AE9B95000DE8C34 /* CAAudioBufferList.h */, + 8B1540FE2AE9B95000DE8C34 /* CAAudioUnit.h */, + 8B1540FF2AE9B95000DE8C34 /* CAAUParameter.h */, + 8B1541002AE9B95000DE8C34 /* CAException.h */, + 8B1541012AE9B95000DE8C34 /* CAAUProcessor.cpp */, + 8B1541022AE9B95000DE8C34 /* CAAUProcessor.h */, + 8B1541032AE9B95000DE8C34 /* CAProcess.h */, + 8B1541042AE9B95000DE8C34 /* CACFDictionary.h */, + 8B1541052AE9B95000DE8C34 /* CAPThread.h */, + 8B1541062AE9B95000DE8C34 /* CAAUParameter.cpp */, + 8B1541072AE9B95000DE8C34 /* CAAudioTimeStamp.h */, + 8B1541082AE9B95000DE8C34 /* CAFilePathUtils.cpp */, + 8B1541092AE9B95000DE8C34 /* CAAudioValueRange.h */, + 8B15410A2AE9B95000DE8C34 /* CAVectorUnitTypes.h */, + 8B15410B2AE9B95000DE8C34 /* CAAudioChannelLayoutObject.cpp */, + 8B15410C2AE9B95000DE8C34 /* CAGuard.cpp */, + 8B15410D2AE9B95000DE8C34 /* CACFNumber.h */, + 8B15410E2AE9B95000DE8C34 /* CACFDistributedNotification.cpp */, + 8B15410F2AE9B95000DE8C34 /* CACFString.h */, + 8B1541102AE9B95000DE8C34 /* CAAUMIDIMapManager.cpp */, + 8B1541112AE9B95000DE8C34 /* CAComponentDescription.cpp */, + 8B1541122AE9B95000DE8C34 /* CAHostTimeBase.h */, + 8B1541132AE9B95000DE8C34 /* CADebugMacros.cpp */, + 8B1541142AE9B95000DE8C34 /* CAAudioFileFormats.h */, + 8B1541152AE9B95000DE8C34 /* CAAUMIDIMapManager.h */, + 8B1541162AE9B95000DE8C34 /* CACFDictionary.cpp */, + 8B1541172AE9B95000DE8C34 /* CAMutex.h */, + 8B1541182AE9B95000DE8C34 /* CACFString.cpp */, + 8B1541192AE9B95000DE8C34 /* CASettingsStorage.h */, + 8B15411A2AE9B95000DE8C34 /* CADebugPrintf.h */, + 8B15411B2AE9B95000DE8C34 /* CAXException.cpp */, + 8B15411C2AE9B95000DE8C34 /* CAAUMIDIMap.h */, + 8B15411D2AE9B95000DE8C34 /* AUParamInfo.h */, + 8B15411E2AE9B95000DE8C34 /* CABitOperations.h */, + 8B15411F2AE9B95000DE8C34 /* CACFPreferences.cpp */, + 8B1541202AE9B95000DE8C34 /* CABundleLocker.h */, + 8B1541212AE9B95000DE8C34 /* CAPropertyAddress.h */, + 8B1541222AE9B95000DE8C34 /* CAXException.h */, + 8B1541232AE9B95000DE8C34 /* CAAudioChannelLayout.cpp */, + 8B1541242AE9B95000DE8C34 /* CAThreadSafeList.h */, + 8B1541252AE9B95000DE8C34 /* CAAudioUnitOutputCapturer.h */, + 8B1541262AE9B95000DE8C34 /* AUParamInfo.cpp */, + 8B1541272AE9B95000DE8C34 /* CASharedLibrary.cpp */, + 8B1541282AE9B95000DE8C34 /* CAAUMIDIMap.cpp */, + 8B1541292AE9B95000DE8C34 /* CALogMacros.h */, + 8B15412A2AE9B95000DE8C34 /* CACFMessagePort.cpp */, + 8B15412B2AE9B95000DE8C34 /* CARingBuffer.h */, + 8B15412C2AE9B95000DE8C34 /* AUOutputBL.cpp */, + 8B15412D2AE9B95000DE8C34 /* CABufferList.h */, + 8B15412E2AE9B95000DE8C34 /* CASharedLibrary.h */, + 8B15412F2AE9B95000DE8C34 /* CACFData.h */, + 8B1541302AE9B95000DE8C34 /* CAStreamRangedDescription.cpp */, + 8B1541312AE9B95000DE8C34 /* CAPThread.cpp */, + 8B1541322AE9B95000DE8C34 /* CAAutoDisposer.h */, + 8B1541332AE9B95000DE8C34 /* CACFPreferences.h */, + 8B1541342AE9B95000DE8C34 /* CAVectorUnit.cpp */, + 8B1541352AE9B95000DE8C34 /* CAComponentDescription.h */, + 8B1541362AE9B95000DE8C34 /* CADebugMacros.h */, + 8B1541372AE9B95000DE8C34 /* AUOutputBL.h */, + 8B1541382AE9B95000DE8C34 /* CADebugPrintf.cpp */, + 8B1541392AE9B95000DE8C34 /* CARingBuffer.cpp */, + 8B15413A2AE9B95000DE8C34 /* CACFPlugIn.h */, + 8B15413B2AE9B95000DE8C34 /* CASettingsStorage.cpp */, + 8B15413C2AE9B95000DE8C34 /* CAMixMap.h */, + 8B15413D2AE9B95000DE8C34 /* CACFDistributedNotification.h */, + 8B15413E2AE9B95000DE8C34 /* CAFilePathUtils.h */, + 8B15413F2AE9B95000DE8C34 /* CATink.h */, + 8B1541402AE9B95000DE8C34 /* CAStreamBasicDescription.cpp */, + 8B1541412AE9B95000DE8C34 /* CAAudioChannelLayout.h */, + 8B1541422AE9B95000DE8C34 /* CAProcess.cpp */, + 8B1541432AE9B95000DE8C34 /* CAHostTimeBase.cpp */, + 8B1541442AE9B95000DE8C34 /* CAPersistence.cpp */, + 8B1541452AE9B95000DE8C34 /* CAAudioBufferList.cpp */, + 8B1541462AE9B95000DE8C34 /* CAAudioTimeStamp.cpp */, + 8B1541472AE9B95000DE8C34 /* CAVectorUnit.h */, + 8B1541482AE9B95000DE8C34 /* CAByteOrder.h */, + 8B1541492AE9B95000DE8C34 /* CACFArray.h */, + 8B15414A2AE9B95000DE8C34 /* CAAtomicStack.h */, + 8B15414B2AE9B95000DE8C34 /* CAReferenceCounted.h */, + 8B15414C2AE9B95000DE8C34 /* CACFMachPort.cpp */, + 8B15414D2AE9B95000DE8C34 /* CABufferList.cpp */, + 8B15414E2AE9B95000DE8C34 /* CAMutex.cpp */, + 8B15414F2AE9B95000DE8C34 /* CADebugger.cpp */, + 8B1541502AE9B95000DE8C34 /* CABundleLocker.cpp */, + 8B1541512AE9B95000DE8C34 /* CAAudioFileFormats.cpp */, + 8B1541522AE9B95000DE8C34 /* CAMath.h */, + 8B1541532AE9B95000DE8C34 /* CACFArray.cpp */, + 8B1541542AE9B95000DE8C34 /* CACFMessagePort.h */, + 8B1541552AE9B95000DE8C34 /* CAAudioValueRange.cpp */, + 8B1541562AE9B95000DE8C34 /* CAAudioUnit.cpp */, + ); + path = PublicUtility; + sourceTree = ""; + }; + 8B1541572AE9B95000DE8C34 /* AudioUnits */ = { + isa = PBXGroup; + children = ( + 8B1541582AE9B95000DE8C34 /* AUPublic */, + ); + path = AudioUnits; + sourceTree = ""; + }; + 8B1541582AE9B95000DE8C34 /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8B1541592AE9B95000DE8C34 /* AUViewBase */, + 8B15415B2AE9B95000DE8C34 /* AUBase */, + 8B15416B2AE9B95000DE8C34 /* OtherBases */, + 8B15416E2AE9B95000DE8C34 /* Utility */, + ); + path = AUPublic; + sourceTree = ""; + }; + 8B1541592AE9B95000DE8C34 /* AUViewBase */ = { + isa = PBXGroup; + children = ( + 8B15415A2AE9B95000DE8C34 /* AUViewLocalizedStringKeys.h */, + ); + path = AUViewBase; + sourceTree = ""; + }; + 8B15415B2AE9B95000DE8C34 /* AUBase */ = { + isa = PBXGroup; + children = ( + 8B15415C2AE9B95000DE8C34 /* ComponentBase.cpp */, + 8B15415D2AE9B95000DE8C34 /* AUScopeElement.cpp */, + 8B15415E2AE9B95000DE8C34 /* ComponentBase.h */, + 8B15415F2AE9B95000DE8C34 /* AUBase.cpp */, + 8B1541602AE9B95000DE8C34 /* AUInputElement.h */, + 8B1541612AE9B95000DE8C34 /* AUBase.h */, + 8B1541622AE9B95000DE8C34 /* AUPlugInDispatch.h */, + 8B1541632AE9B95000DE8C34 /* AUDispatch.h */, + 8B1541642AE9B95000DE8C34 /* AUOutputElement.cpp */, + 8B1541652AE9B95000DE8C34 /* AUResources.r */, + 8B1541662AE9B95000DE8C34 /* AUPlugInDispatch.cpp */, + 8B1541672AE9B95000DE8C34 /* AUOutputElement.h */, + 8B1541682AE9B95000DE8C34 /* AUDispatch.cpp */, + 8B1541692AE9B95000DE8C34 /* AUScopeElement.h */, + 8B15416A2AE9B95000DE8C34 /* AUInputElement.cpp */, + ); + path = AUBase; + sourceTree = ""; + }; + 8B15416B2AE9B95000DE8C34 /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8B15416C2AE9B95000DE8C34 /* AUEffectBase.cpp */, + 8B15416D2AE9B95000DE8C34 /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8B15416E2AE9B95000DE8C34 /* Utility */ = { + isa = PBXGroup; + children = ( + 8B15416F2AE9B95000DE8C34 /* AUTimestampGenerator.h */, + 8B1541702AE9B95000DE8C34 /* AUBaseHelper.cpp */, + 8B1541712AE9B95000DE8C34 /* AUSilentTimeout.h */, + 8B1541722AE9B95000DE8C34 /* AUInputFormatConverter.h */, + 8B1541732AE9B95000DE8C34 /* AUTimestampGenerator.cpp */, + 8B1541742AE9B95000DE8C34 /* AUBuffer.cpp */, + 8B1541752AE9B95000DE8C34 /* AUMIDIDefs.h */, + 8B1541762AE9B95000DE8C34 /* AUBuffer.h */, + 8B1541772AE9B95000DE8C34 /* AUBaseHelper.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* kCathedral.h */, + 8BA05A660720730100365D66 /* kCathedral.cpp */, + 8BA05A670720730100365D66 /* kCathedral.exp */, + 8BA05A680720730100365D66 /* kCathedral.r */, + 8BA05A690720730100365D66 /* kCathedralVersion.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B1541A82AE9B95000DE8C34 /* CABundleLocker.h in Headers */, + 8B1541C92AE9B95000DE8C34 /* CAAudioChannelLayout.h in Headers */, + 8B1541BF2AE9B95000DE8C34 /* AUOutputBL.h in Headers */, + 8B15419A2AE9B95000DE8C34 /* CAHostTimeBase.h in Headers */, + 8B1541E22AE9B95000DE8C34 /* ComponentBase.h in Headers */, + 8B1541D22AE9B95000DE8C34 /* CAAtomicStack.h in Headers */, + 8B15418F2AE9B95000DE8C34 /* CAAudioTimeStamp.h in Headers */, + 8B1541AC2AE9B95000DE8C34 /* CAThreadSafeList.h in Headers */, + 8B1541872AE9B95000DE8C34 /* CAAUParameter.h in Headers */, + 8B1541F92AE9B95000DE8C34 /* AUBaseHelper.h in Headers */, + 8B1541F12AE9B95000DE8C34 /* AUTimestampGenerator.h in Headers */, + 8B1541A22AE9B95000DE8C34 /* CADebugPrintf.h in Headers */, + 8B1541DC2AE9B95000DE8C34 /* CACFMessagePort.h in Headers */, + 8B15418A2AE9B95000DE8C34 /* CAAUProcessor.h in Headers */, + 8B1541862AE9B95000DE8C34 /* CAAudioUnit.h in Headers */, + 8B1541DF2AE9B95000DE8C34 /* AUViewLocalizedStringKeys.h in Headers */, + 8B1541C52AE9B95000DE8C34 /* CACFDistributedNotification.h in Headers */, + 8B1541842AE9B95000DE8C34 /* CAComponent.h in Headers */, + 8B1541922AE9B95000DE8C34 /* CAVectorUnitTypes.h in Headers */, + 8BA05A6E0720730100365D66 /* kCathedralVersion.h in Headers */, + 8B1541C62AE9B95000DE8C34 /* CAFilePathUtils.h in Headers */, + 8B1541882AE9B95000DE8C34 /* CAException.h in Headers */, + 8B15417F2AE9B95000DE8C34 /* CAAtomic.h in Headers */, + 8B15417E2AE9B95000DE8C34 /* CAGuard.h in Headers */, + 8B1541E42AE9B95000DE8C34 /* AUInputElement.h in Headers */, + 8B1541BB2AE9B95000DE8C34 /* CACFPreferences.h in Headers */, + 8B1541D02AE9B95000DE8C34 /* CAByteOrder.h in Headers */, + 8B1541B32AE9B95000DE8C34 /* CARingBuffer.h in Headers */, + 8B15417A2AE9B95000DE8C34 /* CABool.h in Headers */, + 8B15419F2AE9B95000DE8C34 /* CAMutex.h in Headers */, + 8B1541E52AE9B95000DE8C34 /* AUBase.h in Headers */, + 8BC6025C073B072D006C4272 /* kCathedral.h in Headers */, + 8B1541972AE9B95000DE8C34 /* CACFString.h in Headers */, + 8B1541B62AE9B95000DE8C34 /* CASharedLibrary.h in Headers */, + 8B1541832AE9B95000DE8C34 /* CATokenMap.h in Headers */, + 8B1541782AE9B95000DE8C34 /* CAExtAudioFile.h in Headers */, + 8B15418D2AE9B95000DE8C34 /* CAPThread.h in Headers */, + 8B1541A92AE9B95000DE8C34 /* CAPropertyAddress.h in Headers */, + 8B1541D32AE9B95000DE8C34 /* CAReferenceCounted.h in Headers */, + 8B1541F82AE9B95000DE8C34 /* AUBuffer.h in Headers */, + 8B1541DA2AE9B95000DE8C34 /* CAMath.h in Headers */, + 8B1541BA2AE9B95000DE8C34 /* CAAutoDisposer.h in Headers */, + 8B1541812AE9B95000DE8C34 /* CACFObject.h in Headers */, + 8B1541A12AE9B95000DE8C34 /* CASettingsStorage.h in Headers */, + 8B1541AA2AE9B95000DE8C34 /* CAXException.h in Headers */, + 8B1541C72AE9B95000DE8C34 /* CATink.h in Headers */, + 8B1541F42AE9B95000DE8C34 /* AUInputFormatConverter.h in Headers */, + 8B1541CF2AE9B95000DE8C34 /* CAVectorUnit.h in Headers */, + 8B15418B2AE9B95000DE8C34 /* CAProcess.h in Headers */, + 8B1541912AE9B95000DE8C34 /* CAAudioValueRange.h in Headers */, + 8B1541A62AE9B95000DE8C34 /* CABitOperations.h in Headers */, + 8B15419C2AE9B95000DE8C34 /* CAAudioFileFormats.h in Headers */, + 8B1541952AE9B95000DE8C34 /* CACFNumber.h in Headers */, + 8B1541AD2AE9B95000DE8C34 /* CAAudioUnitOutputCapturer.h in Headers */, + 8B1541BE2AE9B95000DE8C34 /* CADebugMacros.h in Headers */, + 8B1541F72AE9B95000DE8C34 /* AUMIDIDefs.h in Headers */, + 8B1541B72AE9B95000DE8C34 /* CACFData.h in Headers */, + 8B1541802AE9B95000DE8C34 /* CAStreamBasicDescription.h in Headers */, + 8B1541E62AE9B95000DE8C34 /* AUPlugInDispatch.h in Headers */, + 8B1541822AE9B95000DE8C34 /* CAStreamRangedDescription.h in Headers */, + 8B1541C22AE9B95000DE8C34 /* CACFPlugIn.h in Headers */, + 8B1541852AE9B95000DE8C34 /* CAAudioBufferList.h in Headers */, + 8B15419D2AE9B95000DE8C34 /* CAAUMIDIMapManager.h in Headers */, + 8B1541F02AE9B95000DE8C34 /* AUEffectBase.h in Headers */, + 8B15418C2AE9B95000DE8C34 /* CACFDictionary.h in Headers */, + 8B1541ED2AE9B95000DE8C34 /* AUScopeElement.h in Headers */, + 8B1541BD2AE9B95000DE8C34 /* CAComponentDescription.h in Headers */, + 8B1541F32AE9B95000DE8C34 /* AUSilentTimeout.h in Headers */, + 8B1541B52AE9B95000DE8C34 /* CABufferList.h in Headers */, + 8B1541E72AE9B95000DE8C34 /* AUDispatch.h in Headers */, + 8B1541EB2AE9B95000DE8C34 /* AUOutputElement.h in Headers */, + 8B1541B12AE9B95000DE8C34 /* CALogMacros.h in Headers */, + 8B1541A52AE9B95000DE8C34 /* AUParamInfo.h in Headers */, + 8B1541C42AE9B95000DE8C34 /* CAMixMap.h in Headers */, + 8B1541D12AE9B95000DE8C34 /* CACFArray.h in Headers */, + 8B1541792AE9B95000DE8C34 /* CACFMachPort.h in Headers */, + 8B1541A42AE9B95000DE8C34 /* CAAUMIDIMap.h in Headers */, + 8B15417C2AE9B95000DE8C34 /* CADebugger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "kCathedral" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = kCathedral; + productReference = 8D01CCD20486CAD60068D4B7 /* kCathedral.component */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1420; + }; + buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "kCathedral" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + Base, + fr, + ja, + en, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* kCathedral */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B1541B42AE9B95000DE8C34 /* AUOutputBL.cpp in Sources */, + 8B1541D92AE9B95000DE8C34 /* CAAudioFileFormats.cpp in Sources */, + 8B1541CB2AE9B95000DE8C34 /* CAHostTimeBase.cpp in Sources */, + 8B1541A32AE9B95000DE8C34 /* CAXException.cpp in Sources */, + 8B1541CD2AE9B95000DE8C34 /* CAAudioBufferList.cpp in Sources */, + 8B1541902AE9B95000DE8C34 /* CAFilePathUtils.cpp in Sources */, + 8B15418E2AE9B95000DE8C34 /* CAAUParameter.cpp in Sources */, + 8B1541B02AE9B95000DE8C34 /* CAAUMIDIMap.cpp in Sources */, + 8B1541DD2AE9B95000DE8C34 /* CAAudioValueRange.cpp in Sources */, + 8B1541EC2AE9B95000DE8C34 /* AUDispatch.cpp in Sources */, + 8B1541A72AE9B95000DE8C34 /* CACFPreferences.cpp in Sources */, + 8B1541EA2AE9B95000DE8C34 /* AUPlugInDispatch.cpp in Sources */, + 8B1541892AE9B95000DE8C34 /* CAAUProcessor.cpp in Sources */, + 8B15419E2AE9B95000DE8C34 /* CACFDictionary.cpp in Sources */, + 8B1541F22AE9B95000DE8C34 /* AUBaseHelper.cpp in Sources */, + 8B1541D72AE9B95000DE8C34 /* CADebugger.cpp in Sources */, + 8B1541AB2AE9B95000DE8C34 /* CAAudioChannelLayout.cpp in Sources */, + 8B1541AE2AE9B95000DE8C34 /* AUParamInfo.cpp in Sources */, + 8B1541CC2AE9B95000DE8C34 /* CAPersistence.cpp in Sources */, + 8B1541C02AE9B95000DE8C34 /* CADebugPrintf.cpp in Sources */, + 8B1541F52AE9B95000DE8C34 /* AUTimestampGenerator.cpp in Sources */, + 8B1541C82AE9B95000DE8C34 /* CAStreamBasicDescription.cpp in Sources */, + 8B1541982AE9B95000DE8C34 /* CAAUMIDIMapManager.cpp in Sources */, + 8B1541C32AE9B95000DE8C34 /* CASettingsStorage.cpp in Sources */, + 8B1541E82AE9B95000DE8C34 /* AUOutputElement.cpp in Sources */, + 8B1541942AE9B95000DE8C34 /* CAGuard.cpp in Sources */, + 8BA05A6B0720730100365D66 /* kCathedral.cpp in Sources */, + 8B1541D62AE9B95000DE8C34 /* CAMutex.cpp in Sources */, + 8B1541EF2AE9B95000DE8C34 /* AUEffectBase.cpp in Sources */, + 8B1541D42AE9B95000DE8C34 /* CACFMachPort.cpp in Sources */, + 8B1541E32AE9B95000DE8C34 /* AUBase.cpp in Sources */, + 8B1541AF2AE9B95000DE8C34 /* CASharedLibrary.cpp in Sources */, + 8B1541962AE9B95000DE8C34 /* CACFDistributedNotification.cpp in Sources */, + 8B1541992AE9B95000DE8C34 /* CAComponentDescription.cpp in Sources */, + 8B1541A02AE9B95000DE8C34 /* CACFString.cpp in Sources */, + 8B1541E02AE9B95000DE8C34 /* ComponentBase.cpp in Sources */, + 8B1541C12AE9B95000DE8C34 /* CARingBuffer.cpp in Sources */, + 8B1541E12AE9B95000DE8C34 /* AUScopeElement.cpp in Sources */, + 8B1541DE2AE9B95000DE8C34 /* CAAudioUnit.cpp in Sources */, + 8B1541DB2AE9B95000DE8C34 /* CACFArray.cpp in Sources */, + 8B1541D82AE9B95000DE8C34 /* CABundleLocker.cpp in Sources */, + 8B1541CA2AE9B95000DE8C34 /* CAProcess.cpp in Sources */, + 8B1541B82AE9B95000DE8C34 /* CAStreamRangedDescription.cpp in Sources */, + 8B1541B92AE9B95000DE8C34 /* CAPThread.cpp in Sources */, + 8B15417B2AE9B95000DE8C34 /* CAComponent.cpp in Sources */, + 8B1541932AE9B95000DE8C34 /* CAAudioChannelLayoutObject.cpp in Sources */, + 8B1541CE2AE9B95000DE8C34 /* CAAudioTimeStamp.cpp in Sources */, + 8B1541D52AE9B95000DE8C34 /* CABufferList.cpp in Sources */, + 8B1541B22AE9B95000DE8C34 /* CACFMessagePort.cpp in Sources */, + 8B1541BC2AE9B95000DE8C34 /* CAVectorUnit.cpp in Sources */, + 8B1541EE2AE9B95000DE8C34 /* AUInputElement.cpp in Sources */, + 8B1541F62AE9B95000DE8C34 /* AUBuffer.cpp in Sources */, + 8B15419B2AE9B95000DE8C34 /* CADebugMacros.cpp in Sources */, + 8B15417D2AE9B95000DE8C34 /* CACFNumber.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 8B1541FA2AE9BA2100DE8C34 /* en */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3E4BA244089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + EXPORTED_SYMBOLS_FILE = kCathedral.exp; + GCC_OPTIMIZATION_LEVEL = 0; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}"; + PRODUCT_NAME = kCathedral; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + STRIP_STYLE = debugging; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + EXPORTED_SYMBOLS_FILE = kCathedral.exp; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GENERATE_PKGINFO_FILE = YES; + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + LIBRARY_STYLE = Bundle; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_LDFLAGS = "-bundle"; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = "com.airwindows.audiounit.${PRODUCT_NAME:identifier}"; + PRODUCT_NAME = kCathedral; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = debugging; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 3E4BA248089833B7007656EC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**"; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Debug; + }; + 3E4BA249089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/CA_SDK/**"; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "kCathedral" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "kCathedral" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..6f42bbb20605123bfc94524d05c7daeef5ac9c12 GIT binary patch literal 16376 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 literal 0 HcmV?d00001 diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/xcshareddata/xcschemes/kCathedral.xcscheme b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/xcshareddata/xcschemes/kCathedral.xcscheme new file mode 100644 index 000000000..5e336197b --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/xcshareddata/xcschemes/kCathedral.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..8690729fa --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + kCathedral.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedAU/kCathedral/kCathedralVersion.h b/plugins/MacSignedAU/kCathedral/kCathedralVersion.h new file mode 100755 index 000000000..4c8e3af8a --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/kCathedralVersion.h @@ -0,0 +1,58 @@ +/* +* File: kCathedralVersion.h +* +* Version: 1.0 +* +* Created: 10/20/23 +* +* Copyright: Copyright © 2023 Airwindows, Airwindows uses the MIT license +* +* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in +* consideration of your agreement to the following terms, and your use, installation, modification +* or redistribution of this Apple software constitutes acceptance of these terms. If you do +* not agree with these terms, please do not use, install, modify or redistribute this Apple +* software. +* +* In consideration of your agreement to abide by the following terms, and subject to these terms, +* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this +* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the +* Apple Software, with or without modifications, in source and/or binary forms; provided that if you +* redistribute the Apple Software in its entirety and without modifications, you must retain this +* notice and the following text and disclaimers in all such redistributions of the Apple Software. +* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to +* endorse or promote products derived from the Apple Software without specific prior written +* permission from Apple. Except as expressly stated in this notice, no other rights or +* licenses, express or implied, are granted by Apple herein, including but not limited to any +* patent rights that may be infringed by your derivative works or by other works in which the +* Apple Software may be incorporated. +* +* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR +* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY +* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE +* OR IN COMBINATION WITH YOUR PRODUCTS. +* +* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, +* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER +* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN +* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +#ifndef __kCathedralVersion_h__ +#define __kCathedralVersion_h__ + + +#ifdef DEBUG + #define kkCathedralVersion 0xFFFFFFFF +#else + #define kkCathedralVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define kCathedral_COMP_MANF 'Dthr' +#define kCathedral_COMP_SUBTYPE 'kcth' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacSignedAU/kCathedral/version.plist b/plugins/MacSignedAU/kCathedral/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacSignedAU/kCathedral/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..9dfcee255 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,108 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* ClearCoat */; + codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 324, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 719864001; + PBXWorkspaceStateSaveDate = 719864001; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* ClearCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 3510}}"; + sepNavSelRange = "{6292, 0}"; + sepNavVisRange = "{5854, 1565}"; + sepNavWindowFrame = "{{12, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* ClearCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1110, 2880}}"; + sepNavSelRange = "{841, 0}"; + sepNavVisRange = "{663, 2150}"; + sepNavWindowFrame = "{{20, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {2703, 20610}}"; + sepNavSelRange = "{37126, 0}"; + sepNavVisRange = "{36334, 1374}"; + sepNavWindowFrame = "{{31, 42}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* ClearCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..6082b5431 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1503 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B1FFB832AE848C7004C416B + 1CA23ED40692098700951B8B + 8B1FFB842AE848C7004C416B + 8B0237581D42B1C400E1E8C8 + 8B1FFB852AE848C7004C416B + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 719866055.71459603 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B1FFB862AE848C7004C416B + /Users/christopherjohnson/Desktop/ClearCoat/ClearCoat.xcodeproj + + WindowString + 34 365 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.pbxproj b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..9f8912f08 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.pbxproj @@ -0,0 +1,462 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* ClearCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* ClearCoat.cpp */; }; + 245463B90991757100464AD3 /* ClearCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* ClearCoat.h */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* ClearCoatProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; + 8B15420D2AE9BAB900DE8C34 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542012AE9BAB900DE8C34 /* vstfxstore.h */; }; + 8B15420E2AE9BAB900DE8C34 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542022AE9BAB900DE8C34 /* aeffect.h */; }; + 8B15420F2AE9BAB900DE8C34 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542032AE9BAB900DE8C34 /* aeffectx.h */; }; + 8B1542102AE9BAB900DE8C34 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542072AE9BAB900DE8C34 /* audioeffectx.h */; }; + 8B1542112AE9BAB900DE8C34 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1542082AE9BAB900DE8C34 /* audioeffect.cpp */; }; + 8B1542122AE9BAB900DE8C34 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1542092AE9BAB900DE8C34 /* audioeffectx.cpp */; }; + 8B1542132AE9BAB900DE8C34 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15420A2AE9BAB900DE8C34 /* aeffeditor.h */; }; + 8B1542142AE9BAB900DE8C34 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B15420B2AE9BAB900DE8C34 /* vstplugmain.cpp */; }; + 8B1542152AE9BAB900DE8C34 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15420C2AE9BAB900DE8C34 /* audioeffect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2407DE920899296600EB68BF /* ClearCoat.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ClearCoat.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* ClearCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ClearCoat.cpp; path = source/ClearCoat.cpp; sourceTree = ""; }; + 245463B80991757100464AD3 /* ClearCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ClearCoat.h; path = source/ClearCoat.h; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClearCoatProc.cpp; path = source/ClearCoatProc.cpp; sourceTree = ""; }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; }; + 8B1542012AE9BAB900DE8C34 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 8B1542022AE9BAB900DE8C34 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 8B1542032AE9BAB900DE8C34 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 8B1542072AE9BAB900DE8C34 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 8B1542082AE9BAB900DE8C34 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 8B1542092AE9BAB900DE8C34 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 8B15420A2AE9BAB900DE8C34 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 8B15420B2AE9BAB900DE8C34 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 8B15420C2AE9BAB900DE8C34 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8B1541FE2AE9BAB900DE8C34 /* vstsdk2.4 */, + 2407DEB6089929BA00EB68BF /* ClearCoat.cpp */, + 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */, + 245463B80991757100464AD3 /* ClearCoat.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* ClearCoat.vst */, + ); + name = Products; + sourceTree = ""; + }; + 8B1541FE2AE9BAB900DE8C34 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 8B1541FF2AE9BAB900DE8C34 /* pluginterfaces */, + 8B1542042AE9BAB900DE8C34 /* public.sdk */, + ); + name = vstsdk2.4; + path = ../../../../vstsdk2.4; + sourceTree = ""; + }; + 8B1541FF2AE9BAB900DE8C34 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 8B1542002AE9BAB900DE8C34 /* vst2.x */, + ); + path = pluginterfaces; + sourceTree = ""; + }; + 8B1542002AE9BAB900DE8C34 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B1542012AE9BAB900DE8C34 /* vstfxstore.h */, + 8B1542022AE9BAB900DE8C34 /* aeffect.h */, + 8B1542032AE9BAB900DE8C34 /* aeffectx.h */, + ); + path = vst2.x; + sourceTree = ""; + }; + 8B1542042AE9BAB900DE8C34 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 8B1542052AE9BAB900DE8C34 /* source */, + ); + path = public.sdk; + sourceTree = ""; + }; + 8B1542052AE9BAB900DE8C34 /* source */ = { + isa = PBXGroup; + children = ( + 8B1542062AE9BAB900DE8C34 /* vst2.x */, + ); + path = source; + sourceTree = ""; + }; + 8B1542062AE9BAB900DE8C34 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B1542072AE9BAB900DE8C34 /* audioeffectx.h */, + 8B1542082AE9BAB900DE8C34 /* audioeffect.cpp */, + 8B1542092AE9BAB900DE8C34 /* audioeffectx.cpp */, + 8B15420A2AE9BAB900DE8C34 /* aeffeditor.h */, + 8B15420B2AE9BAB900DE8C34 /* vstplugmain.cpp */, + 8B15420C2AE9BAB900DE8C34 /* audioeffect.h */, + ); + path = vst2.x; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B1542132AE9BAB900DE8C34 /* aeffeditor.h in Headers */, + 245463B90991757100464AD3 /* ClearCoat.h in Headers */, + 8B1542152AE9BAB900DE8C34 /* audioeffect.h in Headers */, + 8B15420E2AE9BAB900DE8C34 /* aeffect.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 8B1542102AE9BAB900DE8C34 /* audioeffectx.h in Headers */, + 8B15420D2AE9BAB900DE8C34 /* vstfxstore.h in Headers */, + 8B15420F2AE9BAB900DE8C34 /* aeffectx.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* ClearCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "ClearCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ClearCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* ClearCoat.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1420; + }; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "ClearCoat" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + de, + en, + ja, + fr, + Base, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* ClearCoat */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy PkgInfo"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B1542122AE9BAB900DE8C34 /* audioeffectx.cpp in Sources */, + 2407DEB9089929BA00EB68BF /* ClearCoat.cpp in Sources */, + 8B1542112AE9BAB900DE8C34 /* audioeffect.cpp in Sources */, + 8B1542142AE9BAB900DE8C34 /* vstplugmain.cpp in Sources */, + 24D8287009A914000093AEF8 /* ClearCoatProc.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = ""; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.ClearCoat; + PRODUCT_NAME = ClearCoat; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SECTORDER_FLAGS = ""; + STRIP_STYLE = debugging; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = ""; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.ClearCoat; + PRODUCT_NAME = ClearCoat; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = debugging; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_MODEL_TUNING = G5; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = s; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "ClearCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "ClearCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..c58adde7ceaaafd6bef8e93298e95b006cbf5c51 GIT binary patch literal 24534 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 Ee-@_#ZU6uP literal 0 HcmV?d00001 diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.mode1v3 b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.pbxuser b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.pbxuser @@ -0,0 +1,143 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */; + codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 829, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 789, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 345089498; + PBXWorkspaceStateSaveDate = 345089498; + }; + perUserProjectItems = { + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */; + }; + sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* Gain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}"; + sepNavSelRange = "{247, 0}"; + sepNavVisRange = "{0, 1657}"; + }; + }; + 245463B80991757100464AD3 /* Gain.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 975}}"; + sepNavSelRange = "{1552, 0}"; + sepNavVisRange = "{796, 1857}"; + sepNavWindowFrame = "{{15, 465}, {750, 558}}"; + }; + }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 488}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 798}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}"; + sepNavSelRange = "{10641, 0}"; + sepNavVisRange = "{10076, 1095}"; + }; + }; + 24D8286F09A914000093AEF8 /* GainProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 482}}"; + sepNavSelRange = "{239, 0}"; + sepNavVisRange = "{0, 950}"; + }; + }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 493}}"; + sepNavSelRange = "{249, 0}"; + sepNavVisRange = "{0, 249}"; + }; + }; + 8D01CCC60486CAD60068D4B7 /* Gain */ = { + activeExec = 0; + }; + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1657; + vrLoc = 0; + }; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1625; + vrLoc = 0; + }; + 91857D94148EF55400AAA11B /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 91857D95148EF55400AAA11B /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; +} diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcshareddata/xcschemes/ClearCoat.xcscheme b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcshareddata/xcschemes/ClearCoat.xcscheme new file mode 100644 index 000000000..730c0cd4b --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcshareddata/xcschemes/ClearCoat.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..fe5e75f38 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + ClearCoat.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/ClearCoat/mac/Info.plist b/plugins/MacSignedVST/ClearCoat/mac/Info.plist new file mode 100755 index 000000000..5fb8b71a7 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ClearCoat + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedVST/ClearCoat/mac/PkgInfo b/plugins/MacSignedVST/ClearCoat/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacSignedVST/ClearCoat/mac/xcode_vst_prefix.h b/plugins/MacSignedVST/ClearCoat/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/mac/xcode_vst_prefix.h @@ -0,0 +1,17 @@ +#define MAC 1 +#define MACX 1 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#include \ No newline at end of file diff --git a/plugins/MacSignedVST/ClearCoat/source/ClearCoat.cpp b/plugins/MacSignedVST/ClearCoat/source/ClearCoat.cpp new file mode 100755 index 000000000..a3aec775b --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/source/ClearCoat.cpp @@ -0,0 +1,229 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#include "ClearCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ClearCoat(audioMaster);} + +ClearCoat::ClearCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 1.0; + + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevclearcoat = -1; + + 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 +} + +ClearCoat::~ClearCoat() {} +VstInt32 ClearCoat::getVendorVersion () {return 1000;} +void ClearCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void ClearCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), 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 ClearCoat::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 ClearCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool ClearCoat::getEffectName(char* name) { + vst_strncpy(name, "ClearCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory ClearCoat::getPlugCategory() {return kPlugCategEffect;} + +bool ClearCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows ClearCoat", kVstMaxProductStrLen); return true; +} + +bool ClearCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacSignedVST/ClearCoat/source/ClearCoat.h b/plugins/MacSignedVST/ClearCoat/source/ClearCoat.h new file mode 100755 index 000000000..7f7284a92 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/source/ClearCoat.h @@ -0,0 +1,202 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#define __ClearCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kNumParameters = 2 +}; // + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'clco'; //Change this to what the AU identity is! + +class ClearCoat : + public AudioEffectX +{ +public: + ClearCoat(audioMasterCallback audioMaster); + ~ClearCoat(); + 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; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevclearcoat; + + float A; + float B; +}; + +#endif diff --git a/plugins/MacSignedVST/ClearCoat/source/ClearCoatProc.cpp b/plugins/MacSignedVST/ClearCoat/source/ClearCoatProc.cpp new file mode 100755 index 000000000..b93707b53 --- /dev/null +++ b/plugins/MacSignedVST/ClearCoat/source/ClearCoatProc.cpp @@ -0,0 +1,744 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#include "ClearCoat.h" +#endif + +void ClearCoat::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = (int)(A*16.999); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = B*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 ClearCoat::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = (int)(A*16.999); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = B*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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/MacSignedVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..0fb712540 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,108 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral */; + codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 324, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 719866335; + PBXWorkspaceStateSaveDate = 719866335; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* kCathedral.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 4284}}"; + sepNavSelRange = "{8622, 0}"; + sepNavVisRange = "{7863, 1407}"; + sepNavWindowFrame = "{{12, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* kCathedral.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {5907, 3600}}"; + sepNavSelRange = "{1459, 0}"; + sepNavVisRange = "{0, 1751}"; + sepNavWindowFrame = "{{20, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* kCathedralProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {885, 28404}}"; + sepNavSelRange = "{48837, 0}"; + sepNavVisRange = "{47756, 1660}"; + sepNavWindowFrame = "{{32, 42}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..da3096752 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1503 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B1FFBBC2AE850CC004C416B + 1CA23ED40692098700951B8B + 8B1FFBBD2AE850CC004C416B + 8B0237581D42B1C400E1E8C8 + 8B1FFBBE2AE850CC004C416B + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 719868108.68260801 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B1FFBBF2AE850CC004C416B + /Users/christopherjohnson/Desktop/kCathedral/kCathedral.xcodeproj + + WindowString + 34 365 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.pbxproj b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.pbxproj new file mode 100755 index 000000000..cfbd2c2ea --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.pbxproj @@ -0,0 +1,462 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* kCathedral.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* kCathedral.cpp */; }; + 245463B90991757100464AD3 /* kCathedral.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* kCathedral.h */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* kCathedralProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* kCathedralProc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; + 8B1542282AE9BC1A00DE8C34 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15421C2AE9BC1A00DE8C34 /* vstfxstore.h */; }; + 8B1542292AE9BC1A00DE8C34 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15421D2AE9BC1A00DE8C34 /* aeffect.h */; }; + 8B15422A2AE9BC1A00DE8C34 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B15421E2AE9BC1A00DE8C34 /* aeffectx.h */; }; + 8B15422B2AE9BC1A00DE8C34 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542222AE9BC1A00DE8C34 /* audioeffectx.h */; }; + 8B15422C2AE9BC1A00DE8C34 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1542232AE9BC1A00DE8C34 /* audioeffect.cpp */; }; + 8B15422D2AE9BC1A00DE8C34 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1542242AE9BC1A00DE8C34 /* audioeffectx.cpp */; }; + 8B15422E2AE9BC1A00DE8C34 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542252AE9BC1A00DE8C34 /* aeffeditor.h */; }; + 8B15422F2AE9BC1A00DE8C34 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B1542262AE9BC1A00DE8C34 /* vstplugmain.cpp */; }; + 8B1542302AE9BC1A00DE8C34 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B1542272AE9BC1A00DE8C34 /* audioeffect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2407DE920899296600EB68BF /* kCathedral.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* kCathedral.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral.cpp; path = source/kCathedral.cpp; sourceTree = ""; }; + 245463B80991757100464AD3 /* kCathedral.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = kCathedral.h; path = source/kCathedral.h; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* kCathedralProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedralProc.cpp; path = source/kCathedralProc.cpp; sourceTree = ""; }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; }; + 8B15421C2AE9BC1A00DE8C34 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 8B15421D2AE9BC1A00DE8C34 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 8B15421E2AE9BC1A00DE8C34 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 8B1542222AE9BC1A00DE8C34 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 8B1542232AE9BC1A00DE8C34 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 8B1542242AE9BC1A00DE8C34 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 8B1542252AE9BC1A00DE8C34 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 8B1542262AE9BC1A00DE8C34 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 8B1542272AE9BC1A00DE8C34 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 8B1542192AE9BC1A00DE8C34 /* vstsdk2.4 */, + 2407DEB6089929BA00EB68BF /* kCathedral.cpp */, + 24D8286F09A914000093AEF8 /* kCathedralProc.cpp */, + 245463B80991757100464AD3 /* kCathedral.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* kCathedral.vst */, + ); + name = Products; + sourceTree = ""; + }; + 8B1542192AE9BC1A00DE8C34 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 8B15421A2AE9BC1A00DE8C34 /* pluginterfaces */, + 8B15421F2AE9BC1A00DE8C34 /* public.sdk */, + ); + name = vstsdk2.4; + path = ../../../../vstsdk2.4; + sourceTree = ""; + }; + 8B15421A2AE9BC1A00DE8C34 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 8B15421B2AE9BC1A00DE8C34 /* vst2.x */, + ); + path = pluginterfaces; + sourceTree = ""; + }; + 8B15421B2AE9BC1A00DE8C34 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B15421C2AE9BC1A00DE8C34 /* vstfxstore.h */, + 8B15421D2AE9BC1A00DE8C34 /* aeffect.h */, + 8B15421E2AE9BC1A00DE8C34 /* aeffectx.h */, + ); + path = vst2.x; + sourceTree = ""; + }; + 8B15421F2AE9BC1A00DE8C34 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 8B1542202AE9BC1A00DE8C34 /* source */, + ); + path = public.sdk; + sourceTree = ""; + }; + 8B1542202AE9BC1A00DE8C34 /* source */ = { + isa = PBXGroup; + children = ( + 8B1542212AE9BC1A00DE8C34 /* vst2.x */, + ); + path = source; + sourceTree = ""; + }; + 8B1542212AE9BC1A00DE8C34 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B1542222AE9BC1A00DE8C34 /* audioeffectx.h */, + 8B1542232AE9BC1A00DE8C34 /* audioeffect.cpp */, + 8B1542242AE9BC1A00DE8C34 /* audioeffectx.cpp */, + 8B1542252AE9BC1A00DE8C34 /* aeffeditor.h */, + 8B1542262AE9BC1A00DE8C34 /* vstplugmain.cpp */, + 8B1542272AE9BC1A00DE8C34 /* audioeffect.h */, + ); + path = vst2.x; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B15422E2AE9BC1A00DE8C34 /* aeffeditor.h in Headers */, + 245463B90991757100464AD3 /* kCathedral.h in Headers */, + 8B1542302AE9BC1A00DE8C34 /* audioeffect.h in Headers */, + 8B1542292AE9BC1A00DE8C34 /* aeffect.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 8B15422B2AE9BC1A00DE8C34 /* audioeffectx.h in Headers */, + 8B1542282AE9BC1A00DE8C34 /* vstfxstore.h in Headers */, + 8B15422A2AE9BC1A00DE8C34 /* aeffectx.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* kCathedral.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 1420; + }; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + fr, + Base, + de, + en, + ja, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy PkgInfo"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B15422D2AE9BC1A00DE8C34 /* audioeffectx.cpp in Sources */, + 2407DEB9089929BA00EB68BF /* kCathedral.cpp in Sources */, + 8B15422C2AE9BC1A00DE8C34 /* audioeffect.cpp in Sources */, + 8B15422F2AE9BC1A00DE8C34 /* vstplugmain.cpp in Sources */, + 24D8287009A914000093AEF8 /* kCathedralProc.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_MODEL_TUNING = ""; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.kCathedral; + PRODUCT_NAME = kCathedral; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SECTORDER_FLAGS = ""; + STRIP_STYLE = debugging; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ENABLE_OBJC_WEAK = YES; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COPY_PHASE_STRIP = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 9BMAKYA76W; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = ""; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/Users/christopherjohnson/Desktop/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST"; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 11.1; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_BUNDLE_IDENTIFIER = com.airwindows.kCathedral; + PRODUCT_NAME = kCathedral; + PROVISIONING_PROFILE_SPECIFIER = ""; + SDKROOT = macosx; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = debugging; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_MODEL_TUNING = G5; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD)"; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEAD_CODE_STRIPPING = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = s; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 11.1; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..ee8b338b870da61294b5da6a942ea41db8f0c719 GIT binary patch literal 24553 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 O>Eq|I7NyUjoBtnU0#OtI literal 0 HcmV?d00001 diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..314de0ff8716f1de186bd9e12b891393458717e5 GIT binary patch literal 10373 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 Ee-@_#ZU6uP literal 0 HcmV?d00001 diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/spiadmin.mode1v3 b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/spiadmin.pbxuser b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/spiadmin.pbxuser @@ -0,0 +1,143 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */; + codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 829, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 789, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 345089498; + PBXWorkspaceStateSaveDate = 345089498; + }; + perUserProjectItems = { + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */; + }; + sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* Gain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}"; + sepNavSelRange = "{247, 0}"; + sepNavVisRange = "{0, 1657}"; + }; + }; + 245463B80991757100464AD3 /* Gain.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 975}}"; + sepNavSelRange = "{1552, 0}"; + sepNavVisRange = "{796, 1857}"; + sepNavWindowFrame = "{{15, 465}, {750, 558}}"; + }; + }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 488}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 798}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}"; + sepNavSelRange = "{10641, 0}"; + sepNavVisRange = "{10076, 1095}"; + }; + }; + 24D8286F09A914000093AEF8 /* GainProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 482}}"; + sepNavSelRange = "{239, 0}"; + sepNavVisRange = "{0, 950}"; + }; + }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 493}}"; + sepNavSelRange = "{249, 0}"; + sepNavVisRange = "{0, 249}"; + }; + }; + 8D01CCC60486CAD60068D4B7 /* Gain */ = { + activeExec = 0; + }; + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1657; + vrLoc = 0; + }; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1625; + vrLoc = 0; + }; + 91857D94148EF55400AAA11B /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 91857D95148EF55400AAA11B /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; +} diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcshareddata/xcschemes/kCathedral.xcscheme b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcshareddata/xcschemes/kCathedral.xcscheme new file mode 100644 index 000000000..ec7722591 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcshareddata/xcschemes/kCathedral.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..d70ead6d4 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + kCathedral.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/kCathedral/mac/Info.plist b/plugins/MacSignedVST/kCathedral/mac/Info.plist new file mode 100755 index 000000000..36a073769 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + kCathedral + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedVST/kCathedral/mac/PkgInfo b/plugins/MacSignedVST/kCathedral/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacSignedVST/kCathedral/mac/xcode_vst_prefix.h b/plugins/MacSignedVST/kCathedral/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/mac/xcode_vst_prefix.h @@ -0,0 +1,17 @@ +#define MAC 1 +#define MACX 1 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#include \ No newline at end of file diff --git a/plugins/MacSignedVST/kCathedral/source/kCathedral.cpp b/plugins/MacSignedVST/kCathedral/source/kCathedral.cpp new file mode 100755 index 000000000..1965dd97b --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/source/kCathedral.cpp @@ -0,0 +1,274 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#include "kCathedral.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral(audioMaster);} + +kCathedral::kCathedral(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < earlyA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < earlyB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < earlyC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < earlyD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < earlyE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < earlyF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < earlyG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < earlyH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < earlyI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + prevMulchBL = 0.0; + prevMulchBR = 0.0; + prevMulchCL = 0.0; + prevMulchCR = 0.0; + prevMulchDL = 0.0; + prevMulchDR = 0.0; + prevMulchEL = 0.0; + prevMulchER = 0.0; + + tailL = 0.0; + tailR = 0.0; + + prevOutEL = 0.0; + prevOutER = 0.0; + prevInEL = 0.0; + prevInER = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + earlyAL = 1; + earlyBL = 1; + earlyCL = 1; + earlyDL = 1; + earlyEL = 1; + earlyFL = 1; + earlyGL = 1; + earlyHL = 1; + earlyIL = 1; + + earlyAR = 1; + earlyBR = 1; + earlyCR = 1; + earlyDR = 1; + earlyER = 1; + earlyFR = 1; + earlyGR = 1; + earlyHR = 1; + earlyIR = 1; + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + //from SubTight + + 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 +} + +kCathedral::~kCathedral() {} +VstInt32 kCathedral::getVendorVersion () {return 1000;} +void kCathedral::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral::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 kCathedral::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + /* 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 kCathedral::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + /* 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 kCathedral::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; 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 kCathedral::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Wetness", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void kCathedral::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void kCathedral::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral::getEffectName(char* name) { + vst_strncpy(name, "kCathedral", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral", kVstMaxProductStrLen); return true; +} + +bool kCathedral::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacSignedVST/kCathedral/source/kCathedral.h b/plugins/MacSignedVST/kCathedral/source/kCathedral.h new file mode 100755 index 000000000..7533c8f90 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/source/kCathedral.h @@ -0,0 +1,307 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#define __kCathedral_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; // + +//regular3x3 +const int earlyA = 437; const int earlyB = 284; const int earlyC = 754; const int earlyD = 1538; const int earlyE = 59; const int earlyF = 1829; const int earlyG = 37; const int earlyH = 3304; const int earlyI = 200; const int predelay = 1014; const int vlfpredelay = 3275; //6 to 151 ms, 741 seat theater. Scarcity, 1 in 17259 +//kCathedralEarly741 + +const int delayA = 253; const int delayB = 1395; const int delayC = 248; const int delayD = 284; const int delayE = 952; const int delayF = 430; const int delayG = 1253; const int delayH = 889; const int delayI = 798; const int delayJ = 397; const int delayK = 1166; const int delayL = 250; const int delayM = 38; const int delayN = 1389; const int delayO = 1103; const int delayP = 50; const int delayQ = 1317; const int delayR = 40; const int delayS = 1393; const int delayT = 325; const int delayU = 11; const int delayV = 265; const int delayW = 1339; const int delayX = 315; const int delayY = 753; //16 to 153 ms, 860 seat hall. Scarcity, 1 in 60182 +//###RevSmooth860 + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcth'; //Change this to what the AU identity is! + +class kCathedral : + public AudioEffectX +{ +public: + kCathedral(audioMasterCallback audioMaster); + ~kCathedral(); + 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; + + double gainOutL; + double gainOutR; + + double eAL[earlyA+5]; + double eBL[earlyB+5]; + double eCL[earlyC+5]; + double eDL[earlyD+5]; + double eEL[earlyE+5]; + double eFL[earlyF+5]; + double eGL[earlyG+5]; + double eHL[earlyH+5]; + double eIL[earlyI+5]; + + double eAR[earlyA+5]; + double eBR[earlyB+5]; + double eCR[earlyC+5]; + double eDR[earlyD+5]; + double eER[earlyE+5]; + double eFR[earlyF+5]; + double eGR[earlyG+5]; + double eHR[earlyH+5]; + double eIR[earlyI+5]; + + int earlyAL, earlyAR; + int earlyBL, earlyBR; + int earlyCL, earlyCR; + int earlyDL, earlyDR; + int earlyEL, earlyER; + int earlyFL, earlyFR; + int earlyGL, earlyGR; + int earlyHL, earlyHR; + int earlyIL, earlyIR; + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double prevMulchBL; + double prevMulchBR; + double prevMulchCL; + double prevMulchCR; + double prevMulchDL; + double prevMulchDR; + double prevMulchEL; + double prevMulchER; + + double prevOutEL; + double prevOutER; + double prevInEL; + double prevInER; + + double tailL; + double tailR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/MacSignedVST/kCathedral/source/kCathedralProc.cpp b/plugins/MacSignedVST/kCathedral/source/kCathedralProc.cpp new file mode 100755 index 000000000..18c4e88c2 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral/source/kCathedralProc.cpp @@ -0,0 +1,1070 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#include "kCathedral.h" +#endif + +void kCathedral::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 kCathedral::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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/MacVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..9dfcee255 --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,108 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* ClearCoat */; + codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 324, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 719864001; + PBXWorkspaceStateSaveDate = 719864001; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* ClearCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 3510}}"; + sepNavSelRange = "{6292, 0}"; + sepNavVisRange = "{5854, 1565}"; + sepNavWindowFrame = "{{12, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* ClearCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1110, 2880}}"; + sepNavSelRange = "{841, 0}"; + sepNavVisRange = "{663, 2150}"; + sepNavWindowFrame = "{{20, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {2703, 20610}}"; + sepNavSelRange = "{37126, 0}"; + sepNavVisRange = "{36334, 1374}"; + sepNavWindowFrame = "{{31, 42}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* ClearCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..6082b5431 --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1503 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B1FFB832AE848C7004C416B + 1CA23ED40692098700951B8B + 8B1FFB842AE848C7004C416B + 8B0237581D42B1C400E1E8C8 + 8B1FFB852AE848C7004C416B + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 719866055.71459603 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B1FFB862AE848C7004C416B + /Users/christopherjohnson/Desktop/ClearCoat/ClearCoat.xcodeproj + + WindowString + 34 365 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.pbxproj b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..68337ef85 --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.pbxproj @@ -0,0 +1,2201 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* ClearCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* ClearCoat.cpp */; }; + 245463B90991757100464AD3 /* ClearCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* ClearCoat.h */; }; + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF910F90D1DD003BB5A7 /* aeffect.h */; }; + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */; }; + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */; }; + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF990F90D1DD003BB5A7 /* adelay.h */; }; + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */; }; + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */; }; + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFAB0F90D1DD003BB5A7 /* again.h */; }; + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */; }; + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */; }; + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */; }; + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */; }; + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */; }; + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */; }; + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */; }; + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */; }; + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200050F90D1DD003BB5A7 /* controlsgui.h */; }; + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */; }; + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */; }; + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */; }; + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */; }; + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */; }; + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */; }; + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */; }; + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001F0F90D1DD003BB5A7 /* ctabview.h */; }; + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201470F90D1DE003BB5A7 /* plugguieditor.h */; }; + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201490F90D1DE003BB5A7 /* vstcontrols.h */; }; + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014B0F90D1DE003BB5A7 /* vstgui.h */; }; + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */; }; + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */; }; + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */; }; + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */; }; + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */; }; + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */; }; + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */; }; + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* ClearCoatProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = again; + }; + 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476974093DAE42008998C4; + remoteInfo = adelay; + }; + 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52220929FBF500DDED7A; + remoteInfo = vstxsynth; + }; + 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476A10093DCAF9008998C4; + remoteInfo = surrounddelay; + }; + 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52F3092A312800DDED7A; + remoteInfo = minihost; + }; + 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; + 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + 2407DE920899296600EB68BF /* ClearCoat.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ClearCoat.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* ClearCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ClearCoat.cpp; path = source/ClearCoat.cpp; sourceTree = ""; }; + 2434720A098313350063BBF1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + 245463B80991757100464AD3 /* ClearCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ClearCoat.h; path = source/ClearCoat.h; sourceTree = ""; }; + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10014.bmp; sourceTree = ""; }; + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10015.bmp; sourceTree = ""; }; + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10016.bmp; sourceTree = ""; }; + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = controlsgui.cpp; sourceTree = ""; }; + 24A200050F90D1DD003BB5A7 /* controlsgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controlsgui.h; sourceTree = ""; }; + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteditor.cpp; sourceTree = ""; }; + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteditor.h; sourceTree = ""; }; + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteffect.cpp; sourceTree = ""; }; + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteffect.h; sourceTree = ""; }; + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestmain.cpp; sourceTree = ""; }; + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestview.cpp; sourceTree = ""; }; + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtestview.h; sourceTree = ""; }; + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pprimitivesviews.cpp; sourceTree = ""; }; + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pprimitivesviews.h; sourceTree = ""; }; + 24A200100F90D1DD003BB5A7 /* drawtest.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.def; sourceTree = ""; }; + 24A200110F90D1DD003BB5A7 /* drawtest.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.rc; sourceTree = ""; }; + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = drawtest.vcproj; sourceTree = ""; }; + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsp; sourceTree = ""; }; + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsw; sourceTree = ""; }; + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aeffguieditor.cpp; sourceTree = ""; }; + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffguieditor.h; sourceTree = ""; }; + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfileselector.cpp; sourceTree = ""; }; + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfileselector.h; sourceTree = ""; }; + 24A2001B0F90D1DD003BB5A7 /* Changelog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Changelog; sourceTree = ""; }; + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cscrollview.cpp; sourceTree = ""; }; + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cscrollview.h; sourceTree = ""; }; + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ctabview.cpp; sourceTree = ""; }; + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ctabview.h; sourceTree = ""; }; + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8cpp.html; sourceTree = ""; }; + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8h.html; sourceTree = ""; }; + 24A200240F90D1DD003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = annotated.html; sourceTree = ""; }; + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8cpp.html; sourceTree = ""; }; + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8h.html; sourceTree = ""; }; + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_a_eff_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_a_eff_g_u_i_editor.html; sourceTree = ""; }; + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_anim_knob-members.html"; sourceTree = ""; }; + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_anim_knob.html; sourceTree = ""; }; + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_anim_knob.png; sourceTree = ""; }; + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_attribute_list_entry-members.html"; sourceTree = ""; }; + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_attribute_list_entry.html; sourceTree = ""; }; + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_auto_animation-members.html"; sourceTree = ""; }; + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_auto_animation.html; sourceTree = ""; }; + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_auto_animation.png; sourceTree = ""; }; + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_bitmap-members.html"; sourceTree = ""; }; + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_bitmap.html; sourceTree = ""; }; + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_bitmap.png; sourceTree = ""; }; + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_c_view-members.html"; sourceTree = ""; }; + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_c_view.html; sourceTree = ""; }; + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control-members.html"; sourceTree = ""; }; + 24A200370F90D1DD003BB5A7 /* class_c_control.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control.html; sourceTree = ""; }; + 24A200380F90D1DD003BB5A7 /* class_c_control.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control.png; sourceTree = ""; }; + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control_listener-members.html"; sourceTree = ""; }; + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control_listener.html; sourceTree = ""; }; + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control_listener.png; sourceTree = ""; }; + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_drag_container-members.html"; sourceTree = ""; }; + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_drag_container.html; sourceTree = ""; }; + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_drag_container.png; sourceTree = ""; }; + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_draw_context-members.html"; sourceTree = ""; }; + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_draw_context.html; sourceTree = ""; }; + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_draw_context.png; sourceTree = ""; }; + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_file_selector-members.html"; sourceTree = ""; }; + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_file_selector.html; sourceTree = ""; }; + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_frame-members.html"; sourceTree = ""; }; + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_frame.html; sourceTree = ""; }; + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_frame.png; sourceTree = ""; }; + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_slider-members.html"; sourceTree = ""; }; + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_slider.html; sourceTree = ""; }; + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_slider.png; sourceTree = ""; }; + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_switch-members.html"; sourceTree = ""; }; + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_switch.html; sourceTree = ""; }; + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_switch.png; sourceTree = ""; }; + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_kick_button-members.html"; sourceTree = ""; }; + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_kick_button.html; sourceTree = ""; }; + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_kick_button.png; sourceTree = ""; }; + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_knob-members.html"; sourceTree = ""; }; + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_knob.html; sourceTree = ""; }; + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_knob.png; sourceTree = ""; }; + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_bitmap-members.html"; sourceTree = ""; }; + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_bitmap.html; sourceTree = ""; }; + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_bitmap.png; sourceTree = ""; }; + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_button-members.html"; sourceTree = ""; }; + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_button.html; sourceTree = ""; }; + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_button.png; sourceTree = ""; }; + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_offscreen_context-members.html"; sourceTree = ""; }; + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_offscreen_context.html; sourceTree = ""; }; + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_offscreen_context.png; sourceTree = ""; }; + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_on_off_button-members.html"; sourceTree = ""; }; + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_on_off_button.html; sourceTree = ""; }; + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_on_off_button.png; sourceTree = ""; }; + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu-members.html"; sourceTree = ""; }; + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu.html; sourceTree = ""; }; + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu.png; sourceTree = ""; }; + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu_scheme-members.html"; sourceTree = ""; }; + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu_scheme.html; sourceTree = ""; }; + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu_scheme.png; sourceTree = ""; }; + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_param_display-members.html"; sourceTree = ""; }; + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_param_display.html; sourceTree = ""; }; + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_param_display.png; sourceTree = ""; }; + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_reference_counter-members.html"; sourceTree = ""; }; + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_reference_counter.html; sourceTree = ""; }; + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_reference_counter.png; sourceTree = ""; }; + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_rocker_switch-members.html"; sourceTree = ""; }; + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_rocker_switch.html; sourceTree = ""; }; + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_rocker_switch.png; sourceTree = ""; }; + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_container-members.html"; sourceTree = ""; }; + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_container.html; sourceTree = ""; }; + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_container.png; sourceTree = ""; }; + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_view-members.html"; sourceTree = ""; }; + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_view.html; sourceTree = ""; }; + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_view.png; sourceTree = ""; }; + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scrollbar-members.html"; sourceTree = ""; }; + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scrollbar.html; sourceTree = ""; }; + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scrollbar.png; sourceTree = ""; }; + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_slider-members.html"; sourceTree = ""; }; + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_slider.html; sourceTree = ""; }; + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_slider.png; sourceTree = ""; }; + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_special_digit-members.html"; sourceTree = ""; }; + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_special_digit.html; sourceTree = ""; }; + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_special_digit.png; sourceTree = ""; }; + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen-members.html"; sourceTree = ""; }; + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen.html; sourceTree = ""; }; + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen.png; sourceTree = ""; }; + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen_view-members.html"; sourceTree = ""; }; + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen_view.html; sourceTree = ""; }; + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen_view.png; sourceTree = ""; }; + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_button-members.html"; sourceTree = ""; }; + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_button.html; sourceTree = ""; }; + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_button.png; sourceTree = ""; }; + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_child_view-members.html"; sourceTree = ""; }; + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_child_view.html; sourceTree = ""; }; + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_child_view.png; sourceTree = ""; }; + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_view-members.html"; sourceTree = ""; }; + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_view.html; sourceTree = ""; }; + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_view.png; sourceTree = ""; }; + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_edit-members.html"; sourceTree = ""; }; + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_edit.html; sourceTree = ""; }; + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_edit.png; sourceTree = ""; }; + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_label-members.html"; sourceTree = ""; }; + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_label.html; sourceTree = ""; }; + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_label.png; sourceTree = ""; }; + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_slider-members.html"; sourceTree = ""; }; + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_slider.html; sourceTree = ""; }; + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_slider.png; sourceTree = ""; }; + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_switch-members.html"; sourceTree = ""; }; + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_switch.html; sourceTree = ""; }; + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_switch.png; sourceTree = ""; }; + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view-members.html"; sourceTree = ""; }; + 24A200990F90D1DD003BB5A7 /* class_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view.html; sourceTree = ""; }; + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view.png; sourceTree = ""; }; + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view_container-members.html"; sourceTree = ""; }; + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view_container.html; sourceTree = ""; }; + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view_container.png; sourceTree = ""; }; + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vu_meter-members.html"; sourceTree = ""; }; + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vu_meter.html; sourceTree = ""; }; + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vu_meter.png; sourceTree = ""; }; + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_i_scrollbar_drawer-members.html"; sourceTree = ""; }; + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_i_scrollbar_drawer.html; sourceTree = ""; }; + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_plugin_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_plugin_g_u_i_editor.html; sourceTree = ""; }; + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8cpp.html; sourceTree = ""; }; + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8h.html; sourceTree = ""; }; + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8cpp.html; sourceTree = ""; }; + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8h.html; sourceTree = ""; }; + 24A200A90F90D1DD003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = deprecated.html; sourceTree = ""; }; + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = doc_8h.html; sourceTree = ""; }; + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A200AD0F90D1DD003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = files.html; sourceTree = ""; }; + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A200BA0F90D1DE003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions.html; sourceTree = ""; }; + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x62.html; sourceTree = ""; }; + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x63.html; sourceTree = ""; }; + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x64.html; sourceTree = ""; }; + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x65.html; sourceTree = ""; }; + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x66.html; sourceTree = ""; }; + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x67.html; sourceTree = ""; }; + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x68.html; sourceTree = ""; }; + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x69.html; sourceTree = ""; }; + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6b.html; sourceTree = ""; }; + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6c.html; sourceTree = ""; }; + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6d.html; sourceTree = ""; }; + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6e.html; sourceTree = ""; }; + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6f.html; sourceTree = ""; }; + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x70.html; sourceTree = ""; }; + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x72.html; sourceTree = ""; }; + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x73.html; sourceTree = ""; }; + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x74.html; sourceTree = ""; }; + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x75.html; sourceTree = ""; }; + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x76.html; sourceTree = ""; }; + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x77.html; sourceTree = ""; }; + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x78.html; sourceTree = ""; }; + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x79.html; sourceTree = ""; }; + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7a.html; sourceTree = ""; }; + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7e.html; sourceTree = ""; }; + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_eval.html; sourceTree = ""; }; + 24A200D40F90D1DE003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func.html; sourceTree = ""; }; + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x62.html; sourceTree = ""; }; + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x63.html; sourceTree = ""; }; + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x64.html; sourceTree = ""; }; + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x65.html; sourceTree = ""; }; + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x66.html; sourceTree = ""; }; + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x67.html; sourceTree = ""; }; + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x68.html; sourceTree = ""; }; + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x69.html; sourceTree = ""; }; + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6c.html; sourceTree = ""; }; + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6d.html; sourceTree = ""; }; + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6e.html; sourceTree = ""; }; + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6f.html; sourceTree = ""; }; + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x70.html; sourceTree = ""; }; + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x72.html; sourceTree = ""; }; + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x73.html; sourceTree = ""; }; + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x74.html; sourceTree = ""; }; + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x75.html; sourceTree = ""; }; + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x76.html; sourceTree = ""; }; + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x77.html; sourceTree = ""; }; + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x7e.html; sourceTree = ""; }; + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_rela.html; sourceTree = ""; }; + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars.html; sourceTree = ""; }; + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x62.html; sourceTree = ""; }; + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x63.html; sourceTree = ""; }; + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x64.html; sourceTree = ""; }; + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x65.html; sourceTree = ""; }; + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x66.html; sourceTree = ""; }; + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x67.html; sourceTree = ""; }; + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x68.html; sourceTree = ""; }; + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x69.html; sourceTree = ""; }; + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6b.html; sourceTree = ""; }; + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6c.html; sourceTree = ""; }; + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6d.html; sourceTree = ""; }; + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6e.html; sourceTree = ""; }; + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6f.html; sourceTree = ""; }; + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x70.html; sourceTree = ""; }; + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x72.html; sourceTree = ""; }; + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x73.html; sourceTree = ""; }; + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x74.html; sourceTree = ""; }; + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x75.html; sourceTree = ""; }; + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x76.html; sourceTree = ""; }; + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x77.html; sourceTree = ""; }; + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x78.html; sourceTree = ""; }; + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x79.html; sourceTree = ""; }; + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x7a.html; sourceTree = ""; }; + 24A201020F90D1DE003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals.html; sourceTree = ""; }; + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x61.html; sourceTree = ""; }; + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x62.html; sourceTree = ""; }; + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x63.html; sourceTree = ""; }; + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x65.html; sourceTree = ""; }; + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x66.html; sourceTree = ""; }; + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x67.html; sourceTree = ""; }; + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6b.html; sourceTree = ""; }; + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6d.html; sourceTree = ""; }; + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6e.html; sourceTree = ""; }; + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6f.html; sourceTree = ""; }; + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x71.html; sourceTree = ""; }; + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x72.html; sourceTree = ""; }; + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x73.html; sourceTree = ""; }; + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x74.html; sourceTree = ""; }; + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x75.html; sourceTree = ""; }; + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x76.html; sourceTree = ""; }; + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x77.html; sourceTree = ""; }; + 24A201140F90D1DE003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_defs.html; sourceTree = ""; }; + 24A201150F90D1DE003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_enum.html; sourceTree = ""; }; + 24A201160F90D1DE003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_eval.html; sourceTree = ""; }; + 24A201170F90D1DE003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_type.html; sourceTree = ""; }; + 24A201180F90D1DE003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_vars.html; sourceTree = ""; }; + 24A201190F90D1DE003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = hierarchy.html; sourceTree = ""; }; + 24A2011A0F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A2011B0F90D1DE003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = intro.html; sourceTree = ""; }; + 24A2011C0F90D1DE003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = license.html; sourceTree = ""; }; + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = maceditor.html; sourceTree = ""; }; + 24A2011E0F90D1DE003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = main.html; sourceTree = ""; }; + 24A2011F0F90D1DE003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = others.html; sourceTree = ""; }; + 24A201200F90D1DE003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = pages.html; sourceTree = ""; }; + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8cpp.html; sourceTree = ""; }; + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8h.html; sourceTree = ""; }; + 24A201230F90D1DE003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = sequences.html; sourceTree = ""; }; + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_color-members.html"; sourceTree = ""; }; + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_color.html; sourceTree = ""; }; + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_point-members.html"; sourceTree = ""; }; + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_point.html; sourceTree = ""; }; + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_rect-members.html"; sourceTree = ""; }; + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_rect.html; sourceTree = ""; }; + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_e_rect.html; sourceTree = ""; }; + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A201320F90D1DE003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A201330F90D1DE003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A201340F90D1DE003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A201350F90D1DE003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A201360F90D1DE003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = thanks.html; sourceTree = ""; }; + 24A201370F90D1DE003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = tree.html; sourceTree = ""; }; + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8cpp.html; sourceTree = ""; }; + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8h.html; sourceTree = ""; }; + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8cpp.html; sourceTree = ""; }; + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8h.html; sourceTree = ""; }; + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstkeycode_8h.html; sourceTree = ""; }; + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstoffline.html; sourceTree = ""; }; + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstparamstruct.html; sourceTree = ""; }; + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugscarbon_8h.html; sourceTree = ""; }; + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmac_8h.html; sourceTree = ""; }; + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmacho_8h.html; sourceTree = ""; }; + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsquartz_8h.html; sourceTree = ""; }; + 24A201430F90D1DE003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = whatsnew.html; sourceTree = ""; }; + 24A201440F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Migrating from 2.3.rtf"; sourceTree = ""; }; + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plugguieditor.cpp; sourceTree = ""; }; + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plugguieditor.h; sourceTree = ""; }; + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstcontrols.cpp; sourceTree = ""; }; + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstcontrols.h; sourceTree = ""; }; + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstgui.cpp; sourceTree = ""; }; + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstgui.h; sourceTree = ""; }; + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstkeycode.h; sourceTree = ""; }; + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugscarbon.h; sourceTree = ""; }; + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmac.h; sourceTree = ""; }; + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmacho.h; sourceTree = ""; }; + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsquartz.h; sourceTree = ""; }; + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */ = {isa = PBXFileReference; lastKnownFileType = file; path = Thumbs.db; sourceTree = ""; }; + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = VST_Logo_Usage_Guideline.pdf; sourceTree = ""; }; + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VSTLogoAlpha.png; sourceTree = ""; }; + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoBlack.jpg; sourceTree = ""; }; + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoWhite.jpg; sourceTree = ""; }; + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; path = VSTMonitor; sourceTree = ""; }; + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PkgInfo; sourceTree = ""; }; + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50000.bmp; sourceTree = ""; }; + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50001.bmp; sourceTree = ""; }; + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50002.bmp; sourceTree = ""; }; + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50003.bmp; sourceTree = ""; }; + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50004.bmp; sourceTree = ""; }; + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50005.bmp; sourceTree = ""; }; + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50006.bmp; sourceTree = ""; }; + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50007.bmp; sourceTree = ""; }; + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50008.bmp; sourceTree = ""; }; + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = VSTParamTool.app; sourceTree = ""; }; + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstmonitor.dll; sourceTree = ""; }; + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstparamtool.exe; sourceTree = ""; }; + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = folder.gif; sourceTree = ""; }; + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = mac.gif; sourceTree = ""; }; + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo_small.jpg; sourceTree = ""; }; + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = win.gif; sourceTree = ""; }; + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffect_8h.html; sourceTree = ""; }; + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffectx_8h.html; sourceTree = ""; }; + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffeditor_8h.html; sourceTree = ""; }; + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = annotated.html; sourceTree = ""; }; + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8cpp.html; sourceTree = ""; }; + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8h.html; sourceTree = ""; }; + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8cpp.html; sourceTree = ""; }; + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8h.html; sourceTree = ""; }; + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Blocksizechange.gif; sourceTree = ""; }; + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_a_eff_editor-members.html"; sourceTree = ""; }; + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_a_eff_editor.html; sourceTree = ""; }; + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect-members.html"; sourceTree = ""; }; + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect.html; sourceTree = ""; }; + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect.png; sourceTree = ""; }; + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect_x-members.html"; sourceTree = ""; }; + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect_x.html; sourceTree = ""; }; + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect_x.png; sourceTree = ""; }; + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = ControlChanged.gif; sourceTree = ""; }; + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = deprecated.html; sourceTree = ""; }; + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_2d3252dd12c84c66c1d25b26bb45a1f5.html; sourceTree = ""; }; + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_77c628dfee72e555f82d5ef53b733f38.html; sourceTree = ""; }; + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_f81105d3b854bea570aaf3bae5cb64c1.html; sourceTree = ""; }; + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_fa0454ab79b4262333bf837ea3d765e9.html; sourceTree = ""; }; + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dirs.html; sourceTree = ""; }; + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = doc_8h.html; sourceTree = ""; }; + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A2FEFA0F90D1DC003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = files.html; sourceTree = ""; }; + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A2FF070F90D1DC003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions.html; sourceTree = ""; }; + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x62.html; sourceTree = ""; }; + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x63.html; sourceTree = ""; }; + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x64.html; sourceTree = ""; }; + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x65.html; sourceTree = ""; }; + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x66.html; sourceTree = ""; }; + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x67.html; sourceTree = ""; }; + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x68.html; sourceTree = ""; }; + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x69.html; sourceTree = ""; }; + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6b.html; sourceTree = ""; }; + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6c.html; sourceTree = ""; }; + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6d.html; sourceTree = ""; }; + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6e.html; sourceTree = ""; }; + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6f.html; sourceTree = ""; }; + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x70.html; sourceTree = ""; }; + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x72.html; sourceTree = ""; }; + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x73.html; sourceTree = ""; }; + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x74.html; sourceTree = ""; }; + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x75.html; sourceTree = ""; }; + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x76.html; sourceTree = ""; }; + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x77.html; sourceTree = ""; }; + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x78.html; sourceTree = ""; }; + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x79.html; sourceTree = ""; }; + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x7e.html; sourceTree = ""; }; + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_func.html; sourceTree = ""; }; + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_vars.html; sourceTree = ""; }; + 24A2FF210F90D1DC003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals.html; sourceTree = ""; }; + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x62.html; sourceTree = ""; }; + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x63.html; sourceTree = ""; }; + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x64.html; sourceTree = ""; }; + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x65.html; sourceTree = ""; }; + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x66.html; sourceTree = ""; }; + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6b.html; sourceTree = ""; }; + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6d.html; sourceTree = ""; }; + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x74.html; sourceTree = ""; }; + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x76.html; sourceTree = ""; }; + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_defs.html; sourceTree = ""; }; + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_enum.html; sourceTree = ""; }; + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval.html; sourceTree = ""; }; + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x65.html; sourceTree = ""; }; + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6b.html; sourceTree = ""; }; + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6d.html; sourceTree = ""; }; + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x76.html; sourceTree = ""; }; + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_func.html; sourceTree = ""; }; + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_type.html; sourceTree = ""; }; + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_vars.html; sourceTree = ""; }; + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = hierarchy.html; sourceTree = ""; }; + 24A2FF360F90D1DC003BB5A7 /* history.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = history.html; sourceTree = ""; }; + 24A2FF370F90D1DC003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Initialisation.gif; sourceTree = ""; }; + 24A2FF390F90D1DC003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = intro.html; sourceTree = ""; }; + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = IOchange.gif; sourceTree = ""; }; + 24A2FF3B0F90D1DC003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = license.html; sourceTree = ""; }; + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = maceditor.html; sourceTree = ""; }; + 24A2FF3D0F90D1DC003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = main.html; sourceTree = ""; }; + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_host_can_dos.html; sourceTree = ""; }; + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_plug_can_dos.html; sourceTree = ""; }; + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers.html; sourceTree = ""; }; + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers_vars.html; sourceTree = ""; }; + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespaces.html; sourceTree = ""; }; + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Offlineprocessing.gif; sourceTree = ""; }; + 24A2FF440F90D1DC003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = others.html; sourceTree = ""; }; + 24A2FF450F90D1DC003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = pages.html; sourceTree = ""; }; + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Sampleratechange.gif; sourceTree = ""; }; + 24A2FF470F90D1DC003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sequences.html; sourceTree = ""; }; + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = SpeakerarrangementnegotiationforVSTfx.gif; sourceTree = ""; }; + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_a_effect-members.html"; sourceTree = ""; }; + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_a_effect.html; sourceTree = ""; }; + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_e_rect.html; sourceTree = ""; }; + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_key_name-members.html"; sourceTree = ""; }; + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_key_name.html; sourceTree = ""; }; + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_category-members.html"; sourceTree = ""; }; + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_category.html; sourceTree = ""; }; + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_name-members.html"; sourceTree = ""; }; + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_name.html; sourceTree = ""; }; + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file-members.html"; sourceTree = ""; }; + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file.html; sourceTree = ""; }; + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file_marker-members.html"; sourceTree = ""; }; + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file_marker.html; sourceTree = ""; }; + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_event-members.html"; sourceTree = ""; }; + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_event.html; sourceTree = ""; }; + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_events-members.html"; sourceTree = ""; }; + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_events.html; sourceTree = ""; }; + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_event-members.html"; sourceTree = ""; }; + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_event.html; sourceTree = ""; }; + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_sysex_event-members.html"; sourceTree = ""; }; + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_sysex_event.html; sourceTree = ""; }; + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_offline_task-members.html"; sourceTree = ""; }; + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_offline_task.html; sourceTree = ""; }; + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_parameter_properties-members.html"; sourceTree = ""; }; + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_parameter_properties.html; sourceTree = ""; }; + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_patch_chunk_info-members.html"; sourceTree = ""; }; + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_patch_chunk_info.html; sourceTree = ""; }; + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_pin_properties-members.html"; sourceTree = ""; }; + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_pin_properties.html; sourceTree = ""; }; + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_arrangement-members.html"; sourceTree = ""; }; + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_arrangement.html; sourceTree = ""; }; + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_properties-members.html"; sourceTree = ""; }; + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_properties.html; sourceTree = ""; }; + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_time_info-members.html"; sourceTree = ""; }; + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_time_info.html; sourceTree = ""; }; + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_variable_io-members.html"; sourceTree = ""; }; + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_variable_io.html; sourceTree = ""; }; + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_window-members.html"; sourceTree = ""; }; + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_window.html; sourceTree = ""; }; + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_bank-members.html"; sourceTree = ""; }; + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_bank.html; sourceTree = ""; }; + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_program-members.html"; sourceTree = ""; }; + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_program.html; sourceTree = ""; }; + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Termination.gif; sourceTree = ""; }; + 24A2FF800F90D1DD003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = thanks.html; sourceTree = ""; }; + 24A2FF810F90D1DD003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = tree.html; sourceTree = ""; }; + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOff.gif; sourceTree = ""; }; + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOn.gif; sourceTree = ""; }; + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstfxstore_8h.html; sourceTree = ""; }; + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstoffline.html; sourceTree = ""; }; + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstparamstruct.html; sourceTree = ""; }; + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo.jpg; sourceTree = ""; }; + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstplugmain_8cpp.html; sourceTree = ""; }; + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = whatsnew.html; sourceTree = ""; }; + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.menu.html; sourceTree = ""; }; + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.overview.html; sourceTree = ""; }; + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = sdkdoc.css; sourceTree = ""; }; + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "VST Licensing Agreement.rtf"; sourceTree = ""; }; + 24A2FF8E0F90D1DD003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelay.cpp; sourceTree = ""; }; + 24A2FF990F90D1DD003BB5A7 /* adelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adelay.h; sourceTree = ""; }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelaymain.cpp; sourceTree = ""; }; + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00128.bmp; sourceTree = ""; }; + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00129.bmp; sourceTree = ""; }; + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00130.bmp; sourceTree = ""; }; + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.rc; sourceTree = ""; }; + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sdeditor.cpp; sourceTree = ""; }; + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdeditor.h; sourceTree = ""; }; + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = surrounddelay.cpp; sourceTree = ""; }; + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = surrounddelay.h; sourceTree = ""; }; + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = again.cpp; sourceTree = ""; }; + 24A2FFAB0F90D1DD003BB5A7 /* again.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = again.h; sourceTree = ""; }; + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "minihost-Info.plist"; sourceTree = ""; }; + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "vst 2.4 examples.xcodeproj"; sourceTree = ""; }; + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = vst2.4Info.plist; sourceTree = ""; }; + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minieditor.cpp; sourceTree = ""; }; + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minihost.cpp; sourceTree = ""; }; + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.rc; sourceTree = ""; }; + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.vstxml; sourceTree = ""; }; + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gmnames.h; sourceTree = ""; }; + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynth.cpp; sourceTree = ""; }; + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstxsynth.h; sourceTree = ""; }; + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynthproc.cpp; sourceTree = ""; }; + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstplug.def; sourceTree = ""; }; + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = adelay.dsp; sourceTree = ""; }; + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = again.dsp; sourceTree = ""; }; + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = minihost.dsp; sourceTree = ""; }; + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.dsw; sourceTree = ""; }; + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.dsp; sourceTree = ""; }; + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.dsp; sourceTree = ""; }; + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.exports; path = audiounit.exp; sourceTree = ""; }; + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = "cw_vst_prefix.pch++"; sourceTree = ""; }; + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */ = {isa = PBXFileReference; lastKnownFileType = file; path = drawtest.cw9prj; sourceTree = ""; }; + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.plc; sourceTree = ""; }; + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcode; sourceTree = ""; }; + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcodeproj; sourceTree = ""; }; + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_au_prefix.h; sourceTree = ""; }; + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_vst_prefix.h; sourceTree = ""; }; + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = audiounit.r; sourceTree = ""; }; + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00001.png; sourceTree = ""; }; + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00100.png; sourceTree = ""; }; + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp01000.png; sourceTree = ""; }; + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10001.bmp; sourceTree = ""; }; + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10002.bmp; sourceTree = ""; }; + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10003.bmp; sourceTree = ""; }; + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10004.bmp; sourceTree = ""; }; + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10005.bmp; sourceTree = ""; }; + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10006.bmp; sourceTree = ""; }; + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10007.bmp; sourceTree = ""; }; + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10008.bmp; sourceTree = ""; }; + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10009.bmp; sourceTree = ""; }; + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10010.bmp; sourceTree = ""; }; + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10011.bmp; sourceTree = ""; }; + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10012.bmp; sourceTree = ""; }; + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10013.bmp; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClearCoatProc.cpp; path = source/ClearCoatProc.cpp; sourceTree = ""; }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 2434720A098313350063BBF1 /* QuickTime.framework */, + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 2407DEB6089929BA00EB68BF /* ClearCoat.cpp */, + 24D8286F09A914000093AEF8 /* ClearCoatProc.cpp */, + 245463B80991757100464AD3 /* ClearCoat.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* ClearCoat.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A200030F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */, + 24A200050F90D1DD003BB5A7 /* controlsgui.h */, + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */, + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */, + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */, + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */, + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */, + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */, + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */, + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */, + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */, + ); + name = source; + path = /vstsdk2.4/vstgui.sf/drawtest/source; + sourceTree = ""; + }; + 24A2000F0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A200100F90D1DD003BB5A7 /* drawtest.def */, + 24A200110F90D1DD003BB5A7 /* drawtest.rc */, + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */, + ); + name = win; + path = /vstsdk2.4/vstgui.sf/drawtest/win; + sourceTree = ""; + }; + 24A200130F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */, + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */, + ); + name = win.vc6; + path = /vstsdk2.4/vstgui.sf/drawtest/win.vc6; + sourceTree = ""; + }; + 24A200160F90D1DD003BB5A7 /* vstgui */ = { + isa = PBXGroup; + children = ( + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */, + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */, + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */, + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */, + 24A2001B0F90D1DD003BB5A7 /* Changelog */, + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */, + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */, + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */, + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */, + 24A200200F90D1DD003BB5A7 /* Documentation */, + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */, + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */, + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */, + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */, + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */, + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */, + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */, + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */, + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */, + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */, + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */, + ); + name = vstgui; + path = /vstsdk2.4/vstgui.sf/vstgui; + sourceTree = ""; + }; + 24A200200F90D1DD003BB5A7 /* Documentation */ = { + isa = PBXGroup; + children = ( + 24A200210F90D1DD003BB5A7 /* html */, + 24A201440F90D1DE003BB5A7 /* index.html */, + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */, + ); + name = Documentation; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation; + sourceTree = ""; + }; + 24A200210F90D1DD003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */, + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */, + 24A200240F90D1DD003BB5A7 /* annotated.html */, + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */, + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */, + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */, + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */, + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */, + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */, + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */, + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */, + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */, + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */, + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */, + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */, + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */, + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */, + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */, + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */, + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */, + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */, + 24A200370F90D1DD003BB5A7 /* class_c_control.html */, + 24A200380F90D1DD003BB5A7 /* class_c_control.png */, + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */, + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */, + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */, + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */, + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */, + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */, + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */, + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */, + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */, + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */, + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */, + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */, + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */, + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */, + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */, + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */, + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */, + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */, + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */, + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */, + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */, + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */, + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */, + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */, + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */, + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */, + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */, + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */, + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */, + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */, + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */, + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */, + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */, + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */, + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */, + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */, + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */, + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */, + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */, + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */, + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */, + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */, + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */, + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */, + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */, + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */, + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */, + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */, + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */, + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */, + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */, + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */, + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */, + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */, + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */, + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */, + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */, + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */, + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */, + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */, + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */, + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */, + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */, + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */, + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */, + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */, + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */, + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */, + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */, + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */, + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */, + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */, + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */, + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */, + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */, + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */, + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */, + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */, + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */, + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */, + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */, + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */, + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */, + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */, + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */, + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */, + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */, + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */, + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */, + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */, + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */, + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */, + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */, + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */, + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */, + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */, + 24A200990F90D1DD003BB5A7 /* class_c_view.html */, + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */, + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */, + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */, + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */, + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */, + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */, + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */, + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */, + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */, + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */, + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */, + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */, + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */, + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */, + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */, + 24A200A90F90D1DD003BB5A7 /* deprecated.html */, + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */, + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */, + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */, + 24A200AD0F90D1DD003BB5A7 /* files.html */, + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */, + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */, + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */, + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */, + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */, + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */, + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */, + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */, + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */, + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */, + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */, + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */, + 24A200BA0F90D1DE003BB5A7 /* functions.html */, + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */, + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */, + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */, + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */, + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */, + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */, + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */, + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */, + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */, + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */, + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */, + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */, + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */, + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */, + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */, + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */, + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */, + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */, + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */, + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */, + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */, + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */, + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */, + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */, + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */, + 24A200D40F90D1DE003BB5A7 /* functions_func.html */, + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */, + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */, + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */, + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */, + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */, + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */, + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */, + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */, + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */, + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */, + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */, + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */, + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */, + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */, + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */, + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */, + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */, + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */, + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */, + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */, + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */, + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */, + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */, + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */, + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */, + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */, + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */, + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */, + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */, + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */, + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */, + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */, + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */, + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */, + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */, + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */, + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */, + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */, + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */, + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */, + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */, + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */, + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */, + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */, + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */, + 24A201020F90D1DE003BB5A7 /* globals.html */, + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */, + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */, + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */, + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */, + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */, + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */, + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */, + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */, + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */, + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */, + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */, + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */, + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */, + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */, + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */, + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */, + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */, + 24A201140F90D1DE003BB5A7 /* globals_defs.html */, + 24A201150F90D1DE003BB5A7 /* globals_enum.html */, + 24A201160F90D1DE003BB5A7 /* globals_eval.html */, + 24A201170F90D1DE003BB5A7 /* globals_type.html */, + 24A201180F90D1DE003BB5A7 /* globals_vars.html */, + 24A201190F90D1DE003BB5A7 /* hierarchy.html */, + 24A2011A0F90D1DE003BB5A7 /* index.html */, + 24A2011B0F90D1DE003BB5A7 /* intro.html */, + 24A2011C0F90D1DE003BB5A7 /* license.html */, + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */, + 24A2011E0F90D1DE003BB5A7 /* main.html */, + 24A2011F0F90D1DE003BB5A7 /* others.html */, + 24A201200F90D1DE003BB5A7 /* pages.html */, + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */, + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */, + 24A201230F90D1DE003BB5A7 /* sequences.html */, + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */, + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */, + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */, + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */, + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */, + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */, + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */, + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */, + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */, + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */, + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */, + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */, + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */, + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */, + 24A201320F90D1DE003BB5A7 /* tab_b.gif */, + 24A201330F90D1DE003BB5A7 /* tab_l.gif */, + 24A201340F90D1DE003BB5A7 /* tab_r.gif */, + 24A201350F90D1DE003BB5A7 /* tabs.css */, + 24A201360F90D1DE003BB5A7 /* thanks.html */, + 24A201370F90D1DE003BB5A7 /* tree.html */, + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */, + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */, + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */, + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */, + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */, + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */, + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */, + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */, + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */, + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */, + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */, + 24A201430F90D1DE003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation/html; + sourceTree = ""; + }; + 24A203CE0F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203D70F90D272003BB5A7 /* again.vst */, + 24A203D90F90D272003BB5A7 /* adelay.vst */, + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */, + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */, + 24A203DF0F90D272003BB5A7 /* minihost.app */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E00F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203E50F90D272003BB5A7 /* drawtest.component */, + 24A203E70F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E80F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203ED0F90D272003BB5A7 /* drawtest.component */, + 24A203EF0F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 24A2FEBC0F90D1DC003BB5A7 /* artwork */, + 24A2FEC20F90D1DC003BB5A7 /* bin */, + 24A2FED80F90D1DC003BB5A7 /* doc */, + 24A2FF8E0F90D1DD003BB5A7 /* index.html */, + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */, + 24A2FF940F90D1DD003BB5A7 /* public.sdk */, + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */, + ); + name = vstsdk2.4; + path = /vstsdk2.4; + sourceTree = ""; + }; + 24A2FEBC0F90D1DC003BB5A7 /* artwork */ = { + isa = PBXGroup; + children = ( + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */, + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */, + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */, + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */, + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */, + ); + name = artwork; + path = /vstsdk2.4/artwork; + sourceTree = ""; + }; + 24A2FEC20F90D1DC003BB5A7 /* bin */ = { + isa = PBXGroup; + children = ( + 24A2FEC30F90D1DC003BB5A7 /* mac */, + 24A2FED50F90D1DC003BB5A7 /* win */, + ); + name = bin; + path = /vstsdk2.4/bin; + sourceTree = ""; + }; + 24A2FEC30F90D1DC003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */, + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */, + ); + name = mac; + path = /vstsdk2.4/bin/mac; + sourceTree = ""; + }; + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */ = { + isa = PBXGroup; + children = ( + 24A2FEC50F90D1DC003BB5A7 /* Contents */, + ); + name = VSTMonitor.vst; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst; + sourceTree = ""; + }; + 24A2FEC50F90D1DC003BB5A7 /* Contents */ = { + isa = PBXGroup; + children = ( + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */, + 24A2FEC70F90D1DC003BB5A7 /* MacOS */, + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */, + 24A2FECA0F90D1DC003BB5A7 /* Resources */, + ); + name = Contents; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents; + sourceTree = ""; + }; + 24A2FEC70F90D1DC003BB5A7 /* MacOS */ = { + isa = PBXGroup; + children = ( + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */, + ); + name = MacOS; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/MacOS; + sourceTree = ""; + }; + 24A2FECA0F90D1DC003BB5A7 /* Resources */ = { + isa = PBXGroup; + children = ( + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */, + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */, + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */, + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */, + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */, + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */, + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */, + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */, + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */, + ); + name = Resources; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/Resources; + sourceTree = ""; + }; + 24A2FED50F90D1DC003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */, + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */, + ); + name = win; + path = /vstsdk2.4/bin/win; + sourceTree = ""; + }; + 24A2FED80F90D1DC003BB5A7 /* doc */ = { + isa = PBXGroup; + children = ( + 24A2FED90F90D1DC003BB5A7 /* gfx */, + 24A2FEDE0F90D1DC003BB5A7 /* html */, + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */, + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */, + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */, + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */, + ); + name = doc; + path = /vstsdk2.4/doc; + sourceTree = ""; + }; + 24A2FED90F90D1DC003BB5A7 /* gfx */ = { + isa = PBXGroup; + children = ( + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */, + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */, + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */, + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */, + ); + name = gfx; + path = /vstsdk2.4/doc/gfx; + sourceTree = ""; + }; + 24A2FEDE0F90D1DC003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */, + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */, + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */, + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */, + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */, + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */, + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */, + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */, + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */, + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */, + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */, + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */, + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */, + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */, + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */, + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */, + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */, + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */, + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */, + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */, + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */, + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */, + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */, + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */, + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */, + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */, + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */, + 24A2FEFA0F90D1DC003BB5A7 /* files.html */, + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */, + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */, + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */, + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */, + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */, + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */, + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */, + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */, + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */, + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */, + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */, + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */, + 24A2FF070F90D1DC003BB5A7 /* functions.html */, + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */, + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */, + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */, + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */, + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */, + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */, + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */, + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */, + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */, + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */, + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */, + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */, + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */, + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */, + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */, + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */, + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */, + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */, + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */, + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */, + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */, + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */, + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */, + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */, + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */, + 24A2FF210F90D1DC003BB5A7 /* globals.html */, + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */, + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */, + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */, + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */, + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */, + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */, + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */, + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */, + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */, + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */, + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */, + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */, + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */, + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */, + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */, + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */, + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */, + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */, + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */, + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */, + 24A2FF360F90D1DC003BB5A7 /* history.html */, + 24A2FF370F90D1DC003BB5A7 /* index.html */, + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */, + 24A2FF390F90D1DC003BB5A7 /* intro.html */, + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */, + 24A2FF3B0F90D1DC003BB5A7 /* license.html */, + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */, + 24A2FF3D0F90D1DC003BB5A7 /* main.html */, + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */, + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */, + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */, + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */, + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */, + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */, + 24A2FF440F90D1DC003BB5A7 /* others.html */, + 24A2FF450F90D1DC003BB5A7 /* pages.html */, + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */, + 24A2FF470F90D1DC003BB5A7 /* sequences.html */, + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */, + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */, + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */, + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */, + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */, + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */, + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */, + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */, + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */, + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */, + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */, + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */, + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */, + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */, + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */, + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */, + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */, + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */, + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */, + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */, + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */, + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */, + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */, + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */, + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */, + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */, + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */, + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */, + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */, + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */, + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */, + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */, + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */, + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */, + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */, + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */, + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */, + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */, + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */, + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */, + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */, + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */, + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */, + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */, + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */, + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */, + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */, + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */, + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */, + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */, + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */, + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */, + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */, + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */, + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */, + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */, + 24A2FF800F90D1DD003BB5A7 /* thanks.html */, + 24A2FF810F90D1DD003BB5A7 /* tree.html */, + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */, + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */, + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */, + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */, + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */, + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */, + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */, + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/doc/html; + sourceTree = ""; + }; + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 24A2FF900F90D1DD003BB5A7 /* vst2.x */, + ); + name = pluginterfaces; + path = /vstsdk2.4/pluginterfaces; + sourceTree = ""; + }; + 24A2FF900F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */, + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */, + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */, + ); + name = vst2.x; + path = /vstsdk2.4/pluginterfaces/vst2.x; + sourceTree = ""; + }; + 24A2FF940F90D1DD003BB5A7 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 24A2FF950F90D1DD003BB5A7 /* samples */, + 24A2FFD60F90D1DD003BB5A7 /* source */, + ); + name = public.sdk; + path = /vstsdk2.4/public.sdk; + sourceTree = ""; + }; + 24A2FF950F90D1DD003BB5A7 /* samples */ = { + isa = PBXGroup; + children = ( + 24A2FF960F90D1DD003BB5A7 /* vst2.x */, + ); + name = samples; + path = /vstsdk2.4/public.sdk/samples; + sourceTree = ""; + }; + 24A2FF960F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF970F90D1DD003BB5A7 /* adelay */, + 24A2FFA80F90D1DD003BB5A7 /* again */, + 24A2FFAE0F90D1DD003BB5A7 /* mac */, + 24A2FFB40F90D1DD003BB5A7 /* minihost */, + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */, + 24A2FFC50F90D1DD003BB5A7 /* win */, + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */, + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/samples/vst2.x; + sourceTree = ""; + }; + 24A2FF970F90D1DD003BB5A7 /* adelay */ = { + isa = PBXGroup; + children = ( + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */, + 24A2FF990F90D1DD003BB5A7 /* adelay.h */, + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */, + 24A2FF9B0F90D1DD003BB5A7 /* editor */, + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */, + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */, + 24A2FFA50F90D1DD003BB5A7 /* win */, + ); + name = adelay; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay; + sourceTree = ""; + }; + 24A2FF9B0F90D1DD003BB5A7 /* editor */ = { + isa = PBXGroup; + children = ( + 24A2FF9C0F90D1DD003BB5A7 /* resources */, + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */, + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */, + ); + name = editor; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor; + sourceTree = ""; + }; + 24A2FF9C0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */, + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */, + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */, + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */, + ); + name = resources; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources; + sourceTree = ""; + }; + 24A2FFA50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/win; + sourceTree = ""; + }; + 24A2FFA80F90D1DD003BB5A7 /* again */ = { + isa = PBXGroup; + children = ( + 24A2FFA90F90D1DD003BB5A7 /* source */, + 24A2FFAC0F90D1DD003BB5A7 /* win */, + ); + name = again; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again; + sourceTree = ""; + }; + 24A2FFA90F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */, + 24A2FFAB0F90D1DD003BB5A7 /* again.h */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/source; + sourceTree = ""; + }; + 24A2FFAC0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/win; + sourceTree = ""; + }; + 24A2FFAE0F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */, + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */, + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */, + ); + name = mac; + path = /vstsdk2.4/public.sdk/samples/vst2.x/mac; + sourceTree = ""; + }; + 24A2FFB40F90D1DD003BB5A7 /* minihost */ = { + isa = PBXGroup; + children = ( + 24A2FFB50F90D1DD003BB5A7 /* source */, + 24A2FFB80F90D1DD003BB5A7 /* win */, + ); + name = minihost; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost; + sourceTree = ""; + }; + 24A2FFB50F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */, + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/source; + sourceTree = ""; + }; + 24A2FFB80F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/win; + sourceTree = ""; + }; + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */ = { + isa = PBXGroup; + children = ( + 24A2FFBB0F90D1DD003BB5A7 /* resource */, + 24A2FFBE0F90D1DD003BB5A7 /* source */, + 24A2FFC30F90D1DD003BB5A7 /* win */, + ); + name = vstxsynth; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth; + sourceTree = ""; + }; + 24A2FFBB0F90D1DD003BB5A7 /* resource */ = { + isa = PBXGroup; + children = ( + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */, + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */, + ); + name = resource; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource; + sourceTree = ""; + }; + 24A2FFBE0F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */, + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */, + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */, + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source; + sourceTree = ""; + }; + 24A2FFC30F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win; + sourceTree = ""; + }; + 24A2FFC50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */, + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win; + sourceTree = ""; + }; + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */ = { + isa = PBXGroup; + children = ( + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */, + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */, + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */, + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */, + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win.vc2003; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003; + sourceTree = ""; + }; + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */, + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */, + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */, + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */, + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */, + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */, + ); + name = win.vc6; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc6; + sourceTree = ""; + }; + 24A2FFD60F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */, + ); + name = source; + path = /vstsdk2.4/public.sdk/source; + sourceTree = ""; + }; + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */, + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */, + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */, + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */, + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */, + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/source/vst2.x; + sourceTree = ""; + }; + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */ = { + isa = PBXGroup; + children = ( + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */, + 24A200160F90D1DD003BB5A7 /* vstgui */, + ); + name = vstgui.sf; + path = /vstsdk2.4/vstgui.sf; + sourceTree = ""; + }; + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */ = { + isa = PBXGroup; + children = ( + 24A2FFE00F90D1DD003BB5A7 /* mac */, + 24A2FFEE0F90D1DD003BB5A7 /* resources */, + 24A200030F90D1DD003BB5A7 /* source */, + 24A2000F0F90D1DD003BB5A7 /* win */, + 24A200130F90D1DD003BB5A7 /* win.vc6 */, + ); + name = drawtest; + path = /vstsdk2.4/vstgui.sf/drawtest; + sourceTree = ""; + }; + 24A2FFE00F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */, + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */, + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */, + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */, + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */, + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */, + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */, + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */, + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */, + ); + name = mac; + path = /vstsdk2.4/vstgui.sf/drawtest/mac; + sourceTree = ""; + }; + 24A2FFEE0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */, + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */, + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */, + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */, + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */, + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */, + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */, + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */, + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */, + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */, + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */, + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */, + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */, + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */, + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */, + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */, + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */, + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */, + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */, + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */, + ); + name = resources; + path = /vstsdk2.4/vstgui.sf/drawtest/resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 245463B90991757100464AD3 /* ClearCoat.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */, + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */, + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */, + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */, + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */, + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */, + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */, + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */, + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */, + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */, + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */, + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */, + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */, + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */, + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */, + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */, + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */, + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */, + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */, + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */, + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */, + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */, + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */, + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */, + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */, + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */, + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */, + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */, + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */, + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */, + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */, + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* ClearCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "ClearCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ClearCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* ClearCoat.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "ClearCoat" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 24A203E00F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + }, + { + ProductGroup = 24A203E80F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + }, + { + ProductGroup = 24A203CE0F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* ClearCoat */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 24A203D70F90D272003BB5A7 /* again.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = again.vst; + remoteRef = 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203D90F90D272003BB5A7 /* adelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = adelay.vst; + remoteRef = 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = vstxsynth.vst; + remoteRef = 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = surrounddelay.vst; + remoteRef = 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DF0F90D272003BB5A7 /* minihost.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = minihost.app; + remoteRef = 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E50F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E70F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203ED0F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203EF0F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy PkgInfo"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2407DEB9089929BA00EB68BF /* ClearCoat.cpp in Sources */, + 24D8287009A914000093AEF8 /* ClearCoatProc.cpp in Sources */, + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */, + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */, + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Gain; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = ClearCoat; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "ClearCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "ClearCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..5c38f9460675438b0fec50998b84b4a658168d63 GIT binary patch literal 12075 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 literal 0 HcmV?d00001 diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..314de0ff8716f1de186bd9e12b891393458717e5 GIT binary patch literal 10373 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 Ee-@_#ZU6uP literal 0 HcmV?d00001 diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.mode1v3 b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.pbxuser b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/spiadmin.pbxuser @@ -0,0 +1,143 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */; + codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 829, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 789, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 345089498; + PBXWorkspaceStateSaveDate = 345089498; + }; + perUserProjectItems = { + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */; + }; + sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* Gain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}"; + sepNavSelRange = "{247, 0}"; + sepNavVisRange = "{0, 1657}"; + }; + }; + 245463B80991757100464AD3 /* Gain.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 975}}"; + sepNavSelRange = "{1552, 0}"; + sepNavVisRange = "{796, 1857}"; + sepNavWindowFrame = "{{15, 465}, {750, 558}}"; + }; + }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 488}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 798}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}"; + sepNavSelRange = "{10641, 0}"; + sepNavVisRange = "{10076, 1095}"; + }; + }; + 24D8286F09A914000093AEF8 /* GainProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 482}}"; + sepNavSelRange = "{239, 0}"; + sepNavVisRange = "{0, 950}"; + }; + }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 493}}"; + sepNavSelRange = "{249, 0}"; + sepNavVisRange = "{0, 249}"; + }; + }; + 8D01CCC60486CAD60068D4B7 /* Gain */ = { + activeExec = 0; + }; + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1657; + vrLoc = 0; + }; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1625; + vrLoc = 0; + }; + 91857D94148EF55400AAA11B /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 91857D95148EF55400AAA11B /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; +} diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme new file mode 100755 index 000000000..8ee693f95 --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..5bccbcb4f --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gain.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacVST/ClearCoat/ClearCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/ClearCoat/mac/Info.plist b/plugins/MacVST/ClearCoat/mac/Info.plist new file mode 100755 index 000000000..670161ee9 --- /dev/null +++ b/plugins/MacVST/ClearCoat/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + ClearCoat + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.ClearCoat + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacVST/ClearCoat/mac/PkgInfo b/plugins/MacVST/ClearCoat/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacVST/ClearCoat/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacVST/ClearCoat/mac/xcode_vst_prefix.h b/plugins/MacVST/ClearCoat/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacVST/ClearCoat/mac/xcode_vst_prefix.h @@ -0,0 +1,17 @@ +#define MAC 1 +#define MACX 1 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#include \ No newline at end of file diff --git a/plugins/MacVST/ClearCoat/source/ClearCoat.cpp b/plugins/MacVST/ClearCoat/source/ClearCoat.cpp new file mode 100755 index 000000000..a3aec775b --- /dev/null +++ b/plugins/MacVST/ClearCoat/source/ClearCoat.cpp @@ -0,0 +1,229 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#include "ClearCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ClearCoat(audioMaster);} + +ClearCoat::ClearCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 1.0; + + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevclearcoat = -1; + + 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 +} + +ClearCoat::~ClearCoat() {} +VstInt32 ClearCoat::getVendorVersion () {return 1000;} +void ClearCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void ClearCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), 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 ClearCoat::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 ClearCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool ClearCoat::getEffectName(char* name) { + vst_strncpy(name, "ClearCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory ClearCoat::getPlugCategory() {return kPlugCategEffect;} + +bool ClearCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows ClearCoat", kVstMaxProductStrLen); return true; +} + +bool ClearCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacVST/ClearCoat/source/ClearCoat.h b/plugins/MacVST/ClearCoat/source/ClearCoat.h new file mode 100755 index 000000000..7f7284a92 --- /dev/null +++ b/plugins/MacVST/ClearCoat/source/ClearCoat.h @@ -0,0 +1,202 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#define __ClearCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kNumParameters = 2 +}; // + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'clco'; //Change this to what the AU identity is! + +class ClearCoat : + public AudioEffectX +{ +public: + ClearCoat(audioMasterCallback audioMaster); + ~ClearCoat(); + 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; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevclearcoat; + + float A; + float B; +}; + +#endif diff --git a/plugins/MacVST/ClearCoat/source/ClearCoatProc.cpp b/plugins/MacVST/ClearCoat/source/ClearCoatProc.cpp new file mode 100755 index 000000000..b93707b53 --- /dev/null +++ b/plugins/MacVST/ClearCoat/source/ClearCoatProc.cpp @@ -0,0 +1,744 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#include "ClearCoat.h" +#endif + +void ClearCoat::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = (int)(A*16.999); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = B*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 ClearCoat::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = (int)(A*16.999); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = B*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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/MacVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..0fb712540 --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,108 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral */; + codeSenseManager = 8B02375F1D42B1C400E1E8C8 /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 364, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 324, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 719866335; + PBXWorkspaceStateSaveDate = 719866335; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* kCathedral.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 4284}}"; + sepNavSelRange = "{8622, 0}"; + sepNavVisRange = "{7863, 1407}"; + sepNavWindowFrame = "{{12, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* kCathedral.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {5907, 3600}}"; + sepNavSelRange = "{1459, 0}"; + sepNavVisRange = "{0, 1751}"; + sepNavWindowFrame = "{{20, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* kCathedralProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {885, 28404}}"; + sepNavSelRange = "{48837, 0}"; + sepNavVisRange = "{47756, 1660}"; + sepNavWindowFrame = "{{32, 42}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..da3096752 --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1503 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + AIODescriptionKey + DockingSystemVisible + + Extension + perspectivev3 + FavBarConfig + + PBXProjectModuleGUID + 8B02375D1D42B1C400E1E8C8 + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.defaultV3 + MajorVersion + 34 + MinorVersion + 0 + Name + All-In-One + Notifications + + + XCObserverAutoDisconnectKey + + XCObserverDefintionKey + + PBXStatusErrorsKey + 0 + + XCObserverFactoryKey + XCPerspectivesSpecificationIdentifier + XCObserverGUIDKey + XCObserverProjectIdentifier + XCObserverNotificationKey + PBXStatusBuildStateMessageNotification + XCObserverTargetKey + XCMainBuildResultsModuleGUID + XCObserverTriggerKey + awakenModuleWithObserver: + XCObserverValidationKey + + PBXStatusErrorsKey + 2 + + + + OpenEditors + + PerspectiveWidths + + 810 + 810 + + Perspectives + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.project + IsVertical + + Layout + + + BecomeActive + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CA23ED40692098700951B8B + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 185 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 6 + 4 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {185, 428}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 446}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + Gain.h + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 0}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + Proportion + 441pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 414}} + RubberWindowFrame + 34 365 810 487 0 0 1440 878 + + Module + XCDetailModule + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EE00692099D00951B8B + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXProjectFindModule + + + ContentConfiguration + + PBXCVSModuleFilterTypeKey + 1032 + PBXProjectModuleGUID + 1CA23EE10692099D00951B8B + PBXProjectModuleLabel + SCM Results + + GeometryConfiguration + + Frame + {{10, 31}, {603, 297}} + + Module + PBXCVSModule + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1023 + XCBuildResultsTrigger_Open + 1012 + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8B1FFBBC2AE850CC004C416B + 1CA23ED40692098700951B8B + 8B1FFBBD2AE850CC004C416B + 8B0237581D42B1C400E1E8C8 + 8B1FFBBE2AE850CC004C416B + 1CA23EDF0692099D00951B8B + 1CA23EE00692099D00951B8B + 1CA23EE10692099D00951B8B + XCMainBuildResultsModuleGUID + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ChosenToolbarItems + + XCToolbarPerspectiveControl + NSToolbarSeparatorItem + active-combo-popup + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + debugger-restart-executable + debugger-pause + debugger-step-over + debugger-step-into + debugger-step-out + NSToolbarFlexibleSpaceItem + servicesModulebreakpoints + debugger-show-console-window + + ControllerClassBaseName + PBXDebugSessionModule + IconName + DebugTabIcon + Identifier + perspective.debug + IsVertical + 1 + Layout + + + ContentConfiguration + + PBXProjectModuleGUID + 1CCC7628064C1048000F2A68 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {810, 0}} + + Module + PBXDebugCLIModule + Proportion + 0% + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {395, 213}} + {{395, 0}, {415, 213}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {810, 213}} + {{0, 213}, {810, 225}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1CCC7629064C1048000F2A68 + PBXProjectModuleLabel + Debug + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 7}, {810, 438}} + + Module + PBXDebugSessionModule + Proportion + 443pt + + + Name + Debug + ServiceClasses + + XCModuleDock + XCModuleDock + PBXDebugCLIModule + PBXDebugSessionModule + XCConsole + + TableOfContents + + 1CC8E6A5069209BD00BB180A + 1CC8E6A6069209BD00BB180A + 1CCC7628064C1048000F2A68 + 1CCC7629064C1048000F2A68 + 1CC8E6A7069209BD00BB180A + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec' + StatusbarIsVisible + + TimeStamp + 719868108.68260801 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8B1FFBBF2AE850CC004C416B + /Users/christopherjohnson/Desktop/kCathedral/kCathedral.xcodeproj + + WindowString + 34 365 810 487 0 0 1440 878 + WindowToolsV3 + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.build + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD052900623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {500, 215}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 218pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + + GeometryConfiguration + + Frame + {{0, 222}, {500, 236}} + RubberWindowFrame + 192 257 500 500 0 0 1280 1002 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 458pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAA5065D492600B07095 + 1C78EAA6065D492600B07095 + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowString + 192 257 500 500 0 0 1280 1002 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {700, 358}} + RubberWindowFrame + 149 87 700 400 0 0 1440 878 + + Module + PBXDebugCLIModule + Proportion + 358pt + + + Proportion + 358pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D5B069F1CE1000CFCEE + 1C530D5C069F1CE1000CFCEE + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 149 87 440 400 0 0 1440 878 + WindowToolGUID + 1C530D5B069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.09500122070312 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scmV3 + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 166pt + + + Proportion + 166pt + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.projectFormatConflicts + IsVertical + + Layout + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 8BCAE52E1D49920D0047D4BD + + GeometryConfiguration + + Frame + {{0, 0}, {472, 302}} + RubberWindowFrame + 569 378 472 322 0 0 1440 878 + + Module + XCProjectFormatConflictsModule + Proportion + 302pt + + + Proportion + 302pt + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + + TableOfContents + + 8BCAE52F1D49920D0047D4BD + 8BCAE5301D49920D0047D4BD + 8BCAE52E1D49920D0047D4BD + + WindowContentMinSize + 450 300 + WindowString + 569 378 472 322 0 0 1440 878 + WindowToolGUID + 8BCAE52F1D49920D0047D4BD + WindowToolIsVisible + + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {369, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {616, 353}} + MembersFrame + {{0, 105}, {369, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 94 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 597 125 616 374 0 0 1280 1002 + + Module + PBXClassBrowserModule + Proportion + 354pt + + + Proportion + 354pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C78EABA065D492600B07095 + 1C78EABB065D492600B07095 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 597 125 616 374 0 0 1280 1002 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.pbxproj b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.pbxproj new file mode 100755 index 000000000..0b3393018 --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.pbxproj @@ -0,0 +1,2201 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* kCathedral.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* kCathedral.cpp */; }; + 245463B90991757100464AD3 /* kCathedral.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* kCathedral.h */; }; + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF910F90D1DD003BB5A7 /* aeffect.h */; }; + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */; }; + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */; }; + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FF990F90D1DD003BB5A7 /* adelay.h */; }; + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */; }; + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */; }; + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFAB0F90D1DD003BB5A7 /* again.h */; }; + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */; }; + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */; }; + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */; }; + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */; }; + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */; }; + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */; }; + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */; }; + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */; }; + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200050F90D1DD003BB5A7 /* controlsgui.h */; }; + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */; }; + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */; }; + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */; }; + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */; }; + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */; }; + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */; }; + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */; }; + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2001F0F90D1DD003BB5A7 /* ctabview.h */; }; + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201470F90D1DE003BB5A7 /* plugguieditor.h */; }; + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201490F90D1DE003BB5A7 /* vstcontrols.h */; }; + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014B0F90D1DE003BB5A7 /* vstgui.h */; }; + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */; }; + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */; }; + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */; }; + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */; }; + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */ = {isa = PBXBuildFile; fileRef = 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */; }; + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */; }; + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */; }; + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* kCathedralProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* kCathedralProc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = again; + }; + 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476974093DAE42008998C4; + remoteInfo = adelay; + }; + 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52220929FBF500DDED7A; + remoteInfo = vstxsynth; + }; + 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4476A10093DCAF9008998C4; + remoteInfo = surrounddelay; + }; + 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4FF52F3092A312800DDED7A; + remoteInfo = minihost; + }; + 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; + 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 8D01CCD20486CAD60068D4B7; + remoteInfo = AudioUnit; + }; + 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = F4C9F1D407B2320800010DAD; + remoteInfo = VST; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + 2407DE920899296600EB68BF /* kCathedral.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* kCathedral.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral.cpp; path = source/kCathedral.cpp; sourceTree = ""; }; + 2434720A098313350063BBF1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + 245463B80991757100464AD3 /* kCathedral.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = kCathedral.h; path = source/kCathedral.h; sourceTree = ""; }; + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10014.bmp; sourceTree = ""; }; + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10015.bmp; sourceTree = ""; }; + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10016.bmp; sourceTree = ""; }; + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = controlsgui.cpp; sourceTree = ""; }; + 24A200050F90D1DD003BB5A7 /* controlsgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = controlsgui.h; sourceTree = ""; }; + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteditor.cpp; sourceTree = ""; }; + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteditor.h; sourceTree = ""; }; + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtesteffect.cpp; sourceTree = ""; }; + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtesteffect.h; sourceTree = ""; }; + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestmain.cpp; sourceTree = ""; }; + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pdrawtestview.cpp; sourceTree = ""; }; + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pdrawtestview.h; sourceTree = ""; }; + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pprimitivesviews.cpp; sourceTree = ""; }; + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pprimitivesviews.h; sourceTree = ""; }; + 24A200100F90D1DD003BB5A7 /* drawtest.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.def; sourceTree = ""; }; + 24A200110F90D1DD003BB5A7 /* drawtest.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.rc; sourceTree = ""; }; + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = drawtest.vcproj; sourceTree = ""; }; + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsp; sourceTree = ""; }; + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.dsw; sourceTree = ""; }; + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = aeffguieditor.cpp; sourceTree = ""; }; + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffguieditor.h; sourceTree = ""; }; + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cfileselector.cpp; sourceTree = ""; }; + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cfileselector.h; sourceTree = ""; }; + 24A2001B0F90D1DD003BB5A7 /* Changelog */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Changelog; sourceTree = ""; }; + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cscrollview.cpp; sourceTree = ""; }; + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cscrollview.h; sourceTree = ""; }; + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ctabview.cpp; sourceTree = ""; }; + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ctabview.h; sourceTree = ""; }; + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8cpp.html; sourceTree = ""; }; + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = aeffguieditor_8h.html; sourceTree = ""; }; + 24A200240F90D1DD003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = annotated.html; sourceTree = ""; }; + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8cpp.html; sourceTree = ""; }; + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cfileselector_8h.html; sourceTree = ""; }; + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_a_eff_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_a_eff_g_u_i_editor.html; sourceTree = ""; }; + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_anim_knob-members.html"; sourceTree = ""; }; + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_anim_knob.html; sourceTree = ""; }; + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_anim_knob.png; sourceTree = ""; }; + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_attribute_list_entry-members.html"; sourceTree = ""; }; + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_attribute_list_entry.html; sourceTree = ""; }; + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_auto_animation-members.html"; sourceTree = ""; }; + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_auto_animation.html; sourceTree = ""; }; + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_auto_animation.png; sourceTree = ""; }; + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_bitmap-members.html"; sourceTree = ""; }; + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_bitmap.html; sourceTree = ""; }; + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_bitmap.png; sourceTree = ""; }; + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_c_view-members.html"; sourceTree = ""; }; + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_c_view.html; sourceTree = ""; }; + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control-members.html"; sourceTree = ""; }; + 24A200370F90D1DD003BB5A7 /* class_c_control.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control.html; sourceTree = ""; }; + 24A200380F90D1DD003BB5A7 /* class_c_control.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control.png; sourceTree = ""; }; + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_control_listener-members.html"; sourceTree = ""; }; + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_control_listener.html; sourceTree = ""; }; + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_control_listener.png; sourceTree = ""; }; + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_drag_container-members.html"; sourceTree = ""; }; + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_drag_container.html; sourceTree = ""; }; + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_drag_container.png; sourceTree = ""; }; + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_draw_context-members.html"; sourceTree = ""; }; + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_draw_context.html; sourceTree = ""; }; + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_draw_context.png; sourceTree = ""; }; + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_file_selector-members.html"; sourceTree = ""; }; + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_file_selector.html; sourceTree = ""; }; + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_frame-members.html"; sourceTree = ""; }; + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_frame.html; sourceTree = ""; }; + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_frame.png; sourceTree = ""; }; + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_slider-members.html"; sourceTree = ""; }; + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_slider.html; sourceTree = ""; }; + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_slider.png; sourceTree = ""; }; + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_horizontal_switch-members.html"; sourceTree = ""; }; + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_horizontal_switch.html; sourceTree = ""; }; + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_horizontal_switch.png; sourceTree = ""; }; + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_kick_button-members.html"; sourceTree = ""; }; + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_kick_button.html; sourceTree = ""; }; + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_kick_button.png; sourceTree = ""; }; + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_knob-members.html"; sourceTree = ""; }; + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_knob.html; sourceTree = ""; }; + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_knob.png; sourceTree = ""; }; + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_bitmap-members.html"; sourceTree = ""; }; + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_bitmap.html; sourceTree = ""; }; + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_bitmap.png; sourceTree = ""; }; + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_movie_button-members.html"; sourceTree = ""; }; + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_movie_button.html; sourceTree = ""; }; + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_movie_button.png; sourceTree = ""; }; + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_offscreen_context-members.html"; sourceTree = ""; }; + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_offscreen_context.html; sourceTree = ""; }; + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_offscreen_context.png; sourceTree = ""; }; + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_on_off_button-members.html"; sourceTree = ""; }; + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_on_off_button.html; sourceTree = ""; }; + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_on_off_button.png; sourceTree = ""; }; + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu-members.html"; sourceTree = ""; }; + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu.html; sourceTree = ""; }; + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu.png; sourceTree = ""; }; + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_option_menu_scheme-members.html"; sourceTree = ""; }; + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_option_menu_scheme.html; sourceTree = ""; }; + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_option_menu_scheme.png; sourceTree = ""; }; + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_param_display-members.html"; sourceTree = ""; }; + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_param_display.html; sourceTree = ""; }; + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_param_display.png; sourceTree = ""; }; + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_reference_counter-members.html"; sourceTree = ""; }; + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_reference_counter.html; sourceTree = ""; }; + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_reference_counter.png; sourceTree = ""; }; + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_rocker_switch-members.html"; sourceTree = ""; }; + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_rocker_switch.html; sourceTree = ""; }; + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_rocker_switch.png; sourceTree = ""; }; + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_container-members.html"; sourceTree = ""; }; + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_container.html; sourceTree = ""; }; + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_container.png; sourceTree = ""; }; + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scroll_view-members.html"; sourceTree = ""; }; + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scroll_view.html; sourceTree = ""; }; + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scroll_view.png; sourceTree = ""; }; + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_scrollbar-members.html"; sourceTree = ""; }; + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_scrollbar.html; sourceTree = ""; }; + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_scrollbar.png; sourceTree = ""; }; + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_slider-members.html"; sourceTree = ""; }; + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_slider.html; sourceTree = ""; }; + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_slider.png; sourceTree = ""; }; + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_special_digit-members.html"; sourceTree = ""; }; + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_special_digit.html; sourceTree = ""; }; + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_special_digit.png; sourceTree = ""; }; + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen-members.html"; sourceTree = ""; }; + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen.html; sourceTree = ""; }; + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen.png; sourceTree = ""; }; + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_splash_screen_view-members.html"; sourceTree = ""; }; + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_splash_screen_view.html; sourceTree = ""; }; + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_splash_screen_view.png; sourceTree = ""; }; + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_button-members.html"; sourceTree = ""; }; + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_button.html; sourceTree = ""; }; + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_button.png; sourceTree = ""; }; + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_child_view-members.html"; sourceTree = ""; }; + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_child_view.html; sourceTree = ""; }; + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_child_view.png; sourceTree = ""; }; + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_tab_view-members.html"; sourceTree = ""; }; + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_tab_view.html; sourceTree = ""; }; + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_tab_view.png; sourceTree = ""; }; + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_edit-members.html"; sourceTree = ""; }; + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_edit.html; sourceTree = ""; }; + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_edit.png; sourceTree = ""; }; + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_text_label-members.html"; sourceTree = ""; }; + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_text_label.html; sourceTree = ""; }; + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_text_label.png; sourceTree = ""; }; + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_slider-members.html"; sourceTree = ""; }; + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_slider.html; sourceTree = ""; }; + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_slider.png; sourceTree = ""; }; + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vertical_switch-members.html"; sourceTree = ""; }; + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vertical_switch.html; sourceTree = ""; }; + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vertical_switch.png; sourceTree = ""; }; + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view-members.html"; sourceTree = ""; }; + 24A200990F90D1DD003BB5A7 /* class_c_view.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view.html; sourceTree = ""; }; + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view.png; sourceTree = ""; }; + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_view_container-members.html"; sourceTree = ""; }; + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_view_container.html; sourceTree = ""; }; + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_view_container.png; sourceTree = ""; }; + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_c_vu_meter-members.html"; sourceTree = ""; }; + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_c_vu_meter.html; sourceTree = ""; }; + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_c_vu_meter.png; sourceTree = ""; }; + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_i_scrollbar_drawer-members.html"; sourceTree = ""; }; + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_i_scrollbar_drawer.html; sourceTree = ""; }; + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "class_plugin_g_u_i_editor-members.html"; sourceTree = ""; }; + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = class_plugin_g_u_i_editor.html; sourceTree = ""; }; + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8cpp.html; sourceTree = ""; }; + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = cscrollview_8h.html; sourceTree = ""; }; + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8cpp.html; sourceTree = ""; }; + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = ctabview_8h.html; sourceTree = ""; }; + 24A200A90F90D1DD003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = deprecated.html; sourceTree = ""; }; + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = doc_8h.html; sourceTree = ""; }; + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A200AD0F90D1DD003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = files.html; sourceTree = ""; }; + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A200BA0F90D1DE003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions.html; sourceTree = ""; }; + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x62.html; sourceTree = ""; }; + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x63.html; sourceTree = ""; }; + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x64.html; sourceTree = ""; }; + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x65.html; sourceTree = ""; }; + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x66.html; sourceTree = ""; }; + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x67.html; sourceTree = ""; }; + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x68.html; sourceTree = ""; }; + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x69.html; sourceTree = ""; }; + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6b.html; sourceTree = ""; }; + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6c.html; sourceTree = ""; }; + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6d.html; sourceTree = ""; }; + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6e.html; sourceTree = ""; }; + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x6f.html; sourceTree = ""; }; + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x70.html; sourceTree = ""; }; + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x72.html; sourceTree = ""; }; + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x73.html; sourceTree = ""; }; + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x74.html; sourceTree = ""; }; + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x75.html; sourceTree = ""; }; + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x76.html; sourceTree = ""; }; + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x77.html; sourceTree = ""; }; + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x78.html; sourceTree = ""; }; + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x79.html; sourceTree = ""; }; + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7a.html; sourceTree = ""; }; + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_0x7e.html; sourceTree = ""; }; + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_eval.html; sourceTree = ""; }; + 24A200D40F90D1DE003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func.html; sourceTree = ""; }; + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x62.html; sourceTree = ""; }; + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x63.html; sourceTree = ""; }; + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x64.html; sourceTree = ""; }; + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x65.html; sourceTree = ""; }; + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x66.html; sourceTree = ""; }; + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x67.html; sourceTree = ""; }; + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x68.html; sourceTree = ""; }; + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x69.html; sourceTree = ""; }; + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6c.html; sourceTree = ""; }; + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6d.html; sourceTree = ""; }; + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6e.html; sourceTree = ""; }; + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x6f.html; sourceTree = ""; }; + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x70.html; sourceTree = ""; }; + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x72.html; sourceTree = ""; }; + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x73.html; sourceTree = ""; }; + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x74.html; sourceTree = ""; }; + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x75.html; sourceTree = ""; }; + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x76.html; sourceTree = ""; }; + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x77.html; sourceTree = ""; }; + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_func_0x7e.html; sourceTree = ""; }; + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_rela.html; sourceTree = ""; }; + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars.html; sourceTree = ""; }; + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x62.html; sourceTree = ""; }; + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x63.html; sourceTree = ""; }; + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x64.html; sourceTree = ""; }; + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x65.html; sourceTree = ""; }; + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x66.html; sourceTree = ""; }; + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x67.html; sourceTree = ""; }; + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x68.html; sourceTree = ""; }; + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x69.html; sourceTree = ""; }; + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6b.html; sourceTree = ""; }; + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6c.html; sourceTree = ""; }; + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6d.html; sourceTree = ""; }; + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6e.html; sourceTree = ""; }; + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x6f.html; sourceTree = ""; }; + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x70.html; sourceTree = ""; }; + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x72.html; sourceTree = ""; }; + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x73.html; sourceTree = ""; }; + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x74.html; sourceTree = ""; }; + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x75.html; sourceTree = ""; }; + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x76.html; sourceTree = ""; }; + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x77.html; sourceTree = ""; }; + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x78.html; sourceTree = ""; }; + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x79.html; sourceTree = ""; }; + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = functions_vars_0x7a.html; sourceTree = ""; }; + 24A201020F90D1DE003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals.html; sourceTree = ""; }; + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x61.html; sourceTree = ""; }; + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x62.html; sourceTree = ""; }; + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x63.html; sourceTree = ""; }; + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x65.html; sourceTree = ""; }; + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x66.html; sourceTree = ""; }; + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x67.html; sourceTree = ""; }; + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6b.html; sourceTree = ""; }; + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6d.html; sourceTree = ""; }; + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6e.html; sourceTree = ""; }; + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x6f.html; sourceTree = ""; }; + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x71.html; sourceTree = ""; }; + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x72.html; sourceTree = ""; }; + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x73.html; sourceTree = ""; }; + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x74.html; sourceTree = ""; }; + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x75.html; sourceTree = ""; }; + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x76.html; sourceTree = ""; }; + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_0x77.html; sourceTree = ""; }; + 24A201140F90D1DE003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_defs.html; sourceTree = ""; }; + 24A201150F90D1DE003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_enum.html; sourceTree = ""; }; + 24A201160F90D1DE003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_eval.html; sourceTree = ""; }; + 24A201170F90D1DE003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_type.html; sourceTree = ""; }; + 24A201180F90D1DE003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = globals_vars.html; sourceTree = ""; }; + 24A201190F90D1DE003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = hierarchy.html; sourceTree = ""; }; + 24A2011A0F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A2011B0F90D1DE003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = intro.html; sourceTree = ""; }; + 24A2011C0F90D1DE003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = license.html; sourceTree = ""; }; + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = maceditor.html; sourceTree = ""; }; + 24A2011E0F90D1DE003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = main.html; sourceTree = ""; }; + 24A2011F0F90D1DE003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = others.html; sourceTree = ""; }; + 24A201200F90D1DE003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = pages.html; sourceTree = ""; }; + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8cpp.html; sourceTree = ""; }; + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = plugguieditor_8h.html; sourceTree = ""; }; + 24A201230F90D1DE003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = sequences.html; sourceTree = ""; }; + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_color-members.html"; sourceTree = ""; }; + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_color.html; sourceTree = ""; }; + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_point-members.html"; sourceTree = ""; }; + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_point.html; sourceTree = ""; }; + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_c_rect-members.html"; sourceTree = ""; }; + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_c_rect.html; sourceTree = ""; }; + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_e_rect.html; sourceTree = ""; }; + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A201320F90D1DE003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A201330F90D1DE003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A201340F90D1DE003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A201350F90D1DE003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A201360F90D1DE003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = thanks.html; sourceTree = ""; }; + 24A201370F90D1DE003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = tree.html; sourceTree = ""; }; + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8cpp.html; sourceTree = ""; }; + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstcontrols_8h.html; sourceTree = ""; }; + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8cpp.html; sourceTree = ""; }; + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstgui_8h.html; sourceTree = ""; }; + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstkeycode_8h.html; sourceTree = ""; }; + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstoffline.html; sourceTree = ""; }; + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstparamstruct.html; sourceTree = ""; }; + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugscarbon_8h.html; sourceTree = ""; }; + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmac_8h.html; sourceTree = ""; }; + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsmacho_8h.html; sourceTree = ""; }; + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = vstplugsquartz_8h.html; sourceTree = ""; }; + 24A201430F90D1DE003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = whatsnew.html; sourceTree = ""; }; + 24A201440F90D1DE003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = ""; }; + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Migrating from 2.3.rtf"; sourceTree = ""; }; + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = plugguieditor.cpp; sourceTree = ""; }; + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plugguieditor.h; sourceTree = ""; }; + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstcontrols.cpp; sourceTree = ""; }; + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstcontrols.h; sourceTree = ""; }; + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstgui.cpp; sourceTree = ""; }; + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstgui.h; sourceTree = ""; }; + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstkeycode.h; sourceTree = ""; }; + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugscarbon.h; sourceTree = ""; }; + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmac.h; sourceTree = ""; }; + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsmacho.h; sourceTree = ""; }; + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstplugsquartz.h; sourceTree = ""; }; + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */ = {isa = PBXFileReference; lastKnownFileType = file; path = Thumbs.db; sourceTree = ""; }; + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = VST_Logo_Usage_Guideline.pdf; sourceTree = ""; }; + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = VSTLogoAlpha.png; sourceTree = ""; }; + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoBlack.jpg; sourceTree = ""; }; + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = VSTLogoWhite.jpg; sourceTree = ""; }; + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; path = VSTMonitor; sourceTree = ""; }; + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PkgInfo; sourceTree = ""; }; + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50000.bmp; sourceTree = ""; }; + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50001.bmp; sourceTree = ""; }; + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50002.bmp; sourceTree = ""; }; + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50003.bmp; sourceTree = ""; }; + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50004.bmp; sourceTree = ""; }; + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50005.bmp; sourceTree = ""; }; + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50006.bmp; sourceTree = ""; }; + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50007.bmp; sourceTree = ""; }; + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp50008.bmp; sourceTree = ""; }; + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = VSTParamTool.app; sourceTree = ""; }; + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstmonitor.dll; sourceTree = ""; }; + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */ = {isa = PBXFileReference; lastKnownFileType = file; path = vstparamtool.exe; sourceTree = ""; }; + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = folder.gif; sourceTree = ""; }; + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = mac.gif; sourceTree = ""; }; + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo_small.jpg; sourceTree = ""; }; + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = win.gif; sourceTree = ""; }; + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffect_8h.html; sourceTree = ""; }; + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffectx_8h.html; sourceTree = ""; }; + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = aeffeditor_8h.html; sourceTree = ""; }; + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = annotated.html; sourceTree = ""; }; + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8cpp.html; sourceTree = ""; }; + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffect_8h.html; sourceTree = ""; }; + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8cpp.html; sourceTree = ""; }; + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = audioeffectx_8h.html; sourceTree = ""; }; + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Blocksizechange.gif; sourceTree = ""; }; + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_a_eff_editor-members.html"; sourceTree = ""; }; + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_a_eff_editor.html; sourceTree = ""; }; + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect-members.html"; sourceTree = ""; }; + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect.html; sourceTree = ""; }; + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect.png; sourceTree = ""; }; + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "class_audio_effect_x-members.html"; sourceTree = ""; }; + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = class_audio_effect_x.html; sourceTree = ""; }; + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = class_audio_effect_x.png; sourceTree = ""; }; + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = ControlChanged.gif; sourceTree = ""; }; + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = deprecated.html; sourceTree = ""; }; + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_2d3252dd12c84c66c1d25b26bb45a1f5.html; sourceTree = ""; }; + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_77c628dfee72e555f82d5ef53b733f38.html; sourceTree = ""; }; + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_f81105d3b854bea570aaf3bae5cb64c1.html; sourceTree = ""; }; + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dir_fa0454ab79b4262333bf837ea3d765e9.html; sourceTree = ""; }; + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = dirs.html; sourceTree = ""; }; + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = doc_8h.html; sourceTree = ""; }; + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = doxygen.css; sourceTree = ""; }; + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = doxygen.png; sourceTree = ""; }; + 24A2FEFA0F90D1DC003BB5A7 /* files.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = files.html; sourceTree = ""; }; + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2blank.png; sourceTree = ""; }; + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2doc.png; sourceTree = ""; }; + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderclosed.png; sourceTree = ""; }; + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2folderopen.png; sourceTree = ""; }; + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2lastnode.png; sourceTree = ""; }; + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2link.png; sourceTree = ""; }; + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mlastnode.png; sourceTree = ""; }; + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2mnode.png; sourceTree = ""; }; + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2node.png; sourceTree = ""; }; + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2plastnode.png; sourceTree = ""; }; + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2pnode.png; sourceTree = ""; }; + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ftv2vertline.png; sourceTree = ""; }; + 24A2FF070F90D1DC003BB5A7 /* functions.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions.html; sourceTree = ""; }; + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x62.html; sourceTree = ""; }; + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x63.html; sourceTree = ""; }; + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x64.html; sourceTree = ""; }; + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x65.html; sourceTree = ""; }; + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x66.html; sourceTree = ""; }; + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x67.html; sourceTree = ""; }; + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x68.html; sourceTree = ""; }; + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x69.html; sourceTree = ""; }; + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6b.html; sourceTree = ""; }; + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6c.html; sourceTree = ""; }; + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6d.html; sourceTree = ""; }; + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6e.html; sourceTree = ""; }; + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x6f.html; sourceTree = ""; }; + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x70.html; sourceTree = ""; }; + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x72.html; sourceTree = ""; }; + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x73.html; sourceTree = ""; }; + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x74.html; sourceTree = ""; }; + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x75.html; sourceTree = ""; }; + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x76.html; sourceTree = ""; }; + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x77.html; sourceTree = ""; }; + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x78.html; sourceTree = ""; }; + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x79.html; sourceTree = ""; }; + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_0x7e.html; sourceTree = ""; }; + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_func.html; sourceTree = ""; }; + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = functions_vars.html; sourceTree = ""; }; + 24A2FF210F90D1DC003BB5A7 /* globals.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals.html; sourceTree = ""; }; + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x62.html; sourceTree = ""; }; + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x63.html; sourceTree = ""; }; + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x64.html; sourceTree = ""; }; + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x65.html; sourceTree = ""; }; + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x66.html; sourceTree = ""; }; + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6b.html; sourceTree = ""; }; + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x6d.html; sourceTree = ""; }; + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x74.html; sourceTree = ""; }; + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_0x76.html; sourceTree = ""; }; + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_defs.html; sourceTree = ""; }; + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_enum.html; sourceTree = ""; }; + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval.html; sourceTree = ""; }; + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x65.html; sourceTree = ""; }; + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6b.html; sourceTree = ""; }; + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x6d.html; sourceTree = ""; }; + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_eval_0x76.html; sourceTree = ""; }; + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_func.html; sourceTree = ""; }; + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_type.html; sourceTree = ""; }; + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = globals_vars.html; sourceTree = ""; }; + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = hierarchy.html; sourceTree = ""; }; + 24A2FF360F90D1DC003BB5A7 /* history.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = history.html; sourceTree = ""; }; + 24A2FF370F90D1DC003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Initialisation.gif; sourceTree = ""; }; + 24A2FF390F90D1DC003BB5A7 /* intro.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = intro.html; sourceTree = ""; }; + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = IOchange.gif; sourceTree = ""; }; + 24A2FF3B0F90D1DC003BB5A7 /* license.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = license.html; sourceTree = ""; }; + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = maceditor.html; sourceTree = ""; }; + 24A2FF3D0F90D1DC003BB5A7 /* main.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = main.html; sourceTree = ""; }; + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_host_can_dos.html; sourceTree = ""; }; + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespace_plug_can_dos.html; sourceTree = ""; }; + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers.html; sourceTree = ""; }; + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespacemembers_vars.html; sourceTree = ""; }; + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = namespaces.html; sourceTree = ""; }; + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Offlineprocessing.gif; sourceTree = ""; }; + 24A2FF440F90D1DC003BB5A7 /* others.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = others.html; sourceTree = ""; }; + 24A2FF450F90D1DC003BB5A7 /* pages.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = pages.html; sourceTree = ""; }; + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Sampleratechange.gif; sourceTree = ""; }; + 24A2FF470F90D1DC003BB5A7 /* sequences.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sequences.html; sourceTree = ""; }; + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = SpeakerarrangementnegotiationforVSTfx.gif; sourceTree = ""; }; + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_a_effect-members.html"; sourceTree = ""; }; + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_a_effect.html; sourceTree = ""; }; + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_e_rect-members.html"; sourceTree = ""; }; + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_e_rect.html; sourceTree = ""; }; + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_key_name-members.html"; sourceTree = ""; }; + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_key_name.html; sourceTree = ""; }; + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_category-members.html"; sourceTree = ""; }; + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_category.html; sourceTree = ""; }; + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_midi_program_name-members.html"; sourceTree = ""; }; + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_midi_program_name.html; sourceTree = ""; }; + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file-members.html"; sourceTree = ""; }; + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file.html; sourceTree = ""; }; + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_audio_file_marker-members.html"; sourceTree = ""; }; + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_audio_file_marker.html; sourceTree = ""; }; + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_event-members.html"; sourceTree = ""; }; + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_event.html; sourceTree = ""; }; + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_events-members.html"; sourceTree = ""; }; + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_events.html; sourceTree = ""; }; + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_select-members.html"; sourceTree = ""; }; + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_select.html; sourceTree = ""; }; + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_file_type-members.html"; sourceTree = ""; }; + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_file_type.html; sourceTree = ""; }; + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_key_code-members.html"; sourceTree = ""; }; + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_key_code.html; sourceTree = ""; }; + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_event-members.html"; sourceTree = ""; }; + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_event.html; sourceTree = ""; }; + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_midi_sysex_event-members.html"; sourceTree = ""; }; + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_midi_sysex_event.html; sourceTree = ""; }; + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_offline_task-members.html"; sourceTree = ""; }; + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_offline_task.html; sourceTree = ""; }; + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_parameter_properties-members.html"; sourceTree = ""; }; + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_parameter_properties.html; sourceTree = ""; }; + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_patch_chunk_info-members.html"; sourceTree = ""; }; + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_patch_chunk_info.html; sourceTree = ""; }; + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_pin_properties-members.html"; sourceTree = ""; }; + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_pin_properties.html; sourceTree = ""; }; + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_arrangement-members.html"; sourceTree = ""; }; + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_arrangement.html; sourceTree = ""; }; + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_speaker_properties-members.html"; sourceTree = ""; }; + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_speaker_properties.html; sourceTree = ""; }; + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_time_info-members.html"; sourceTree = ""; }; + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_time_info.html; sourceTree = ""; }; + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_variable_io-members.html"; sourceTree = ""; }; + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_variable_io.html; sourceTree = ""; }; + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "struct_vst_window-members.html"; sourceTree = ""; }; + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = struct_vst_window.html; sourceTree = ""; }; + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_bank-members.html"; sourceTree = ""; }; + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_bank.html; sourceTree = ""; }; + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "structfx_program-members.html"; sourceTree = ""; }; + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = structfx_program.html; sourceTree = ""; }; + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_b.gif; sourceTree = ""; }; + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_l.gif; sourceTree = ""; }; + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = tab_r.gif; sourceTree = ""; }; + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = tabs.css; sourceTree = ""; }; + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = Termination.gif; sourceTree = ""; }; + 24A2FF800F90D1DD003BB5A7 /* thanks.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = thanks.html; sourceTree = ""; }; + 24A2FF810F90D1DD003BB5A7 /* tree.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = tree.html; sourceTree = ""; }; + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOff.gif; sourceTree = ""; }; + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = TurnOn.gif; sourceTree = ""; }; + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstfxstore_8h.html; sourceTree = ""; }; + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstoffline.html; sourceTree = ""; }; + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstparamstruct.html; sourceTree = ""; }; + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = vstpluglogo.jpg; sourceTree = ""; }; + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = vstplugmain_8cpp.html; sourceTree = ""; }; + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = whatsnew.html; sourceTree = ""; }; + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.menu.html; sourceTree = ""; }; + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = sdk.overview.html; sourceTree = ""; }; + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.css; path = sdkdoc.css; sourceTree = ""; }; + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "VST Licensing Agreement.rtf"; sourceTree = ""; }; + 24A2FF8E0F90D1DD003BB5A7 /* index.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = index.html; sourceTree = ""; }; + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelay.cpp; sourceTree = ""; }; + 24A2FF990F90D1DD003BB5A7 /* adelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = adelay.h; sourceTree = ""; }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = adelaymain.cpp; sourceTree = ""; }; + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00128.bmp; sourceTree = ""; }; + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00129.bmp; sourceTree = ""; }; + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp00130.bmp; sourceTree = ""; }; + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.rc; sourceTree = ""; }; + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sdeditor.cpp; sourceTree = ""; }; + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdeditor.h; sourceTree = ""; }; + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = surrounddelay.cpp; sourceTree = ""; }; + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = surrounddelay.h; sourceTree = ""; }; + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = again.cpp; sourceTree = ""; }; + 24A2FFAB0F90D1DD003BB5A7 /* again.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = again.h; sourceTree = ""; }; + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "minihost-Info.plist"; sourceTree = ""; }; + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = "vst 2.4 examples.xcodeproj"; sourceTree = ""; }; + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = vst2.4Info.plist; sourceTree = ""; }; + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minieditor.cpp; sourceTree = ""; }; + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = minihost.cpp; sourceTree = ""; }; + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.rc; sourceTree = ""; }; + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.vstxml; sourceTree = ""; }; + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gmnames.h; sourceTree = ""; }; + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynth.cpp; sourceTree = ""; }; + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstxsynth.h; sourceTree = ""; }; + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstxsynthproc.cpp; sourceTree = ""; }; + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstplug.def; sourceTree = ""; }; + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = adelay.vcproj; sourceTree = ""; }; + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = again.vcproj; sourceTree = ""; }; + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = minihost.vcproj; sourceTree = ""; }; + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.sln; sourceTree = ""; }; + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = surrounddelay.vcproj; sourceTree = ""; }; + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = vstxsynth.vcproj; sourceTree = ""; }; + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = adelay.dsp; sourceTree = ""; }; + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = again.dsp; sourceTree = ""; }; + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = minihost.dsp; sourceTree = ""; }; + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = samples.dsw; sourceTree = ""; }; + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = surrounddelay.dsp; sourceTree = ""; }; + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vstxsynth.dsp; sourceTree = ""; }; + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffect.h; sourceTree = ""; }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.exports; path = audiounit.exp; sourceTree = ""; }; + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = "cw_vst_prefix.pch++"; sourceTree = ""; }; + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */ = {isa = PBXFileReference; lastKnownFileType = file; path = drawtest.cw9prj; sourceTree = ""; }; + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = drawtest.plc; sourceTree = ""; }; + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcode; sourceTree = ""; }; + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = drawtest.xcodeproj; sourceTree = ""; }; + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_au_prefix.h; sourceTree = ""; }; + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_vst_prefix.h; sourceTree = ""; }; + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = audiounit.r; sourceTree = ""; }; + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00001.png; sourceTree = ""; }; + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp00100.png; sourceTree = ""; }; + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bmp01000.png; sourceTree = ""; }; + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10001.bmp; sourceTree = ""; }; + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10002.bmp; sourceTree = ""; }; + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10003.bmp; sourceTree = ""; }; + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10004.bmp; sourceTree = ""; }; + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10005.bmp; sourceTree = ""; }; + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10006.bmp; sourceTree = ""; }; + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10007.bmp; sourceTree = ""; }; + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10008.bmp; sourceTree = ""; }; + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10009.bmp; sourceTree = ""; }; + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10010.bmp; sourceTree = ""; }; + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10011.bmp; sourceTree = ""; }; + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10012.bmp; sourceTree = ""; }; + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */ = {isa = PBXFileReference; lastKnownFileType = image.bmp; path = bmp10013.bmp; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* kCathedralProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedralProc.cpp; path = source/kCathedralProc.cpp; sourceTree = ""; }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = xcode_vst_prefix.h; path = mac/xcode_vst_prefix.h; sourceTree = SOURCE_ROOT; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXGroup section */ + 089C166AFE841209C02AAC07 /* FM-Chopper */ = { + isa = PBXGroup; + children = ( + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + 089C167CFE841241C02AAC07 /* Resources */, + 08FB77ADFE841716C02AAC07 /* Source */, + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */, + ); + name = "FM-Chopper"; + sourceTree = ""; + }; + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 2434720A098313350063BBF1 /* QuickTime.framework */, + 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = ""; + }; + 089C167CFE841241C02AAC07 /* Resources */ = { + isa = PBXGroup; + children = ( + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */, + 24CFB70307E7A0220081BD57 /* PkgInfo */, + 8D01CCD10486CAD60068D4B7 /* Info.plist */, + ); + name = Resources; + sourceTree = ""; + }; + 08FB77ADFE841716C02AAC07 /* Source */ = { + isa = PBXGroup; + children = ( + 2407DEB6089929BA00EB68BF /* kCathedral.cpp */, + 24D8286F09A914000093AEF8 /* kCathedralProc.cpp */, + 245463B80991757100464AD3 /* kCathedral.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* kCathedral.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A200030F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A200040F90D1DD003BB5A7 /* controlsgui.cpp */, + 24A200050F90D1DD003BB5A7 /* controlsgui.h */, + 24A200060F90D1DD003BB5A7 /* pdrawtesteditor.cpp */, + 24A200070F90D1DD003BB5A7 /* pdrawtesteditor.h */, + 24A200080F90D1DD003BB5A7 /* pdrawtesteffect.cpp */, + 24A200090F90D1DD003BB5A7 /* pdrawtesteffect.h */, + 24A2000A0F90D1DD003BB5A7 /* pdrawtestmain.cpp */, + 24A2000B0F90D1DD003BB5A7 /* pdrawtestview.cpp */, + 24A2000C0F90D1DD003BB5A7 /* pdrawtestview.h */, + 24A2000D0F90D1DD003BB5A7 /* pprimitivesviews.cpp */, + 24A2000E0F90D1DD003BB5A7 /* pprimitivesviews.h */, + ); + name = source; + path = /vstsdk2.4/vstgui.sf/drawtest/source; + sourceTree = ""; + }; + 24A2000F0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A200100F90D1DD003BB5A7 /* drawtest.def */, + 24A200110F90D1DD003BB5A7 /* drawtest.rc */, + 24A200120F90D1DD003BB5A7 /* drawtest.vcproj */, + ); + name = win; + path = /vstsdk2.4/vstgui.sf/drawtest/win; + sourceTree = ""; + }; + 24A200130F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A200140F90D1DD003BB5A7 /* drawtest.dsp */, + 24A200150F90D1DD003BB5A7 /* drawtest.dsw */, + ); + name = win.vc6; + path = /vstsdk2.4/vstgui.sf/drawtest/win.vc6; + sourceTree = ""; + }; + 24A200160F90D1DD003BB5A7 /* vstgui */ = { + isa = PBXGroup; + children = ( + 24A200170F90D1DD003BB5A7 /* aeffguieditor.cpp */, + 24A200180F90D1DD003BB5A7 /* aeffguieditor.h */, + 24A200190F90D1DD003BB5A7 /* cfileselector.cpp */, + 24A2001A0F90D1DD003BB5A7 /* cfileselector.h */, + 24A2001B0F90D1DD003BB5A7 /* Changelog */, + 24A2001C0F90D1DD003BB5A7 /* cscrollview.cpp */, + 24A2001D0F90D1DD003BB5A7 /* cscrollview.h */, + 24A2001E0F90D1DD003BB5A7 /* ctabview.cpp */, + 24A2001F0F90D1DD003BB5A7 /* ctabview.h */, + 24A200200F90D1DD003BB5A7 /* Documentation */, + 24A201460F90D1DE003BB5A7 /* plugguieditor.cpp */, + 24A201470F90D1DE003BB5A7 /* plugguieditor.h */, + 24A201480F90D1DE003BB5A7 /* vstcontrols.cpp */, + 24A201490F90D1DE003BB5A7 /* vstcontrols.h */, + 24A2014A0F90D1DE003BB5A7 /* vstgui.cpp */, + 24A2014B0F90D1DE003BB5A7 /* vstgui.h */, + 24A2014C0F90D1DE003BB5A7 /* vstkeycode.h */, + 24A2014D0F90D1DE003BB5A7 /* vstplugscarbon.h */, + 24A2014E0F90D1DE003BB5A7 /* vstplugsmac.h */, + 24A2014F0F90D1DE003BB5A7 /* vstplugsmacho.h */, + 24A201500F90D1DE003BB5A7 /* vstplugsquartz.h */, + ); + name = vstgui; + path = /vstsdk2.4/vstgui.sf/vstgui; + sourceTree = ""; + }; + 24A200200F90D1DD003BB5A7 /* Documentation */ = { + isa = PBXGroup; + children = ( + 24A200210F90D1DD003BB5A7 /* html */, + 24A201440F90D1DE003BB5A7 /* index.html */, + 24A201450F90D1DE003BB5A7 /* Migrating from 2.3.rtf */, + ); + name = Documentation; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation; + sourceTree = ""; + }; + 24A200210F90D1DD003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A200220F90D1DD003BB5A7 /* aeffguieditor_8cpp.html */, + 24A200230F90D1DD003BB5A7 /* aeffguieditor_8h.html */, + 24A200240F90D1DD003BB5A7 /* annotated.html */, + 24A200250F90D1DD003BB5A7 /* cfileselector_8cpp.html */, + 24A200260F90D1DD003BB5A7 /* cfileselector_8h.html */, + 24A200270F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor-members.html */, + 24A200280F90D1DD003BB5A7 /* class_a_eff_g_u_i_editor.html */, + 24A200290F90D1DD003BB5A7 /* class_c_anim_knob-members.html */, + 24A2002A0F90D1DD003BB5A7 /* class_c_anim_knob.html */, + 24A2002B0F90D1DD003BB5A7 /* class_c_anim_knob.png */, + 24A2002C0F90D1DD003BB5A7 /* class_c_attribute_list_entry-members.html */, + 24A2002D0F90D1DD003BB5A7 /* class_c_attribute_list_entry.html */, + 24A2002E0F90D1DD003BB5A7 /* class_c_auto_animation-members.html */, + 24A2002F0F90D1DD003BB5A7 /* class_c_auto_animation.html */, + 24A200300F90D1DD003BB5A7 /* class_c_auto_animation.png */, + 24A200310F90D1DD003BB5A7 /* class_c_bitmap-members.html */, + 24A200320F90D1DD003BB5A7 /* class_c_bitmap.html */, + 24A200330F90D1DD003BB5A7 /* class_c_bitmap.png */, + 24A200340F90D1DD003BB5A7 /* class_c_c_view-members.html */, + 24A200350F90D1DD003BB5A7 /* class_c_c_view.html */, + 24A200360F90D1DD003BB5A7 /* class_c_control-members.html */, + 24A200370F90D1DD003BB5A7 /* class_c_control.html */, + 24A200380F90D1DD003BB5A7 /* class_c_control.png */, + 24A200390F90D1DD003BB5A7 /* class_c_control_listener-members.html */, + 24A2003A0F90D1DD003BB5A7 /* class_c_control_listener.html */, + 24A2003B0F90D1DD003BB5A7 /* class_c_control_listener.png */, + 24A2003C0F90D1DD003BB5A7 /* class_c_drag_container-members.html */, + 24A2003D0F90D1DD003BB5A7 /* class_c_drag_container.html */, + 24A2003E0F90D1DD003BB5A7 /* class_c_drag_container.png */, + 24A2003F0F90D1DD003BB5A7 /* class_c_draw_context-members.html */, + 24A200400F90D1DD003BB5A7 /* class_c_draw_context.html */, + 24A200410F90D1DD003BB5A7 /* class_c_draw_context.png */, + 24A200420F90D1DD003BB5A7 /* class_c_file_selector-members.html */, + 24A200430F90D1DD003BB5A7 /* class_c_file_selector.html */, + 24A200440F90D1DD003BB5A7 /* class_c_frame-members.html */, + 24A200450F90D1DD003BB5A7 /* class_c_frame.html */, + 24A200460F90D1DD003BB5A7 /* class_c_frame.png */, + 24A200470F90D1DD003BB5A7 /* class_c_horizontal_slider-members.html */, + 24A200480F90D1DD003BB5A7 /* class_c_horizontal_slider.html */, + 24A200490F90D1DD003BB5A7 /* class_c_horizontal_slider.png */, + 24A2004A0F90D1DD003BB5A7 /* class_c_horizontal_switch-members.html */, + 24A2004B0F90D1DD003BB5A7 /* class_c_horizontal_switch.html */, + 24A2004C0F90D1DD003BB5A7 /* class_c_horizontal_switch.png */, + 24A2004D0F90D1DD003BB5A7 /* class_c_kick_button-members.html */, + 24A2004E0F90D1DD003BB5A7 /* class_c_kick_button.html */, + 24A2004F0F90D1DD003BB5A7 /* class_c_kick_button.png */, + 24A200500F90D1DD003BB5A7 /* class_c_knob-members.html */, + 24A200510F90D1DD003BB5A7 /* class_c_knob.html */, + 24A200520F90D1DD003BB5A7 /* class_c_knob.png */, + 24A200530F90D1DD003BB5A7 /* class_c_movie_bitmap-members.html */, + 24A200540F90D1DD003BB5A7 /* class_c_movie_bitmap.html */, + 24A200550F90D1DD003BB5A7 /* class_c_movie_bitmap.png */, + 24A200560F90D1DD003BB5A7 /* class_c_movie_button-members.html */, + 24A200570F90D1DD003BB5A7 /* class_c_movie_button.html */, + 24A200580F90D1DD003BB5A7 /* class_c_movie_button.png */, + 24A200590F90D1DD003BB5A7 /* class_c_offscreen_context-members.html */, + 24A2005A0F90D1DD003BB5A7 /* class_c_offscreen_context.html */, + 24A2005B0F90D1DD003BB5A7 /* class_c_offscreen_context.png */, + 24A2005C0F90D1DD003BB5A7 /* class_c_on_off_button-members.html */, + 24A2005D0F90D1DD003BB5A7 /* class_c_on_off_button.html */, + 24A2005E0F90D1DD003BB5A7 /* class_c_on_off_button.png */, + 24A2005F0F90D1DD003BB5A7 /* class_c_option_menu-members.html */, + 24A200600F90D1DD003BB5A7 /* class_c_option_menu.html */, + 24A200610F90D1DD003BB5A7 /* class_c_option_menu.png */, + 24A200620F90D1DD003BB5A7 /* class_c_option_menu_scheme-members.html */, + 24A200630F90D1DD003BB5A7 /* class_c_option_menu_scheme.html */, + 24A200640F90D1DD003BB5A7 /* class_c_option_menu_scheme.png */, + 24A200650F90D1DD003BB5A7 /* class_c_param_display-members.html */, + 24A200660F90D1DD003BB5A7 /* class_c_param_display.html */, + 24A200670F90D1DD003BB5A7 /* class_c_param_display.png */, + 24A200680F90D1DD003BB5A7 /* class_c_reference_counter-members.html */, + 24A200690F90D1DD003BB5A7 /* class_c_reference_counter.html */, + 24A2006A0F90D1DD003BB5A7 /* class_c_reference_counter.png */, + 24A2006B0F90D1DD003BB5A7 /* class_c_rocker_switch-members.html */, + 24A2006C0F90D1DD003BB5A7 /* class_c_rocker_switch.html */, + 24A2006D0F90D1DD003BB5A7 /* class_c_rocker_switch.png */, + 24A2006E0F90D1DD003BB5A7 /* class_c_scroll_container-members.html */, + 24A2006F0F90D1DD003BB5A7 /* class_c_scroll_container.html */, + 24A200700F90D1DD003BB5A7 /* class_c_scroll_container.png */, + 24A200710F90D1DD003BB5A7 /* class_c_scroll_view-members.html */, + 24A200720F90D1DD003BB5A7 /* class_c_scroll_view.html */, + 24A200730F90D1DD003BB5A7 /* class_c_scroll_view.png */, + 24A200740F90D1DD003BB5A7 /* class_c_scrollbar-members.html */, + 24A200750F90D1DD003BB5A7 /* class_c_scrollbar.html */, + 24A200760F90D1DD003BB5A7 /* class_c_scrollbar.png */, + 24A200770F90D1DD003BB5A7 /* class_c_slider-members.html */, + 24A200780F90D1DD003BB5A7 /* class_c_slider.html */, + 24A200790F90D1DD003BB5A7 /* class_c_slider.png */, + 24A2007A0F90D1DD003BB5A7 /* class_c_special_digit-members.html */, + 24A2007B0F90D1DD003BB5A7 /* class_c_special_digit.html */, + 24A2007C0F90D1DD003BB5A7 /* class_c_special_digit.png */, + 24A2007D0F90D1DD003BB5A7 /* class_c_splash_screen-members.html */, + 24A2007E0F90D1DD003BB5A7 /* class_c_splash_screen.html */, + 24A2007F0F90D1DD003BB5A7 /* class_c_splash_screen.png */, + 24A200800F90D1DD003BB5A7 /* class_c_splash_screen_view-members.html */, + 24A200810F90D1DD003BB5A7 /* class_c_splash_screen_view.html */, + 24A200820F90D1DD003BB5A7 /* class_c_splash_screen_view.png */, + 24A200830F90D1DD003BB5A7 /* class_c_tab_button-members.html */, + 24A200840F90D1DD003BB5A7 /* class_c_tab_button.html */, + 24A200850F90D1DD003BB5A7 /* class_c_tab_button.png */, + 24A200860F90D1DD003BB5A7 /* class_c_tab_child_view-members.html */, + 24A200870F90D1DD003BB5A7 /* class_c_tab_child_view.html */, + 24A200880F90D1DD003BB5A7 /* class_c_tab_child_view.png */, + 24A200890F90D1DD003BB5A7 /* class_c_tab_view-members.html */, + 24A2008A0F90D1DD003BB5A7 /* class_c_tab_view.html */, + 24A2008B0F90D1DD003BB5A7 /* class_c_tab_view.png */, + 24A2008C0F90D1DD003BB5A7 /* class_c_text_edit-members.html */, + 24A2008D0F90D1DD003BB5A7 /* class_c_text_edit.html */, + 24A2008E0F90D1DD003BB5A7 /* class_c_text_edit.png */, + 24A2008F0F90D1DD003BB5A7 /* class_c_text_label-members.html */, + 24A200900F90D1DD003BB5A7 /* class_c_text_label.html */, + 24A200910F90D1DD003BB5A7 /* class_c_text_label.png */, + 24A200920F90D1DD003BB5A7 /* class_c_vertical_slider-members.html */, + 24A200930F90D1DD003BB5A7 /* class_c_vertical_slider.html */, + 24A200940F90D1DD003BB5A7 /* class_c_vertical_slider.png */, + 24A200950F90D1DD003BB5A7 /* class_c_vertical_switch-members.html */, + 24A200960F90D1DD003BB5A7 /* class_c_vertical_switch.html */, + 24A200970F90D1DD003BB5A7 /* class_c_vertical_switch.png */, + 24A200980F90D1DD003BB5A7 /* class_c_view-members.html */, + 24A200990F90D1DD003BB5A7 /* class_c_view.html */, + 24A2009A0F90D1DD003BB5A7 /* class_c_view.png */, + 24A2009B0F90D1DD003BB5A7 /* class_c_view_container-members.html */, + 24A2009C0F90D1DD003BB5A7 /* class_c_view_container.html */, + 24A2009D0F90D1DD003BB5A7 /* class_c_view_container.png */, + 24A2009E0F90D1DD003BB5A7 /* class_c_vu_meter-members.html */, + 24A2009F0F90D1DD003BB5A7 /* class_c_vu_meter.html */, + 24A200A00F90D1DD003BB5A7 /* class_c_vu_meter.png */, + 24A200A10F90D1DD003BB5A7 /* class_i_scrollbar_drawer-members.html */, + 24A200A20F90D1DD003BB5A7 /* class_i_scrollbar_drawer.html */, + 24A200A30F90D1DD003BB5A7 /* class_plugin_g_u_i_editor-members.html */, + 24A200A40F90D1DD003BB5A7 /* class_plugin_g_u_i_editor.html */, + 24A200A50F90D1DD003BB5A7 /* cscrollview_8cpp.html */, + 24A200A60F90D1DD003BB5A7 /* cscrollview_8h.html */, + 24A200A70F90D1DD003BB5A7 /* ctabview_8cpp.html */, + 24A200A80F90D1DD003BB5A7 /* ctabview_8h.html */, + 24A200A90F90D1DD003BB5A7 /* deprecated.html */, + 24A200AA0F90D1DD003BB5A7 /* doc_8h.html */, + 24A200AB0F90D1DD003BB5A7 /* doxygen.css */, + 24A200AC0F90D1DD003BB5A7 /* doxygen.png */, + 24A200AD0F90D1DD003BB5A7 /* files.html */, + 24A200AE0F90D1DD003BB5A7 /* ftv2blank.png */, + 24A200AF0F90D1DD003BB5A7 /* ftv2doc.png */, + 24A200B00F90D1DD003BB5A7 /* ftv2folderclosed.png */, + 24A200B10F90D1DE003BB5A7 /* ftv2folderopen.png */, + 24A200B20F90D1DE003BB5A7 /* ftv2lastnode.png */, + 24A200B30F90D1DE003BB5A7 /* ftv2link.png */, + 24A200B40F90D1DE003BB5A7 /* ftv2mlastnode.png */, + 24A200B50F90D1DE003BB5A7 /* ftv2mnode.png */, + 24A200B60F90D1DE003BB5A7 /* ftv2node.png */, + 24A200B70F90D1DE003BB5A7 /* ftv2plastnode.png */, + 24A200B80F90D1DE003BB5A7 /* ftv2pnode.png */, + 24A200B90F90D1DE003BB5A7 /* ftv2vertline.png */, + 24A200BA0F90D1DE003BB5A7 /* functions.html */, + 24A200BB0F90D1DE003BB5A7 /* functions_0x62.html */, + 24A200BC0F90D1DE003BB5A7 /* functions_0x63.html */, + 24A200BD0F90D1DE003BB5A7 /* functions_0x64.html */, + 24A200BE0F90D1DE003BB5A7 /* functions_0x65.html */, + 24A200BF0F90D1DE003BB5A7 /* functions_0x66.html */, + 24A200C00F90D1DE003BB5A7 /* functions_0x67.html */, + 24A200C10F90D1DE003BB5A7 /* functions_0x68.html */, + 24A200C20F90D1DE003BB5A7 /* functions_0x69.html */, + 24A200C30F90D1DE003BB5A7 /* functions_0x6b.html */, + 24A200C40F90D1DE003BB5A7 /* functions_0x6c.html */, + 24A200C50F90D1DE003BB5A7 /* functions_0x6d.html */, + 24A200C60F90D1DE003BB5A7 /* functions_0x6e.html */, + 24A200C70F90D1DE003BB5A7 /* functions_0x6f.html */, + 24A200C80F90D1DE003BB5A7 /* functions_0x70.html */, + 24A200C90F90D1DE003BB5A7 /* functions_0x72.html */, + 24A200CA0F90D1DE003BB5A7 /* functions_0x73.html */, + 24A200CB0F90D1DE003BB5A7 /* functions_0x74.html */, + 24A200CC0F90D1DE003BB5A7 /* functions_0x75.html */, + 24A200CD0F90D1DE003BB5A7 /* functions_0x76.html */, + 24A200CE0F90D1DE003BB5A7 /* functions_0x77.html */, + 24A200CF0F90D1DE003BB5A7 /* functions_0x78.html */, + 24A200D00F90D1DE003BB5A7 /* functions_0x79.html */, + 24A200D10F90D1DE003BB5A7 /* functions_0x7a.html */, + 24A200D20F90D1DE003BB5A7 /* functions_0x7e.html */, + 24A200D30F90D1DE003BB5A7 /* functions_eval.html */, + 24A200D40F90D1DE003BB5A7 /* functions_func.html */, + 24A200D50F90D1DE003BB5A7 /* functions_func_0x62.html */, + 24A200D60F90D1DE003BB5A7 /* functions_func_0x63.html */, + 24A200D70F90D1DE003BB5A7 /* functions_func_0x64.html */, + 24A200D80F90D1DE003BB5A7 /* functions_func_0x65.html */, + 24A200D90F90D1DE003BB5A7 /* functions_func_0x66.html */, + 24A200DA0F90D1DE003BB5A7 /* functions_func_0x67.html */, + 24A200DB0F90D1DE003BB5A7 /* functions_func_0x68.html */, + 24A200DC0F90D1DE003BB5A7 /* functions_func_0x69.html */, + 24A200DD0F90D1DE003BB5A7 /* functions_func_0x6c.html */, + 24A200DE0F90D1DE003BB5A7 /* functions_func_0x6d.html */, + 24A200DF0F90D1DE003BB5A7 /* functions_func_0x6e.html */, + 24A200E00F90D1DE003BB5A7 /* functions_func_0x6f.html */, + 24A200E10F90D1DE003BB5A7 /* functions_func_0x70.html */, + 24A200E20F90D1DE003BB5A7 /* functions_func_0x72.html */, + 24A200E30F90D1DE003BB5A7 /* functions_func_0x73.html */, + 24A200E40F90D1DE003BB5A7 /* functions_func_0x74.html */, + 24A200E50F90D1DE003BB5A7 /* functions_func_0x75.html */, + 24A200E60F90D1DE003BB5A7 /* functions_func_0x76.html */, + 24A200E70F90D1DE003BB5A7 /* functions_func_0x77.html */, + 24A200E80F90D1DE003BB5A7 /* functions_func_0x7e.html */, + 24A200E90F90D1DE003BB5A7 /* functions_rela.html */, + 24A200EA0F90D1DE003BB5A7 /* functions_vars.html */, + 24A200EB0F90D1DE003BB5A7 /* functions_vars_0x62.html */, + 24A200EC0F90D1DE003BB5A7 /* functions_vars_0x63.html */, + 24A200ED0F90D1DE003BB5A7 /* functions_vars_0x64.html */, + 24A200EE0F90D1DE003BB5A7 /* functions_vars_0x65.html */, + 24A200EF0F90D1DE003BB5A7 /* functions_vars_0x66.html */, + 24A200F00F90D1DE003BB5A7 /* functions_vars_0x67.html */, + 24A200F10F90D1DE003BB5A7 /* functions_vars_0x68.html */, + 24A200F20F90D1DE003BB5A7 /* functions_vars_0x69.html */, + 24A200F30F90D1DE003BB5A7 /* functions_vars_0x6b.html */, + 24A200F40F90D1DE003BB5A7 /* functions_vars_0x6c.html */, + 24A200F50F90D1DE003BB5A7 /* functions_vars_0x6d.html */, + 24A200F60F90D1DE003BB5A7 /* functions_vars_0x6e.html */, + 24A200F70F90D1DE003BB5A7 /* functions_vars_0x6f.html */, + 24A200F80F90D1DE003BB5A7 /* functions_vars_0x70.html */, + 24A200F90F90D1DE003BB5A7 /* functions_vars_0x72.html */, + 24A200FA0F90D1DE003BB5A7 /* functions_vars_0x73.html */, + 24A200FB0F90D1DE003BB5A7 /* functions_vars_0x74.html */, + 24A200FC0F90D1DE003BB5A7 /* functions_vars_0x75.html */, + 24A200FD0F90D1DE003BB5A7 /* functions_vars_0x76.html */, + 24A200FE0F90D1DE003BB5A7 /* functions_vars_0x77.html */, + 24A200FF0F90D1DE003BB5A7 /* functions_vars_0x78.html */, + 24A201000F90D1DE003BB5A7 /* functions_vars_0x79.html */, + 24A201010F90D1DE003BB5A7 /* functions_vars_0x7a.html */, + 24A201020F90D1DE003BB5A7 /* globals.html */, + 24A201030F90D1DE003BB5A7 /* globals_0x61.html */, + 24A201040F90D1DE003BB5A7 /* globals_0x62.html */, + 24A201050F90D1DE003BB5A7 /* globals_0x63.html */, + 24A201060F90D1DE003BB5A7 /* globals_0x65.html */, + 24A201070F90D1DE003BB5A7 /* globals_0x66.html */, + 24A201080F90D1DE003BB5A7 /* globals_0x67.html */, + 24A201090F90D1DE003BB5A7 /* globals_0x6b.html */, + 24A2010A0F90D1DE003BB5A7 /* globals_0x6d.html */, + 24A2010B0F90D1DE003BB5A7 /* globals_0x6e.html */, + 24A2010C0F90D1DE003BB5A7 /* globals_0x6f.html */, + 24A2010D0F90D1DE003BB5A7 /* globals_0x71.html */, + 24A2010E0F90D1DE003BB5A7 /* globals_0x72.html */, + 24A2010F0F90D1DE003BB5A7 /* globals_0x73.html */, + 24A201100F90D1DE003BB5A7 /* globals_0x74.html */, + 24A201110F90D1DE003BB5A7 /* globals_0x75.html */, + 24A201120F90D1DE003BB5A7 /* globals_0x76.html */, + 24A201130F90D1DE003BB5A7 /* globals_0x77.html */, + 24A201140F90D1DE003BB5A7 /* globals_defs.html */, + 24A201150F90D1DE003BB5A7 /* globals_enum.html */, + 24A201160F90D1DE003BB5A7 /* globals_eval.html */, + 24A201170F90D1DE003BB5A7 /* globals_type.html */, + 24A201180F90D1DE003BB5A7 /* globals_vars.html */, + 24A201190F90D1DE003BB5A7 /* hierarchy.html */, + 24A2011A0F90D1DE003BB5A7 /* index.html */, + 24A2011B0F90D1DE003BB5A7 /* intro.html */, + 24A2011C0F90D1DE003BB5A7 /* license.html */, + 24A2011D0F90D1DE003BB5A7 /* maceditor.html */, + 24A2011E0F90D1DE003BB5A7 /* main.html */, + 24A2011F0F90D1DE003BB5A7 /* others.html */, + 24A201200F90D1DE003BB5A7 /* pages.html */, + 24A201210F90D1DE003BB5A7 /* plugguieditor_8cpp.html */, + 24A201220F90D1DE003BB5A7 /* plugguieditor_8h.html */, + 24A201230F90D1DE003BB5A7 /* sequences.html */, + 24A201240F90D1DE003BB5A7 /* struct_c_color-members.html */, + 24A201250F90D1DE003BB5A7 /* struct_c_color.html */, + 24A201260F90D1DE003BB5A7 /* struct_c_point-members.html */, + 24A201270F90D1DE003BB5A7 /* struct_c_point.html */, + 24A201280F90D1DE003BB5A7 /* struct_c_rect-members.html */, + 24A201290F90D1DE003BB5A7 /* struct_c_rect.html */, + 24A2012A0F90D1DE003BB5A7 /* struct_e_rect-members.html */, + 24A2012B0F90D1DE003BB5A7 /* struct_e_rect.html */, + 24A2012C0F90D1DE003BB5A7 /* struct_vst_file_select-members.html */, + 24A2012D0F90D1DE003BB5A7 /* struct_vst_file_select.html */, + 24A2012E0F90D1DE003BB5A7 /* struct_vst_file_type-members.html */, + 24A2012F0F90D1DE003BB5A7 /* struct_vst_file_type.html */, + 24A201300F90D1DE003BB5A7 /* struct_vst_key_code-members.html */, + 24A201310F90D1DE003BB5A7 /* struct_vst_key_code.html */, + 24A201320F90D1DE003BB5A7 /* tab_b.gif */, + 24A201330F90D1DE003BB5A7 /* tab_l.gif */, + 24A201340F90D1DE003BB5A7 /* tab_r.gif */, + 24A201350F90D1DE003BB5A7 /* tabs.css */, + 24A201360F90D1DE003BB5A7 /* thanks.html */, + 24A201370F90D1DE003BB5A7 /* tree.html */, + 24A201380F90D1DE003BB5A7 /* vstcontrols_8cpp.html */, + 24A201390F90D1DE003BB5A7 /* vstcontrols_8h.html */, + 24A2013A0F90D1DE003BB5A7 /* vstgui_8cpp.html */, + 24A2013B0F90D1DE003BB5A7 /* vstgui_8h.html */, + 24A2013C0F90D1DE003BB5A7 /* vstkeycode_8h.html */, + 24A2013D0F90D1DE003BB5A7 /* vstoffline.html */, + 24A2013E0F90D1DE003BB5A7 /* vstparamstruct.html */, + 24A2013F0F90D1DE003BB5A7 /* vstplugscarbon_8h.html */, + 24A201400F90D1DE003BB5A7 /* vstplugsmac_8h.html */, + 24A201410F90D1DE003BB5A7 /* vstplugsmacho_8h.html */, + 24A201420F90D1DE003BB5A7 /* vstplugsquartz_8h.html */, + 24A201430F90D1DE003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/vstgui.sf/vstgui/Documentation/html; + sourceTree = ""; + }; + 24A203CE0F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203D70F90D272003BB5A7 /* again.vst */, + 24A203D90F90D272003BB5A7 /* adelay.vst */, + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */, + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */, + 24A203DF0F90D272003BB5A7 /* minihost.app */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E00F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203E50F90D272003BB5A7 /* drawtest.component */, + 24A203E70F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A203E80F90D272003BB5A7 /* Products */ = { + isa = PBXGroup; + children = ( + 24A203ED0F90D272003BB5A7 /* drawtest.component */, + 24A203EF0F90D272003BB5A7 /* drawtest.vst */, + ); + name = Products; + sourceTree = ""; + }; + 24A2FEBB0F90D1DB003BB5A7 /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 24A2FEBC0F90D1DC003BB5A7 /* artwork */, + 24A2FEC20F90D1DC003BB5A7 /* bin */, + 24A2FED80F90D1DC003BB5A7 /* doc */, + 24A2FF8E0F90D1DD003BB5A7 /* index.html */, + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */, + 24A2FF940F90D1DD003BB5A7 /* public.sdk */, + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */, + ); + name = vstsdk2.4; + path = /vstsdk2.4; + sourceTree = ""; + }; + 24A2FEBC0F90D1DC003BB5A7 /* artwork */ = { + isa = PBXGroup; + children = ( + 24A2FEBD0F90D1DC003BB5A7 /* Thumbs.db */, + 24A2FEBE0F90D1DC003BB5A7 /* VST_Logo_Usage_Guideline.pdf */, + 24A2FEBF0F90D1DC003BB5A7 /* VSTLogoAlpha.png */, + 24A2FEC00F90D1DC003BB5A7 /* VSTLogoBlack.jpg */, + 24A2FEC10F90D1DC003BB5A7 /* VSTLogoWhite.jpg */, + ); + name = artwork; + path = /vstsdk2.4/artwork; + sourceTree = ""; + }; + 24A2FEC20F90D1DC003BB5A7 /* bin */ = { + isa = PBXGroup; + children = ( + 24A2FEC30F90D1DC003BB5A7 /* mac */, + 24A2FED50F90D1DC003BB5A7 /* win */, + ); + name = bin; + path = /vstsdk2.4/bin; + sourceTree = ""; + }; + 24A2FEC30F90D1DC003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */, + 24A2FED40F90D1DC003BB5A7 /* VSTParamTool.app */, + ); + name = mac; + path = /vstsdk2.4/bin/mac; + sourceTree = ""; + }; + 24A2FEC40F90D1DC003BB5A7 /* VSTMonitor.vst */ = { + isa = PBXGroup; + children = ( + 24A2FEC50F90D1DC003BB5A7 /* Contents */, + ); + name = VSTMonitor.vst; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst; + sourceTree = ""; + }; + 24A2FEC50F90D1DC003BB5A7 /* Contents */ = { + isa = PBXGroup; + children = ( + 24A2FEC60F90D1DC003BB5A7 /* Info.plist */, + 24A2FEC70F90D1DC003BB5A7 /* MacOS */, + 24A2FEC90F90D1DC003BB5A7 /* PkgInfo */, + 24A2FECA0F90D1DC003BB5A7 /* Resources */, + ); + name = Contents; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents; + sourceTree = ""; + }; + 24A2FEC70F90D1DC003BB5A7 /* MacOS */ = { + isa = PBXGroup; + children = ( + 24A2FEC80F90D1DC003BB5A7 /* VSTMonitor */, + ); + name = MacOS; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/MacOS; + sourceTree = ""; + }; + 24A2FECA0F90D1DC003BB5A7 /* Resources */ = { + isa = PBXGroup; + children = ( + 24A2FECB0F90D1DC003BB5A7 /* bmp50000.bmp */, + 24A2FECC0F90D1DC003BB5A7 /* bmp50001.bmp */, + 24A2FECD0F90D1DC003BB5A7 /* bmp50002.bmp */, + 24A2FECE0F90D1DC003BB5A7 /* bmp50003.bmp */, + 24A2FECF0F90D1DC003BB5A7 /* bmp50004.bmp */, + 24A2FED00F90D1DC003BB5A7 /* bmp50005.bmp */, + 24A2FED10F90D1DC003BB5A7 /* bmp50006.bmp */, + 24A2FED20F90D1DC003BB5A7 /* bmp50007.bmp */, + 24A2FED30F90D1DC003BB5A7 /* bmp50008.bmp */, + ); + name = Resources; + path = /vstsdk2.4/bin/mac/VSTMonitor.vst/Contents/Resources; + sourceTree = ""; + }; + 24A2FED50F90D1DC003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FED60F90D1DC003BB5A7 /* vstmonitor.dll */, + 24A2FED70F90D1DC003BB5A7 /* vstparamtool.exe */, + ); + name = win; + path = /vstsdk2.4/bin/win; + sourceTree = ""; + }; + 24A2FED80F90D1DC003BB5A7 /* doc */ = { + isa = PBXGroup; + children = ( + 24A2FED90F90D1DC003BB5A7 /* gfx */, + 24A2FEDE0F90D1DC003BB5A7 /* html */, + 24A2FF8A0F90D1DD003BB5A7 /* sdk.menu.html */, + 24A2FF8B0F90D1DD003BB5A7 /* sdk.overview.html */, + 24A2FF8C0F90D1DD003BB5A7 /* sdkdoc.css */, + 24A2FF8D0F90D1DD003BB5A7 /* VST Licensing Agreement.rtf */, + ); + name = doc; + path = /vstsdk2.4/doc; + sourceTree = ""; + }; + 24A2FED90F90D1DC003BB5A7 /* gfx */ = { + isa = PBXGroup; + children = ( + 24A2FEDA0F90D1DC003BB5A7 /* folder.gif */, + 24A2FEDB0F90D1DC003BB5A7 /* mac.gif */, + 24A2FEDC0F90D1DC003BB5A7 /* vstpluglogo_small.jpg */, + 24A2FEDD0F90D1DC003BB5A7 /* win.gif */, + ); + name = gfx; + path = /vstsdk2.4/doc/gfx; + sourceTree = ""; + }; + 24A2FEDE0F90D1DC003BB5A7 /* html */ = { + isa = PBXGroup; + children = ( + 24A2FEDF0F90D1DC003BB5A7 /* aeffect_8h.html */, + 24A2FEE00F90D1DC003BB5A7 /* aeffectx_8h.html */, + 24A2FEE10F90D1DC003BB5A7 /* aeffeditor_8h.html */, + 24A2FEE20F90D1DC003BB5A7 /* annotated.html */, + 24A2FEE30F90D1DC003BB5A7 /* audioeffect_8cpp.html */, + 24A2FEE40F90D1DC003BB5A7 /* audioeffect_8h.html */, + 24A2FEE50F90D1DC003BB5A7 /* audioeffectx_8cpp.html */, + 24A2FEE60F90D1DC003BB5A7 /* audioeffectx_8h.html */, + 24A2FEE70F90D1DC003BB5A7 /* Blocksizechange.gif */, + 24A2FEE80F90D1DC003BB5A7 /* class_a_eff_editor-members.html */, + 24A2FEE90F90D1DC003BB5A7 /* class_a_eff_editor.html */, + 24A2FEEA0F90D1DC003BB5A7 /* class_audio_effect-members.html */, + 24A2FEEB0F90D1DC003BB5A7 /* class_audio_effect.html */, + 24A2FEEC0F90D1DC003BB5A7 /* class_audio_effect.png */, + 24A2FEED0F90D1DC003BB5A7 /* class_audio_effect_x-members.html */, + 24A2FEEE0F90D1DC003BB5A7 /* class_audio_effect_x.html */, + 24A2FEEF0F90D1DC003BB5A7 /* class_audio_effect_x.png */, + 24A2FEF00F90D1DC003BB5A7 /* ControlChanged.gif */, + 24A2FEF10F90D1DC003BB5A7 /* deprecated.html */, + 24A2FEF20F90D1DC003BB5A7 /* dir_2d3252dd12c84c66c1d25b26bb45a1f5.html */, + 24A2FEF30F90D1DC003BB5A7 /* dir_77c628dfee72e555f82d5ef53b733f38.html */, + 24A2FEF40F90D1DC003BB5A7 /* dir_f81105d3b854bea570aaf3bae5cb64c1.html */, + 24A2FEF50F90D1DC003BB5A7 /* dir_fa0454ab79b4262333bf837ea3d765e9.html */, + 24A2FEF60F90D1DC003BB5A7 /* dirs.html */, + 24A2FEF70F90D1DC003BB5A7 /* doc_8h.html */, + 24A2FEF80F90D1DC003BB5A7 /* doxygen.css */, + 24A2FEF90F90D1DC003BB5A7 /* doxygen.png */, + 24A2FEFA0F90D1DC003BB5A7 /* files.html */, + 24A2FEFB0F90D1DC003BB5A7 /* ftv2blank.png */, + 24A2FEFC0F90D1DC003BB5A7 /* ftv2doc.png */, + 24A2FEFD0F90D1DC003BB5A7 /* ftv2folderclosed.png */, + 24A2FEFE0F90D1DC003BB5A7 /* ftv2folderopen.png */, + 24A2FEFF0F90D1DC003BB5A7 /* ftv2lastnode.png */, + 24A2FF000F90D1DC003BB5A7 /* ftv2link.png */, + 24A2FF010F90D1DC003BB5A7 /* ftv2mlastnode.png */, + 24A2FF020F90D1DC003BB5A7 /* ftv2mnode.png */, + 24A2FF030F90D1DC003BB5A7 /* ftv2node.png */, + 24A2FF040F90D1DC003BB5A7 /* ftv2plastnode.png */, + 24A2FF050F90D1DC003BB5A7 /* ftv2pnode.png */, + 24A2FF060F90D1DC003BB5A7 /* ftv2vertline.png */, + 24A2FF070F90D1DC003BB5A7 /* functions.html */, + 24A2FF080F90D1DC003BB5A7 /* functions_0x62.html */, + 24A2FF090F90D1DC003BB5A7 /* functions_0x63.html */, + 24A2FF0A0F90D1DC003BB5A7 /* functions_0x64.html */, + 24A2FF0B0F90D1DC003BB5A7 /* functions_0x65.html */, + 24A2FF0C0F90D1DC003BB5A7 /* functions_0x66.html */, + 24A2FF0D0F90D1DC003BB5A7 /* functions_0x67.html */, + 24A2FF0E0F90D1DC003BB5A7 /* functions_0x68.html */, + 24A2FF0F0F90D1DC003BB5A7 /* functions_0x69.html */, + 24A2FF100F90D1DC003BB5A7 /* functions_0x6b.html */, + 24A2FF110F90D1DC003BB5A7 /* functions_0x6c.html */, + 24A2FF120F90D1DC003BB5A7 /* functions_0x6d.html */, + 24A2FF130F90D1DC003BB5A7 /* functions_0x6e.html */, + 24A2FF140F90D1DC003BB5A7 /* functions_0x6f.html */, + 24A2FF150F90D1DC003BB5A7 /* functions_0x70.html */, + 24A2FF160F90D1DC003BB5A7 /* functions_0x72.html */, + 24A2FF170F90D1DC003BB5A7 /* functions_0x73.html */, + 24A2FF180F90D1DC003BB5A7 /* functions_0x74.html */, + 24A2FF190F90D1DC003BB5A7 /* functions_0x75.html */, + 24A2FF1A0F90D1DC003BB5A7 /* functions_0x76.html */, + 24A2FF1B0F90D1DC003BB5A7 /* functions_0x77.html */, + 24A2FF1C0F90D1DC003BB5A7 /* functions_0x78.html */, + 24A2FF1D0F90D1DC003BB5A7 /* functions_0x79.html */, + 24A2FF1E0F90D1DC003BB5A7 /* functions_0x7e.html */, + 24A2FF1F0F90D1DC003BB5A7 /* functions_func.html */, + 24A2FF200F90D1DC003BB5A7 /* functions_vars.html */, + 24A2FF210F90D1DC003BB5A7 /* globals.html */, + 24A2FF220F90D1DC003BB5A7 /* globals_0x62.html */, + 24A2FF230F90D1DC003BB5A7 /* globals_0x63.html */, + 24A2FF240F90D1DC003BB5A7 /* globals_0x64.html */, + 24A2FF250F90D1DC003BB5A7 /* globals_0x65.html */, + 24A2FF260F90D1DC003BB5A7 /* globals_0x66.html */, + 24A2FF270F90D1DC003BB5A7 /* globals_0x6b.html */, + 24A2FF280F90D1DC003BB5A7 /* globals_0x6d.html */, + 24A2FF290F90D1DC003BB5A7 /* globals_0x74.html */, + 24A2FF2A0F90D1DC003BB5A7 /* globals_0x76.html */, + 24A2FF2B0F90D1DC003BB5A7 /* globals_defs.html */, + 24A2FF2C0F90D1DC003BB5A7 /* globals_enum.html */, + 24A2FF2D0F90D1DC003BB5A7 /* globals_eval.html */, + 24A2FF2E0F90D1DC003BB5A7 /* globals_eval_0x65.html */, + 24A2FF2F0F90D1DC003BB5A7 /* globals_eval_0x6b.html */, + 24A2FF300F90D1DC003BB5A7 /* globals_eval_0x6d.html */, + 24A2FF310F90D1DC003BB5A7 /* globals_eval_0x76.html */, + 24A2FF320F90D1DC003BB5A7 /* globals_func.html */, + 24A2FF330F90D1DC003BB5A7 /* globals_type.html */, + 24A2FF340F90D1DC003BB5A7 /* globals_vars.html */, + 24A2FF350F90D1DC003BB5A7 /* hierarchy.html */, + 24A2FF360F90D1DC003BB5A7 /* history.html */, + 24A2FF370F90D1DC003BB5A7 /* index.html */, + 24A2FF380F90D1DC003BB5A7 /* Initialisation.gif */, + 24A2FF390F90D1DC003BB5A7 /* intro.html */, + 24A2FF3A0F90D1DC003BB5A7 /* IOchange.gif */, + 24A2FF3B0F90D1DC003BB5A7 /* license.html */, + 24A2FF3C0F90D1DC003BB5A7 /* maceditor.html */, + 24A2FF3D0F90D1DC003BB5A7 /* main.html */, + 24A2FF3E0F90D1DC003BB5A7 /* namespace_host_can_dos.html */, + 24A2FF3F0F90D1DC003BB5A7 /* namespace_plug_can_dos.html */, + 24A2FF400F90D1DC003BB5A7 /* namespacemembers.html */, + 24A2FF410F90D1DC003BB5A7 /* namespacemembers_vars.html */, + 24A2FF420F90D1DC003BB5A7 /* namespaces.html */, + 24A2FF430F90D1DC003BB5A7 /* Offlineprocessing.gif */, + 24A2FF440F90D1DC003BB5A7 /* others.html */, + 24A2FF450F90D1DC003BB5A7 /* pages.html */, + 24A2FF460F90D1DC003BB5A7 /* Sampleratechange.gif */, + 24A2FF470F90D1DC003BB5A7 /* sequences.html */, + 24A2FF480F90D1DC003BB5A7 /* SpeakerarrangementnegotiationforVSTfx.gif */, + 24A2FF490F90D1DC003BB5A7 /* struct_a_effect-members.html */, + 24A2FF4A0F90D1DC003BB5A7 /* struct_a_effect.html */, + 24A2FF4B0F90D1DC003BB5A7 /* struct_e_rect-members.html */, + 24A2FF4C0F90D1DC003BB5A7 /* struct_e_rect.html */, + 24A2FF4D0F90D1DC003BB5A7 /* struct_midi_key_name-members.html */, + 24A2FF4E0F90D1DC003BB5A7 /* struct_midi_key_name.html */, + 24A2FF4F0F90D1DC003BB5A7 /* struct_midi_program_category-members.html */, + 24A2FF500F90D1DC003BB5A7 /* struct_midi_program_category.html */, + 24A2FF510F90D1DC003BB5A7 /* struct_midi_program_name-members.html */, + 24A2FF520F90D1DC003BB5A7 /* struct_midi_program_name.html */, + 24A2FF530F90D1DC003BB5A7 /* struct_vst_audio_file-members.html */, + 24A2FF540F90D1DC003BB5A7 /* struct_vst_audio_file.html */, + 24A2FF550F90D1DC003BB5A7 /* struct_vst_audio_file_marker-members.html */, + 24A2FF560F90D1DC003BB5A7 /* struct_vst_audio_file_marker.html */, + 24A2FF570F90D1DC003BB5A7 /* struct_vst_event-members.html */, + 24A2FF580F90D1DC003BB5A7 /* struct_vst_event.html */, + 24A2FF590F90D1DD003BB5A7 /* struct_vst_events-members.html */, + 24A2FF5A0F90D1DD003BB5A7 /* struct_vst_events.html */, + 24A2FF5B0F90D1DD003BB5A7 /* struct_vst_file_select-members.html */, + 24A2FF5C0F90D1DD003BB5A7 /* struct_vst_file_select.html */, + 24A2FF5D0F90D1DD003BB5A7 /* struct_vst_file_type-members.html */, + 24A2FF5E0F90D1DD003BB5A7 /* struct_vst_file_type.html */, + 24A2FF5F0F90D1DD003BB5A7 /* struct_vst_key_code-members.html */, + 24A2FF600F90D1DD003BB5A7 /* struct_vst_key_code.html */, + 24A2FF610F90D1DD003BB5A7 /* struct_vst_midi_event-members.html */, + 24A2FF620F90D1DD003BB5A7 /* struct_vst_midi_event.html */, + 24A2FF630F90D1DD003BB5A7 /* struct_vst_midi_sysex_event-members.html */, + 24A2FF640F90D1DD003BB5A7 /* struct_vst_midi_sysex_event.html */, + 24A2FF650F90D1DD003BB5A7 /* struct_vst_offline_task-members.html */, + 24A2FF660F90D1DD003BB5A7 /* struct_vst_offline_task.html */, + 24A2FF670F90D1DD003BB5A7 /* struct_vst_parameter_properties-members.html */, + 24A2FF680F90D1DD003BB5A7 /* struct_vst_parameter_properties.html */, + 24A2FF690F90D1DD003BB5A7 /* struct_vst_patch_chunk_info-members.html */, + 24A2FF6A0F90D1DD003BB5A7 /* struct_vst_patch_chunk_info.html */, + 24A2FF6B0F90D1DD003BB5A7 /* struct_vst_pin_properties-members.html */, + 24A2FF6C0F90D1DD003BB5A7 /* struct_vst_pin_properties.html */, + 24A2FF6D0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement-members.html */, + 24A2FF6E0F90D1DD003BB5A7 /* struct_vst_speaker_arrangement.html */, + 24A2FF6F0F90D1DD003BB5A7 /* struct_vst_speaker_properties-members.html */, + 24A2FF700F90D1DD003BB5A7 /* struct_vst_speaker_properties.html */, + 24A2FF710F90D1DD003BB5A7 /* struct_vst_time_info-members.html */, + 24A2FF720F90D1DD003BB5A7 /* struct_vst_time_info.html */, + 24A2FF730F90D1DD003BB5A7 /* struct_vst_variable_io-members.html */, + 24A2FF740F90D1DD003BB5A7 /* struct_vst_variable_io.html */, + 24A2FF750F90D1DD003BB5A7 /* struct_vst_window-members.html */, + 24A2FF760F90D1DD003BB5A7 /* struct_vst_window.html */, + 24A2FF770F90D1DD003BB5A7 /* structfx_bank-members.html */, + 24A2FF780F90D1DD003BB5A7 /* structfx_bank.html */, + 24A2FF790F90D1DD003BB5A7 /* structfx_program-members.html */, + 24A2FF7A0F90D1DD003BB5A7 /* structfx_program.html */, + 24A2FF7B0F90D1DD003BB5A7 /* tab_b.gif */, + 24A2FF7C0F90D1DD003BB5A7 /* tab_l.gif */, + 24A2FF7D0F90D1DD003BB5A7 /* tab_r.gif */, + 24A2FF7E0F90D1DD003BB5A7 /* tabs.css */, + 24A2FF7F0F90D1DD003BB5A7 /* Termination.gif */, + 24A2FF800F90D1DD003BB5A7 /* thanks.html */, + 24A2FF810F90D1DD003BB5A7 /* tree.html */, + 24A2FF820F90D1DD003BB5A7 /* TurnOff.gif */, + 24A2FF830F90D1DD003BB5A7 /* TurnOn.gif */, + 24A2FF840F90D1DD003BB5A7 /* vstfxstore_8h.html */, + 24A2FF850F90D1DD003BB5A7 /* vstoffline.html */, + 24A2FF860F90D1DD003BB5A7 /* vstparamstruct.html */, + 24A2FF870F90D1DD003BB5A7 /* vstpluglogo.jpg */, + 24A2FF880F90D1DD003BB5A7 /* vstplugmain_8cpp.html */, + 24A2FF890F90D1DD003BB5A7 /* whatsnew.html */, + ); + name = html; + path = /vstsdk2.4/doc/html; + sourceTree = ""; + }; + 24A2FF8F0F90D1DD003BB5A7 /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 24A2FF900F90D1DD003BB5A7 /* vst2.x */, + ); + name = pluginterfaces; + path = /vstsdk2.4/pluginterfaces; + sourceTree = ""; + }; + 24A2FF900F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF910F90D1DD003BB5A7 /* aeffect.h */, + 24A2FF920F90D1DD003BB5A7 /* aeffectx.h */, + 24A2FF930F90D1DD003BB5A7 /* vstfxstore.h */, + ); + name = vst2.x; + path = /vstsdk2.4/pluginterfaces/vst2.x; + sourceTree = ""; + }; + 24A2FF940F90D1DD003BB5A7 /* public.sdk */ = { + isa = PBXGroup; + children = ( + 24A2FF950F90D1DD003BB5A7 /* samples */, + 24A2FFD60F90D1DD003BB5A7 /* source */, + ); + name = public.sdk; + path = /vstsdk2.4/public.sdk; + sourceTree = ""; + }; + 24A2FF950F90D1DD003BB5A7 /* samples */ = { + isa = PBXGroup; + children = ( + 24A2FF960F90D1DD003BB5A7 /* vst2.x */, + ); + name = samples; + path = /vstsdk2.4/public.sdk/samples; + sourceTree = ""; + }; + 24A2FF960F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FF970F90D1DD003BB5A7 /* adelay */, + 24A2FFA80F90D1DD003BB5A7 /* again */, + 24A2FFAE0F90D1DD003BB5A7 /* mac */, + 24A2FFB40F90D1DD003BB5A7 /* minihost */, + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */, + 24A2FFC50F90D1DD003BB5A7 /* win */, + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */, + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/samples/vst2.x; + sourceTree = ""; + }; + 24A2FF970F90D1DD003BB5A7 /* adelay */ = { + isa = PBXGroup; + children = ( + 24A2FF980F90D1DD003BB5A7 /* adelay.cpp */, + 24A2FF990F90D1DD003BB5A7 /* adelay.h */, + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */, + 24A2FF9B0F90D1DD003BB5A7 /* editor */, + 24A2FFA30F90D1DD003BB5A7 /* surrounddelay.cpp */, + 24A2FFA40F90D1DD003BB5A7 /* surrounddelay.h */, + 24A2FFA50F90D1DD003BB5A7 /* win */, + ); + name = adelay; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay; + sourceTree = ""; + }; + 24A2FF9B0F90D1DD003BB5A7 /* editor */ = { + isa = PBXGroup; + children = ( + 24A2FF9C0F90D1DD003BB5A7 /* resources */, + 24A2FFA10F90D1DD003BB5A7 /* sdeditor.cpp */, + 24A2FFA20F90D1DD003BB5A7 /* sdeditor.h */, + ); + name = editor; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor; + sourceTree = ""; + }; + 24A2FF9C0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FF9D0F90D1DD003BB5A7 /* bmp00128.bmp */, + 24A2FF9E0F90D1DD003BB5A7 /* bmp00129.bmp */, + 24A2FF9F0F90D1DD003BB5A7 /* bmp00130.bmp */, + 24A2FFA00F90D1DD003BB5A7 /* surrounddelay.rc */, + ); + name = resources; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/editor/resources; + sourceTree = ""; + }; + 24A2FFA50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFA60F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFA70F90D1DD003BB5A7 /* surrounddelay.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/adelay/win; + sourceTree = ""; + }; + 24A2FFA80F90D1DD003BB5A7 /* again */ = { + isa = PBXGroup; + children = ( + 24A2FFA90F90D1DD003BB5A7 /* source */, + 24A2FFAC0F90D1DD003BB5A7 /* win */, + ); + name = again; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again; + sourceTree = ""; + }; + 24A2FFA90F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFAA0F90D1DD003BB5A7 /* again.cpp */, + 24A2FFAB0F90D1DD003BB5A7 /* again.h */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/source; + sourceTree = ""; + }; + 24A2FFAC0F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFAD0F90D1DD003BB5A7 /* again.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/again/win; + sourceTree = ""; + }; + 24A2FFAE0F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFAF0F90D1DD003BB5A7 /* minihost-Info.plist */, + 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */, + 24A2FFB30F90D1DD003BB5A7 /* vst2.4Info.plist */, + ); + name = mac; + path = /vstsdk2.4/public.sdk/samples/vst2.x/mac; + sourceTree = ""; + }; + 24A2FFB40F90D1DD003BB5A7 /* minihost */ = { + isa = PBXGroup; + children = ( + 24A2FFB50F90D1DD003BB5A7 /* source */, + 24A2FFB80F90D1DD003BB5A7 /* win */, + ); + name = minihost; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost; + sourceTree = ""; + }; + 24A2FFB50F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFB60F90D1DD003BB5A7 /* minieditor.cpp */, + 24A2FFB70F90D1DD003BB5A7 /* minihost.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/source; + sourceTree = ""; + }; + 24A2FFB80F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFB90F90D1DD003BB5A7 /* minihost.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/minihost/win; + sourceTree = ""; + }; + 24A2FFBA0F90D1DD003BB5A7 /* vstxsynth */ = { + isa = PBXGroup; + children = ( + 24A2FFBB0F90D1DD003BB5A7 /* resource */, + 24A2FFBE0F90D1DD003BB5A7 /* source */, + 24A2FFC30F90D1DD003BB5A7 /* win */, + ); + name = vstxsynth; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth; + sourceTree = ""; + }; + 24A2FFBB0F90D1DD003BB5A7 /* resource */ = { + isa = PBXGroup; + children = ( + 24A2FFBC0F90D1DD003BB5A7 /* vstxsynth.rc */, + 24A2FFBD0F90D1DD003BB5A7 /* vstxsynth.vstxml */, + ); + name = resource; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/resource; + sourceTree = ""; + }; + 24A2FFBE0F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFBF0F90D1DD003BB5A7 /* gmnames.h */, + 24A2FFC00F90D1DD003BB5A7 /* vstxsynth.cpp */, + 24A2FFC10F90D1DD003BB5A7 /* vstxsynth.h */, + 24A2FFC20F90D1DD003BB5A7 /* vstxsynthproc.cpp */, + ); + name = source; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/source; + sourceTree = ""; + }; + 24A2FFC30F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC40F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/vstxsynth/win; + sourceTree = ""; + }; + 24A2FFC50F90D1DD003BB5A7 /* win */ = { + isa = PBXGroup; + children = ( + 24A2FFC60F90D1DD003BB5A7 /* samples.sln */, + 24A2FFC70F90D1DD003BB5A7 /* vstplug.def */, + ); + name = win; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win; + sourceTree = ""; + }; + 24A2FFC80F90D1DD003BB5A7 /* win.vc2003 */ = { + isa = PBXGroup; + children = ( + 24A2FFC90F90D1DD003BB5A7 /* adelay.vcproj */, + 24A2FFCA0F90D1DD003BB5A7 /* again.vcproj */, + 24A2FFCB0F90D1DD003BB5A7 /* minihost.vcproj */, + 24A2FFCC0F90D1DD003BB5A7 /* samples.sln */, + 24A2FFCD0F90D1DD003BB5A7 /* surrounddelay.vcproj */, + 24A2FFCE0F90D1DD003BB5A7 /* vstxsynth.vcproj */, + ); + name = win.vc2003; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc2003; + sourceTree = ""; + }; + 24A2FFCF0F90D1DD003BB5A7 /* win.vc6 */ = { + isa = PBXGroup; + children = ( + 24A2FFD00F90D1DD003BB5A7 /* adelay.dsp */, + 24A2FFD10F90D1DD003BB5A7 /* again.dsp */, + 24A2FFD20F90D1DD003BB5A7 /* minihost.dsp */, + 24A2FFD30F90D1DD003BB5A7 /* samples.dsw */, + 24A2FFD40F90D1DD003BB5A7 /* surrounddelay.dsp */, + 24A2FFD50F90D1DD003BB5A7 /* vstxsynth.dsp */, + ); + name = win.vc6; + path = /vstsdk2.4/public.sdk/samples/vst2.x/win.vc6; + sourceTree = ""; + }; + 24A2FFD60F90D1DD003BB5A7 /* source */ = { + isa = PBXGroup; + children = ( + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */, + ); + name = source; + path = /vstsdk2.4/public.sdk/source; + sourceTree = ""; + }; + 24A2FFD70F90D1DD003BB5A7 /* vst2.x */ = { + isa = PBXGroup; + children = ( + 24A2FFD80F90D1DD003BB5A7 /* aeffeditor.h */, + 24A2FFD90F90D1DD003BB5A7 /* audioeffect.cpp */, + 24A2FFDA0F90D1DD003BB5A7 /* audioeffect.h */, + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */, + 24A2FFDC0F90D1DD003BB5A7 /* audioeffectx.h */, + 24A2FFDD0F90D1DD003BB5A7 /* vstplugmain.cpp */, + ); + name = vst2.x; + path = /vstsdk2.4/public.sdk/source/vst2.x; + sourceTree = ""; + }; + 24A2FFDE0F90D1DD003BB5A7 /* vstgui.sf */ = { + isa = PBXGroup; + children = ( + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */, + 24A200160F90D1DD003BB5A7 /* vstgui */, + ); + name = vstgui.sf; + path = /vstsdk2.4/vstgui.sf; + sourceTree = ""; + }; + 24A2FFDF0F90D1DD003BB5A7 /* drawtest */ = { + isa = PBXGroup; + children = ( + 24A2FFE00F90D1DD003BB5A7 /* mac */, + 24A2FFEE0F90D1DD003BB5A7 /* resources */, + 24A200030F90D1DD003BB5A7 /* source */, + 24A2000F0F90D1DD003BB5A7 /* win */, + 24A200130F90D1DD003BB5A7 /* win.vc6 */, + ); + name = drawtest; + path = /vstsdk2.4/vstgui.sf/drawtest; + sourceTree = ""; + }; + 24A2FFE00F90D1DD003BB5A7 /* mac */ = { + isa = PBXGroup; + children = ( + 24A2FFE10F90D1DD003BB5A7 /* audiounit.exp */, + 24A2FFE20F90D1DD003BB5A7 /* cw_vst_prefix.pch++ */, + 24A2FFE30F90D1DD003BB5A7 /* drawtest.cw9prj */, + 24A2FFE40F90D1DD003BB5A7 /* drawtest.plc */, + 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */, + 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */, + 24A2FFEB0F90D1DD003BB5A7 /* Info.plist */, + 24A2FFEC0F90D1DD003BB5A7 /* xcode_au_prefix.h */, + 24A2FFED0F90D1DD003BB5A7 /* xcode_vst_prefix.h */, + ); + name = mac; + path = /vstsdk2.4/vstgui.sf/drawtest/mac; + sourceTree = ""; + }; + 24A2FFEE0F90D1DD003BB5A7 /* resources */ = { + isa = PBXGroup; + children = ( + 24A2FFEF0F90D1DD003BB5A7 /* audiounit.r */, + 24A2FFF00F90D1DD003BB5A7 /* bmp00001.png */, + 24A2FFF10F90D1DD003BB5A7 /* bmp00100.png */, + 24A2FFF20F90D1DD003BB5A7 /* bmp01000.png */, + 24A2FFF30F90D1DD003BB5A7 /* bmp10001.bmp */, + 24A2FFF40F90D1DD003BB5A7 /* bmp10002.bmp */, + 24A2FFF50F90D1DD003BB5A7 /* bmp10003.bmp */, + 24A2FFF60F90D1DD003BB5A7 /* bmp10004.bmp */, + 24A2FFF70F90D1DD003BB5A7 /* bmp10005.bmp */, + 24A2FFF80F90D1DD003BB5A7 /* bmp10006.bmp */, + 24A2FFF90F90D1DD003BB5A7 /* bmp10007.bmp */, + 24A2FFFA0F90D1DD003BB5A7 /* bmp10008.bmp */, + 24A2FFFB0F90D1DD003BB5A7 /* bmp10009.bmp */, + 24A2FFFC0F90D1DD003BB5A7 /* bmp10010.bmp */, + 24A2FFFD0F90D1DD003BB5A7 /* bmp10011.bmp */, + 24A2FFFE0F90D1DD003BB5A7 /* bmp10012.bmp */, + 24A2FFFF0F90D1DD003BB5A7 /* bmp10013.bmp */, + 24A200000F90D1DD003BB5A7 /* bmp10014.bmp */, + 24A200010F90D1DD003BB5A7 /* bmp10015.bmp */, + 24A200020F90D1DD003BB5A7 /* bmp10016.bmp */, + ); + name = resources; + path = /vstsdk2.4/vstgui.sf/drawtest/resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 245463B90991757100464AD3 /* kCathedral.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 24A202190F90D1DE003BB5A7 /* aeffect.h in Headers */, + 24A2021A0F90D1DE003BB5A7 /* aeffectx.h in Headers */, + 24A2021B0F90D1DE003BB5A7 /* vstfxstore.h in Headers */, + 24A2021D0F90D1DE003BB5A7 /* adelay.h in Headers */, + 24A202240F90D1DE003BB5A7 /* sdeditor.h in Headers */, + 24A202260F90D1DE003BB5A7 /* surrounddelay.h in Headers */, + 24A2022A0F90D1DE003BB5A7 /* again.h in Headers */, + 24A202330F90D1DE003BB5A7 /* gmnames.h in Headers */, + 24A202350F90D1DE003BB5A7 /* vstxsynth.h in Headers */, + 24A202460F90D1DE003BB5A7 /* aeffeditor.h in Headers */, + 24A202480F90D1DE003BB5A7 /* audioeffect.h in Headers */, + 24A2024A0F90D1DE003BB5A7 /* audioeffectx.h in Headers */, + 24A2024D0F90D1DE003BB5A7 /* cw_vst_prefix.pch++ in Headers */, + 24A202510F90D1DE003BB5A7 /* xcode_au_prefix.h in Headers */, + 24A202520F90D1DE003BB5A7 /* xcode_vst_prefix.h in Headers */, + 24A202680F90D1DE003BB5A7 /* controlsgui.h in Headers */, + 24A2026A0F90D1DE003BB5A7 /* pdrawtesteditor.h in Headers */, + 24A2026C0F90D1DE003BB5A7 /* pdrawtesteffect.h in Headers */, + 24A2026F0F90D1DE003BB5A7 /* pdrawtestview.h in Headers */, + 24A202710F90D1DE003BB5A7 /* pprimitivesviews.h in Headers */, + 24A202780F90D1DE003BB5A7 /* aeffguieditor.h in Headers */, + 24A2027A0F90D1DE003BB5A7 /* cfileselector.h in Headers */, + 24A2027D0F90D1DE003BB5A7 /* cscrollview.h in Headers */, + 24A2027F0F90D1DE003BB5A7 /* ctabview.h in Headers */, + 24A203A50F90D1DE003BB5A7 /* plugguieditor.h in Headers */, + 24A203A70F90D1DE003BB5A7 /* vstcontrols.h in Headers */, + 24A203A90F90D1DE003BB5A7 /* vstgui.h in Headers */, + 24A203AA0F90D1DE003BB5A7 /* vstkeycode.h in Headers */, + 24A203AB0F90D1DE003BB5A7 /* vstplugscarbon.h in Headers */, + 24A203AC0F90D1DE003BB5A7 /* vstplugsmac.h in Headers */, + 24A203AD0F90D1DE003BB5A7 /* vstplugsmacho.h in Headers */, + 24A203AE0F90D1DE003BB5A7 /* vstplugsquartz.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* kCathedral.vst */; + productType = "com.apple.product-type.bundle"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 089C1669FE841209C02AAC07 /* Project object */ = { + isa = PBXProject; + buildConfigurationList = 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 24A203E00F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE50F90D1DD003BB5A7 /* drawtest.xcode */; + }, + { + ProductGroup = 24A203E80F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFE80F90D1DD003BB5A7 /* drawtest.xcodeproj */; + }, + { + ProductGroup = 24A203CE0F90D272003BB5A7 /* Products */; + ProjectRef = 24A2FFB00F90D1DD003BB5A7 /* vst 2.4 examples.xcodeproj */; + }, + ); + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXReferenceProxy section */ + 24A203D70F90D272003BB5A7 /* again.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = again.vst; + remoteRef = 24A203D60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203D90F90D272003BB5A7 /* adelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = adelay.vst; + remoteRef = 24A203D80F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DB0F90D272003BB5A7 /* vstxsynth.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = vstxsynth.vst; + remoteRef = 24A203DA0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DD0F90D272003BB5A7 /* surrounddelay.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = surrounddelay.vst; + remoteRef = 24A203DC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203DF0F90D272003BB5A7 /* minihost.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = minihost.app; + remoteRef = 24A203DE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E50F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203E40F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203E70F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203E60F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203ED0F90D272003BB5A7 /* drawtest.component */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.component; + remoteRef = 24A203EC0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 24A203EF0F90D272003BB5A7 /* drawtest.vst */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = drawtest.vst; + remoteRef = 24A203EE0F90D272003BB5A7 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + +/* Begin PBXResourcesBuildPhase section */ + 8D01CCC90486CAD60068D4B7 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 8D01CCCF0486CAD60068D4B7 /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy PkgInfo"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/bash; + shellScript = "cp mac/PkgInfo \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.vst/Contents/\""; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 2407DEB9089929BA00EB68BF /* kCathedral.cpp in Sources */, + 24D8287009A914000093AEF8 /* kCathedralProc.cpp in Sources */, + 24A203CB0F90D251003BB5A7 /* audioeffect.cpp in Sources */, + 24A203CC0F90D251003BB5A7 /* audioeffectx.cpp in Sources */, + 24A203CD0F90D251003BB5A7 /* vstplugmain.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 24BEAAEE08919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_FIX_AND_CONTINUE = YES; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = Gain; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 24BEAAEF08919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_ENABLE_FIX_AND_CONTINUE = NO; + GCC_ENABLE_TRIGRAPHS = NO; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = ""; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + HEADER_SEARCH_PATHS = "/vstsdk2.4/**"; + INFOPLIST_FILE = ./mac/Info.plist; + LIBRARY_SEARCH_PATHS = ""; + MACOSX_DEPLOYMENT_TARGET = 10.4; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = kCathedral; + SDKROOT = /Developer/SDKs/MacOSX10.5.sdk; + SECTORDER_FLAGS = ""; + SKIP_INSTALL = NO; + STRIP_INSTALLED_PRODUCT = YES; + STRIP_STYLE = all; + WARNING_CFLAGS = ( + "-Wmost", + "-Wno-four-char-constants", + "-Wno-unknown-pragmas", + ); + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 24BEAAF208919AE700E695F9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(NATIVE_ARCH)"; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + }; + name = Debug; + }; + 24BEAAF308919AE700E695F9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1)"; + ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = "x86_64 i386 ppc"; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_MODEL_TUNING = G4; + GCC_OPTIMIZATION_LEVEL = s; + INFOPLIST_FILE = ""; + INFOPLIST_PREPROCESS = NO; + SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.6.sdk"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..5c38f9460675438b0fec50998b84b4a658168d63 GIT binary patch literal 12075 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 literal 0 HcmV?d00001 diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..314de0ff8716f1de186bd9e12b891393458717e5 GIT binary patch literal 10373 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 Ee-@_#ZU6uP literal 0 HcmV?d00001 diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/spiadmin.mode1v3 b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/spiadmin.mode1v3 @@ -0,0 +1,1372 @@ + + + + + ActivePerspectiveName + Project + AllowedModules + + + BundleLoadPath + + MaxInstances + n + Module + PBXSmartGroupTreeModule + Name + Groups and Files Outline View + + + BundleLoadPath + + MaxInstances + n + Module + PBXNavigatorGroup + Name + Editor + + + BundleLoadPath + + MaxInstances + n + Module + XCTaskListModule + Name + Task List + + + BundleLoadPath + + MaxInstances + n + Module + XCDetailModule + Name + File and Smart Group Detail Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXBuildResultsModule + Name + Detailed Build Results Viewer + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXProjectFindModule + Name + Project Batch Find Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCProjectFormatConflictsModule + Name + Project Format Conflicts List + + + BundleLoadPath + + MaxInstances + n + Module + PBXBookmarksModule + Name + Bookmarks Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXClassBrowserModule + Name + Class Browser + + + BundleLoadPath + + MaxInstances + n + Module + PBXCVSModule + Name + Source Code Control Tool + + + BundleLoadPath + + MaxInstances + n + Module + PBXDebugBreakpointsModule + Name + Debug Breakpoints Tool + + + BundleLoadPath + + MaxInstances + n + Module + XCDockableInspector + Name + Inspector + + + BundleLoadPath + + MaxInstances + n + Module + PBXOpenQuicklyModule + Name + Open Quickly Tool + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugSessionModule + Name + Debugger + + + BundleLoadPath + + MaxInstances + 1 + Module + PBXDebugCLIModule + Name + Debug Console + + + BundleLoadPath + + MaxInstances + n + Module + XCSnapshotModule + Name + Snapshots Tool + + + BundlePath + /Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources + Description + DefaultDescriptionKey + DockingSystemVisible + + Extension + mode1v3 + FavBarConfig + + PBXProjectModuleGUID + 91857D9F148EF61800AAA11B + XCBarModuleItemNames + + XCBarModuleItems + + + FirstTimeWindowDisplayed + + Identifier + com.apple.perspectives.project.mode1v3 + MajorVersion + 33 + MinorVersion + 0 + Name + Default + Notifications + + OpenEditors + + PerspectiveWidths + + -1 + -1 + + Perspectives + + + ChosenToolbarItems + + active-combo-popup + action + NSToolbarFlexibleSpaceItem + debugger-enable-breakpoints + build-and-go + com.apple.ide.PBXToolbarStopButton + get-info + NSToolbarFlexibleSpaceItem + com.apple.pbx.toolbar.searchfield + + ControllerClassBaseName + + IconName + WindowOfProjectWithEditor + Identifier + perspective.project + IsVertical + + Layout + + + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 089C166AFE841209C02AAC07 + 089C1671FE841209C02AAC07 + 19C28FB4FE9D528D11CA2CBB + 089C167CFE841241C02AAC07 + 08FB77ADFE841716C02AAC07 + 1C37FBAC04509CD000000102 + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 11 + 10 + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 693}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 711}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXSmartGroupTreeModule + Proportion + 203pt + + + Dock + + + BecomeActive + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20306471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CE0B20406471E060097A5F4 + PBXProjectModuleLabel + Gain.cpp + _historyCapacity + 0 + bookmark + 911C2A9D1491A5F600A430AF + history + + 915DCCBB1491A5B8008574E6 + + + SplitCount + 1 + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {1053, 508}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 508pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CE0B20506471E060097A5F4 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{0, 513}, {1053, 198}} + RubberWindowFrame + 286 197 1261 752 0 0 1680 1028 + + Module + XCDetailModule + Proportion + 198pt + + + Proportion + 1053pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDetailModule + + TableOfContents + + 911C2A901491A5F600A430AF + 1CE0B1FE06471DED0097A5F4 + 911C2A911491A5F600A430AF + 1CE0B20306471E060097A5F4 + 1CE0B20506471E060097A5F4 + + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarConfiguration + xcode.toolbar.config.defaultV3 + + + ControllerClassBaseName + + IconName + WindowOfProject + Identifier + perspective.morph + IsVertical + 0 + Layout + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C37FBAC04509CD000000102 + 1C37FAAC04509CD000000102 + 1C08E77C0454961000C914BD + 1C37FABC05509CD000000102 + 1C37FABC05539CD112110102 + E2644B35053B69B200211256 + 1C37FABC04509CD000100104 + 1CC0EA4004350EF90044410B + 1CC0EA4004350EF90041110B + + PBXProjectModuleGUID + 11E0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + yes + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 186 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 29B97314FDCFA39411CA2CEA + 1C37FABC05509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {186, 337}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 1 + XCSharingToken + com.apple.Xcode.GFSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {203, 355}} + GroupTreeTableConfiguration + + MainColumn + 186 + + RubberWindowFrame + 373 269 690 397 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 100% + + + Name + Morph + PreferredWidth + 300 + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + + TableOfContents + + 11E0B1FE06471DED0097A5F4 + + ToolbarConfiguration + xcode.toolbar.config.default.shortV3 + + + PerspectivesBarVisible + + ShelfIsVisible + + SourceDescription + file at '/Xcode3/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' + StatusbarIsVisible + + TimeStamp + 0.0 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 1 + Type + Perspectives + UpdateMessage + The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? + WindowJustification + 5 + WindowOrderList + + 91857DA0148EF61800AAA11B + /Users/spiadmin/Documents/Gain/Gain.xcodeproj + + WindowString + 286 197 1261 752 0 0 1680 1028 + WindowToolsV3 + + + FirstTimeWindowDisplayed + + Identifier + windowTool.build + IsVertical + + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528F0623707200166675 + PBXProjectModuleLabel + + StatusBarVisibility + + + GeometryConfiguration + + Frame + {{0, 0}, {743, 413}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXNavigatorGroup + Proportion + 413pt + + + ContentConfiguration + + PBXProjectModuleGUID + XCMainBuildResultsModuleGUID + PBXProjectModuleLabel + Build Results + XCBuildResultsTrigger_Collapse + 1021 + XCBuildResultsTrigger_Open + 1011 + + GeometryConfiguration + + Frame + {{0, 418}, {743, 236}} + RubberWindowFrame + 112 208 743 695 0 0 1680 1028 + + Module + PBXBuildResultsModule + Proportion + 236pt + + + Proportion + 654pt + + + Name + Build Results + ServiceClasses + + PBXBuildResultsModule + + StatusbarIsVisible + + TableOfContents + + 91857DA0148EF61800AAA11B + 911C2A921491A5F600A430AF + 1CD0528F0623707200166675 + XCMainBuildResultsModuleGUID + + ToolbarConfiguration + xcode.toolbar.config.buildV3 + WindowContentMinSize + 486 300 + WindowString + 112 208 743 695 0 0 1680 1028 + WindowToolGUID + 91857DA0148EF61800AAA11B + WindowToolIsVisible + + + + Identifier + windowTool.debugger + Layout + + + Dock + + + ContentConfiguration + + Debugger + + HorizontalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {317, 164}} + {{317, 0}, {377, 164}} + + + VerticalSplitView + + _collapsingFrameDimension + 0.0 + _indexOfCollapsedView + 0 + _percentageOfCollapsedView + 0.0 + isCollapsed + yes + sizes + + {{0, 0}, {694, 164}} + {{0, 164}, {694, 216}} + + + + LauncherConfigVersion + 8 + PBXProjectModuleGUID + 1C162984064C10D400B95A72 + PBXProjectModuleLabel + Debug - GLUTExamples (Underwater) + + GeometryConfiguration + + DebugConsoleDrawerSize + {100, 120} + DebugConsoleVisible + None + DebugConsoleWindowFrame + {{200, 200}, {500, 300}} + DebugSTDIOWindowFrame + {{200, 200}, {500, 300}} + Frame + {{0, 0}, {694, 380}} + RubberWindowFrame + 321 238 694 422 0 0 1440 878 + + Module + PBXDebugSessionModule + Proportion + 100% + + + Proportion + 100% + + + Name + Debugger + ServiceClasses + + PBXDebugSessionModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CD10A99069EF8BA00B06720 + 1C0AD2AB069F1E9B00FABCE6 + 1C162984064C10D400B95A72 + 1C0AD2AC069F1E9B00FABCE6 + + ToolbarConfiguration + xcode.toolbar.config.debugV3 + WindowString + 321 238 694 422 0 0 1440 878 + WindowToolGUID + 1CD10A99069EF8BA00B06720 + WindowToolIsVisible + 0 + + + Identifier + windowTool.find + Layout + + + Dock + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1CDD528C0622207200134675 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1CD0528D0623707200166675 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {781, 167}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 781pt + + + Proportion + 50% + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD0528E0623707200166675 + PBXProjectModuleLabel + Project Find + + GeometryConfiguration + + Frame + {{8, 0}, {773, 254}} + RubberWindowFrame + 62 385 781 470 0 0 1440 878 + + Module + PBXProjectFindModule + Proportion + 50% + + + Proportion + 428pt + + + Name + Project Find + ServiceClasses + + PBXProjectFindModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C530D57069F1CE1000CFCEE + 1C530D58069F1CE1000CFCEE + 1C530D59069F1CE1000CFCEE + 1CDD528C0622207200134675 + 1C530D5A069F1CE1000CFCEE + 1CE0B1FE06471DED0097A5F4 + 1CD0528E0623707200166675 + + WindowString + 62 385 781 470 0 0 1440 878 + WindowToolGUID + 1C530D57069F1CE1000CFCEE + WindowToolIsVisible + 0 + + + Identifier + MENUSEPARATOR + + + Identifier + windowTool.debuggerConsole + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAAC065D492600B07095 + PBXProjectModuleLabel + Debugger Console + + GeometryConfiguration + + Frame + {{0, 0}, {650, 250}} + RubberWindowFrame + 516 632 650 250 0 0 1680 1027 + + Module + PBXDebugCLIModule + Proportion + 209pt + + + Proportion + 209pt + + + Name + Debugger Console + ServiceClasses + + PBXDebugCLIModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAAD065D492600B07095 + 1C78EAAE065D492600B07095 + 1C78EAAC065D492600B07095 + + ToolbarConfiguration + xcode.toolbar.config.consoleV3 + WindowString + 650 41 650 250 0 0 1280 1002 + WindowToolGUID + 1C78EAAD065D492600B07095 + WindowToolIsVisible + 0 + + + Identifier + windowTool.snapshots + Layout + + + Dock + + + Module + XCSnapshotModule + Proportion + 100% + + + Proportion + 100% + + + Name + Snapshots + ServiceClasses + + XCSnapshotModule + + StatusbarIsVisible + Yes + ToolbarConfiguration + xcode.toolbar.config.snapshots + WindowString + 315 824 300 550 0 0 1440 878 + WindowToolIsVisible + Yes + + + Identifier + windowTool.scm + Layout + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 1C78EAB2065D492600B07095 + PBXProjectModuleLabel + <No Editor> + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 1C78EAB3065D492600B07095 + + SplitCount + 1 + + StatusBarVisibility + 1 + + GeometryConfiguration + + Frame + {{0, 0}, {452, 0}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + + Module + PBXNavigatorGroup + Proportion + 0pt + + + BecomeActive + 1 + ContentConfiguration + + PBXProjectModuleGUID + 1CD052920623707200166675 + PBXProjectModuleLabel + SCM + + GeometryConfiguration + + ConsoleFrame + {{0, 259}, {452, 0}} + Frame + {{0, 7}, {452, 259}} + RubberWindowFrame + 743 379 452 308 0 0 1280 1002 + TableConfiguration + + Status + 30 + FileName + 199 + Path + 197.0950012207031 + + TableFrame + {{0, 0}, {452, 250}} + + Module + PBXCVSModule + Proportion + 262pt + + + Proportion + 266pt + + + Name + SCM + ServiceClasses + + PBXCVSModule + + StatusbarIsVisible + 1 + TableOfContents + + 1C78EAB4065D492600B07095 + 1C78EAB5065D492600B07095 + 1C78EAB2065D492600B07095 + 1CD052920623707200166675 + + ToolbarConfiguration + xcode.toolbar.config.scm + WindowString + 743 379 452 308 0 0 1280 1002 + + + Identifier + windowTool.breakpoints + IsVertical + 0 + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + PBXBottomSmartGroupGIDs + + 1C77FABC04509CD000000102 + + PBXProjectModuleGUID + 1CE0B1FE06471DED0097A5F4 + PBXProjectModuleLabel + Files + PBXProjectStructureProvided + no + PBXSmartGroupTreeModuleColumnData + + PBXSmartGroupTreeModuleColumnWidthsKey + + 168 + + PBXSmartGroupTreeModuleColumnsKey_v4 + + MainColumn + + + PBXSmartGroupTreeModuleOutlineStateKey_v7 + + PBXSmartGroupTreeModuleOutlineStateExpansionKey + + 1C77FABC04509CD000000102 + + PBXSmartGroupTreeModuleOutlineStateSelectionKey + + + 0 + + + PBXSmartGroupTreeModuleOutlineStateVisibleRectKey + {{0, 0}, {168, 350}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + 0 + + GeometryConfiguration + + Frame + {{0, 0}, {185, 368}} + GroupTreeTableConfiguration + + MainColumn + 168 + + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 185pt + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA1AED706398EBD00589147 + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{190, 0}, {554, 368}} + RubberWindowFrame + 315 424 744 409 0 0 1440 878 + + Module + XCDetailModule + Proportion + 554pt + + + Proportion + 368pt + + + MajorVersion + 3 + MinorVersion + 0 + Name + Breakpoints + ServiceClasses + + PBXSmartGroupTreeModule + XCDetailModule + + StatusbarIsVisible + 1 + TableOfContents + + 1CDDB66807F98D9800BB5817 + 1CDDB66907F98D9800BB5817 + 1CE0B1FE06471DED0097A5F4 + 1CA1AED706398EBD00589147 + + ToolbarConfiguration + xcode.toolbar.config.breakpointsV3 + WindowString + 315 424 744 409 0 0 1440 878 + WindowToolGUID + 1CDDB66807F98D9800BB5817 + WindowToolIsVisible + 1 + + + Identifier + windowTool.debugAnimator + Layout + + + Dock + + + Module + PBXNavigatorGroup + Proportion + 100% + + + Proportion + 100% + + + Name + Debug Visualizer + ServiceClasses + + PBXNavigatorGroup + + StatusbarIsVisible + 1 + ToolbarConfiguration + xcode.toolbar.config.debugAnimatorV3 + WindowString + 100 100 700 500 0 0 1280 1002 + + + Identifier + windowTool.bookmarks + Layout + + + Dock + + + Module + PBXBookmarksModule + Proportion + 100% + + + Proportion + 100% + + + Name + Bookmarks + ServiceClasses + + PBXBookmarksModule + + StatusbarIsVisible + 0 + WindowString + 538 42 401 187 0 0 1280 1002 + + + Identifier + windowTool.projectFormatConflicts + Layout + + + Dock + + + Module + XCProjectFormatConflictsModule + Proportion + 100% + + + Proportion + 100% + + + Name + Project Format Conflicts + ServiceClasses + + XCProjectFormatConflictsModule + + StatusbarIsVisible + 0 + WindowContentMinSize + 450 300 + WindowString + 50 850 472 307 0 0 1440 877 + + + Identifier + windowTool.classBrowser + Layout + + + Dock + + + BecomeActive + 1 + ContentConfiguration + + OptionsSetName + Hierarchy, all classes + PBXProjectModuleGUID + 1CA6456E063B45B4001379D8 + PBXProjectModuleLabel + Class Browser - NSObject + + GeometryConfiguration + + ClassesFrame + {{0, 0}, {374, 96}} + ClassesTreeTableConfiguration + + PBXClassNameColumnIdentifier + 208 + PBXClassBookColumnIdentifier + 22 + + Frame + {{0, 0}, {630, 331}} + MembersFrame + {{0, 105}, {374, 395}} + MembersTreeTableConfiguration + + PBXMemberTypeIconColumnIdentifier + 22 + PBXMemberNameColumnIdentifier + 216 + PBXMemberTypeColumnIdentifier + 97 + PBXMemberBookColumnIdentifier + 22 + + PBXModuleWindowStatusBarHidden2 + 1 + RubberWindowFrame + 385 179 630 352 0 0 1440 878 + + Module + PBXClassBrowserModule + Proportion + 332pt + + + Proportion + 332pt + + + Name + Class Browser + ServiceClasses + + PBXClassBrowserModule + + StatusbarIsVisible + 0 + TableOfContents + + 1C0AD2AF069F1E9B00FABCE6 + 1C0AD2B0069F1E9B00FABCE6 + 1CA6456E063B45B4001379D8 + + ToolbarConfiguration + xcode.toolbar.config.classbrowser + WindowString + 385 179 630 352 0 0 1440 878 + WindowToolGUID + 1C0AD2AF069F1E9B00FABCE6 + WindowToolIsVisible + 0 + + + Identifier + windowTool.refactoring + IncludeInToolsMenu + 0 + Layout + + + Dock + + + BecomeActive + 1 + GeometryConfiguration + + Frame + {0, 0}, {500, 335} + RubberWindowFrame + {0, 0}, {500, 335} + + Module + XCRefactoringModule + Proportion + 100% + + + Proportion + 100% + + + Name + Refactoring + ServiceClasses + + XCRefactoringModule + + WindowString + 200 200 500 356 0 0 1920 1200 + + + + diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/spiadmin.pbxuser b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/spiadmin.pbxuser @@ -0,0 +1,143 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* Gain */; + codeSenseManager = 91857D95148EF55400AAA11B /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 829, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; + PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 789, + 60, + 20, + 48, + 43, + 43, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXTargetDataSource_PrimaryAttribute, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + ); + }; + PBXPerProjectTemplateStateSaveDate = 345089498; + PBXWorkspaceStateSaveDate = 345089498; + }; + perUserProjectItems = { + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = 911C2A9D1491A5F600A430AF /* PBXTextBookmark */; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */; + }; + sourceControlManager = 91857D94148EF55400AAA11B /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* Gain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 1768}}"; + sepNavSelRange = "{247, 0}"; + sepNavVisRange = "{0, 1657}"; + }; + }; + 245463B80991757100464AD3 /* Gain.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 975}}"; + sepNavSelRange = "{1552, 0}"; + sepNavVisRange = "{796, 1857}"; + sepNavWindowFrame = "{{15, 465}, {750, 558}}"; + }; + }; + 24A2FF9A0F90D1DD003BB5A7 /* adelaymain.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 488}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 798}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 19825}}"; + sepNavSelRange = "{10641, 0}"; + sepNavVisRange = "{10076, 1095}"; + }; + }; + 24D8286F09A914000093AEF8 /* GainProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 482}}"; + sepNavSelRange = "{239, 0}"; + sepNavVisRange = "{0, 950}"; + }; + }; + 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {992, 493}}"; + sepNavSelRange = "{249, 0}"; + sepNavVisRange = "{0, 249}"; + }; + }; + 8D01CCC60486CAD60068D4B7 /* Gain */ = { + activeExec = 0; + }; + 911C2A9D1491A5F600A430AF /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1657; + vrLoc = 0; + }; + 915DCCBB1491A5B8008574E6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* Gain.cpp */; + name = "Gain.cpp: 10"; + rLen = 0; + rLoc = 247; + rType = 0; + vrLen = 1625; + vrLoc = 0; + }; + 91857D94148EF55400AAA11B /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 91857D95148EF55400AAA11B /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; +} diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme new file mode 100755 index 000000000..8ee693f95 --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..5bccbcb4f --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gain.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacVST/kCathedral/kCathedral.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/kCathedral/mac/Info.plist b/plugins/MacVST/kCathedral/mac/Info.plist new file mode 100755 index 000000000..488eabf59 --- /dev/null +++ b/plugins/MacVST/kCathedral/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + kCathedral + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.kCathedral + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacVST/kCathedral/mac/PkgInfo b/plugins/MacVST/kCathedral/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacVST/kCathedral/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacVST/kCathedral/mac/xcode_vst_prefix.h b/plugins/MacVST/kCathedral/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacVST/kCathedral/mac/xcode_vst_prefix.h @@ -0,0 +1,17 @@ +#define MAC 1 +#define MACX 1 + +#define USE_NAMESPACE 0 + +#define TARGET_API_MAC_CARBON 1 +#define USENAVSERVICES 1 + +#define __CF_USE_FRAMEWORK_INCLUDES__ + +#if __MWERKS__ +#define __NOEXTENSIONS__ +#endif + +#define QUARTZ 1 + +#include \ No newline at end of file diff --git a/plugins/MacVST/kCathedral/source/kCathedral.cpp b/plugins/MacVST/kCathedral/source/kCathedral.cpp new file mode 100755 index 000000000..1965dd97b --- /dev/null +++ b/plugins/MacVST/kCathedral/source/kCathedral.cpp @@ -0,0 +1,274 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#include "kCathedral.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral(audioMaster);} + +kCathedral::kCathedral(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < earlyA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < earlyB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < earlyC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < earlyD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < earlyE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < earlyF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < earlyG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < earlyH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < earlyI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + prevMulchBL = 0.0; + prevMulchBR = 0.0; + prevMulchCL = 0.0; + prevMulchCR = 0.0; + prevMulchDL = 0.0; + prevMulchDR = 0.0; + prevMulchEL = 0.0; + prevMulchER = 0.0; + + tailL = 0.0; + tailR = 0.0; + + prevOutEL = 0.0; + prevOutER = 0.0; + prevInEL = 0.0; + prevInER = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + earlyAL = 1; + earlyBL = 1; + earlyCL = 1; + earlyDL = 1; + earlyEL = 1; + earlyFL = 1; + earlyGL = 1; + earlyHL = 1; + earlyIL = 1; + + earlyAR = 1; + earlyBR = 1; + earlyCR = 1; + earlyDR = 1; + earlyER = 1; + earlyFR = 1; + earlyGR = 1; + earlyHR = 1; + earlyIR = 1; + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + //from SubTight + + 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 +} + +kCathedral::~kCathedral() {} +VstInt32 kCathedral::getVendorVersion () {return 1000;} +void kCathedral::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral::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 kCathedral::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + /* 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 kCathedral::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + /* 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 kCathedral::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; 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 kCathedral::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Wetness", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void kCathedral::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void kCathedral::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral::getEffectName(char* name) { + vst_strncpy(name, "kCathedral", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral", kVstMaxProductStrLen); return true; +} + +bool kCathedral::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacVST/kCathedral/source/kCathedral.h b/plugins/MacVST/kCathedral/source/kCathedral.h new file mode 100755 index 000000000..7533c8f90 --- /dev/null +++ b/plugins/MacVST/kCathedral/source/kCathedral.h @@ -0,0 +1,307 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#define __kCathedral_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; // + +//regular3x3 +const int earlyA = 437; const int earlyB = 284; const int earlyC = 754; const int earlyD = 1538; const int earlyE = 59; const int earlyF = 1829; const int earlyG = 37; const int earlyH = 3304; const int earlyI = 200; const int predelay = 1014; const int vlfpredelay = 3275; //6 to 151 ms, 741 seat theater. Scarcity, 1 in 17259 +//kCathedralEarly741 + +const int delayA = 253; const int delayB = 1395; const int delayC = 248; const int delayD = 284; const int delayE = 952; const int delayF = 430; const int delayG = 1253; const int delayH = 889; const int delayI = 798; const int delayJ = 397; const int delayK = 1166; const int delayL = 250; const int delayM = 38; const int delayN = 1389; const int delayO = 1103; const int delayP = 50; const int delayQ = 1317; const int delayR = 40; const int delayS = 1393; const int delayT = 325; const int delayU = 11; const int delayV = 265; const int delayW = 1339; const int delayX = 315; const int delayY = 753; //16 to 153 ms, 860 seat hall. Scarcity, 1 in 60182 +//###RevSmooth860 + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcth'; //Change this to what the AU identity is! + +class kCathedral : + public AudioEffectX +{ +public: + kCathedral(audioMasterCallback audioMaster); + ~kCathedral(); + 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; + + double gainOutL; + double gainOutR; + + double eAL[earlyA+5]; + double eBL[earlyB+5]; + double eCL[earlyC+5]; + double eDL[earlyD+5]; + double eEL[earlyE+5]; + double eFL[earlyF+5]; + double eGL[earlyG+5]; + double eHL[earlyH+5]; + double eIL[earlyI+5]; + + double eAR[earlyA+5]; + double eBR[earlyB+5]; + double eCR[earlyC+5]; + double eDR[earlyD+5]; + double eER[earlyE+5]; + double eFR[earlyF+5]; + double eGR[earlyG+5]; + double eHR[earlyH+5]; + double eIR[earlyI+5]; + + int earlyAL, earlyAR; + int earlyBL, earlyBR; + int earlyCL, earlyCR; + int earlyDL, earlyDR; + int earlyEL, earlyER; + int earlyFL, earlyFR; + int earlyGL, earlyGR; + int earlyHL, earlyHR; + int earlyIL, earlyIR; + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double prevMulchBL; + double prevMulchBR; + double prevMulchCL; + double prevMulchCR; + double prevMulchDL; + double prevMulchDR; + double prevMulchEL; + double prevMulchER; + + double prevOutEL; + double prevOutER; + double prevInEL; + double prevInER; + + double tailL; + double tailR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/MacVST/kCathedral/source/kCathedralProc.cpp b/plugins/MacVST/kCathedral/source/kCathedralProc.cpp new file mode 100755 index 000000000..18c4e88c2 --- /dev/null +++ b/plugins/MacVST/kCathedral/source/kCathedralProc.cpp @@ -0,0 +1,1070 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#include "kCathedral.h" +#endif + +void kCathedral::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 kCathedral::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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/WinVST/ClearCoat/.vs/Console4Channel64/v14/.suo b/plugins/WinVST/ClearCoat/.vs/Console4Channel64/v14/.suo new file mode 100755 index 0000000000000000000000000000000000000000..777b84637178603e9e29062e78424d1a54b8cd74 GIT binary patch literal 32768 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 BW`+O& literal 0 HcmV?d00001 diff --git a/plugins/WinVST/ClearCoat/.vs/VSTProject/v14/.suo b/plugins/WinVST/ClearCoat/.vs/VSTProject/v14/.suo new file mode 100755 index 0000000000000000000000000000000000000000..d25fc0bec462f9f94448d37309cb107b6711c666 GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/plugins/WinVST/ClearCoat/ClearCoat.cpp b/plugins/WinVST/ClearCoat/ClearCoat.cpp new file mode 100755 index 000000000..a3aec775b --- /dev/null +++ b/plugins/WinVST/ClearCoat/ClearCoat.cpp @@ -0,0 +1,229 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#include "ClearCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new ClearCoat(audioMaster);} + +ClearCoat::ClearCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 1.0; + + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 0.0; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + previousAR = 0.0; + previousBR = 0.0; + previousCR = 0.0; + previousDR = 0.0; + previousER = 0.0; + + prevMulchAL = 0.0; + prevMulchAR = 0.0; + + tailL = 0.0; + tailR = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + + cycle = 0; + + shortA = 336; + shortB = 1660; + shortC = 386; + shortD = 623; + shortE = 693; + shortF = 1079; + shortG = 891; + shortH = 1574; + shortI = 24; + shortJ = 2641; + shortK = 1239; + shortL = 775; + shortM = 11; + shortN = 3104; + shortO = 55; + shortP = 2366; + prevclearcoat = -1; + + 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 +} + +ClearCoat::~ClearCoat() {} +VstInt32 ClearCoat::getVendorVersion () {return 1000;} +void ClearCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::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 ClearCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Dry/Wet", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void ClearCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), 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 ClearCoat::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 ClearCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool ClearCoat::getEffectName(char* name) { + vst_strncpy(name, "ClearCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory ClearCoat::getPlugCategory() {return kPlugCategEffect;} + +bool ClearCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows ClearCoat", kVstMaxProductStrLen); return true; +} + +bool ClearCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/WinVST/ClearCoat/ClearCoat.h b/plugins/WinVST/ClearCoat/ClearCoat.h new file mode 100755 index 000000000..7f7284a92 --- /dev/null +++ b/plugins/WinVST/ClearCoat/ClearCoat.h @@ -0,0 +1,202 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#define __ClearCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kNumParameters = 2 +}; // + +const int kshortA = 350; +const int kshortB = 1710; +const int kshortC = 1610; +const int kshortD = 835; +const int kshortE = 700; +const int kshortF = 1260; +const int kshortG = 1110; +const int kshortH = 1768; +const int kshortI = 280; +const int kshortJ = 2645; +const int kshortK = 1410; +const int kshortL = 1175; +const int kshortM = 12; +const int kshortN = 3110; +const int kshortO = 120; +const int kshortP = 2370; + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'clco'; //Change this to what the AU identity is! + +class ClearCoat : + public AudioEffectX +{ +public: + ClearCoat(audioMasterCallback audioMaster); + ~ClearCoat(); + 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; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + double aAL[kshortA+5]; + double aBL[kshortB+5]; + double aCL[kshortC+5]; + double aDL[kshortD+5]; + double aEL[kshortE+5]; + double aFL[kshortF+5]; + double aGL[kshortG+5]; + double aHL[kshortH+5]; + double aIL[kshortI+5]; + double aJL[kshortJ+5]; + double aKL[kshortK+5]; + double aLL[kshortL+5]; + double aML[kshortM+5]; + double aNL[kshortN+5]; + double aOL[kshortO+5]; + double aPL[kshortP+5]; + + double aAR[kshortA+5]; + double aBR[kshortB+5]; + double aCR[kshortC+5]; + double aDR[kshortD+5]; + double aER[kshortE+5]; + double aFR[kshortF+5]; + double aGR[kshortG+5]; + double aHR[kshortH+5]; + double aIR[kshortI+5]; + double aJR[kshortJ+5]; + double aKR[kshortK+5]; + double aLR[kshortL+5]; + double aMR[kshortM+5]; + double aNR[kshortN+5]; + double aOR[kshortO+5]; + double aPR[kshortP+5]; + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + + double feedbackDR; + double feedbackHR; + double feedbackLR; + double feedbackPR; + + double previousAL; + double previousBL; + double previousCL; + double previousDL; + double previousEL; + + double lastRefL[7]; + + double previousAR; + double previousBR; + double previousCR; + double previousDR; + double previousER; + + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + + int cycle; + + double prevMulchAL; + double prevMulchAR; + + double tailL; + double tailR; + + int shortA; + int shortB; + int shortC; + int shortD; + int shortE; + int shortF; + int shortG; + int shortH; + int shortI; + int shortJ; + int shortK; + int shortL; + int shortM; + int shortN; + int shortO; + int shortP; + + int prevclearcoat; + + float A; + float B; +}; + +#endif diff --git a/plugins/WinVST/ClearCoat/ClearCoatProc.cpp b/plugins/WinVST/ClearCoat/ClearCoatProc.cpp new file mode 100755 index 000000000..b93707b53 --- /dev/null +++ b/plugins/WinVST/ClearCoat/ClearCoatProc.cpp @@ -0,0 +1,744 @@ +/* ======================================== + * ClearCoat - ClearCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __ClearCoat_H +#include "ClearCoat.h" +#endif + +void ClearCoat::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = (int)(A*16.999); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = B*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 ClearCoat::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + + int clearcoat = (int)(A*16.999); + + if (clearcoat != prevclearcoat) { + for(int count = 0; count < kshortA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < kshortB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < kshortC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < kshortD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < kshortE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < kshortF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < kshortG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < kshortH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < kshortI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < kshortJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < kshortK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < kshortL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < kshortM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < kshortN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < kshortO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < kshortP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + switch (clearcoat) + { + case 0: + shortA = 65; shortB = 124; shortC = 83; shortD = 180; shortE = 200; shortF = 291; shortG = 108; shortH = 189; shortI = 73; shortJ = 410; shortK = 479; shortL = 310; shortM = 11; shortN = 928; shortO = 23; shortP = 654; break; //5 to 51 ms, 96 seat room. Scarcity, 1 in 125324 + //Short96 + case 1: + shortA = 114; shortB = 205; shortC = 498; shortD = 195; shortE = 205; shortF = 318; shortG = 143; shortH = 254; shortI = 64; shortJ = 721; shortK = 512; shortL = 324; shortM = 11; shortN = 782; shortO = 26; shortP = 394; break; //7 to 52 ms, 107 seat club. Scarcity, 1 in 65537 + //Short107 + case 2: + shortA = 118; shortB = 272; shortC = 292; shortD = 145; shortE = 200; shortF = 241; shortG = 204; shortH = 504; shortI = 50; shortJ = 678; shortK = 424; shortL = 412; shortM = 11; shortN = 1124; shortO = 47; shortP = 766; break; //8 to 58 ms, 135 seat club. Scarcity, 1 in 196272 + //Short135 + case 3: + shortA = 19; shortB = 474; shortC = 301; shortD = 275; shortE = 260; shortF = 321; shortG = 371; shortH = 571; shortI = 50; shortJ = 410; shortK = 697; shortL = 414; shortM = 11; shortN = 986; shortO = 47; shortP = 522; break; //7 to 61 ms, 143 seat club. Scarcity, 1 in 165738 + //Short143 + case 4: + shortA = 112; shortB = 387; shortC = 452; shortD = 289; shortE = 173; shortF = 476; shortG = 321; shortH = 593; shortI = 73; shortJ = 343; shortK = 829; shortL = 91; shortM = 11; shortN = 1055; shortO = 43; shortP = 862; break; //8 to 66 ms, 166 seat club. Scarcity, 1 in 158437 + //Short166 + case 5: + shortA = 60; shortB = 368; shortC = 295; shortD = 272; shortE = 210; shortF = 284; shortG = 326; shortH = 830; shortI = 125; shortJ = 236; shortK = 737; shortL = 486; shortM = 11; shortN = 1178; shortO = 75; shortP = 902; break; //9 to 70 ms, 189 seat club. Scarcity, 1 in 94790 + //Short189 + case 6: + shortA = 73; shortB = 311; shortC = 472; shortD = 251; shortE = 134; shortF = 509; shortG = 393; shortH = 591; shortI = 124; shortJ = 1070; shortK = 340; shortL = 525; shortM = 11; shortN = 1367; shortO = 75; shortP = 816; break; //7 to 79 ms, 225 seat club. Scarcity, 1 in 257803 + //Short225 + case 7: + shortA = 159; shortB = 518; shortC = 514; shortD = 165; shortE = 275; shortF = 494; shortG = 296; shortH = 667; shortI = 75; shortJ = 1101; shortK = 116; shortL = 414; shortM = 11; shortN = 1261; shortO = 79; shortP = 998; break; //11 to 80 ms, 252 seat club. Scarcity, 1 in 175192 + //Short252 + case 8: + shortA = 41; shortB = 741; shortC = 274; shortD = 59; shortE = 306; shortF = 332; shortG = 291; shortH = 767; shortI = 42; shortJ = 881; shortK = 959; shortL = 422; shortM = 11; shortN = 1237; shortO = 45; shortP = 958; break; //8 to 83 ms, 255 seat club. Scarcity, 1 in 185708 + //Short255 + case 9: + shortA = 251; shortB = 437; shortC = 783; shortD = 189; shortE = 130; shortF = 272; shortG = 244; shortH = 761; shortI = 128; shortJ = 1190; shortK = 320; shortL = 491; shortM = 11; shortN = 1409; shortO = 58; shortP = 455; break; //10 to 93 ms, 323 seat club. Scarcity, 1 in 334044 + //Short323 + case 10: + shortA = 316; shortB = 510; shortC = 1087; shortD = 349; shortE = 359; shortF = 74; shortG = 79; shortH = 1269; shortI = 34; shortJ = 693; shortK = 749; shortL = 511; shortM = 11; shortN = 1751; shortO = 93; shortP = 403; break; //9 to 110 ms, 427 seat theater. Scarcity, 1 in 200715 + //Short427 + case 11: + shortA = 254; shortB = 651; shortC = 845; shortD = 316; shortE = 373; shortF = 267; shortG = 182; shortH = 857; shortI = 215; shortJ = 1535; shortK = 1127; shortL = 315; shortM = 11; shortN = 1649; shortO = 97; shortP = 829; break; //15 to 110 ms, 470 seat theater. Scarcity, 1 in 362673 + //Short470 + case 12: + shortA = 113; shortB = 101; shortC = 673; shortD = 357; shortE = 340; shortF = 229; shortG = 278; shortH = 1008; shortI = 265; shortJ = 1890; shortK = 155; shortL = 267; shortM = 11; shortN = 2233; shortO = 116; shortP = 600; break; //11 to 131 ms, 606 seat theater. Scarcity, 1 in 238058 + //Short606 + case 13: + shortA = 218; shortB = 1058; shortC = 862; shortD = 505; shortE = 297; shortF = 580; shortG = 532; shortH = 1387; shortI = 120; shortJ = 576; shortK = 1409; shortL = 473; shortM = 11; shortN = 1991; shortO = 76; shortP = 685; break; //14 to 132 ms, 643 seat theater. Scarcity, 1 in 193432 + //Short643 + case 14: + shortA = 78; shortB = 760; shortC = 982; shortD = 528; shortE = 445; shortF = 1128; shortG = 130; shortH = 708; shortI = 22; shortJ = 2144; shortK = 354; shortL = 1169; shortM = 11; shortN = 2782; shortO = 58; shortP = 1515; break; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 + //Short809 + case 15: + shortA = 330; shortB = 107; shortC = 1110; shortD = 371; shortE = 620; shortF = 143; shortG = 1014; shortH = 1763; shortI = 184; shortJ = 2068; shortK = 1406; shortL = 595; shortM = 11; shortN = 2639; shortO = 33; shortP = 1594; break; //10 to 171 ms, 984 seat hall. Scarcity, 1 in 226499 + //Short984 + case 16: + default: + shortA = 336; shortB = 1660; shortC = 386; shortD = 623; shortE = 693; shortF = 1079; shortG = 891; shortH = 1574; shortI = 24; shortJ = 2641; shortK = 1239; shortL = 775; shortM = 11; shortN = 3104; shortO = 55; shortP = 2366; break; //24 to 203 ms, 1541 seat hall. Scarcity, 1 in 275025 + //Short1541 + } + prevclearcoat = clearcoat; + } + + double wet = B*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + aAL[countAL] = inputSampleL + (feedbackAL * 0.04166666666); + aBL[countBL] = inputSampleL + (feedbackBL * 0.04166666666); + aCL[countCL] = inputSampleL + (feedbackCL * 0.04166666666); + aDL[countDL] = inputSampleL + (feedbackDL * 0.04166666666); + + aDR[countDR] = inputSampleR + (feedbackDR * 0.04166666666); + aHR[countHR] = inputSampleR + (feedbackHR * 0.04166666666); + aLR[countLR] = inputSampleR + (feedbackLR * 0.04166666666); + aPR[countPR] = inputSampleR + (feedbackPR * 0.04166666666); + //exactly halfway between infinite sustain at 0.0625 + //and 6dB down, almost no regen at 0.03125 + //means roughly half the results work as BitShiftGain + + countAL++; if (countAL < 0 || countAL > shortA) countAL = 0; + countBL++; if (countBL < 0 || countBL > shortB) countBL = 0; + countCL++; if (countCL < 0 || countCL > shortC) countCL = 0; + countDL++; if (countDL < 0 || countDL > shortD) countDL = 0; + + countDR++; if (countDR < 0 || countDR > shortD) countDR = 0; + countHR++; if (countHR < 0 || countHR > shortH) countHR = 0; + countLR++; if (countLR < 0 || countLR > shortL) countLR = 0; + countPR++; if (countPR < 0 || countPR > shortP) countPR = 0; + + double outAL = aAL[countAL-((countAL > shortA)?shortA+1:0)]; + double outBL = aBL[countBL-((countBL > shortB)?shortB+1:0)]; + double outCL = aCL[countCL-((countCL > shortC)?shortC+1:0)]; + double outDL = aDL[countDL-((countDL > shortD)?shortD+1:0)]; + + double outDR = aDR[countDR-((countDR > shortD)?shortD+1:0)]; + double outHR = aHR[countHR-((countHR > shortH)?shortH+1:0)]; + double outLR = aLR[countLR-((countLR > shortL)?shortL+1:0)]; + double outPR = aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + aEL[countEL] = outAL - (outBL + outCL + outDL); + aFL[countFL] = outBL - (outAL + outCL + outDL); + aGL[countGL] = outCL - (outAL + outBL + outDL); + aHL[countHL] = outDL - (outAL + outBL + outCL); + + aCR[countCR] = outDR - (outHR + outLR + outPR); + aGR[countGR] = outHR - (outDR + outLR + outPR); + aKR[countKR] = outLR - (outDR + outHR + outPR); + aOR[countOR] = outPR - (outDR + outHR + outLR); + + countEL++; if (countEL < 0 || countEL > shortE) countEL = 0; + countFL++; if (countFL < 0 || countFL > shortF) countFL = 0; + countGL++; if (countGL < 0 || countGL > shortG) countGL = 0; + countHL++; if (countHL < 0 || countHL > shortH) countHL = 0; + + countCR++; if (countCR < 0 || countCR > shortC) countCR = 0; + countGR++; if (countGR < 0 || countGR > shortG) countGR = 0; + countKR++; if (countKR < 0 || countKR > shortK) countKR = 0; + countOR++; if (countOR < 0 || countOR > shortO) countOR = 0; + + double outEL = aEL[countEL-((countEL > shortE)?shortE+1:0)]; + double outFL = aFL[countFL-((countFL > shortF)?shortF+1:0)]; + double outGL = aGL[countGL-((countGL > shortG)?shortG+1:0)]; + double outHL = aHL[countHL-((countHL > shortH)?shortH+1:0)]; + + double outCR = aCR[countCR-((countCR > shortC)?shortC+1:0)]; + double outGR = aGR[countGR-((countGR > shortG)?shortG+1:0)]; + double outKR = aKR[countKR-((countKR > shortK)?shortK+1:0)]; + double outOR = aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + aIL[countIL] = outEL - (outFL + outGL + outHL); + aJL[countJL] = outFL - (outEL + outGL + outHL); + aKL[countKL] = outGL - (outEL + outFL + outHL); + aLL[countLL] = outHL - (outEL + outFL + outGL); + + aBR[countBR] = outCR - (outGR + outKR + outOR); + aFR[countFR] = outGR - (outCR + outKR + outOR); + aJR[countJR] = outKR - (outCR + outGR + outOR); + aNR[countNR] = outOR - (outCR + outGR + outKR); + + countIL++; if (countIL < 0 || countIL > shortI) countIL = 0; + countJL++; if (countJL < 0 || countJL > shortJ) countJL = 0; + countKL++; if (countKL < 0 || countKL > shortK) countKL = 0; + countLL++; if (countLL < 0 || countLL > shortL) countLL = 0; + + countBR++; if (countBR < 0 || countBR > shortB) countBR = 0; + countFR++; if (countFR < 0 || countFR > shortF) countFR = 0; + countJR++; if (countJR < 0 || countJR > shortJ) countJR = 0; + countNR++; if (countNR < 0 || countNR > shortN) countNR = 0; + + double outIL = aIL[countIL-((countIL > shortI)?shortI+1:0)]; + double outJL = aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + double outKL = aKL[countKL-((countKL > shortK)?shortK+1:0)]; + double outLL = aLL[countLL-((countLL > shortL)?shortL+1:0)]; + + double outBR = aBR[countBR-((countBR > shortB)?shortB+1:0)]; + double outFR = aFR[countFR-((countFR > shortF)?shortF+1:0)]; + double outJR = aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + double outNR = aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + aML[countML] = outIL - (outJL + outKL + outLL); + aNL[countNL] = outJL - (outIL + outKL + outLL); + aOL[countOL] = outKL - (outIL + outJL + outLL); + aPL[countPL] = outLL - (outIL + outJL + outKL); + + aAR[countAR] = outBR - (outFR + outJR + outNR); + aER[countER] = outFR - (outBR + outJR + outNR); + aIR[countIR] = outJR - (outBR + outFR + outNR); + aMR[countMR] = outNR - (outBR + outFR + outJR); + + countML++; if (countML < 0 || countML > shortM) countML = 0; + countNL++; if (countNL < 0 || countNL > shortN) countNL = 0; + countOL++; if (countOL < 0 || countOL > shortO) countOL = 0; + countPL++; if (countPL < 0 || countPL > shortP) countPL = 0; + + countAR++; if (countAR < 0 || countAR > shortA) countAR = 0; + countER++; if (countER < 0 || countER > shortE) countER = 0; + countIR++; if (countIR < 0 || countIR > shortI) countIR = 0; + countMR++; if (countMR < 0 || countMR > shortM) countMR = 0; + + double outML = aML[countML-((countML > shortM)?shortM+1:0)]; + double outNL = aNL[countNL-((countNL > shortN)?shortN+1:0)]; + double outOL = aOL[countOL-((countOL > shortO)?shortO+1:0)]; + double outPL = aPL[countPL-((countPL > shortP)?shortP+1:0)]; + + double outAR = aAR[countAR-((countAR > shortA)?shortA+1:0)]; + double outER = aER[countER-((countER > shortE)?shortE+1:0)]; + double outIR = aIR[countIR-((countIR > shortI)?shortI+1:0)]; + double outMR = aMR[countMR-((countMR > shortM)?shortM+1:0)]; + double outSample = (outML + outML + outML + prevMulchAL)*0.25; + prevMulchAL = outML; outML = outSample; + outSample = (outAR + outAR + outAR + prevMulchAR)*0.25; + prevMulchAR = outAR; outAR = outSample; + + feedbackAL = outML - (outNL + outOL + outPL); + feedbackDR = outAR - (outER + outIR + outMR); + feedbackBL = outNL - (outML + outOL + outPL); + feedbackHR = outER - (outAR + outIR + outMR); + feedbackCL = outOL - (outML + outNL + outPL); + feedbackLR = outIR - (outAR + outER + outMR); + feedbackDL = outPL - (outML + outNL + outOL); + feedbackPR = outMR - (outAR + outER + outIR); + //which we need to feed back into the input again, a bit + + inputSampleL = (outML + outNL + outOL + outPL)/8.0; + inputSampleR = (outAR + outER + outIR + outMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + if (inputSampleL > 1.0) inputSampleL = 1.0; + if (inputSampleL < -1.0) inputSampleL = -1.0; + if (inputSampleR > 1.0) inputSampleR = 1.0; + if (inputSampleR < -1.0) inputSampleR = -1.0; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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/WinVST/ClearCoat/VSTProject.sln b/plugins/WinVST/ClearCoat/VSTProject.sln new file mode 100755 index 000000000..694b42443 --- /dev/null +++ b/plugins/WinVST/ClearCoat/VSTProject.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSTProject", "VSTProject.vcxproj", "{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.ActiveCfg = Debug|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.Build.0 = Debug|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.ActiveCfg = Debug|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.Build.0 = Debug|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.ActiveCfg = Release|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.Build.0 = Release|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.ActiveCfg = Release|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/plugins/WinVST/ClearCoat/VSTProject.vcxproj b/plugins/WinVST/ClearCoat/VSTProject.vcxproj new file mode 100755 index 000000000..586d60de7 --- /dev/null +++ b/plugins/WinVST/ClearCoat/VSTProject.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C} + VSTProject + 8.1 + ClearCoat64 + + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + + + + + + + + + + + + + + + + + + + .dll + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreadedDebug + Speed + false + Default + false + None + + + vstplug.def + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + false + MultiThreadedDebug + Default + false + None + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + MultiThreaded + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + vstplug.def + + + + + + \ No newline at end of file diff --git a/plugins/WinVST/ClearCoat/VSTProject.vcxproj.filters b/plugins/WinVST/ClearCoat/VSTProject.vcxproj.filters new file mode 100755 index 000000000..45658da92 --- /dev/null +++ b/plugins/WinVST/ClearCoat/VSTProject.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/plugins/WinVST/ClearCoat/VSTProject.vcxproj.user b/plugins/WinVST/ClearCoat/VSTProject.vcxproj.user new file mode 100755 index 000000000..221626789 --- /dev/null +++ b/plugins/WinVST/ClearCoat/VSTProject.vcxproj.user @@ -0,0 +1,19 @@ + + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + \ No newline at end of file diff --git a/plugins/WinVST/ClearCoat/vstplug.def b/plugins/WinVST/ClearCoat/vstplug.def new file mode 100755 index 000000000..5bf499aa2 --- /dev/null +++ b/plugins/WinVST/ClearCoat/vstplug.def @@ -0,0 +1,3 @@ +EXPORTS + VSTPluginMain + main=VSTPluginMain \ No newline at end of file diff --git a/plugins/WinVST/kCathedral/.vs/Console4Channel64/v14/.suo b/plugins/WinVST/kCathedral/.vs/Console4Channel64/v14/.suo new file mode 100755 index 0000000000000000000000000000000000000000..777b84637178603e9e29062e78424d1a54b8cd74 GIT binary patch literal 32768 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 BW`+O& literal 0 HcmV?d00001 diff --git a/plugins/WinVST/kCathedral/.vs/VSTProject/v14/.suo b/plugins/WinVST/kCathedral/.vs/VSTProject/v14/.suo new file mode 100755 index 0000000000000000000000000000000000000000..fe83912d18ebec64b3f36a8a3c4ad1468f623e9f GIT binary patch literal 23040 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 RT)}sF_bdL86t>47{vTRs92)=t literal 0 HcmV?d00001 diff --git a/plugins/WinVST/kCathedral/VSTProject.sln b/plugins/WinVST/kCathedral/VSTProject.sln new file mode 100755 index 000000000..694b42443 --- /dev/null +++ b/plugins/WinVST/kCathedral/VSTProject.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VSTProject", "VSTProject.vcxproj", "{16F7AB3C-1AE0-4574-B60C-7B4DED82938C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.ActiveCfg = Debug|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x64.Build.0 = Debug|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.ActiveCfg = Debug|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Debug|x86.Build.0 = Debug|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.ActiveCfg = Release|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x64.Build.0 = Release|x64 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.ActiveCfg = Release|Win32 + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/plugins/WinVST/kCathedral/VSTProject.vcxproj b/plugins/WinVST/kCathedral/VSTProject.vcxproj new file mode 100755 index 000000000..4109bae77 --- /dev/null +++ b/plugins/WinVST/kCathedral/VSTProject.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C} + VSTProject + 8.1 + kCathedral64 + + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + DynamicLibrary + true + v140 + NotSet + + + DynamicLibrary + false + v140 + false + NotSet + + + + + + + + + + + + + + + + + + + + + .dll + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(VC_ExecutablePath_x64);$(WindowsSDK_ExecutablePath);$(VS_ExecutablePath);$(MSBuild_ExecutablePath);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH) + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreadedDebug + Speed + false + Default + false + None + + + vstplug.def + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + false + MultiThreadedDebug + Default + false + None + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + libcmt.dll;libcmtd.dll;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + MultiThreaded + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + vstplug.def + + + + + Level3 + MaxSpeed + false + false + true + C:\Users\christopherjohnson\Documents\Visual Studio 2015\Projects\VSTProject\vst2.x;C:\Users\christopherjohnson\Documents\vstsdk2.4;%(AdditionalIncludeDirectories) + None + Speed + WINDOWS;_WINDOWS;WIN32;_USRDLL;_USE_MATH_DEFINES;_CRT_SECURE_NO_DEPRECATE;VST_FORCE_DEPRECATED;%(PreprocessorDefinitions) + MultiThreaded + + + true + true + libcmt.dll;libcmtd.dll;msvcrt.lib;libc.lib;libcd.lib;libcmt.lib;msvcrtd.lib;%(IgnoreSpecificDefaultLibraries) + libcmt.lib;uuid.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + vstplug.def + + + + + + \ No newline at end of file diff --git a/plugins/WinVST/kCathedral/VSTProject.vcxproj.filters b/plugins/WinVST/kCathedral/VSTProject.vcxproj.filters new file mode 100755 index 000000000..60ddfdaf0 --- /dev/null +++ b/plugins/WinVST/kCathedral/VSTProject.vcxproj.filters @@ -0,0 +1,48 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + \ No newline at end of file diff --git a/plugins/WinVST/kCathedral/VSTProject.vcxproj.user b/plugins/WinVST/kCathedral/VSTProject.vcxproj.user new file mode 100755 index 000000000..221626789 --- /dev/null +++ b/plugins/WinVST/kCathedral/VSTProject.vcxproj.user @@ -0,0 +1,19 @@ + + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + + {ADEFF70D-84BF-47A1-91C3-FF6B0FC71218} + WindowsLocalDebugger + + \ No newline at end of file diff --git a/plugins/WinVST/kCathedral/kCathedral.cpp b/plugins/WinVST/kCathedral/kCathedral.cpp new file mode 100755 index 000000000..1965dd97b --- /dev/null +++ b/plugins/WinVST/kCathedral/kCathedral.cpp @@ -0,0 +1,274 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#include "kCathedral.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral(audioMaster);} + +kCathedral::kCathedral(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < delayA+2; count++) {aAL[count] = 0.0; aAR[count] = 0.0;} + for(int count = 0; count < delayB+2; count++) {aBL[count] = 0.0; aBR[count] = 0.0;} + for(int count = 0; count < delayC+2; count++) {aCL[count] = 0.0; aCR[count] = 0.0;} + for(int count = 0; count < delayD+2; count++) {aDL[count] = 0.0; aDR[count] = 0.0;} + for(int count = 0; count < delayE+2; count++) {aEL[count] = 0.0; aER[count] = 0.0;} + for(int count = 0; count < delayF+2; count++) {aFL[count] = 0.0; aFR[count] = 0.0;} + for(int count = 0; count < delayG+2; count++) {aGL[count] = 0.0; aGR[count] = 0.0;} + for(int count = 0; count < delayH+2; count++) {aHL[count] = 0.0; aHR[count] = 0.0;} + for(int count = 0; count < delayI+2; count++) {aIL[count] = 0.0; aIR[count] = 0.0;} + for(int count = 0; count < delayJ+2; count++) {aJL[count] = 0.0; aJR[count] = 0.0;} + for(int count = 0; count < delayK+2; count++) {aKL[count] = 0.0; aKR[count] = 0.0;} + for(int count = 0; count < delayL+2; count++) {aLL[count] = 0.0; aLR[count] = 0.0;} + for(int count = 0; count < delayM+2; count++) {aML[count] = 0.0; aMR[count] = 0.0;} + for(int count = 0; count < delayN+2; count++) {aNL[count] = 0.0; aNR[count] = 0.0;} + for(int count = 0; count < delayO+2; count++) {aOL[count] = 0.0; aOR[count] = 0.0;} + for(int count = 0; count < delayP+2; count++) {aPL[count] = 0.0; aPR[count] = 0.0;} + for(int count = 0; count < delayQ+2; count++) {aQL[count] = 0.0; aQR[count] = 0.0;} + for(int count = 0; count < delayR+2; count++) {aRL[count] = 0.0; aRR[count] = 0.0;} + for(int count = 0; count < delayS+2; count++) {aSL[count] = 0.0; aSR[count] = 0.0;} + for(int count = 0; count < delayT+2; count++) {aTL[count] = 0.0; aTR[count] = 0.0;} + for(int count = 0; count < delayU+2; count++) {aUL[count] = 0.0; aUR[count] = 0.0;} + for(int count = 0; count < delayV+2; count++) {aVL[count] = 0.0; aVR[count] = 0.0;} + for(int count = 0; count < delayW+2; count++) {aWL[count] = 0.0; aWR[count] = 0.0;} + for(int count = 0; count < delayX+2; count++) {aXL[count] = 0.0; aXR[count] = 0.0;} + for(int count = 0; count < delayY+2; count++) {aYL[count] = 0.0; aYR[count] = 0.0;} + + for(int count = 0; count < earlyA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < earlyB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < earlyC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < earlyD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < earlyE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < earlyF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < earlyG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < earlyH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < earlyI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + + for(int count = 0; count < predelay+2; count++) {aZL[count] = 0.0; aZR[count] = 0.0;} + for(int count = 0; count < vlfpredelay+2; count++) {aVLFL[count] = 0.0; aVLFR[count] = 0.0;} + + feedbackAL = 0.0; + feedbackBL = 0.0; + feedbackCL = 0.0; + feedbackDL = 0.0; + feedbackEL = 0.0; + + feedbackER = 0.0; + feedbackJR = 0.0; + feedbackOR = 0.0; + feedbackTR = 0.0; + feedbackYR = 0.0; + + prevMulchBL = 0.0; + prevMulchBR = 0.0; + prevMulchCL = 0.0; + prevMulchCR = 0.0; + prevMulchDL = 0.0; + prevMulchDR = 0.0; + prevMulchEL = 0.0; + prevMulchER = 0.0; + + tailL = 0.0; + tailR = 0.0; + + prevOutEL = 0.0; + prevOutER = 0.0; + prevInEL = 0.0; + prevInER = 0.0; + + for(int count = 0; count < 6; count++) {lastRefL[count] = 0.0; lastRefR[count] = 0.0;} + + earlyAL = 1; + earlyBL = 1; + earlyCL = 1; + earlyDL = 1; + earlyEL = 1; + earlyFL = 1; + earlyGL = 1; + earlyHL = 1; + earlyIL = 1; + + earlyAR = 1; + earlyBR = 1; + earlyCR = 1; + earlyDR = 1; + earlyER = 1; + earlyFR = 1; + earlyGR = 1; + earlyHR = 1; + earlyIR = 1; + + countAL = 1; + countBL = 1; + countCL = 1; + countDL = 1; + countEL = 1; + countFL = 1; + countGL = 1; + countHL = 1; + countIL = 1; + countJL = 1; + countKL = 1; + countLL = 1; + countML = 1; + countNL = 1; + countOL = 1; + countPL = 1; + countQL = 1; + countRL = 1; + countSL = 1; + countTL = 1; + countUL = 1; + countVL = 1; + countWL = 1; + countXL = 1; + countYL = 1; + + countAR = 1; + countBR = 1; + countCR = 1; + countDR = 1; + countER = 1; + countFR = 1; + countGR = 1; + countHR = 1; + countIR = 1; + countJR = 1; + countKR = 1; + countLR = 1; + countMR = 1; + countNR = 1; + countOR = 1; + countPR = 1; + countQR = 1; + countRR = 1; + countSR = 1; + countTR = 1; + countUR = 1; + countVR = 1; + countWR = 1; + countXR = 1; + countYR = 1; + + countZ = 1; + + cycle = 0; + + for (int x = 0; x < pear_total; x++) {pearA[x] = 0.0; pearB[x] = 0.0; pearC[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + //from SubTight + + 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 +} + +kCathedral::~kCathedral() {} +VstInt32 kCathedral::getVendorVersion () {return 1000;} +void kCathedral::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral::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 kCathedral::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + /* 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 kCathedral::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + /* 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 kCathedral::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; 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 kCathedral::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Wetness", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this is our labels for displaying in the VST host +} + +void kCathedral::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: float2string (A, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void kCathedral::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral::getEffectName(char* name) { + vst_strncpy(name, "kCathedral", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral", kVstMaxProductStrLen); return true; +} + +bool kCathedral::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/WinVST/kCathedral/kCathedral.h b/plugins/WinVST/kCathedral/kCathedral.h new file mode 100755 index 000000000..7533c8f90 --- /dev/null +++ b/plugins/WinVST/kCathedral/kCathedral.h @@ -0,0 +1,307 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#define __kCathedral_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; // + +//regular3x3 +const int earlyA = 437; const int earlyB = 284; const int earlyC = 754; const int earlyD = 1538; const int earlyE = 59; const int earlyF = 1829; const int earlyG = 37; const int earlyH = 3304; const int earlyI = 200; const int predelay = 1014; const int vlfpredelay = 3275; //6 to 151 ms, 741 seat theater. Scarcity, 1 in 17259 +//kCathedralEarly741 + +const int delayA = 253; const int delayB = 1395; const int delayC = 248; const int delayD = 284; const int delayE = 952; const int delayF = 430; const int delayG = 1253; const int delayH = 889; const int delayI = 798; const int delayJ = 397; const int delayK = 1166; const int delayL = 250; const int delayM = 38; const int delayN = 1389; const int delayO = 1103; const int delayP = 50; const int delayQ = 1317; const int delayR = 40; const int delayS = 1393; const int delayT = 325; const int delayU = 11; const int delayV = 265; const int delayW = 1339; const int delayX = 315; const int delayY = 753; //16 to 153 ms, 860 seat hall. Scarcity, 1 in 60182 +//###RevSmooth860 + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcth'; //Change this to what the AU identity is! + +class kCathedral : + public AudioEffectX +{ +public: + kCathedral(audioMasterCallback audioMaster); + ~kCathedral(); + 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; + + double gainOutL; + double gainOutR; + + double eAL[earlyA+5]; + double eBL[earlyB+5]; + double eCL[earlyC+5]; + double eDL[earlyD+5]; + double eEL[earlyE+5]; + double eFL[earlyF+5]; + double eGL[earlyG+5]; + double eHL[earlyH+5]; + double eIL[earlyI+5]; + + double eAR[earlyA+5]; + double eBR[earlyB+5]; + double eCR[earlyC+5]; + double eDR[earlyD+5]; + double eER[earlyE+5]; + double eFR[earlyF+5]; + double eGR[earlyG+5]; + double eHR[earlyH+5]; + double eIR[earlyI+5]; + + int earlyAL, earlyAR; + int earlyBL, earlyBR; + int earlyCL, earlyCR; + int earlyDL, earlyDR; + int earlyEL, earlyER; + int earlyFL, earlyFR; + int earlyGL, earlyGR; + int earlyHL, earlyHR; + int earlyIL, earlyIR; + + double aAL[delayA+5]; + double aBL[delayB+5]; + double aCL[delayC+5]; + double aDL[delayD+5]; + double aEL[delayE+5]; + double aFL[delayF+5]; + double aGL[delayG+5]; + double aHL[delayH+5]; + double aIL[delayI+5]; + double aJL[delayJ+5]; + double aKL[delayK+5]; + double aLL[delayL+5]; + double aML[delayM+5]; + double aNL[delayN+5]; + double aOL[delayO+5]; + double aPL[delayP+5]; + double aQL[delayQ+5]; + double aRL[delayR+5]; + double aSL[delayS+5]; + double aTL[delayT+5]; + double aUL[delayU+5]; + double aVL[delayV+5]; + double aWL[delayW+5]; + double aXL[delayX+5]; + double aYL[delayY+5]; + + double aAR[delayA+5]; + double aBR[delayB+5]; + double aCR[delayC+5]; + double aDR[delayD+5]; + double aER[delayE+5]; + double aFR[delayF+5]; + double aGR[delayG+5]; + double aHR[delayH+5]; + double aIR[delayI+5]; + double aJR[delayJ+5]; + double aKR[delayK+5]; + double aLR[delayL+5]; + double aMR[delayM+5]; + double aNR[delayN+5]; + double aOR[delayO+5]; + double aPR[delayP+5]; + double aQR[delayQ+5]; + double aRR[delayR+5]; + double aSR[delayS+5]; + double aTR[delayT+5]; + double aUR[delayU+5]; + double aVR[delayV+5]; + double aWR[delayW+5]; + double aXR[delayX+5]; + double aYR[delayY+5]; + + double aZL[predelay+5]; + double aZR[predelay+5]; + + double aVLFL[vlfpredelay+5]; + double aVLFR[vlfpredelay+5]; + + + double feedbackAL; + double feedbackBL; + double feedbackCL; + double feedbackDL; + double feedbackEL; + + double feedbackER; + double feedbackJR; + double feedbackOR; + double feedbackTR; + double feedbackYR; + + double lastRefL[7]; + double lastRefR[7]; + + int countAL; + int countBL; + int countCL; + int countDL; + int countEL; + int countFL; + int countGL; + int countHL; + int countIL; + int countJL; + int countKL; + int countLL; + int countML; + int countNL; + int countOL; + int countPL; + int countQL; + int countRL; + int countSL; + int countTL; + int countUL; + int countVL; + int countWL; + int countXL; + int countYL; + + int countAR; + int countBR; + int countCR; + int countDR; + int countER; + int countFR; + int countGR; + int countHR; + int countIR; + int countJR; + int countKR; + int countLR; + int countMR; + int countNR; + int countOR; + int countPR; + int countQR; + int countRR; + int countSR; + int countTR; + int countUR; + int countVR; + int countWR; + int countXR; + int countYR; + + int countZ; + int countVLF; + + int cycle; + + enum { + prevSampL1, + prevSlewL1, + prevSampR1, + prevSlewR1, + prevSampL2, + prevSlewL2, + prevSampR2, + prevSlewR2, + prevSampL3, + prevSlewL3, + prevSampR3, + prevSlewR3, + prevSampL4, + prevSlewL4, + prevSampR4, + prevSlewR4, + prevSampL5, + prevSlewL5, + prevSampR5, + prevSlewR5, + prevSampL6, + prevSlewL6, + prevSampR6, + prevSlewR6, + prevSampL7, + prevSlewL7, + prevSampR7, + prevSlewR7, + prevSampL8, + prevSlewL8, + prevSampR8, + prevSlewR8, + prevSampL9, + prevSlewL9, + prevSampR9, + prevSlewR9, + prevSampL10, + prevSlewL10, + prevSampR10, + prevSlewR10, + pear_total + }; //fixed frequency pear filter for ultrasonics, stereo + + double pearA[pear_total]; //probably worth just using a number here + double pearB[pear_total]; //probably worth just using a number here + double pearC[pear_total]; //probably worth just using a number here + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double prevMulchBL; + double prevMulchBR; + double prevMulchCL; + double prevMulchCR; + double prevMulchDL; + double prevMulchDR; + double prevMulchEL; + double prevMulchER; + + double prevOutEL; + double prevOutER; + double prevInEL; + double prevInER; + + double tailL; + double tailR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/WinVST/kCathedral/kCathedralProc.cpp b/plugins/WinVST/kCathedral/kCathedralProc.cpp new file mode 100755 index 000000000..18c4e88c2 --- /dev/null +++ b/plugins/WinVST/kCathedral/kCathedralProc.cpp @@ -0,0 +1,1070 @@ +/* ======================================== + * kCathedral - kCathedral.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral_H +#include "kCathedral.h" +#endif + +void kCathedral::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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 kCathedral::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(); + int cycleEnd = floor(overallscale); + if (cycleEnd < 1) cycleEnd = 1; + if (cycleEnd > 4) cycleEnd = 4; + //this is going to be 2 for 88.1 or 96k, 3 for silly people, 4 for 176 or 192k + if (cycle > cycleEnd-1) cycle = cycleEnd-1; //sanity check + int adjPredelay = predelay; + int adjSubDelay = vlfpredelay; + double wet = A*2.0; + double dry = 2.0 - wet; + if (wet > 1.0) wet = 1.0; + if (wet < 0.0) wet = 0.0; + if (dry > 1.0) dry = 1.0; + if (dry < 0.0) dry = 0.0; + //this reverb makes 50% full dry AND full wet, not crossfaded. + //that's so it can be on submixes without cutting back dry channel when adjusted: + //unless you go super heavy, you are only adjusting the added verb loudness. + + while (--sampleFrames >= 0) + { + double inputSampleL = *in1; + double inputSampleR = *in2; + if (fabs(inputSampleL)<1.18e-23) inputSampleL = fpdL * 1.18e-17; + if (fabs(inputSampleR)<1.18e-23) inputSampleR = fpdR * 1.18e-17; + double drySampleL = inputSampleL; + double drySampleR = inputSampleR; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outSample; + outSample = (inputSampleL + prevInEL)*0.5; + prevInEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevInER)*0.5; + prevInER = inputSampleR; inputSampleR = outSample; + + //predelay + aZL[countZ] = inputSampleL; + aZR[countZ] = inputSampleR; + countZ++; if (countZ < 0 || countZ > adjPredelay) countZ = 0; + inputSampleL = aZL[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + inputSampleR = aZR[countZ-((countZ > adjPredelay)?adjPredelay+1:0)]; + //end predelay + + //begin SubTight section + double outSampleL = inputSampleL * 0.0026856; + double outSampleR = inputSampleR * 0.0026856; + double scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subAL+(sin(subAL-outSampleL)*scale)); + subAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subAR+(sin(subAR-outSampleR)*scale)); + subAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subBL+(sin(subBL-outSampleL)*scale)); + subBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subBR+(sin(subBR-outSampleR)*scale)); + subBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (subCL+(sin(subCL-outSampleL)*scale)); + subCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (subCR+(sin(subCR-outSampleR)*scale)); + subCR = outSampleR*scale; + outSampleL = -outSampleL; outSampleR = -outSampleR; + if (outSampleL > 0.25) outSampleL = 0.25; if (outSampleL < -0.25) outSampleL = -0.25; + if (outSampleR > 0.25) outSampleR = 0.25; if (outSampleR < -0.25) outSampleR = -0.25; + outSampleL *= 16.0; + outSampleR *= 16.0; + inputSampleL -= outSampleL; + inputSampleR -= outSampleR; + //end SubTight section + + //VLF predelay + aVLFL[countVLF] = outSampleL; + aVLFR[countVLF] = outSampleR; + countVLF++; if (countVLF < 0 || countVLF > adjSubDelay) countVLF = 0; + outSampleL = aVLFL[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + outSampleR = aVLFR[countVLF-((countVLF > adjSubDelay)?adjSubDelay+1:0)] * 2.0; + //end VLF predelay + + //begin with early reflections + eAL[earlyAL] = inputSampleL; + eBL[earlyBL] = inputSampleL; + eCL[earlyCL] = inputSampleL; + eCR[earlyCR] = inputSampleR; + eFR[earlyFR] = inputSampleR; + eIR[earlyIR] = inputSampleR; + + earlyAL++; if (earlyAL < 0 || earlyAL > earlyA) earlyAL = 0; + earlyBL++; if (earlyBL < 0 || earlyBL > earlyB) earlyBL = 0; + earlyCL++; if (earlyCL < 0 || earlyCL > earlyC) earlyCL = 0; + earlyCR++; if (earlyCR < 0 || earlyCR > earlyC) earlyCR = 0; + earlyFR++; if (earlyFR < 0 || earlyFR > earlyF) earlyFR = 0; + earlyIR++; if (earlyIR < 0 || earlyIR > earlyI) earlyIR = 0; + + double oeAL = eAL[earlyAL-((earlyAL > earlyA)?earlyA+1:0)]; + double oeBL = eBL[earlyBL-((earlyBL > earlyB)?earlyB+1:0)]; + double oeCL = eCL[earlyCL-((earlyCL > earlyC)?earlyC+1:0)]; + double oeCR = eCR[earlyCR-((earlyCR > earlyC)?earlyC+1:0)]; + double oeFR = eFR[earlyFR-((earlyFR > earlyF)?earlyF+1:0)]; + double oeIR = eIR[earlyIR-((earlyIR > earlyI)?earlyI+1:0)]; + + eDL[earlyDL] = ((oeBL + oeCL) - oeAL); + eEL[earlyEL] = ((oeAL + oeCL) - oeBL); + eFL[earlyFL] = ((oeAL + oeBL) - oeCL); + eBR[earlyBR] = ((oeFR + oeIR) - oeCR); + eER[earlyER] = ((oeCR + oeIR) - oeFR); + eHR[earlyHR] = ((oeCR + oeFR) - oeIR); + + earlyDL++; if (earlyDL < 0 || earlyDL > earlyD) earlyDL = 0; + earlyEL++; if (earlyEL < 0 || earlyEL > earlyE) earlyEL = 0; + earlyFL++; if (earlyFL < 0 || earlyFL > earlyF) earlyFL = 0; + earlyBR++; if (earlyBR < 0 || earlyBR > earlyB) earlyBR = 0; + earlyER++; if (earlyER < 0 || earlyER > earlyE) earlyER = 0; + earlyHR++; if (earlyHR < 0 || earlyHR > earlyH) earlyHR = 0; + + double oeDL = eDL[earlyDL-((earlyDL > earlyD)?earlyD+1:0)]; + double oeEL = eEL[earlyEL-((earlyEL > earlyE)?earlyE+1:0)]; + double oeFL = eFL[earlyFL-((earlyFL > earlyF)?earlyF+1:0)]; + double oeBR = eBR[earlyBR-((earlyBR > earlyB)?earlyB+1:0)]; + double oeER = eER[earlyER-((earlyER > earlyE)?earlyE+1:0)]; + double oeHR = eHR[earlyHR-((earlyHR > earlyH)?earlyH+1:0)]; + + eGL[earlyGL] = ((oeEL + oeFL) - oeDL); + eHL[earlyHL] = ((oeDL + oeFL) - oeEL); + eIL[earlyIL] = ((oeDL + oeEL) - oeFL); + eAR[earlyAR] = ((oeER + oeHR) - oeBR); + eDR[earlyDR] = ((oeBR + oeHR) - oeER); + eGR[earlyGR] = ((oeBR + oeER) - oeHR); + + earlyGL++; if (earlyGL < 0 || earlyGL > earlyG) earlyGL = 0; + earlyHL++; if (earlyHL < 0 || earlyHL > earlyH) earlyHL = 0; + earlyIL++; if (earlyIL < 0 || earlyIL > earlyI) earlyIL = 0; + earlyAR++; if (earlyAR < 0 || earlyAR > earlyA) earlyAR = 0; + earlyDR++; if (earlyDR < 0 || earlyDR > earlyD) earlyDR = 0; + earlyGR++; if (earlyGR < 0 || earlyGR > earlyG) earlyGR = 0; + + double oeGL = eGL[earlyGL-((earlyGL > earlyG)?earlyG+1:0)]; + double oeHL = eHL[earlyHL-((earlyHL > earlyH)?earlyH+1:0)]; + double oeIL = eIL[earlyIL-((earlyIL > earlyI)?earlyI+1:0)]; + double oeAR = eAR[earlyAR-((earlyAR > earlyA)?earlyA+1:0)]; + double oeDR = eDR[earlyDR-((earlyDR > earlyD)?earlyD+1:0)]; + double oeGR = eGR[earlyGR-((earlyGR > earlyG)?earlyG+1:0)]; + + double earlyReflectionsL = oeGL + oeHL + oeIL; + double earlyReflectionsR = oeAR + oeDR + oeGR; + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000293); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000293); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000293); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000293); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000293); + + aER[countER] = inputSampleR + (feedbackER * 0.000293); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000293); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000293); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000293); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000293); + + countAL++; if (countAL < 0 || countAL > delayA) countAL = 0; + countBL++; if (countBL < 0 || countBL > delayB) countBL = 0; + countCL++; if (countCL < 0 || countCL > delayC) countCL = 0; + countDL++; if (countDL < 0 || countDL > delayD) countDL = 0; + countEL++; if (countEL < 0 || countEL > delayE) countEL = 0; + + countER++; if (countER < 0 || countER > delayE) countER = 0; + countJR++; if (countJR < 0 || countJR > delayJ) countJR = 0; + countOR++; if (countOR < 0 || countOR > delayO) countOR = 0; + countTR++; if (countTR < 0 || countTR > delayT) countTR = 0; + countYR++; if (countYR < 0 || countYR > delayY) countYR = 0; + + double outAL = aAL[countAL-((countAL > delayA)?delayA+1:0)]; + double outBL = aBL[countBL-((countBL > delayB)?delayB+1:0)]; + double outCL = aCL[countCL-((countCL > delayC)?delayC+1:0)]; + double outDL = aDL[countDL-((countDL > delayD)?delayD+1:0)]; + double outEL = aEL[countEL-((countEL > delayE)?delayE+1:0)]; + + double outER = aER[countER-((countER > delayE)?delayE+1:0)]; + double outJR = aJR[countJR-((countJR > delayJ)?delayJ+1:0)]; + double outOR = aOR[countOR-((countOR > delayO)?delayO+1:0)]; + double outTR = aTR[countTR-((countTR > delayT)?delayT+1:0)]; + double outYR = aYR[countYR-((countYR > delayY)?delayY+1:0)]; + + //-------- one + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outAL - pearA[x]) + pearA[x+1])*0.304*0.5; + pearA[x] = outAL = (0.304 * outAL) + ((1.0-0.304) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((outER - pearA[x+2]) + pearA[x+3])*0.304*0.5; + pearA[x+2] = outER = (0.304 * outER) + ((1.0-0.304) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + aFL[countFL] = ((outAL*3.0) - ((outBL + outCL + outDL + outEL)*2.0)); + aGL[countGL] = ((outBL*3.0) - ((outAL + outCL + outDL + outEL)*2.0)); + aHL[countHL] = ((outCL*3.0) - ((outAL + outBL + outDL + outEL)*2.0)); + aIL[countIL] = ((outDL*3.0) - ((outAL + outBL + outCL + outEL)*2.0)); + aJL[countJL] = ((outEL*3.0) - ((outAL + outBL + outCL + outDL)*2.0)); + + aDR[countDR] = ((outER*3.0) - ((outJR + outOR + outTR + outYR)*2.0)); + aIR[countIR] = ((outJR*3.0) - ((outER + outOR + outTR + outYR)*2.0)); + aNR[countNR] = ((outOR*3.0) - ((outER + outJR + outTR + outYR)*2.0)); + aSR[countSR] = ((outTR*3.0) - ((outER + outJR + outOR + outYR)*2.0)); + aXR[countXR] = ((outYR*3.0) - ((outER + outJR + outOR + outTR)*2.0)); + + countFL++; if (countFL < 0 || countFL > delayF) countFL = 0; + countGL++; if (countGL < 0 || countGL > delayG) countGL = 0; + countHL++; if (countHL < 0 || countHL > delayH) countHL = 0; + countIL++; if (countIL < 0 || countIL > delayI) countIL = 0; + countJL++; if (countJL < 0 || countJL > delayJ) countJL = 0; + + countDR++; if (countDR < 0 || countDR > delayD) countDR = 0; + countIR++; if (countIR < 0 || countIR > delayI) countIR = 0; + countNR++; if (countNR < 0 || countNR > delayN) countNR = 0; + countSR++; if (countSR < 0 || countSR > delayS) countSR = 0; + countXR++; if (countXR < 0 || countXR > delayX) countXR = 0; + + double outFL = aFL[countFL-((countFL > delayF)?delayF+1:0)]; + double outGL = aGL[countGL-((countGL > delayG)?delayG+1:0)]; + double outHL = aHL[countHL-((countHL > delayH)?delayH+1:0)]; + double outIL = aIL[countIL-((countIL > delayI)?delayI+1:0)]; + double outJL = aJL[countJL-((countJL > delayJ)?delayJ+1:0)]; + + double outDR = aDR[countDR-((countDR > delayD)?delayD+1:0)]; + double outIR = aIR[countIR-((countIR > delayI)?delayI+1:0)]; + double outNR = aNR[countNR-((countNR > delayN)?delayN+1:0)]; + double outSR = aSR[countSR-((countSR > delayS)?delayS+1:0)]; + double outXR = aXR[countXR-((countXR > delayX)?delayX+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outFL - pearB[x]) + pearB[x+1])*0.566*0.5; + pearB[x] = outFL = (0.566 * outFL) + ((1.0-0.566) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((outDR - pearB[x+2]) + pearB[x+3])*0.566*0.5; + pearB[x+2] = outDR = (0.566 * outDR) + ((1.0-0.566) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + outSample = (outGL + prevMulchBL)*0.5; + prevMulchBL = outGL; outGL = outSample; + + outSample = (outIR + prevMulchBR)*0.5; + prevMulchBR = outIR; outIR = outSample; + + //-------- two + + aKL[countKL] = ((outFL*3.0) - ((outGL + outHL + outIL + outJL)*2.0)); + aLL[countLL] = ((outGL*3.0) - ((outFL + outHL + outIL + outJL)*2.0)); + aML[countML] = ((outHL*3.0) - ((outFL + outGL + outIL + outJL)*2.0)); + aNL[countNL] = ((outIL*3.0) - ((outFL + outGL + outHL + outJL)*2.0)); + aOL[countOL] = ((outJL*3.0) - ((outFL + outGL + outHL + outIL)*2.0)); + + aCR[countCR] = ((outDR*3.0) - ((outIR + outNR + outSR + outXR)*2.0)); + aHR[countHR] = ((outIR*3.0) - ((outDR + outNR + outSR + outXR)*2.0)); + aMR[countMR] = ((outNR*3.0) - ((outDR + outIR + outSR + outXR)*2.0)); + aRR[countRR] = ((outSR*3.0) - ((outDR + outIR + outNR + outXR)*2.0)); + aWR[countWR] = ((outXR*3.0) - ((outDR + outIR + outNR + outSR)*2.0)); + + countKL++; if (countKL < 0 || countKL > delayK) countKL = 0; + countLL++; if (countLL < 0 || countLL > delayL) countLL = 0; + countML++; if (countML < 0 || countML > delayM) countML = 0; + countNL++; if (countNL < 0 || countNL > delayN) countNL = 0; + countOL++; if (countOL < 0 || countOL > delayO) countOL = 0; + + countCR++; if (countCR < 0 || countCR > delayC) countCR = 0; + countHR++; if (countHR < 0 || countHR > delayH) countHR = 0; + countMR++; if (countMR < 0 || countMR > delayM) countMR = 0; + countRR++; if (countRR < 0 || countRR > delayR) countRR = 0; + countWR++; if (countWR < 0 || countWR > delayW) countWR = 0; + + double outKL = aKL[countKL-((countKL > delayK)?delayK+1:0)]; + double outLL = aLL[countLL-((countLL > delayL)?delayL+1:0)]; + double outML = aML[countML-((countML > delayM)?delayM+1:0)]; + double outNL = aNL[countNL-((countNL > delayN)?delayN+1:0)]; + double outOL = aOL[countOL-((countOL > delayO)?delayO+1:0)]; + + double outCR = aCR[countCR-((countCR > delayC)?delayC+1:0)]; + double outHR = aHR[countHR-((countHR > delayH)?delayH+1:0)]; + double outMR = aMR[countMR-((countMR > delayM)?delayM+1:0)]; + double outRR = aRR[countRR-((countRR > delayR)?delayR+1:0)]; + double outWR = aWR[countWR-((countWR > delayW)?delayW+1:0)]; + + //-------- mulch + + for (int x = 0; x < 31.32; x += 4) { + double slew = ((outKL - pearC[x]) + pearC[x+1])*0.416*0.5; + pearC[x] = outKL = (0.416 * outKL) + ((1.0-0.416) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((outCR - pearC[x+2]) + pearC[x+3])*0.416*0.5; + pearC[x+2] = outCR = (0.416 * outCR) + ((1.0-0.416) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + outSample = (outLL + prevMulchCL)*0.5; + prevMulchCL = outLL; outLL = outSample; + + outSample = (outHR + prevMulchCR)*0.5; + prevMulchCR = outHR; outHR = outSample; + + //-------- three + + aPL[countPL] = ((outKL*3.0) - ((outLL + outML + outNL + outOL)*2.0)); + aQL[countQL] = ((outLL*3.0) - ((outKL + outML + outNL + outOL)*2.0)); + aRL[countRL] = ((outML*3.0) - ((outKL + outLL + outNL + outOL)*2.0)); + aSL[countSL] = ((outNL*3.0) - ((outKL + outLL + outML + outOL)*2.0)); + aTL[countTL] = ((outOL*3.0) - ((outKL + outLL + outML + outNL)*2.0)); + + aBR[countBR] = ((outCR*3.0) - ((outHR + outMR + outRR + outWR)*2.0)); + aGR[countGR] = ((outHR*3.0) - ((outCR + outMR + outRR + outWR)*2.0)); + aLR[countLR] = ((outMR*3.0) - ((outCR + outHR + outRR + outWR)*2.0)); + aQR[countQR] = ((outRR*3.0) - ((outCR + outHR + outMR + outWR)*2.0)); + aVR[countVR] = ((outWR*3.0) - ((outCR + outHR + outMR + outRR)*2.0)); + + countPL++; if (countPL < 0 || countPL > delayP) countPL = 0; + countQL++; if (countQL < 0 || countQL > delayQ) countQL = 0; + countRL++; if (countRL < 0 || countRL > delayR) countRL = 0; + countSL++; if (countSL < 0 || countSL > delayS) countSL = 0; + countTL++; if (countTL < 0 || countTL > delayT) countTL = 0; + + countBR++; if (countBR < 0 || countBR > delayB) countBR = 0; + countGR++; if (countGR < 0 || countGR > delayG) countGR = 0; + countLR++; if (countLR < 0 || countLR > delayL) countLR = 0; + countQR++; if (countQR < 0 || countQR > delayQ) countQR = 0; + countVR++; if (countVR < 0 || countVR > delayV) countVR = 0; + + double outPL = aPL[countPL-((countPL > delayP)?delayP+1:0)]; + double outQL = aQL[countQL-((countQL > delayQ)?delayQ+1:0)]; + double outRL = aRL[countRL-((countRL > delayR)?delayR+1:0)]; + double outSL = aSL[countSL-((countSL > delayS)?delayS+1:0)]; + double outTL = aTL[countTL-((countTL > delayT)?delayT+1:0)]; + + double outBR = aBR[countBR-((countBR > delayB)?delayB+1:0)]; + double outGR = aGR[countGR-((countGR > delayG)?delayG+1:0)]; + double outLR = aLR[countLR-((countLR > delayL)?delayL+1:0)]; + double outQR = aQR[countQR-((countQR > delayQ)?delayQ+1:0)]; + double outVR = aVR[countVR-((countVR > delayV)?delayV+1:0)]; + + outSample = (outQL + prevMulchDL)*0.5; + prevMulchDL = outQL; outQL = outSample; + + outSample = (outGR + prevMulchDR)*0.5; + prevMulchDR = outGR; outGR = outSample; + + //-------- four + + aUL[countUL] = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)); + aVL[countVL] = ((outQL*3.0) - ((outPL + outRL + outSL + outTL)*2.0)); + aWL[countWL] = ((outRL*3.0) - ((outPL + outQL + outSL + outTL)*2.0)); + aXL[countXL] = ((outSL*3.0) - ((outPL + outQL + outRL + outTL)*2.0)); + aYL[countYL] = ((outTL*3.0) - ((outPL + outQL + outRL + outSL)*2.0)); + + aAR[countAR] = ((outBR*3.0) - ((outGR + outLR + outQR + outVR)*2.0)); + aFR[countFR] = ((outGR*3.0) - ((outBR + outLR + outQR + outVR)*2.0)); + aKR[countKR] = ((outLR*3.0) - ((outBR + outGR + outQR + outVR)*2.0)); + aPR[countPR] = ((outQR*3.0) - ((outBR + outGR + outLR + outVR)*2.0)); + aUR[countUR] = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)); + + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countVL++; if (countVL < 0 || countVL > delayV) countVL = 0; + countWL++; if (countWL < 0 || countWL > delayW) countWL = 0; + countXL++; if (countXL < 0 || countXL > delayX) countXL = 0; + countYL++; if (countYL < 0 || countYL > delayY) countYL = 0; + + countAR++; if (countAR < 0 || countAR > delayA) countAR = 0; + countFR++; if (countFR < 0 || countFR > delayF) countFR = 0; + countKR++; if (countKR < 0 || countKR > delayK) countKR = 0; + countPR++; if (countPR < 0 || countPR > delayP) countPR = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + + double outUL = aUL[countUL-((countUL > delayU)?delayU+1:0)]; + double outVL = aVL[countVL-((countVL > delayV)?delayV+1:0)]; + double outWL = aWL[countWL-((countWL > delayW)?delayW+1:0)]; + double outXL = aXL[countXL-((countXL > delayX)?delayX+1:0)]; + double outYL = aYL[countYL-((countYL > delayY)?delayY+1:0)]; + + double outAR = aAR[countAR-((countAR > delayA)?delayA+1:0)]; + double outFR = aFR[countFR-((countFR > delayF)?delayF+1:0)]; + double outKR = aKR[countKR-((countKR > delayK)?delayK+1:0)]; + double outPR = aPR[countPR-((countPR > delayP)?delayP+1:0)]; + double outUR = aUR[countUR-((countUR > delayU)?delayU+1:0)]; + + //-------- mulch + + outSample = (outVL + prevMulchEL)*0.5; + prevMulchEL = outVL; outVL = outSample; + + outSample = (outFR + prevMulchER)*0.5; + prevMulchER = outFR; outFR = outSample; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + feedbackJR = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackBL = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0016; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0016; + //and take the final combined sum of outputs, corrected for Householder gain + + inputSampleL += (earlyReflectionsL*0.2); + inputSampleR += (earlyReflectionsR*0.2); + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (gainOutL < 0.0078125) gainOutL = 0.0078125; if (gainOutL > 1.0) gainOutL = 1.0; + if (gainOutR < 0.0078125) gainOutR = 0.0078125; if (gainOutR > 1.0) gainOutR = 1.0; + //gain of 1,0 gives you a super-clean one, gain of 2 is obviously compressing + //smaller number is maximum clamping, if too small it'll take a while to bounce back + inputSampleL *= gainOutL; inputSampleR *= gainOutR; + gainOutL += sin((fabs(inputSampleL*4)>1)?4:fabs(inputSampleL*4))*pow(inputSampleL,4); + gainOutR += sin((fabs(inputSampleR*4)>1)?4:fabs(inputSampleR*4))*pow(inputSampleR,4); + //4.71239 radians sined will turn to -1 which is the maximum gain reduction speed + inputSampleL *= 4.0; inputSampleR *= 4.0; + //curve! To get a compressed effect that matches a certain other plugin + //that is too overprocessed for its own good :) + + outSample = (inputSampleL + prevOutEL)*0.5; + prevOutEL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + prevOutER)*0.5; + prevOutER = inputSampleR; inputSampleR = outSample; + + if (cycleEnd == 4) { + lastRefL[0] = lastRefL[4]; //start from previous last + lastRefL[2] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[1] = (lastRefL[0] + lastRefL[2])/2; //one quarter + lastRefL[3] = (lastRefL[2] + inputSampleL)/2; //three quarters + lastRefL[4] = inputSampleL; //full + lastRefR[0] = lastRefR[4]; //start from previous last + lastRefR[2] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[1] = (lastRefR[0] + lastRefR[2])/2; //one quarter + lastRefR[3] = (lastRefR[2] + inputSampleR)/2; //three quarters + lastRefR[4] = inputSampleR; //full + } + if (cycleEnd == 3) { + lastRefL[0] = lastRefL[3]; //start from previous last + lastRefL[2] = (lastRefL[0]+lastRefL[0]+inputSampleL)/3; //third + lastRefL[1] = (lastRefL[0]+inputSampleL+inputSampleL)/3; //two thirds + lastRefL[3] = inputSampleL; //full + lastRefR[0] = lastRefR[3]; //start from previous last + lastRefR[2] = (lastRefR[0]+lastRefR[0]+inputSampleR)/3; //third + lastRefR[1] = (lastRefR[0]+inputSampleR+inputSampleR)/3; //two thirds + lastRefR[3] = inputSampleR; //full + } + if (cycleEnd == 2) { + lastRefL[0] = lastRefL[2]; //start from previous last + lastRefL[1] = (lastRefL[0] + inputSampleL)/2; //half + lastRefL[2] = inputSampleL; //full + lastRefR[0] = lastRefR[2]; //start from previous last + lastRefR[1] = (lastRefR[0] + inputSampleR)/2; //half + lastRefR[2] = inputSampleR; //full + } + if (cycleEnd == 1) { + lastRefL[0] = inputSampleL; + lastRefR[0] = inputSampleR; + } + cycle = 0; //reset + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + } else { + inputSampleL = lastRefL[cycle]; + inputSampleR = lastRefR[cycle]; + //we are going through our references now + } + + inputSampleL *= 0.25; inputSampleR *= 0.25; + if (inputSampleL > 2.8) inputSampleL = 2.8; + if (inputSampleL < -2.8) inputSampleL = -2.8; + if (inputSampleR > 2.8) inputSampleR = 2.8; + if (inputSampleR < -2.8) inputSampleR = -2.8;//clip BigFastArcSin harder + if (inputSampleL > 0.0) inputSampleL = (inputSampleL*2.0)/(2.8274333882308-inputSampleL); + else inputSampleL = -(inputSampleL*-2.0)/(2.8274333882308+inputSampleL); + if (inputSampleR > 0.0) inputSampleR = (inputSampleR*2.0)/(2.8274333882308-inputSampleR); + else inputSampleR = -(inputSampleR*-2.0)/(2.8274333882308+inputSampleR); + //BigFastArcSin output stage + + if (cycleEnd > 1) { + double outSample = (inputSampleL + tailL)*0.5; + tailL = inputSampleL; inputSampleL = outSample; + outSample = (inputSampleR + tailR)*0.5; + tailR = inputSampleR; inputSampleR = outSample; + } //let's average only at elevated sample rates + + if (wet < 1.0) {inputSampleL *= wet; inputSampleR *= wet;} + if (dry < 1.0) {drySampleL *= dry; drySampleR *= dry;} + inputSampleL += drySampleL; inputSampleR += drySampleR; + //this is our submix verb dry/wet: 0.5 is BOTH at FULL VOLUME + //purpose is that, if you're adding verb, you're not altering other balances + + //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/WinVST/kCathedral/vstplug.def b/plugins/WinVST/kCathedral/vstplug.def new file mode 100755 index 000000000..5bf499aa2 --- /dev/null +++ b/plugins/WinVST/kCathedral/vstplug.def @@ -0,0 +1,3 @@ +EXPORTS + VSTPluginMain + main=VSTPluginMain \ No newline at end of file diff --git a/what.txt b/what.txt index 7959c7498..a4a47e541 100644 --- a/what.txt +++ b/what.txt @@ -89,6 +89,8 @@ Console8ChannelHype swaps out just the In section of Console8ChannelIn, for a br Console8SubHype swaps out just the In section of Console8SubIn, for a brighter sparklier circuit. Console8LiteChannel is simplified Console8, working with just a single mix buss. Console8LiteBuss is simplified Console8, working with just a single mix buss. +ConsoleMCBuss goes for the tone shaping of the classic MCI console! +ConsoleMCChannel goes for the tone shaping of the classic MCI console! Creature is a soft slew saturator, a new class of noisechanger. CrickBass is a flexible but aggressive bass tone for dual pickups. CrunchyGrooveWear is a version of GrooveWear for more edge and distortion.