From 6e9aeb129aa2da112026d1816953c079d887bc75 Mon Sep 17 00:00:00 2001 From: Christopher Johnson Date: Sat, 3 Feb 2024 19:03:06 -0500 Subject: [PATCH] CloudCoat --- Airwindopedia.txt | 30 +- plugins/LinuxVST/CMakeLists.txt | 2 + plugins/LinuxVST/src/CloudCoat/CloudCoat.cpp | 247 ++ plugins/LinuxVST/src/CloudCoat/CloudCoat.h | 214 ++ .../LinuxVST/src/CloudCoat/CloudCoatProc.cpp | 846 +++++++ .../LinuxVST/src/kCathedral2/kCathedral2.cpp | 281 +++ .../LinuxVST/src/kCathedral2/kCathedral2.h | 344 +++ .../src/kCathedral2/kCathedral2Proc.cpp | 1218 +++++++++ plugins/MacAU/CloudCoat/CloudCoat.cpp | 734 ++++++ plugins/MacAU/CloudCoat/CloudCoat.exp | 1 + plugins/MacAU/CloudCoat/CloudCoat.h | 273 ++ plugins/MacAU/CloudCoat/CloudCoat.r | 61 + .../christopherjohnson.mode1v3 | 1359 ++++++++++ .../christopherjohnson.pbxuser | 161 ++ .../christopherjohnson.perspectivev3 | 1485 +++++++++++ .../CloudCoat.xcodeproj/project.pbxproj | 490 ++++ plugins/MacAU/CloudCoat/CloudCoatVersion.h | 58 + .../CloudCoat/English.lproj/InfoPlist.strings | Bin 0 -> 380 bytes plugins/MacAU/CloudCoat/Info.plist | 28 + plugins/MacAU/CloudCoat/StarterAU_Prefix.pch | 5 + plugins/MacAU/CloudCoat/version.plist | 16 + .../English.lproj/InfoPlist.strings | Bin 0 -> 388 bytes plugins/MacAU/kCathedral2/Info.plist | 28 + .../MacAU/kCathedral2/StarterAU_Prefix.pch | 5 + plugins/MacAU/kCathedral2/kCathedral2.cpp | 952 +++++++ plugins/MacAU/kCathedral2/kCathedral2.exp | 1 + plugins/MacAU/kCathedral2/kCathedral2.h | 398 +++ plugins/MacAU/kCathedral2/kCathedral2.r | 61 + .../christopherjohnson.mode1v3 | 1359 ++++++++++ .../christopherjohnson.pbxuser | 142 ++ .../christopherjohnson.perspectivev3 | 1485 +++++++++++ .../kCathedral2.xcodeproj/project.pbxproj | 490 ++++ .../MacAU/kCathedral2/kCathedral2Version.h | 58 + plugins/MacAU/kCathedral2/version.plist | 16 + plugins/MacSignedAU/CloudCoat/CloudCoat.cpp | 734 ++++++ plugins/MacSignedAU/CloudCoat/CloudCoat.exp | 2 + plugins/MacSignedAU/CloudCoat/CloudCoat.h | 273 ++ plugins/MacSignedAU/CloudCoat/CloudCoat.r | 61 + .../christopherjohnson.mode1v3 | 1359 ++++++++++ .../christopherjohnson.pbxuser | 161 ++ .../christopherjohnson.perspectivev3 | 1485 +++++++++++ .../CloudCoat.xcodeproj/project.pbxproj | 965 ++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 18037 bytes .../xcshareddata/xcschemes/CloudCoat.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../MacSignedAU/CloudCoat/CloudCoatVersion.h | 58 + plugins/MacSignedAU/CloudCoat/Info.plist | 47 + .../CloudCoat/StarterAU_Prefix.pch | 5 + .../CloudCoat/en.lproj/InfoPlist.strings | Bin 0 -> 380 bytes plugins/MacSignedAU/CloudCoat/version.plist | 16 + plugins/MacSignedAU/kCathedral2/Info.plist | 47 + .../kCathedral2/StarterAU_Prefix.pch | 5 + .../kCathedral2/en.lproj/InfoPlist.strings | Bin 0 -> 388 bytes .../MacSignedAU/kCathedral2/kCathedral2.cpp | 952 +++++++ .../MacSignedAU/kCathedral2/kCathedral2.exp | 2 + plugins/MacSignedAU/kCathedral2/kCathedral2.h | 398 +++ plugins/MacSignedAU/kCathedral2/kCathedral2.r | 61 + .../christopherjohnson.mode1v3 | 1359 ++++++++++ .../christopherjohnson.pbxuser | 142 ++ .../christopherjohnson.perspectivev3 | 1485 +++++++++++ .../kCathedral2.xcodeproj/project.pbxproj | 965 ++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 18181 bytes .../xcschemes/kCathedral2.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../kCathedral2/kCathedral2Version.h | 58 + plugins/MacSignedAU/kCathedral2/version.plist | 16 + .../christopherjohnson.pbxuser | 132 + .../christopherjohnson.perspectivev3 | 1511 +++++++++++ .../CloudCoat.xcodeproj/project.pbxproj | 462 ++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 24532 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../CloudCoat.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../CloudCoat.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcshareddata/xcschemes/CloudCoat.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + plugins/MacSignedVST/CloudCoat/mac/Info.plist | 24 + plugins/MacSignedVST/CloudCoat/mac/PkgInfo | 1 + .../CloudCoat/mac/xcode_vst_prefix.h | 17 + .../CloudCoat/source/CloudCoat.cpp | 247 ++ .../MacSignedVST/CloudCoat/source/CloudCoat.h | 214 ++ .../CloudCoat/source/CloudCoatProc.cpp | 846 +++++++ .../christopherjohnson.pbxuser | 126 + .../christopherjohnson.perspectivev3 | 1511 +++++++++++ .../kCathedral2.xcodeproj/project.pbxproj | 462 ++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 24653 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../kCathedral2.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../kCathedral2.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcschemes/kCathedral2.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + .../MacSignedVST/kCathedral2/mac/Info.plist | 24 + plugins/MacSignedVST/kCathedral2/mac/PkgInfo | 1 + .../kCathedral2/mac/xcode_vst_prefix.h | 17 + .../kCathedral2/source/kCathedral2.cpp | 281 +++ .../kCathedral2/source/kCathedral2.h | 344 +++ .../kCathedral2/source/kCathedral2Proc.cpp | 1218 +++++++++ .../christopherjohnson.pbxuser | 132 + .../christopherjohnson.perspectivev3 | 1511 +++++++++++ .../CloudCoat.xcodeproj/project.pbxproj | 2201 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 12075 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../CloudCoat.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../CloudCoat.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcschemes/Gain.xcscheme | 80 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + plugins/MacVST/CloudCoat/mac/Info.plist | 24 + plugins/MacVST/CloudCoat/mac/PkgInfo | 1 + .../MacVST/CloudCoat/mac/xcode_vst_prefix.h | 17 + plugins/MacVST/CloudCoat/source/CloudCoat.cpp | 247 ++ plugins/MacVST/CloudCoat/source/CloudCoat.h | 214 ++ .../MacVST/CloudCoat/source/CloudCoatProc.cpp | 846 +++++++ .../christopherjohnson.pbxuser | 126 + .../christopherjohnson.perspectivev3 | 1511 +++++++++++ .../kCathedral2.xcodeproj/project.pbxproj | 2201 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 12075 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 10373 bytes .../kCathedral2.xcodeproj/spiadmin.mode1v3 | 1372 ++++++++++ .../kCathedral2.xcodeproj/spiadmin.pbxuser | 143 ++ .../xcschemes/Gain.xcscheme | 80 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/xcschememanagement.plist | 22 + .../xcschemes/«PROJECTNAME».xcscheme | 57 + plugins/MacVST/kCathedral2/mac/Info.plist | 24 + plugins/MacVST/kCathedral2/mac/PkgInfo | 1 + .../MacVST/kCathedral2/mac/xcode_vst_prefix.h | 17 + .../MacVST/kCathedral2/source/kCathedral2.cpp | 281 +++ .../MacVST/kCathedral2/source/kCathedral2.h | 344 +++ .../kCathedral2/source/kCathedral2Proc.cpp | 1218 +++++++++ .../CloudCoat/.vs/Console4Channel64/v14/.suo | Bin 0 -> 32768 bytes .../WinVST/CloudCoat/.vs/VSTProject/v14/.suo | Bin 0 -> 22528 bytes plugins/WinVST/CloudCoat/CloudCoat.cpp | 247 ++ plugins/WinVST/CloudCoat/CloudCoat.h | 214 ++ plugins/WinVST/CloudCoat/CloudCoatProc.cpp | 846 +++++++ plugins/WinVST/CloudCoat/VSTProject.sln | 28 + plugins/WinVST/CloudCoat/VSTProject.vcxproj | 183 ++ .../CloudCoat/VSTProject.vcxproj.filters | 48 + .../WinVST/CloudCoat/VSTProject.vcxproj.user | 19 + plugins/WinVST/CloudCoat/vstplug.def | 3 + .../.vs/Console4Channel64/v14/.suo | Bin 0 -> 32768 bytes .../kCathedral2/.vs/VSTProject/v14/.suo | Bin 0 -> 23040 bytes plugins/WinVST/kCathedral2/VSTProject.sln | 28 + plugins/WinVST/kCathedral2/VSTProject.vcxproj | 183 ++ .../kCathedral2/VSTProject.vcxproj.filters | 48 + .../kCathedral2/VSTProject.vcxproj.user | 19 + plugins/WinVST/kCathedral2/kCathedral2.cpp | 281 +++ plugins/WinVST/kCathedral2/kCathedral2.h | 344 +++ .../WinVST/kCathedral2/kCathedral2Proc.cpp | 1218 +++++++++ plugins/WinVST/kCathedral2/vstplug.def | 3 + what.txt | 1 + 165 files changed, 52580 insertions(+), 1 deletion(-) create mode 100755 plugins/LinuxVST/src/CloudCoat/CloudCoat.cpp create mode 100755 plugins/LinuxVST/src/CloudCoat/CloudCoat.h create mode 100755 plugins/LinuxVST/src/CloudCoat/CloudCoatProc.cpp create mode 100755 plugins/LinuxVST/src/kCathedral2/kCathedral2.cpp create mode 100755 plugins/LinuxVST/src/kCathedral2/kCathedral2.h create mode 100755 plugins/LinuxVST/src/kCathedral2/kCathedral2Proc.cpp create mode 100755 plugins/MacAU/CloudCoat/CloudCoat.cpp create mode 100755 plugins/MacAU/CloudCoat/CloudCoat.exp create mode 100755 plugins/MacAU/CloudCoat/CloudCoat.h create mode 100755 plugins/MacAU/CloudCoat/CloudCoat.r create mode 100755 plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj create mode 100755 plugins/MacAU/CloudCoat/CloudCoatVersion.h create mode 100755 plugins/MacAU/CloudCoat/English.lproj/InfoPlist.strings create mode 100755 plugins/MacAU/CloudCoat/Info.plist create mode 100755 plugins/MacAU/CloudCoat/StarterAU_Prefix.pch create mode 100755 plugins/MacAU/CloudCoat/version.plist create mode 100755 plugins/MacAU/kCathedral2/English.lproj/InfoPlist.strings create mode 100755 plugins/MacAU/kCathedral2/Info.plist create mode 100755 plugins/MacAU/kCathedral2/StarterAU_Prefix.pch create mode 100755 plugins/MacAU/kCathedral2/kCathedral2.cpp create mode 100755 plugins/MacAU/kCathedral2/kCathedral2.exp create mode 100755 plugins/MacAU/kCathedral2/kCathedral2.h create mode 100755 plugins/MacAU/kCathedral2/kCathedral2.r create mode 100755 plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj create mode 100755 plugins/MacAU/kCathedral2/kCathedral2Version.h create mode 100755 plugins/MacAU/kCathedral2/version.plist create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoat.cpp create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoat.exp create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoat.h create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoat.r create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj create mode 100644 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme create mode 100644 plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedAU/CloudCoat/CloudCoatVersion.h create mode 100755 plugins/MacSignedAU/CloudCoat/Info.plist create mode 100755 plugins/MacSignedAU/CloudCoat/StarterAU_Prefix.pch create mode 100755 plugins/MacSignedAU/CloudCoat/en.lproj/InfoPlist.strings create mode 100755 plugins/MacSignedAU/CloudCoat/version.plist create mode 100755 plugins/MacSignedAU/kCathedral2/Info.plist create mode 100755 plugins/MacSignedAU/kCathedral2/StarterAU_Prefix.pch create mode 100755 plugins/MacSignedAU/kCathedral2/en.lproj/InfoPlist.strings create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2.cpp create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2.exp create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2.h create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2.r create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj create mode 100644 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme create mode 100644 plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedAU/kCathedral2/kCathedral2Version.h create mode 100755 plugins/MacSignedAU/kCathedral2/version.plist create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser create mode 100644 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme create mode 100755 plugins/MacSignedVST/CloudCoat/mac/Info.plist create mode 100755 plugins/MacSignedVST/CloudCoat/mac/PkgInfo create mode 100755 plugins/MacSignedVST/CloudCoat/mac/xcode_vst_prefix.h create mode 100755 plugins/MacSignedVST/CloudCoat/source/CloudCoat.cpp create mode 100755 plugins/MacSignedVST/CloudCoat/source/CloudCoat.h create mode 100755 plugins/MacSignedVST/CloudCoat/source/CloudCoatProc.cpp create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser create mode 100644 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme create mode 100755 plugins/MacSignedVST/kCathedral2/mac/Info.plist create mode 100755 plugins/MacSignedVST/kCathedral2/mac/PkgInfo create mode 100755 plugins/MacSignedVST/kCathedral2/mac/xcode_vst_prefix.h create mode 100755 plugins/MacSignedVST/kCathedral2/source/kCathedral2.cpp create mode 100755 plugins/MacSignedVST/kCathedral2/source/kCathedral2.h create mode 100755 plugins/MacSignedVST/kCathedral2/source/kCathedral2Proc.cpp create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme create mode 100755 plugins/MacVST/CloudCoat/mac/Info.plist create mode 100755 plugins/MacVST/CloudCoat/mac/PkgInfo create mode 100755 plugins/MacVST/CloudCoat/mac/xcode_vst_prefix.h create mode 100755 plugins/MacVST/CloudCoat/source/CloudCoat.cpp create mode 100755 plugins/MacVST/CloudCoat/source/CloudCoat.h create mode 100755 plugins/MacVST/CloudCoat/source/CloudCoatProc.cpp create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100755 plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme create mode 100755 plugins/MacVST/kCathedral2/mac/Info.plist create mode 100755 plugins/MacVST/kCathedral2/mac/PkgInfo create mode 100755 plugins/MacVST/kCathedral2/mac/xcode_vst_prefix.h create mode 100755 plugins/MacVST/kCathedral2/source/kCathedral2.cpp create mode 100755 plugins/MacVST/kCathedral2/source/kCathedral2.h create mode 100755 plugins/MacVST/kCathedral2/source/kCathedral2Proc.cpp create mode 100755 plugins/WinVST/CloudCoat/.vs/Console4Channel64/v14/.suo create mode 100755 plugins/WinVST/CloudCoat/.vs/VSTProject/v14/.suo create mode 100755 plugins/WinVST/CloudCoat/CloudCoat.cpp create mode 100755 plugins/WinVST/CloudCoat/CloudCoat.h create mode 100755 plugins/WinVST/CloudCoat/CloudCoatProc.cpp create mode 100755 plugins/WinVST/CloudCoat/VSTProject.sln create mode 100755 plugins/WinVST/CloudCoat/VSTProject.vcxproj create mode 100755 plugins/WinVST/CloudCoat/VSTProject.vcxproj.filters create mode 100755 plugins/WinVST/CloudCoat/VSTProject.vcxproj.user create mode 100755 plugins/WinVST/CloudCoat/vstplug.def create mode 100755 plugins/WinVST/kCathedral2/.vs/Console4Channel64/v14/.suo create mode 100755 plugins/WinVST/kCathedral2/.vs/VSTProject/v14/.suo create mode 100755 plugins/WinVST/kCathedral2/VSTProject.sln create mode 100755 plugins/WinVST/kCathedral2/VSTProject.vcxproj create mode 100755 plugins/WinVST/kCathedral2/VSTProject.vcxproj.filters create mode 100755 plugins/WinVST/kCathedral2/VSTProject.vcxproj.user create mode 100755 plugins/WinVST/kCathedral2/kCathedral2.cpp create mode 100755 plugins/WinVST/kCathedral2/kCathedral2.h create mode 100755 plugins/WinVST/kCathedral2/kCathedral2Proc.cpp create mode 100755 plugins/WinVST/kCathedral2/vstplug.def diff --git a/Airwindopedia.txt b/Airwindopedia.txt index d665b536d..8eb97bcf5 100644 --- a/Airwindopedia.txt +++ b/Airwindopedia.txt @@ -27,7 +27,7 @@ Dithers: Dark, PaulWide, PaulDither, TPDFWide, TPDFDither, NotJustAnotherDither, Dynamics: Pop2, Pressure5, Dynamics, Pop, DigitalBlack, Logical4, VariMu, ButterComp2, curve, Recurve, Pyewacket, BlockParty, SoftGate, Thunder, Compresaturator, DrumSlam, ButterComp, BrassRider, Point, Gatelope, PodcastDeluxe, Podcast, Swell, PurestSquish, Pressure4, Surge, SurgeTide -Effects: GalacticVibe, Fracture2, Dubly, Pafnuty2, PitchNasty, GuitarConditioner, Aura, TremoSquare, Tremolo, GlitchShifter, Gringer, Exciter, Energy2, Energy, Facet, Fracture, PowerSag2, PowerSag, Preponderant, Nikola +Effects: GalacticVibe, CloudCoat, Fracture2, Dubly, Pafnuty2, PitchNasty, GuitarConditioner, Aura, TremoSquare, Tremolo, GlitchShifter, Gringer, Exciter, Energy2, Energy, Facet, Fracture, PowerSag2, PowerSag, Preponderant, Nikola Filter: Baxandall2, Capacitor2, Pear, ResEQ2, SubTight, CStrip2, Weight, Isolator2, Holt2, Holt, ToneSlant, AverMatrix, Average, MackEQ, Hull2, Baxandall, Hull, EQ, Capacitor, Isolator, TapeFat, ResEQ, Lowpass2, Highpass2, Distance2, Distance, Lowpass, Highpass @@ -768,6 +768,34 @@ You'd use something like ClipOnly2 in mastering specifically because it won't to I hope you like it, and the way it'll affect my plugins going forward :) +############ CloudCoat is an array of blur effects with a taste for evil. + +Welcome back to the dark side of Airwindows! + +CloudCoat starts as an experiment. What if there was ClearCoat (a bank of small reverbs) except all the delays were allpasses? + +Okay, so a bit of explanation: allpasses are like reverb parts, but they make stuff sound smeary and blurred, like bloom reverbs. I've got a bloom reverb, MV, which is just a stack of allpasses. Most of my recent work is about avoiding allpasses completely by using reverb matrixes that give me LOTS of echo returns, impossible numbers, so I don't have to cheat with allpasses. This kind of works and kind of doesn't (work in progress, see my recent livestreams). But what would happen if you took what was clearly a reverb, and just replaced all the delays with allpasses? + +That's ClearCoat and CloudCoat. The idea was I could give a completely different texture, but using literally all the same reverb constants, and then I could hear what it was like. I expected it to be more a cloudy, diffuse texture, hence 'cloudcoat'. + +You might notice one difference right away: ClearCoat sounds a lot roomier. That's because it's designed with a little bit of feedback to fill it out. Sustain, if you will. It's also way more spacious, and way more metallic and ringy. This is in line with how it only uses delays, and is all part of the research. + +CloudCoat with sustain all the way off, is quite different. Depth and spaciousness is almost gone, but there's no metallicness either. It's like essence of fake artificial reverb blur. Remember, this too is a 4x4 Householder matrix: it's a complicated pile of allpasses, not something primitive like MV. I think it might find uses on pads or ambient sounds, or could be used to feed into ClearCoat at the same 'select' setting to create a more powerful room sound. With sustain all the way off, you can do many polite and nice things with CloudCoat. + +Then, throw it on some drums and turn the sustain up and ALL HELL BREAKS LOOSE :) + +CloudCoat is applying a kind of nonlinear reverb, like your classic 'nonlin' gated verb settings, but Airwindowsized. I'm allowing feedback, but of the four 'channels' of Householder feedback, each is also modulated by the output of the one next to it (a totally different sound)… WITHOUT smoothing. So the feedback is broken up by four banks of allpass output and cranked up to the point of meltdown, and that's CloudCoat. It disrupts the signal wildly and fiercely. + +Why? + +Because I tried it, on a livestream, and the drums absolutely exploded like nothing I've ever heard. There's rasp and rattle and an effect much like extreme compression while in a stone drum room, but there's no compression and no stone room. It just makes that sound. Instead of making it out of compressed, flat-topped compression smash, it's making the madness happen INSIDE the sound, meaning you can make it brutal and unbearable with ClearCoat and THEN loudenate it, unlike any other sort of compression or distortion. CloudCoat adds a whole new type of trash that is dynamic with your sound (again, nonlin) and automatically dials itself back if the source energy level does. It's a huge, nasty, energy-laden meltdown that can be escalated to pretty much any degree… and then dialed back down again, to pretty much any level of controllability, so long as you're using it on noisy percussion and as long as you're okay with its signature trash-sound, which is not like anything else and which is independent of added compression and distortion. + +And then you can do blur/texture effects with the sustain on 0. Just don't bother trying to make it work with tiny amounts of sustain: it basically can't. 0 or trash are your only options, and then there is a universe of trash and meltdown if trash you choose. + +But seriously, why? + +Because it makes me laugh with delight when snares go off like something out of the imagination of Trent Reznor. I don't know what to tell you. Enjoy CloudCoat, if it's the kind of thing you enjoy. + ############ Coils models the types of distortion you'll find in transformers. Coils is like the inverse of Focus. Instead of boosting/distorting UP the mids, it saturates DOWN the extreme highs and lows leaving the mids untouched. Because it’s a fixed mid shape mimicking the Neve transformer picture I was shown, the biquad doesn’t have to run inside Console as it’s not a high-Q filter at all (you’ll notice way more of an effect on steep filters) so it trades off that effect for less processing. The saturation is the Density algorithm, but without clipping, so if you trash it you get wrap-around on the transfer function curve, which works out to be kinda transformery. diff --git a/plugins/LinuxVST/CMakeLists.txt b/plugins/LinuxVST/CMakeLists.txt index 5228ea7f7..2ce6cd71e 100755 --- a/plugins/LinuxVST/CMakeLists.txt +++ b/plugins/LinuxVST/CMakeLists.txt @@ -68,6 +68,7 @@ add_airwindows_plugin(ClearCoat) add_airwindows_plugin(ClipOnly) add_airwindows_plugin(ClipOnly2) add_airwindows_plugin(ClipSoftly) +add_airwindows_plugin(CloudCoat) add_airwindows_plugin(Coils) add_airwindows_plugin(Coils2) add_airwindows_plugin(Cojones) @@ -201,6 +202,7 @@ add_airwindows_plugin(IronOxideClassic2) add_airwindows_plugin(Isolator) add_airwindows_plugin(Isolator2) add_airwindows_plugin(kCathedral) +add_airwindows_plugin(kCathedral2) add_airwindows_plugin(kChamberAR) add_airwindows_plugin(kPlateA) add_airwindows_plugin(kPlateB) diff --git a/plugins/LinuxVST/src/CloudCoat/CloudCoat.cpp b/plugins/LinuxVST/src/CloudCoat/CloudCoat.cpp new file mode 100755 index 000000000..c6f5e277f --- /dev/null +++ b/plugins/LinuxVST/src/CloudCoat/CloudCoat.cpp @@ -0,0 +1,247 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new CloudCoat(audioMaster);} + +CloudCoat::CloudCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 0.5; + C = 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; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 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; + prevcloudcoat = -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 +} + +CloudCoat::~CloudCoat() {} +VstInt32 CloudCoat::getVendorVersion () {return 1000;} +void CloudCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void CloudCoat::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 CloudCoat::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + /* 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 CloudCoat::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + /* 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 CloudCoat::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float CloudCoat::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; 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 CloudCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Sustain", kVstMaxParamStrLen); break; + case kParamC: 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 CloudCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void CloudCoat::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 CloudCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool CloudCoat::getEffectName(char* name) { + vst_strncpy(name, "CloudCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory CloudCoat::getPlugCategory() {return kPlugCategEffect;} + +bool CloudCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows CloudCoat", kVstMaxProductStrLen); return true; +} + +bool CloudCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/CloudCoat/CloudCoat.h b/plugins/LinuxVST/src/CloudCoat/CloudCoat.h new file mode 100755 index 000000000..b883dd65f --- /dev/null +++ b/plugins/LinuxVST/src/CloudCoat/CloudCoat.h @@ -0,0 +1,214 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#define __CloudCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kParamC = 2, + kNumParameters = 3 +}; // + +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 = 'cloc'; //Change this to what the AU identity is! + +class CloudCoat : + public AudioEffectX +{ +public: + CloudCoat(audioMasterCallback audioMaster); + ~CloudCoat(); + 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 avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + 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 prevcloudcoat; + + float A; + float B; + float C; +}; + +#endif diff --git a/plugins/LinuxVST/src/CloudCoat/CloudCoatProc.cpp b/plugins/LinuxVST/src/CloudCoat/CloudCoatProc.cpp new file mode 100755 index 000000000..9b37dd43a --- /dev/null +++ b/plugins/LinuxVST/src/CloudCoat/CloudCoatProc.cpp @@ -0,0 +1,846 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +void CloudCoat::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 cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + 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 CloudCoat::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 cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + 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/kCathedral2/kCathedral2.cpp b/plugins/LinuxVST/src/kCathedral2/kCathedral2.cpp new file mode 100755 index 000000000..cb4f9382d --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral2/kCathedral2.cpp @@ -0,0 +1,281 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral2(audioMaster);} + +kCathedral2::kCathedral2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + 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 < 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; + + 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; + 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; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 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 +} + +kCathedral2::~kCathedral2() {} +VstInt32 kCathedral2::getVendorVersion () {return 1000;} +void kCathedral2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral2::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 kCathedral2::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 kCathedral2::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 kCathedral2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral2::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 kCathedral2::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 kCathedral2::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 kCathedral2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral2::getEffectName(char* name) { + vst_strncpy(name, "kCathedral2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral2::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral2::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral2", kVstMaxProductStrLen); return true; +} + +bool kCathedral2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/LinuxVST/src/kCathedral2/kCathedral2.h b/plugins/LinuxVST/src/kCathedral2/kCathedral2.h new file mode 100755 index 000000000..8052c922f --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral2/kCathedral2.h @@ -0,0 +1,344 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#define __kCathedral2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcti'; //Change this to what the AU identity is! + +class kCathedral2 : + public AudioEffectX +{ +public: + kCathedral2(audioMasterCallback audioMaster); + ~kCathedral2(); + 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[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + 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 pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/LinuxVST/src/kCathedral2/kCathedral2Proc.cpp b/plugins/LinuxVST/src/kCathedral2/kCathedral2Proc.cpp new file mode 100755 index 000000000..02a8014c8 --- /dev/null +++ b/plugins/LinuxVST/src/kCathedral2/kCathedral2Proc.cpp @@ -0,0 +1,1218 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +void kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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 kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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/CloudCoat/CloudCoat.cpp b/plugins/MacAU/CloudCoat/CloudCoat.cpp new file mode 100755 index 000000000..01af48b77 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.cpp @@ -0,0 +1,734 @@ +/* +* File: CloudCoat.cpp +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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. +* +*/ +/*============================================================================= + CloudCoat.cpp + +=============================================================================*/ +#include "CloudCoat.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(CloudCoat) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::CloudCoat +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CloudCoat::CloudCoat(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + SetParameter(kParam_Two, kDefaultValue_ParamTwo ); + SetParameter(kParam_Three, kDefaultValue_ParamThree ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::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; + case kParam_Three: + AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamThree; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::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 CloudCoat::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// CloudCoat::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____CloudCoatEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::CloudCoatKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::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; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 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; + prevcloudcoat = -1; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus CloudCoat::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 cloudcoat = GetParameter( kParam_One ); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-GetParameter( kParam_Two ),2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = GetParameter( kParam_Three )*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + + 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/CloudCoat/CloudCoat.exp b/plugins/MacAU/CloudCoat/CloudCoat.exp new file mode 100755 index 000000000..7a87e2c52 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.exp @@ -0,0 +1 @@ +_CloudCoatEntry diff --git a/plugins/MacAU/CloudCoat/CloudCoat.h b/plugins/MacAU/CloudCoat/CloudCoat.h new file mode 100755 index 000000000..ad7134cf2 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.h @@ -0,0 +1,273 @@ +/* +* File: CloudCoat.h +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 "CloudCoatVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __CloudCoat_h__ +#define __CloudCoat_h__ + + +#pragma mark ____CloudCoat Parameters + +// parameters +static const float kDefaultValue_ParamOne = 10; +static const float kDefaultValue_ParamTwo = 0.5; +static const float kDefaultValue_ParamThree = 1.0; + +static CFStringRef kParameterOneName = CFSTR("Selection"); +static CFStringRef kParameterTwoName = CFSTR("Sustain"); +static CFStringRef kParameterThreeName = CFSTR("Dry/Wet"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + kParam_Two =1, + kParam_Three =2, + //Add your parameters here... + kNumberOfParameters=3 +}; + +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 ____CloudCoat +class CloudCoat : public AUEffectBase +{ +public: + CloudCoat(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~CloudCoat () { 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 kCloudCoatVersion; } + + 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 avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + 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 prevcloudcoat; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/CloudCoat/CloudCoat.r b/plugins/MacAU/CloudCoat/CloudCoat.r new file mode 100755 index 000000000..a4150b6c5 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.r @@ -0,0 +1,61 @@ +/* +* File: CloudCoat.r +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 "CloudCoatVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_CloudCoat 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CloudCoat~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_CloudCoat +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE CloudCoat_COMP_SUBTYPE +#define COMP_MANUF CloudCoat_COMP_MANF + +#define VERSION kCloudCoatVersion +#define NAME "Airwindows: CloudCoat" +#define DESCRIPTION "CloudCoat AU" +#define ENTRY_POINT "CloudCoatEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.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/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..3feca2f1a --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,161 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* CloudCoat */; + 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 = 728509494; + PBXWorkspaceStateSaveDate = 728509494; + }; + perUserProjectItems = { + 8B4E04E42B6484F80018872B /* PBXTextBookmark */ = 8B4E04E42B6484F80018872B /* PBXTextBookmark */; + 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */ = 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */; + 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */ = 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */; + 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */ = 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B4E04E42B6484F80018872B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* CloudCoat.h */; + name = "CloudCoat.h: 67"; + rLen = 0; + rLoc = 3243; + rType = 0; + vrLen = 106; + vrLoc = 3154; + }; + 8BA05A660720730100365D66 /* CloudCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 13356}}"; + sepNavSelRange = "{32823, 0}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{1, 37}, {804, 784}}"; + }; + }; + 8BA05A670720730100365D66 /* CloudCoat.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {785, 712}}"; + sepNavSelRange = "{16, 0}"; + sepNavVisRange = "{0, 16}"; + sepNavWindowFrame = "{{15, 38}, {832, 840}}"; + }; + }; + 8BA05A690720730100365D66 /* CloudCoatVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {696, 1314}}"; + sepNavSelRange = "{2906, 0}"; + sepNavVisRange = "{2832, 128}"; + sepNavWindowFrame = "{{585, 38}, {832, 840}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* CloudCoatVersion.h */; + name = "CloudCoatVersion.h: 54"; + rLen = 0; + rLoc = 2906; + rType = 0; + vrLen = 128; + vrLoc = 2832; + }; + 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; + name = "CloudCoat.cpp: 641"; + rLen = 0; + rLoc = 32823; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; + name = "CloudCoat.cpp: 643"; + rLen = 0; + rLoc = 32823; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BC6025B073B072D006C4272 /* CloudCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1146, 4914}}"; + sepNavSelRange = "{6772, 469}"; + sepNavVisRange = "{5822, 698}"; + sepNavWindowFrame = "{{686, 96}, {719, 782}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..c463afdbd --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + 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 + 8B4E047F2B6478DC0018872B + 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 + -2 287 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B4E047A2B6478DC0018872B + PBXProjectModuleLabel + CloudCoat.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B4E047B2B6478DC0018872B + PBXProjectModuleLabel + CloudCoat.cpp + _historyCapacity + 0 + bookmark + 8BA3AE5B2B6C509E00F494DA + history + + 8B4E04E42B6484F80018872B + 8BA3ACFF2B6C070B00F494DA + 8BA3ADE02B6C2DB700F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 13}} + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 13pt + + + Proportion + 428pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 401}} + + 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, 401}} + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3ADE62B6C2DD300F494DA + 1CA23ED40692098700951B8B + 8BA3ADE72B6C2DD300F494DA + 8B4E047A2B6478DC0018872B + 8BA3ADE82B6C2DD300F494DA + 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 + 728518814.73926699 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj + + WindowString + -2 287 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/CloudCoat/CloudCoat.xcodeproj/project.pbxproj b/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..2efbff3bc --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoat.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 /* CloudCoat.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* CloudCoat.r */; }; + 8BA05A6B0720730100365D66 /* CloudCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; }; + 8BA05A6E0720730100365D66 /* CloudCoatVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* CloudCoatVersion.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 /* CloudCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* CloudCoat.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 /* CloudCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CloudCoat.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* CloudCoat.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = CloudCoat.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* CloudCoat.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = CloudCoat.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* CloudCoatVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CloudCoatVersion.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 /* CloudCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CloudCoat.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* CloudCoat.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudCoat.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 /* CloudCoat */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = CloudCoat; + 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 /* CloudCoat.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* CloudCoat.h */, + 8BA05A660720730100365D66 /* CloudCoat.cpp */, + 8BA05A670720730100365D66 /* CloudCoat.exp */, + 8BA05A680720730100365D66 /* CloudCoat.r */, + 8BA05A690720730100365D66 /* CloudCoatVersion.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 /* CloudCoatVersion.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 /* CloudCoat.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 /* CloudCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "CloudCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CloudCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = CloudCoat; + productReference = 8D01CCD20486CAD60068D4B7 /* CloudCoat.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 "CloudCoat" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* CloudCoat */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* CloudCoat */, + ); + }; +/* 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 /* CloudCoat.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* CloudCoat.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 = CloudCoat.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 = CloudCoat; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = CloudCoat.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 = CloudCoat; + 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 "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/CloudCoat/CloudCoatVersion.h b/plugins/MacAU/CloudCoat/CloudCoatVersion.h new file mode 100755 index 000000000..abb0fe642 --- /dev/null +++ b/plugins/MacAU/CloudCoat/CloudCoatVersion.h @@ -0,0 +1,58 @@ +/* +* File: CloudCoatVersion.h +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 __CloudCoatVersion_h__ +#define __CloudCoatVersion_h__ + + +#ifdef DEBUG + #define kCloudCoatVersion 0xFFFFFFFF +#else + #define kCloudCoatVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define CloudCoat_COMP_MANF 'Dthr' +#define CloudCoat_COMP_SUBTYPE 'cloc' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/CloudCoat/English.lproj/InfoPlist.strings b/plugins/MacAU/CloudCoat/English.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..70c0bdccc7fc4d0832320970d4759a549574fccb GIT binary patch literal 380 zcmZ{gO>06i5Jk_rzaqGF;j1D=6c??~BGgh4+>6gIv?@=n)F0pWB!VC+Av4LncP2OU z_nT2B@XneMLzc`rGA0-MHWzF~)~w9IJTZ2?O*~iFB>k41=tA{RQkBVgaCLa)g}v%r z-Ix#if0+YqcS(L}m%VJqJhV%R){VM8Gx7W0D(?6vE literal 0 HcmV?d00001 diff --git a/plugins/MacAU/CloudCoat/Info.plist b/plugins/MacAU/CloudCoat/Info.plist new file mode 100755 index 000000000..12f0517b5 --- /dev/null +++ b/plugins/MacAU/CloudCoat/Info.plist @@ -0,0 +1,28 @@ + + + + + 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/CloudCoat/StarterAU_Prefix.pch b/plugins/MacAU/CloudCoat/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacAU/CloudCoat/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/CloudCoat/version.plist b/plugins/MacAU/CloudCoat/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacAU/CloudCoat/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacAU/kCathedral2/English.lproj/InfoPlist.strings b/plugins/MacAU/kCathedral2/English.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..1a8bc167ee29ed7aff33f664d7550ba2a007b115 GIT binary patch literal 388 zcmZ{gOAi4-5QOXOS4>(=tsaUMfnD*r&LEkNc!N){V_peyO((}c%YyD;-yO?ST@_BKp$59Zj^M?b zQU8E9>T#=NgdkQMu!v4Y_a=C^BzFNTgJZRX{Zq97$x(Pz`mO7utnsJLh-~|vpe(yw ym2paq+UlS&px0beY_S<5pNRu!n`-e6!B1?XP?n;+*iWB0*Uf2-_`k8M&#Z5cvq0 + + + + 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/kCathedral2/StarterAU_Prefix.pch b/plugins/MacAU/kCathedral2/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacAU/kCathedral2/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/kCathedral2/kCathedral2.cpp b/plugins/MacAU/kCathedral2/kCathedral2.cpp new file mode 100755 index 000000000..4a5c1cda0 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.cpp @@ -0,0 +1,952 @@ +/* +* File: kCathedral2.cpp +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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. +* +*/ +/*============================================================================= + kCathedral2.cpp + +=============================================================================*/ +#include "kCathedral2.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +COMPONENT_ENTRY(kCathedral2) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::kCathedral2 +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +kCathedral2::kCathedral2(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::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; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::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 kCathedral2::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// kCathedral2::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____kCathedral2EffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::kCathedral2Kernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + 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 < 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; + + 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; + 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; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 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; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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/kCathedral2/kCathedral2.exp b/plugins/MacAU/kCathedral2/kCathedral2.exp new file mode 100755 index 000000000..f2a4c0573 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.exp @@ -0,0 +1 @@ +_kCathedral2Entry diff --git a/plugins/MacAU/kCathedral2/kCathedral2.h b/plugins/MacAU/kCathedral2/kCathedral2.h new file mode 100755 index 000000000..dc51c2314 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.h @@ -0,0 +1,398 @@ +/* +* File: kCathedral2.h +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 "kCathedral2Version.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __kCathedral2_h__ +#define __kCathedral2_h__ + + +#pragma mark ____kCathedral2 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 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +#pragma mark ____kCathedral2 +class kCathedral2 : public AUEffectBase +{ +public: + kCathedral2(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~kCathedral2 () { 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 kkCathedral2Version; } + + private: + double gainOutL; + double gainOutR; + + + double eAL[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + 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 pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacAU/kCathedral2/kCathedral2.r b/plugins/MacAU/kCathedral2/kCathedral2.r new file mode 100755 index 000000000..c4a47c797 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.r @@ -0,0 +1,61 @@ +/* +* File: kCathedral2.r +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 "kCathedral2Version.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_kCathedral2 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kCathedral2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_kCathedral2 +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE kCathedral2_COMP_SUBTYPE +#define COMP_MANUF kCathedral2_COMP_MANF + +#define VERSION kkCathedral2Version +#define NAME "Airwindows: kCathedral2" +#define DESCRIPTION "kCathedral2 AU" +#define ENTRY_POINT "kCathedral2Entry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..89194afc5 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,142 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral2 */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 186, + 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 = 728521365; + PBXWorkspaceStateSaveDate = 728521365; + }; + perUserProjectItems = { + 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */ = 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */; + 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */ = 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */; + 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */ = 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8BA05A660720730100365D66 /* kCathedral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1254, 17496}}"; + sepNavSelRange = "{14513, 0}"; + sepNavVisRange = "{12994, 72}"; + sepNavWindowFrame = "{{27, 87}, {914, 759}}"; + }; + }; + 8BA05A690720730100365D66 /* kCathedral2Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}"; + sepNavSelRange = "{2920, 0}"; + sepNavVisRange = "{1174, 1809}"; + sepNavWindowFrame = "{{15, 63}, {691, 810}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 380"; + rLen = 0; + rLoc = 14513; + rType = 0; + vrLen = 29; + vrLoc = 13026; + }; + 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* kCathedral2.h */; + name = "kCathedral2.h: 268"; + rLen = 0; + rLoc = 8771; + rType = 0; + vrLen = 712; + vrLoc = 4058; + }; + 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 368"; + rLen = 0; + rLoc = 14513; + rType = 0; + vrLen = 72; + vrLoc = 12994; + }; + 8BC6025B073B072D006C4272 /* kCathedral2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {5763, 7164}}"; + sepNavSelRange = "{6077, 4788}"; + sepNavVisRange = "{10121, 881}"; + sepNavWindowFrame = "{{38, 42}, {691, 810}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..0e5ef23ac --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + 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 + 8B93D43A2B6B00F30079B481 + 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 + + 632 + 632 + + 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, 485}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 503}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B93D4352B6B00F30079B481 + PBXProjectModuleLabel + kCathedral2.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B93D4362B6B00F30079B481 + PBXProjectModuleLabel + kCathedral2.cpp + _historyCapacity + 0 + bookmark + 8BA3AEEC2B6C5C9D00F494DA + history + + 8BA3AEDA2B6C5A9A00F494DA + 8BA3AE882B6C555D00F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {425, 69}} + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 69pt + + + Proportion + 429pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {425, 402}} + RubberWindowFrame + 59 108 632 544 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}, {425, 352}} + + Module + PBXBuildResultsModule + + + + + Proportion + 425pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3AEDC2B6C5A9A00F494DA + 1CA23ED40692098700951B8B + 8BA3AEDD2B6C5A9A00F494DA + 8B93D4352B6B00F30079B481 + 8BA3AEDE2B6C5A9A00F494DA + 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 + 728521885.04784501 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AEED2B6C5C9D00F494DA + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj + + WindowString + 59 108 632 544 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/kCathedral2/kCathedral2.xcodeproj/project.pbxproj b/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..b3f394774 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2.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 /* kCathedral2.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* kCathedral2.r */; }; + 8BA05A6B0720730100365D66 /* kCathedral2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; }; + 8BA05A6E0720730100365D66 /* kCathedral2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* kCathedral2Version.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 /* kCathedral2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* kCathedral2.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 /* kCathedral2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kCathedral2.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* kCathedral2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = kCathedral2.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* kCathedral2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = kCathedral2.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* kCathedral2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral2Version.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 /* kCathedral2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral2.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* kCathedral2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral2.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 /* kCathedral2 */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = kCathedral2; + 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 /* kCathedral2.component */, + ); + name = Products; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* kCathedral2.h */, + 8BA05A660720730100365D66 /* kCathedral2.cpp */, + 8BA05A670720730100365D66 /* kCathedral2.exp */, + 8BA05A680720730100365D66 /* kCathedral2.r */, + 8BA05A690720730100365D66 /* kCathedral2Version.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 /* kCathedral2Version.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 /* kCathedral2.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 /* kCathedral2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "kCathedral2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = kCathedral2; + productReference = 8D01CCD20486CAD60068D4B7 /* kCathedral2.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 "kCathedral2" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; + hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); + mainGroup = 089C166AFE841209C02AAC07 /* kCathedral2 */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */, + ); + }; +/* 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 /* kCathedral2.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8D01CCCB0486CAD60068D4B7 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8BA05A6B0720730100365D66 /* kCathedral2.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 = kCathedral2.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 = kCathedral2; + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3E4BA245089833B7007656EC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = ( + ppc, + i386, + x86_64, + ); + EXPORTED_SYMBOLS_FILE = kCathedral2.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 = kCathedral2; + 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 "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacAU/kCathedral2/kCathedral2Version.h b/plugins/MacAU/kCathedral2/kCathedral2Version.h new file mode 100755 index 000000000..78900e821 --- /dev/null +++ b/plugins/MacAU/kCathedral2/kCathedral2Version.h @@ -0,0 +1,58 @@ +/* +* File: kCathedral2Version.h +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 __kCathedral2Version_h__ +#define __kCathedral2Version_h__ + + +#ifdef DEBUG + #define kkCathedral2Version 0xFFFFFFFF +#else + #define kkCathedral2Version 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define kCathedral2_COMP_MANF 'Dthr' +#define kCathedral2_COMP_SUBTYPE 'kcti' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacAU/kCathedral2/version.plist b/plugins/MacAU/kCathedral2/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacAU/kCathedral2/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.cpp b/plugins/MacSignedAU/CloudCoat/CloudCoat.cpp new file mode 100755 index 000000000..7f46c2283 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.cpp @@ -0,0 +1,734 @@ +/* +* File: CloudCoat.cpp +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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. +* +*/ +/*============================================================================= + CloudCoat.cpp + +=============================================================================*/ +#include "CloudCoat.h" + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +AUDIOCOMPONENT_ENTRY(AUBaseFactory, CloudCoat) + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::CloudCoat +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CloudCoat::CloudCoat(AudioUnit component) + : AUEffectBase(component) +{ + CreateElements(); + Globals()->UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + SetParameter(kParam_Two, kDefaultValue_ParamTwo ); + SetParameter(kParam_Three, kDefaultValue_ParamThree ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::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; + case kParam_Three: + AUBase::FillInParameterName (outParameterInfo, kParameterThreeName, false); + outParameterInfo.unit = kAudioUnitParameterUnit_Generic; + outParameterInfo.minValue = 0.0; + outParameterInfo.maxValue = 1.0; + outParameterInfo.defaultValue = kDefaultValue_ParamThree; + break; + default: + result = kAudioUnitErr_InvalidParameter; + break; + } + } else { + result = kAudioUnitErr_InvalidParameter; + } + + + + return result; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::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 CloudCoat::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// CloudCoat::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____CloudCoatEffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::CloudCoatKernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult CloudCoat::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; + + feedbackDR = 0.0; + feedbackHR = 0.0; + feedbackLR = 0.0; + feedbackPR = 0.0; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 0.0; + + previousAL = 0.0; + previousBL = 0.0; + previousCL = 0.0; + previousDL = 0.0; + previousEL = 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; + prevcloudcoat = -1; + + fpdL = 1.0; while (fpdL < 16386) fpdL = rand()*UINT32_MAX; + fpdR = 1.0; while (fpdR < 16386) fpdR = rand()*UINT32_MAX; + return noErr; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// CloudCoat::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus CloudCoat::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 cloudcoat = GetParameter( kParam_One ); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-GetParameter( kParam_Two ),2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = GetParameter( kParam_Three )*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + + 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/CloudCoat/CloudCoat.exp b/plugins/MacSignedAU/CloudCoat/CloudCoat.exp new file mode 100755 index 000000000..c1cbddd71 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.exp @@ -0,0 +1,2 @@ +_CloudCoatEntry +_CloudCoatFactory diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.h b/plugins/MacSignedAU/CloudCoat/CloudCoat.h new file mode 100755 index 000000000..ad7134cf2 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.h @@ -0,0 +1,273 @@ +/* +* File: CloudCoat.h +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 "CloudCoatVersion.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __CloudCoat_h__ +#define __CloudCoat_h__ + + +#pragma mark ____CloudCoat Parameters + +// parameters +static const float kDefaultValue_ParamOne = 10; +static const float kDefaultValue_ParamTwo = 0.5; +static const float kDefaultValue_ParamThree = 1.0; + +static CFStringRef kParameterOneName = CFSTR("Selection"); +static CFStringRef kParameterTwoName = CFSTR("Sustain"); +static CFStringRef kParameterThreeName = CFSTR("Dry/Wet"); +//Alter the name if desired, but using the plugin name is a start + +enum { + kParam_One =0, + kParam_Two =1, + kParam_Three =2, + //Add your parameters here... + kNumberOfParameters=3 +}; + +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 ____CloudCoat +class CloudCoat : public AUEffectBase +{ +public: + CloudCoat(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~CloudCoat () { 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 kCloudCoatVersion; } + + 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 avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + 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 prevcloudcoat; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.r b/plugins/MacSignedAU/CloudCoat/CloudCoat.r new file mode 100755 index 000000000..a4150b6c5 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.r @@ -0,0 +1,61 @@ +/* +* File: CloudCoat.r +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 "CloudCoatVersion.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_CloudCoat 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CloudCoat~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_CloudCoat +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE CloudCoat_COMP_SUBTYPE +#define COMP_MANUF CloudCoat_COMP_MANF + +#define VERSION kCloudCoatVersion +#define NAME "Airwindows: CloudCoat" +#define DESCRIPTION "CloudCoat AU" +#define ENTRY_POINT "CloudCoatEntry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.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/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..3feca2f1a --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,161 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* CloudCoat */; + 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 = 728509494; + PBXWorkspaceStateSaveDate = 728509494; + }; + perUserProjectItems = { + 8B4E04E42B6484F80018872B /* PBXTextBookmark */ = 8B4E04E42B6484F80018872B /* PBXTextBookmark */; + 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */ = 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */; + 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */ = 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */; + 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */ = 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8B4E04E42B6484F80018872B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* CloudCoat.h */; + name = "CloudCoat.h: 67"; + rLen = 0; + rLoc = 3243; + rType = 0; + vrLen = 106; + vrLoc = 3154; + }; + 8BA05A660720730100365D66 /* CloudCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 13356}}"; + sepNavSelRange = "{32823, 0}"; + sepNavVisRange = "{0, 0}"; + sepNavWindowFrame = "{{1, 37}, {804, 784}}"; + }; + }; + 8BA05A670720730100365D66 /* CloudCoat.exp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {785, 712}}"; + sepNavSelRange = "{16, 0}"; + sepNavVisRange = "{0, 16}"; + sepNavWindowFrame = "{{15, 38}, {832, 840}}"; + }; + }; + 8BA05A690720730100365D66 /* CloudCoatVersion.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {696, 1314}}"; + sepNavSelRange = "{2906, 0}"; + sepNavVisRange = "{2832, 128}"; + sepNavWindowFrame = "{{585, 38}, {832, 840}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BA3ACFF2B6C070B00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A690720730100365D66 /* CloudCoatVersion.h */; + name = "CloudCoatVersion.h: 54"; + rLen = 0; + rLoc = 2906; + rType = 0; + vrLen = 128; + vrLoc = 2832; + }; + 8BA3ADE02B6C2DB700F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; + name = "CloudCoat.cpp: 641"; + rLen = 0; + rLoc = 32823; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BA3AE5B2B6C509E00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; + name = "CloudCoat.cpp: 643"; + rLen = 0; + rLoc = 32823; + rType = 0; + vrLen = 0; + vrLoc = 0; + }; + 8BC6025B073B072D006C4272 /* CloudCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1146, 4914}}"; + sepNavSelRange = "{6772, 469}"; + sepNavVisRange = "{5822, 698}"; + sepNavWindowFrame = "{{686, 96}, {719, 782}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..c463afdbd --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + 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 + 8B4E047F2B6478DC0018872B + 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 + -2 287 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B4E047A2B6478DC0018872B + PBXProjectModuleLabel + CloudCoat.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B4E047B2B6478DC0018872B + PBXProjectModuleLabel + CloudCoat.cpp + _historyCapacity + 0 + bookmark + 8BA3AE5B2B6C509E00F494DA + history + + 8B4E04E42B6484F80018872B + 8BA3ACFF2B6C070B00F494DA + 8BA3ADE02B6C2DB700F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 13}} + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 13pt + + + Proportion + 428pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 401}} + + 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, 401}} + RubberWindowFrame + -2 287 810 487 0 0 1440 878 + + Module + PBXBuildResultsModule + + + + + Proportion + 603pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3ADE62B6C2DD300F494DA + 1CA23ED40692098700951B8B + 8BA3ADE72B6C2DD300F494DA + 8B4E047A2B6478DC0018872B + 8BA3ADE82B6C2DD300F494DA + 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 + 728518814.73926699 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/CloudCoat/CloudCoat.xcodeproj + + WindowString + -2 287 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/CloudCoat/CloudCoat.xcodeproj/project.pbxproj b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..9f4b34184 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.pbxproj @@ -0,0 +1,965 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 8B0BB6692B6D97E400ED532A /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E12B6D97E400ED532A /* CAExtAudioFile.h */; }; + 8B0BB66A2B6D97E400ED532A /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E22B6D97E400ED532A /* CACFMachPort.h */; }; + 8B0BB66B2B6D97E400ED532A /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E32B6D97E400ED532A /* CABool.h */; }; + 8B0BB66C2B6D97E400ED532A /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5E42B6D97E400ED532A /* CAComponent.cpp */; }; + 8B0BB66D2B6D97E400ED532A /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E52B6D97E400ED532A /* CADebugger.h */; }; + 8B0BB66E2B6D97E400ED532A /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5E62B6D97E400ED532A /* CACFNumber.cpp */; }; + 8B0BB66F2B6D97E400ED532A /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E72B6D97E400ED532A /* CAGuard.h */; }; + 8B0BB6702B6D97E400ED532A /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E82B6D97E400ED532A /* CAAtomic.h */; }; + 8B0BB6712B6D97E400ED532A /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5E92B6D97E400ED532A /* CAStreamBasicDescription.h */; }; + 8B0BB6722B6D97E400ED532A /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EA2B6D97E400ED532A /* CACFObject.h */; }; + 8B0BB6732B6D97E400ED532A /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EB2B6D97E400ED532A /* CAStreamRangedDescription.h */; }; + 8B0BB6742B6D97E400ED532A /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EC2B6D97E400ED532A /* CATokenMap.h */; }; + 8B0BB6752B6D97E400ED532A /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5ED2B6D97E400ED532A /* CAComponent.h */; }; + 8B0BB6762B6D97E400ED532A /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EE2B6D97E400ED532A /* CAAudioBufferList.h */; }; + 8B0BB6772B6D97E400ED532A /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5EF2B6D97E400ED532A /* CAAudioUnit.h */; }; + 8B0BB6782B6D97E400ED532A /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F02B6D97E400ED532A /* CAAUParameter.h */; }; + 8B0BB6792B6D97E400ED532A /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F12B6D97E400ED532A /* CAException.h */; }; + 8B0BB67A2B6D97E400ED532A /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5F22B6D97E400ED532A /* CAAUProcessor.cpp */; }; + 8B0BB67B2B6D97E400ED532A /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F32B6D97E400ED532A /* CAAUProcessor.h */; }; + 8B0BB67C2B6D97E400ED532A /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F42B6D97E400ED532A /* CAProcess.h */; }; + 8B0BB67D2B6D97E400ED532A /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F52B6D97E400ED532A /* CACFDictionary.h */; }; + 8B0BB67E2B6D97E400ED532A /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F62B6D97E400ED532A /* CAPThread.h */; }; + 8B0BB67F2B6D97E400ED532A /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5F72B6D97E400ED532A /* CAAUParameter.cpp */; }; + 8B0BB6802B6D97E400ED532A /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5F82B6D97E400ED532A /* CAAudioTimeStamp.h */; }; + 8B0BB6812B6D97E400ED532A /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5F92B6D97E400ED532A /* CAFilePathUtils.cpp */; }; + 8B0BB6822B6D97E400ED532A /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5FA2B6D97E400ED532A /* CAAudioValueRange.h */; }; + 8B0BB6832B6D97E400ED532A /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5FB2B6D97E400ED532A /* CAVectorUnitTypes.h */; }; + 8B0BB6842B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5FC2B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp */; }; + 8B0BB6852B6D97E400ED532A /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5FD2B6D97E400ED532A /* CAGuard.cpp */; }; + 8B0BB6862B6D97E400ED532A /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB5FE2B6D97E400ED532A /* CACFNumber.h */; }; + 8B0BB6872B6D97E400ED532A /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB5FF2B6D97E400ED532A /* CACFDistributedNotification.cpp */; }; + 8B0BB6882B6D97E400ED532A /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6002B6D97E400ED532A /* CACFString.h */; }; + 8B0BB6892B6D97E400ED532A /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6012B6D97E400ED532A /* CAAUMIDIMapManager.cpp */; }; + 8B0BB68A2B6D97E400ED532A /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6022B6D97E400ED532A /* CAComponentDescription.cpp */; }; + 8B0BB68B2B6D97E400ED532A /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6032B6D97E400ED532A /* CAHostTimeBase.h */; }; + 8B0BB68C2B6D97E400ED532A /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6042B6D97E400ED532A /* CADebugMacros.cpp */; }; + 8B0BB68D2B6D97E400ED532A /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6052B6D97E400ED532A /* CAAudioFileFormats.h */; }; + 8B0BB68E2B6D97E400ED532A /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6062B6D97E400ED532A /* CAAUMIDIMapManager.h */; }; + 8B0BB68F2B6D97E400ED532A /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6072B6D97E400ED532A /* CACFDictionary.cpp */; }; + 8B0BB6902B6D97E400ED532A /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6082B6D97E400ED532A /* CAMutex.h */; }; + 8B0BB6912B6D97E400ED532A /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6092B6D97E400ED532A /* CACFString.cpp */; }; + 8B0BB6922B6D97E400ED532A /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60A2B6D97E400ED532A /* CASettingsStorage.h */; }; + 8B0BB6932B6D97E400ED532A /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60B2B6D97E400ED532A /* CADebugPrintf.h */; }; + 8B0BB6942B6D97E400ED532A /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB60C2B6D97E400ED532A /* CAXException.cpp */; }; + 8B0BB6952B6D97E400ED532A /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60D2B6D97E400ED532A /* CAAUMIDIMap.h */; }; + 8B0BB6962B6D97E400ED532A /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60E2B6D97E400ED532A /* AUParamInfo.h */; }; + 8B0BB6972B6D97E400ED532A /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB60F2B6D97E400ED532A /* CABitOperations.h */; }; + 8B0BB6982B6D97E400ED532A /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6102B6D97E400ED532A /* CACFPreferences.cpp */; }; + 8B0BB6992B6D97E400ED532A /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6112B6D97E400ED532A /* CABundleLocker.h */; }; + 8B0BB69A2B6D97E400ED532A /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6122B6D97E400ED532A /* CAPropertyAddress.h */; }; + 8B0BB69B2B6D97E400ED532A /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6132B6D97E400ED532A /* CAXException.h */; }; + 8B0BB69C2B6D97E400ED532A /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6142B6D97E400ED532A /* CAAudioChannelLayout.cpp */; }; + 8B0BB69D2B6D97E400ED532A /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6152B6D97E400ED532A /* CAThreadSafeList.h */; }; + 8B0BB69E2B6D97E400ED532A /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6162B6D97E400ED532A /* CAAudioUnitOutputCapturer.h */; }; + 8B0BB69F2B6D97E400ED532A /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6172B6D97E400ED532A /* AUParamInfo.cpp */; }; + 8B0BB6A02B6D97E400ED532A /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6182B6D97E400ED532A /* CASharedLibrary.cpp */; }; + 8B0BB6A12B6D97E400ED532A /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6192B6D97E400ED532A /* CAAUMIDIMap.cpp */; }; + 8B0BB6A22B6D97E400ED532A /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB61A2B6D97E400ED532A /* CALogMacros.h */; }; + 8B0BB6A32B6D97E400ED532A /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB61B2B6D97E400ED532A /* CACFMessagePort.cpp */; }; + 8B0BB6A42B6D97E400ED532A /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB61C2B6D97E400ED532A /* CARingBuffer.h */; }; + 8B0BB6A52B6D97E400ED532A /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB61D2B6D97E400ED532A /* AUOutputBL.cpp */; }; + 8B0BB6A62B6D97E400ED532A /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB61E2B6D97E400ED532A /* CABufferList.h */; }; + 8B0BB6A72B6D97E400ED532A /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB61F2B6D97E400ED532A /* CASharedLibrary.h */; }; + 8B0BB6A82B6D97E400ED532A /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6202B6D97E400ED532A /* CACFData.h */; }; + 8B0BB6A92B6D97E400ED532A /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6212B6D97E400ED532A /* CAStreamRangedDescription.cpp */; }; + 8B0BB6AA2B6D97E400ED532A /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6222B6D97E400ED532A /* CAPThread.cpp */; }; + 8B0BB6AB2B6D97E400ED532A /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6232B6D97E400ED532A /* CAAutoDisposer.h */; }; + 8B0BB6AC2B6D97E400ED532A /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6242B6D97E400ED532A /* CACFPreferences.h */; }; + 8B0BB6AD2B6D97E400ED532A /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6252B6D97E400ED532A /* CAVectorUnit.cpp */; }; + 8B0BB6AE2B6D97E400ED532A /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6262B6D97E400ED532A /* CAComponentDescription.h */; }; + 8B0BB6AF2B6D97E400ED532A /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6272B6D97E400ED532A /* CADebugMacros.h */; }; + 8B0BB6B02B6D97E400ED532A /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6282B6D97E400ED532A /* AUOutputBL.h */; }; + 8B0BB6B12B6D97E400ED532A /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6292B6D97E400ED532A /* CADebugPrintf.cpp */; }; + 8B0BB6B22B6D97E400ED532A /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB62A2B6D97E400ED532A /* CARingBuffer.cpp */; }; + 8B0BB6B32B6D97E400ED532A /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB62B2B6D97E400ED532A /* CACFPlugIn.h */; }; + 8B0BB6B42B6D97E400ED532A /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB62C2B6D97E400ED532A /* CASettingsStorage.cpp */; }; + 8B0BB6B52B6D97E400ED532A /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB62D2B6D97E400ED532A /* CAMixMap.h */; }; + 8B0BB6B62B6D97E400ED532A /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB62E2B6D97E400ED532A /* CACFDistributedNotification.h */; }; + 8B0BB6B72B6D97E400ED532A /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB62F2B6D97E400ED532A /* CAFilePathUtils.h */; }; + 8B0BB6B82B6D97E400ED532A /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6302B6D97E400ED532A /* CATink.h */; }; + 8B0BB6B92B6D97E400ED532A /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6312B6D97E400ED532A /* CAStreamBasicDescription.cpp */; }; + 8B0BB6BA2B6D97E400ED532A /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6322B6D97E400ED532A /* CAAudioChannelLayout.h */; }; + 8B0BB6BB2B6D97E400ED532A /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6332B6D97E400ED532A /* CAProcess.cpp */; }; + 8B0BB6BC2B6D97E400ED532A /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6342B6D97E400ED532A /* CAHostTimeBase.cpp */; }; + 8B0BB6BD2B6D97E400ED532A /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6352B6D97E400ED532A /* CAPersistence.cpp */; }; + 8B0BB6BE2B6D97E400ED532A /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6362B6D97E400ED532A /* CAAudioBufferList.cpp */; }; + 8B0BB6BF2B6D97E400ED532A /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6372B6D97E400ED532A /* CAAudioTimeStamp.cpp */; }; + 8B0BB6C02B6D97E400ED532A /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6382B6D97E400ED532A /* CAVectorUnit.h */; }; + 8B0BB6C12B6D97E400ED532A /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6392B6D97E400ED532A /* CAByteOrder.h */; }; + 8B0BB6C22B6D97E400ED532A /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB63A2B6D97E400ED532A /* CACFArray.h */; }; + 8B0BB6C32B6D97E400ED532A /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB63B2B6D97E400ED532A /* CAAtomicStack.h */; }; + 8B0BB6C42B6D97E400ED532A /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB63C2B6D97E400ED532A /* CAReferenceCounted.h */; }; + 8B0BB6C52B6D97E400ED532A /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB63D2B6D97E400ED532A /* CACFMachPort.cpp */; }; + 8B0BB6C62B6D97E400ED532A /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB63E2B6D97E400ED532A /* CABufferList.cpp */; }; + 8B0BB6C72B6D97E400ED532A /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB63F2B6D97E400ED532A /* CAMutex.cpp */; }; + 8B0BB6C82B6D97E400ED532A /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6402B6D97E400ED532A /* CADebugger.cpp */; }; + 8B0BB6C92B6D97E400ED532A /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6412B6D97E400ED532A /* CABundleLocker.cpp */; }; + 8B0BB6CA2B6D97E400ED532A /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6422B6D97E400ED532A /* CAAudioFileFormats.cpp */; }; + 8B0BB6CB2B6D97E400ED532A /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6432B6D97E400ED532A /* CAMath.h */; }; + 8B0BB6CC2B6D97E400ED532A /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6442B6D97E400ED532A /* CACFArray.cpp */; }; + 8B0BB6CD2B6D97E400ED532A /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6452B6D97E400ED532A /* CACFMessagePort.h */; }; + 8B0BB6CE2B6D97E400ED532A /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6462B6D97E400ED532A /* CAAudioValueRange.cpp */; }; + 8B0BB6CF2B6D97E400ED532A /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6472B6D97E400ED532A /* CAAudioUnit.cpp */; }; + 8B0BB6D02B6D97E400ED532A /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB64B2B6D97E400ED532A /* AUViewLocalizedStringKeys.h */; }; + 8B0BB6D12B6D97E400ED532A /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB64D2B6D97E400ED532A /* ComponentBase.cpp */; }; + 8B0BB6D22B6D97E400ED532A /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB64E2B6D97E400ED532A /* AUScopeElement.cpp */; }; + 8B0BB6D32B6D97E400ED532A /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB64F2B6D97E400ED532A /* ComponentBase.h */; }; + 8B0BB6D42B6D97E400ED532A /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6502B6D97E400ED532A /* AUBase.cpp */; }; + 8B0BB6D52B6D97E400ED532A /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6512B6D97E400ED532A /* AUInputElement.h */; }; + 8B0BB6D62B6D97E400ED532A /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6522B6D97E400ED532A /* AUBase.h */; }; + 8B0BB6D72B6D97E400ED532A /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6532B6D97E400ED532A /* AUPlugInDispatch.h */; }; + 8B0BB6D82B6D97E400ED532A /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6542B6D97E400ED532A /* AUDispatch.h */; }; + 8B0BB6D92B6D97E400ED532A /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6552B6D97E400ED532A /* AUOutputElement.cpp */; }; + 8B0BB6DB2B6D97E400ED532A /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6572B6D97E400ED532A /* AUPlugInDispatch.cpp */; }; + 8B0BB6DC2B6D97E400ED532A /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6582B6D97E400ED532A /* AUOutputElement.h */; }; + 8B0BB6DD2B6D97E400ED532A /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6592B6D97E400ED532A /* AUDispatch.cpp */; }; + 8B0BB6DE2B6D97E400ED532A /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB65A2B6D97E400ED532A /* AUScopeElement.h */; }; + 8B0BB6DF2B6D97E400ED532A /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB65B2B6D97E400ED532A /* AUInputElement.cpp */; }; + 8B0BB6E02B6D97E400ED532A /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB65D2B6D97E400ED532A /* AUEffectBase.cpp */; }; + 8B0BB6E12B6D97E400ED532A /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB65E2B6D97E400ED532A /* AUEffectBase.h */; }; + 8B0BB6E22B6D97E400ED532A /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6602B6D97E400ED532A /* AUTimestampGenerator.h */; }; + 8B0BB6E32B6D97E400ED532A /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6612B6D97E400ED532A /* AUBaseHelper.cpp */; }; + 8B0BB6E42B6D97E400ED532A /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6622B6D97E400ED532A /* AUSilentTimeout.h */; }; + 8B0BB6E52B6D97E400ED532A /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6632B6D97E400ED532A /* AUInputFormatConverter.h */; }; + 8B0BB6E62B6D97E400ED532A /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6642B6D97E400ED532A /* AUTimestampGenerator.cpp */; }; + 8B0BB6E72B6D97E400ED532A /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6652B6D97E400ED532A /* AUBuffer.cpp */; }; + 8B0BB6E82B6D97E400ED532A /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6662B6D97E400ED532A /* AUMIDIDefs.h */; }; + 8B0BB6E92B6D97E400ED532A /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6672B6D97E400ED532A /* AUBuffer.h */; }; + 8B0BB6EA2B6D97E400ED532A /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6682B6D97E400ED532A /* AUBaseHelper.h */; }; + 8BA05A6B0720730100365D66 /* CloudCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* CloudCoat.cpp */; }; + 8BA05A6E0720730100365D66 /* CloudCoatVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* CloudCoatVersion.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 /* CloudCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* CloudCoat.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8B0BB5E12B6D97E400ED532A /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = ""; }; + 8B0BB5E22B6D97E400ED532A /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = ""; }; + 8B0BB5E32B6D97E400ED532A /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = ""; }; + 8B0BB5E42B6D97E400ED532A /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = ""; }; + 8B0BB5E52B6D97E400ED532A /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = ""; }; + 8B0BB5E62B6D97E400ED532A /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = ""; }; + 8B0BB5E72B6D97E400ED532A /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = ""; }; + 8B0BB5E82B6D97E400ED532A /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = ""; }; + 8B0BB5E92B6D97E400ED532A /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8B0BB5EA2B6D97E400ED532A /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = ""; }; + 8B0BB5EB2B6D97E400ED532A /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = ""; }; + 8B0BB5EC2B6D97E400ED532A /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = ""; }; + 8B0BB5ED2B6D97E400ED532A /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = ""; }; + 8B0BB5EE2B6D97E400ED532A /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = ""; }; + 8B0BB5EF2B6D97E400ED532A /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = ""; }; + 8B0BB5F02B6D97E400ED532A /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8B0BB5F12B6D97E400ED532A /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = ""; }; + 8B0BB5F22B6D97E400ED532A /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = ""; }; + 8B0BB5F32B6D97E400ED532A /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = ""; }; + 8B0BB5F42B6D97E400ED532A /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = ""; }; + 8B0BB5F52B6D97E400ED532A /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = ""; }; + 8B0BB5F62B6D97E400ED532A /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = ""; }; + 8B0BB5F72B6D97E400ED532A /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8B0BB5F82B6D97E400ED532A /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = ""; }; + 8B0BB5F92B6D97E400ED532A /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = ""; }; + 8B0BB5FA2B6D97E400ED532A /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = ""; }; + 8B0BB5FB2B6D97E400ED532A /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B0BB5FC2B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = ""; }; + 8B0BB5FD2B6D97E400ED532A /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = ""; }; + 8B0BB5FE2B6D97E400ED532A /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = ""; }; + 8B0BB5FF2B6D97E400ED532A /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = ""; }; + 8B0BB6002B6D97E400ED532A /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = ""; }; + 8B0BB6012B6D97E400ED532A /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = ""; }; + 8B0BB6022B6D97E400ED532A /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = ""; }; + 8B0BB6032B6D97E400ED532A /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = ""; }; + 8B0BB6042B6D97E400ED532A /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = ""; }; + 8B0BB6052B6D97E400ED532A /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = ""; }; + 8B0BB6062B6D97E400ED532A /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = ""; }; + 8B0BB6072B6D97E400ED532A /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = ""; }; + 8B0BB6082B6D97E400ED532A /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8B0BB6092B6D97E400ED532A /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = ""; }; + 8B0BB60A2B6D97E400ED532A /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = ""; }; + 8B0BB60B2B6D97E400ED532A /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = ""; }; + 8B0BB60C2B6D97E400ED532A /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = ""; }; + 8B0BB60D2B6D97E400ED532A /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = ""; }; + 8B0BB60E2B6D97E400ED532A /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = ""; }; + 8B0BB60F2B6D97E400ED532A /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = ""; }; + 8B0BB6102B6D97E400ED532A /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = ""; }; + 8B0BB6112B6D97E400ED532A /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = ""; }; + 8B0BB6122B6D97E400ED532A /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = ""; }; + 8B0BB6132B6D97E400ED532A /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = ""; }; + 8B0BB6142B6D97E400ED532A /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8B0BB6152B6D97E400ED532A /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = ""; }; + 8B0BB6162B6D97E400ED532A /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = ""; }; + 8B0BB6172B6D97E400ED532A /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = ""; }; + 8B0BB6182B6D97E400ED532A /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = ""; }; + 8B0BB6192B6D97E400ED532A /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = ""; }; + 8B0BB61A2B6D97E400ED532A /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = ""; }; + 8B0BB61B2B6D97E400ED532A /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = ""; }; + 8B0BB61C2B6D97E400ED532A /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = ""; }; + 8B0BB61D2B6D97E400ED532A /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = ""; }; + 8B0BB61E2B6D97E400ED532A /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = ""; }; + 8B0BB61F2B6D97E400ED532A /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = ""; }; + 8B0BB6202B6D97E400ED532A /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = ""; }; + 8B0BB6212B6D97E400ED532A /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = ""; }; + 8B0BB6222B6D97E400ED532A /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = ""; }; + 8B0BB6232B6D97E400ED532A /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = ""; }; + 8B0BB6242B6D97E400ED532A /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = ""; }; + 8B0BB6252B6D97E400ED532A /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 8B0BB6262B6D97E400ED532A /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = ""; }; + 8B0BB6272B6D97E400ED532A /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = ""; }; + 8B0BB6282B6D97E400ED532A /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = ""; }; + 8B0BB6292B6D97E400ED532A /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = ""; }; + 8B0BB62A2B6D97E400ED532A /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = ""; }; + 8B0BB62B2B6D97E400ED532A /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = ""; }; + 8B0BB62C2B6D97E400ED532A /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = ""; }; + 8B0BB62D2B6D97E400ED532A /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = ""; }; + 8B0BB62E2B6D97E400ED532A /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = ""; }; + 8B0BB62F2B6D97E400ED532A /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = ""; }; + 8B0BB6302B6D97E400ED532A /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = ""; }; + 8B0BB6312B6D97E400ED532A /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8B0BB6322B6D97E400ED532A /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8B0BB6332B6D97E400ED532A /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = ""; }; + 8B0BB6342B6D97E400ED532A /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = ""; }; + 8B0BB6352B6D97E400ED532A /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = ""; }; + 8B0BB6362B6D97E400ED532A /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = ""; }; + 8B0BB6372B6D97E400ED532A /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = ""; }; + 8B0BB6382B6D97E400ED532A /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 8B0BB6392B6D97E400ED532A /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = ""; }; + 8B0BB63A2B6D97E400ED532A /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = ""; }; + 8B0BB63B2B6D97E400ED532A /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = ""; }; + 8B0BB63C2B6D97E400ED532A /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = ""; }; + 8B0BB63D2B6D97E400ED532A /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = ""; }; + 8B0BB63E2B6D97E400ED532A /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = ""; }; + 8B0BB63F2B6D97E400ED532A /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8B0BB6402B6D97E400ED532A /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = ""; }; + 8B0BB6412B6D97E400ED532A /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = ""; }; + 8B0BB6422B6D97E400ED532A /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = ""; }; + 8B0BB6432B6D97E400ED532A /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = ""; }; + 8B0BB6442B6D97E400ED532A /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = ""; }; + 8B0BB6452B6D97E400ED532A /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = ""; }; + 8B0BB6462B6D97E400ED532A /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = ""; }; + 8B0BB6472B6D97E400ED532A /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = ""; }; + 8B0BB64B2B6D97E400ED532A /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = ""; }; + 8B0BB64D2B6D97E400ED532A /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8B0BB64E2B6D97E400ED532A /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8B0BB64F2B6D97E400ED532A /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8B0BB6502B6D97E400ED532A /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8B0BB6512B6D97E400ED532A /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8B0BB6522B6D97E400ED532A /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8B0BB6532B6D97E400ED532A /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = ""; }; + 8B0BB6542B6D97E400ED532A /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8B0BB6552B6D97E400ED532A /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8B0BB6562B6D97E400ED532A /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8B0BB6572B6D97E400ED532A /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = ""; }; + 8B0BB6582B6D97E400ED532A /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8B0BB6592B6D97E400ED532A /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8B0BB65A2B6D97E400ED532A /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8B0BB65B2B6D97E400ED532A /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8B0BB65D2B6D97E400ED532A /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8B0BB65E2B6D97E400ED532A /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8B0BB6602B6D97E400ED532A /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8B0BB6612B6D97E400ED532A /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = ""; }; + 8B0BB6622B6D97E400ED532A /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8B0BB6632B6D97E400ED532A /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8B0BB6642B6D97E400ED532A /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = ""; }; + 8B0BB6652B6D97E400ED532A /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8B0BB6662B6D97E400ED532A /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = ""; }; + 8B0BB6672B6D97E400ED532A /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8B0BB6682B6D97E400ED532A /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = ""; }; + 8B0BB6EB2B6D988100ED532A /* 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 /* CloudCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CloudCoat.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* CloudCoat.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = CloudCoat.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* CloudCoat.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = CloudCoat.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* CloudCoatVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CloudCoatVersion.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 /* CloudCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CloudCoat.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* CloudCoat.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudCoat.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 /* CloudCoat */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = CloudCoat; + 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 = ( + 8B0BB5DF2B6D97E400ED532A /* CA_SDK */, + 8BA05A56072072A900365D66 /* AU Source */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* CloudCoat.component */, + ); + name = Products; + sourceTree = ""; + }; + 8B0BB5DF2B6D97E400ED532A /* CA_SDK */ = { + isa = PBXGroup; + children = ( + 8B0BB5E02B6D97E400ED532A /* PublicUtility */, + 8B0BB6482B6D97E400ED532A /* AudioUnits */, + ); + name = CA_SDK; + path = ../../../../CA_SDK; + sourceTree = ""; + }; + 8B0BB5E02B6D97E400ED532A /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8B0BB5E12B6D97E400ED532A /* CAExtAudioFile.h */, + 8B0BB5E22B6D97E400ED532A /* CACFMachPort.h */, + 8B0BB5E32B6D97E400ED532A /* CABool.h */, + 8B0BB5E42B6D97E400ED532A /* CAComponent.cpp */, + 8B0BB5E52B6D97E400ED532A /* CADebugger.h */, + 8B0BB5E62B6D97E400ED532A /* CACFNumber.cpp */, + 8B0BB5E72B6D97E400ED532A /* CAGuard.h */, + 8B0BB5E82B6D97E400ED532A /* CAAtomic.h */, + 8B0BB5E92B6D97E400ED532A /* CAStreamBasicDescription.h */, + 8B0BB5EA2B6D97E400ED532A /* CACFObject.h */, + 8B0BB5EB2B6D97E400ED532A /* CAStreamRangedDescription.h */, + 8B0BB5EC2B6D97E400ED532A /* CATokenMap.h */, + 8B0BB5ED2B6D97E400ED532A /* CAComponent.h */, + 8B0BB5EE2B6D97E400ED532A /* CAAudioBufferList.h */, + 8B0BB5EF2B6D97E400ED532A /* CAAudioUnit.h */, + 8B0BB5F02B6D97E400ED532A /* CAAUParameter.h */, + 8B0BB5F12B6D97E400ED532A /* CAException.h */, + 8B0BB5F22B6D97E400ED532A /* CAAUProcessor.cpp */, + 8B0BB5F32B6D97E400ED532A /* CAAUProcessor.h */, + 8B0BB5F42B6D97E400ED532A /* CAProcess.h */, + 8B0BB5F52B6D97E400ED532A /* CACFDictionary.h */, + 8B0BB5F62B6D97E400ED532A /* CAPThread.h */, + 8B0BB5F72B6D97E400ED532A /* CAAUParameter.cpp */, + 8B0BB5F82B6D97E400ED532A /* CAAudioTimeStamp.h */, + 8B0BB5F92B6D97E400ED532A /* CAFilePathUtils.cpp */, + 8B0BB5FA2B6D97E400ED532A /* CAAudioValueRange.h */, + 8B0BB5FB2B6D97E400ED532A /* CAVectorUnitTypes.h */, + 8B0BB5FC2B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp */, + 8B0BB5FD2B6D97E400ED532A /* CAGuard.cpp */, + 8B0BB5FE2B6D97E400ED532A /* CACFNumber.h */, + 8B0BB5FF2B6D97E400ED532A /* CACFDistributedNotification.cpp */, + 8B0BB6002B6D97E400ED532A /* CACFString.h */, + 8B0BB6012B6D97E400ED532A /* CAAUMIDIMapManager.cpp */, + 8B0BB6022B6D97E400ED532A /* CAComponentDescription.cpp */, + 8B0BB6032B6D97E400ED532A /* CAHostTimeBase.h */, + 8B0BB6042B6D97E400ED532A /* CADebugMacros.cpp */, + 8B0BB6052B6D97E400ED532A /* CAAudioFileFormats.h */, + 8B0BB6062B6D97E400ED532A /* CAAUMIDIMapManager.h */, + 8B0BB6072B6D97E400ED532A /* CACFDictionary.cpp */, + 8B0BB6082B6D97E400ED532A /* CAMutex.h */, + 8B0BB6092B6D97E400ED532A /* CACFString.cpp */, + 8B0BB60A2B6D97E400ED532A /* CASettingsStorage.h */, + 8B0BB60B2B6D97E400ED532A /* CADebugPrintf.h */, + 8B0BB60C2B6D97E400ED532A /* CAXException.cpp */, + 8B0BB60D2B6D97E400ED532A /* CAAUMIDIMap.h */, + 8B0BB60E2B6D97E400ED532A /* AUParamInfo.h */, + 8B0BB60F2B6D97E400ED532A /* CABitOperations.h */, + 8B0BB6102B6D97E400ED532A /* CACFPreferences.cpp */, + 8B0BB6112B6D97E400ED532A /* CABundleLocker.h */, + 8B0BB6122B6D97E400ED532A /* CAPropertyAddress.h */, + 8B0BB6132B6D97E400ED532A /* CAXException.h */, + 8B0BB6142B6D97E400ED532A /* CAAudioChannelLayout.cpp */, + 8B0BB6152B6D97E400ED532A /* CAThreadSafeList.h */, + 8B0BB6162B6D97E400ED532A /* CAAudioUnitOutputCapturer.h */, + 8B0BB6172B6D97E400ED532A /* AUParamInfo.cpp */, + 8B0BB6182B6D97E400ED532A /* CASharedLibrary.cpp */, + 8B0BB6192B6D97E400ED532A /* CAAUMIDIMap.cpp */, + 8B0BB61A2B6D97E400ED532A /* CALogMacros.h */, + 8B0BB61B2B6D97E400ED532A /* CACFMessagePort.cpp */, + 8B0BB61C2B6D97E400ED532A /* CARingBuffer.h */, + 8B0BB61D2B6D97E400ED532A /* AUOutputBL.cpp */, + 8B0BB61E2B6D97E400ED532A /* CABufferList.h */, + 8B0BB61F2B6D97E400ED532A /* CASharedLibrary.h */, + 8B0BB6202B6D97E400ED532A /* CACFData.h */, + 8B0BB6212B6D97E400ED532A /* CAStreamRangedDescription.cpp */, + 8B0BB6222B6D97E400ED532A /* CAPThread.cpp */, + 8B0BB6232B6D97E400ED532A /* CAAutoDisposer.h */, + 8B0BB6242B6D97E400ED532A /* CACFPreferences.h */, + 8B0BB6252B6D97E400ED532A /* CAVectorUnit.cpp */, + 8B0BB6262B6D97E400ED532A /* CAComponentDescription.h */, + 8B0BB6272B6D97E400ED532A /* CADebugMacros.h */, + 8B0BB6282B6D97E400ED532A /* AUOutputBL.h */, + 8B0BB6292B6D97E400ED532A /* CADebugPrintf.cpp */, + 8B0BB62A2B6D97E400ED532A /* CARingBuffer.cpp */, + 8B0BB62B2B6D97E400ED532A /* CACFPlugIn.h */, + 8B0BB62C2B6D97E400ED532A /* CASettingsStorage.cpp */, + 8B0BB62D2B6D97E400ED532A /* CAMixMap.h */, + 8B0BB62E2B6D97E400ED532A /* CACFDistributedNotification.h */, + 8B0BB62F2B6D97E400ED532A /* CAFilePathUtils.h */, + 8B0BB6302B6D97E400ED532A /* CATink.h */, + 8B0BB6312B6D97E400ED532A /* CAStreamBasicDescription.cpp */, + 8B0BB6322B6D97E400ED532A /* CAAudioChannelLayout.h */, + 8B0BB6332B6D97E400ED532A /* CAProcess.cpp */, + 8B0BB6342B6D97E400ED532A /* CAHostTimeBase.cpp */, + 8B0BB6352B6D97E400ED532A /* CAPersistence.cpp */, + 8B0BB6362B6D97E400ED532A /* CAAudioBufferList.cpp */, + 8B0BB6372B6D97E400ED532A /* CAAudioTimeStamp.cpp */, + 8B0BB6382B6D97E400ED532A /* CAVectorUnit.h */, + 8B0BB6392B6D97E400ED532A /* CAByteOrder.h */, + 8B0BB63A2B6D97E400ED532A /* CACFArray.h */, + 8B0BB63B2B6D97E400ED532A /* CAAtomicStack.h */, + 8B0BB63C2B6D97E400ED532A /* CAReferenceCounted.h */, + 8B0BB63D2B6D97E400ED532A /* CACFMachPort.cpp */, + 8B0BB63E2B6D97E400ED532A /* CABufferList.cpp */, + 8B0BB63F2B6D97E400ED532A /* CAMutex.cpp */, + 8B0BB6402B6D97E400ED532A /* CADebugger.cpp */, + 8B0BB6412B6D97E400ED532A /* CABundleLocker.cpp */, + 8B0BB6422B6D97E400ED532A /* CAAudioFileFormats.cpp */, + 8B0BB6432B6D97E400ED532A /* CAMath.h */, + 8B0BB6442B6D97E400ED532A /* CACFArray.cpp */, + 8B0BB6452B6D97E400ED532A /* CACFMessagePort.h */, + 8B0BB6462B6D97E400ED532A /* CAAudioValueRange.cpp */, + 8B0BB6472B6D97E400ED532A /* CAAudioUnit.cpp */, + ); + path = PublicUtility; + sourceTree = ""; + }; + 8B0BB6482B6D97E400ED532A /* AudioUnits */ = { + isa = PBXGroup; + children = ( + 8B0BB6492B6D97E400ED532A /* AUPublic */, + ); + path = AudioUnits; + sourceTree = ""; + }; + 8B0BB6492B6D97E400ED532A /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8B0BB64A2B6D97E400ED532A /* AUViewBase */, + 8B0BB64C2B6D97E400ED532A /* AUBase */, + 8B0BB65C2B6D97E400ED532A /* OtherBases */, + 8B0BB65F2B6D97E400ED532A /* Utility */, + ); + path = AUPublic; + sourceTree = ""; + }; + 8B0BB64A2B6D97E400ED532A /* AUViewBase */ = { + isa = PBXGroup; + children = ( + 8B0BB64B2B6D97E400ED532A /* AUViewLocalizedStringKeys.h */, + ); + path = AUViewBase; + sourceTree = ""; + }; + 8B0BB64C2B6D97E400ED532A /* AUBase */ = { + isa = PBXGroup; + children = ( + 8B0BB64D2B6D97E400ED532A /* ComponentBase.cpp */, + 8B0BB64E2B6D97E400ED532A /* AUScopeElement.cpp */, + 8B0BB64F2B6D97E400ED532A /* ComponentBase.h */, + 8B0BB6502B6D97E400ED532A /* AUBase.cpp */, + 8B0BB6512B6D97E400ED532A /* AUInputElement.h */, + 8B0BB6522B6D97E400ED532A /* AUBase.h */, + 8B0BB6532B6D97E400ED532A /* AUPlugInDispatch.h */, + 8B0BB6542B6D97E400ED532A /* AUDispatch.h */, + 8B0BB6552B6D97E400ED532A /* AUOutputElement.cpp */, + 8B0BB6562B6D97E400ED532A /* AUResources.r */, + 8B0BB6572B6D97E400ED532A /* AUPlugInDispatch.cpp */, + 8B0BB6582B6D97E400ED532A /* AUOutputElement.h */, + 8B0BB6592B6D97E400ED532A /* AUDispatch.cpp */, + 8B0BB65A2B6D97E400ED532A /* AUScopeElement.h */, + 8B0BB65B2B6D97E400ED532A /* AUInputElement.cpp */, + ); + path = AUBase; + sourceTree = ""; + }; + 8B0BB65C2B6D97E400ED532A /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8B0BB65D2B6D97E400ED532A /* AUEffectBase.cpp */, + 8B0BB65E2B6D97E400ED532A /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8B0BB65F2B6D97E400ED532A /* Utility */ = { + isa = PBXGroup; + children = ( + 8B0BB6602B6D97E400ED532A /* AUTimestampGenerator.h */, + 8B0BB6612B6D97E400ED532A /* AUBaseHelper.cpp */, + 8B0BB6622B6D97E400ED532A /* AUSilentTimeout.h */, + 8B0BB6632B6D97E400ED532A /* AUInputFormatConverter.h */, + 8B0BB6642B6D97E400ED532A /* AUTimestampGenerator.cpp */, + 8B0BB6652B6D97E400ED532A /* AUBuffer.cpp */, + 8B0BB6662B6D97E400ED532A /* AUMIDIDefs.h */, + 8B0BB6672B6D97E400ED532A /* AUBuffer.h */, + 8B0BB6682B6D97E400ED532A /* AUBaseHelper.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* CloudCoat.h */, + 8BA05A660720730100365D66 /* CloudCoat.cpp */, + 8BA05A670720730100365D66 /* CloudCoat.exp */, + 8BA05A680720730100365D66 /* CloudCoat.r */, + 8BA05A690720730100365D66 /* CloudCoatVersion.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B0BB6992B6D97E400ED532A /* CABundleLocker.h in Headers */, + 8B0BB6BA2B6D97E400ED532A /* CAAudioChannelLayout.h in Headers */, + 8B0BB6B02B6D97E400ED532A /* AUOutputBL.h in Headers */, + 8B0BB68B2B6D97E400ED532A /* CAHostTimeBase.h in Headers */, + 8B0BB6D32B6D97E400ED532A /* ComponentBase.h in Headers */, + 8B0BB6C32B6D97E400ED532A /* CAAtomicStack.h in Headers */, + 8B0BB6802B6D97E400ED532A /* CAAudioTimeStamp.h in Headers */, + 8B0BB69D2B6D97E400ED532A /* CAThreadSafeList.h in Headers */, + 8B0BB6782B6D97E400ED532A /* CAAUParameter.h in Headers */, + 8B0BB6EA2B6D97E400ED532A /* AUBaseHelper.h in Headers */, + 8B0BB6E22B6D97E400ED532A /* AUTimestampGenerator.h in Headers */, + 8B0BB6932B6D97E400ED532A /* CADebugPrintf.h in Headers */, + 8B0BB6CD2B6D97E400ED532A /* CACFMessagePort.h in Headers */, + 8B0BB67B2B6D97E400ED532A /* CAAUProcessor.h in Headers */, + 8B0BB6772B6D97E400ED532A /* CAAudioUnit.h in Headers */, + 8B0BB6D02B6D97E400ED532A /* AUViewLocalizedStringKeys.h in Headers */, + 8B0BB6B62B6D97E400ED532A /* CACFDistributedNotification.h in Headers */, + 8B0BB6752B6D97E400ED532A /* CAComponent.h in Headers */, + 8B0BB6832B6D97E400ED532A /* CAVectorUnitTypes.h in Headers */, + 8BA05A6E0720730100365D66 /* CloudCoatVersion.h in Headers */, + 8B0BB6B72B6D97E400ED532A /* CAFilePathUtils.h in Headers */, + 8B0BB6792B6D97E400ED532A /* CAException.h in Headers */, + 8B0BB6702B6D97E400ED532A /* CAAtomic.h in Headers */, + 8B0BB66F2B6D97E400ED532A /* CAGuard.h in Headers */, + 8B0BB6D52B6D97E400ED532A /* AUInputElement.h in Headers */, + 8B0BB6AC2B6D97E400ED532A /* CACFPreferences.h in Headers */, + 8B0BB6C12B6D97E400ED532A /* CAByteOrder.h in Headers */, + 8B0BB6A42B6D97E400ED532A /* CARingBuffer.h in Headers */, + 8B0BB66B2B6D97E400ED532A /* CABool.h in Headers */, + 8B0BB6902B6D97E400ED532A /* CAMutex.h in Headers */, + 8B0BB6D62B6D97E400ED532A /* AUBase.h in Headers */, + 8BC6025C073B072D006C4272 /* CloudCoat.h in Headers */, + 8B0BB6882B6D97E400ED532A /* CACFString.h in Headers */, + 8B0BB6A72B6D97E400ED532A /* CASharedLibrary.h in Headers */, + 8B0BB6742B6D97E400ED532A /* CATokenMap.h in Headers */, + 8B0BB6692B6D97E400ED532A /* CAExtAudioFile.h in Headers */, + 8B0BB67E2B6D97E400ED532A /* CAPThread.h in Headers */, + 8B0BB69A2B6D97E400ED532A /* CAPropertyAddress.h in Headers */, + 8B0BB6C42B6D97E400ED532A /* CAReferenceCounted.h in Headers */, + 8B0BB6E92B6D97E400ED532A /* AUBuffer.h in Headers */, + 8B0BB6CB2B6D97E400ED532A /* CAMath.h in Headers */, + 8B0BB6AB2B6D97E400ED532A /* CAAutoDisposer.h in Headers */, + 8B0BB6722B6D97E400ED532A /* CACFObject.h in Headers */, + 8B0BB6922B6D97E400ED532A /* CASettingsStorage.h in Headers */, + 8B0BB69B2B6D97E400ED532A /* CAXException.h in Headers */, + 8B0BB6B82B6D97E400ED532A /* CATink.h in Headers */, + 8B0BB6E52B6D97E400ED532A /* AUInputFormatConverter.h in Headers */, + 8B0BB6C02B6D97E400ED532A /* CAVectorUnit.h in Headers */, + 8B0BB67C2B6D97E400ED532A /* CAProcess.h in Headers */, + 8B0BB6822B6D97E400ED532A /* CAAudioValueRange.h in Headers */, + 8B0BB6972B6D97E400ED532A /* CABitOperations.h in Headers */, + 8B0BB68D2B6D97E400ED532A /* CAAudioFileFormats.h in Headers */, + 8B0BB6862B6D97E400ED532A /* CACFNumber.h in Headers */, + 8B0BB69E2B6D97E400ED532A /* CAAudioUnitOutputCapturer.h in Headers */, + 8B0BB6AF2B6D97E400ED532A /* CADebugMacros.h in Headers */, + 8B0BB6E82B6D97E400ED532A /* AUMIDIDefs.h in Headers */, + 8B0BB6A82B6D97E400ED532A /* CACFData.h in Headers */, + 8B0BB6712B6D97E400ED532A /* CAStreamBasicDescription.h in Headers */, + 8B0BB6D72B6D97E400ED532A /* AUPlugInDispatch.h in Headers */, + 8B0BB6732B6D97E400ED532A /* CAStreamRangedDescription.h in Headers */, + 8B0BB6B32B6D97E400ED532A /* CACFPlugIn.h in Headers */, + 8B0BB6762B6D97E400ED532A /* CAAudioBufferList.h in Headers */, + 8B0BB68E2B6D97E400ED532A /* CAAUMIDIMapManager.h in Headers */, + 8B0BB6E12B6D97E400ED532A /* AUEffectBase.h in Headers */, + 8B0BB67D2B6D97E400ED532A /* CACFDictionary.h in Headers */, + 8B0BB6DE2B6D97E400ED532A /* AUScopeElement.h in Headers */, + 8B0BB6AE2B6D97E400ED532A /* CAComponentDescription.h in Headers */, + 8B0BB6E42B6D97E400ED532A /* AUSilentTimeout.h in Headers */, + 8B0BB6A62B6D97E400ED532A /* CABufferList.h in Headers */, + 8B0BB6D82B6D97E400ED532A /* AUDispatch.h in Headers */, + 8B0BB6DC2B6D97E400ED532A /* AUOutputElement.h in Headers */, + 8B0BB6A22B6D97E400ED532A /* CALogMacros.h in Headers */, + 8B0BB6962B6D97E400ED532A /* AUParamInfo.h in Headers */, + 8B0BB6B52B6D97E400ED532A /* CAMixMap.h in Headers */, + 8B0BB6C22B6D97E400ED532A /* CACFArray.h in Headers */, + 8B0BB66A2B6D97E400ED532A /* CACFMachPort.h in Headers */, + 8B0BB6952B6D97E400ED532A /* CAAUMIDIMap.h in Headers */, + 8B0BB66D2B6D97E400ED532A /* CADebugger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "CloudCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CloudCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = CloudCoat; + productReference = 8D01CCD20486CAD60068D4B7 /* CloudCoat.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 "CloudCoat" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + ja, + Base, + en, + fr, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* CloudCoat */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* CloudCoat */, + ); + }; +/* 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 = ( + 8B0BB6A52B6D97E400ED532A /* AUOutputBL.cpp in Sources */, + 8B0BB6CA2B6D97E400ED532A /* CAAudioFileFormats.cpp in Sources */, + 8B0BB6BC2B6D97E400ED532A /* CAHostTimeBase.cpp in Sources */, + 8B0BB6942B6D97E400ED532A /* CAXException.cpp in Sources */, + 8B0BB6BE2B6D97E400ED532A /* CAAudioBufferList.cpp in Sources */, + 8B0BB6812B6D97E400ED532A /* CAFilePathUtils.cpp in Sources */, + 8B0BB67F2B6D97E400ED532A /* CAAUParameter.cpp in Sources */, + 8B0BB6A12B6D97E400ED532A /* CAAUMIDIMap.cpp in Sources */, + 8B0BB6CE2B6D97E400ED532A /* CAAudioValueRange.cpp in Sources */, + 8B0BB6DD2B6D97E400ED532A /* AUDispatch.cpp in Sources */, + 8B0BB6982B6D97E400ED532A /* CACFPreferences.cpp in Sources */, + 8B0BB6DB2B6D97E400ED532A /* AUPlugInDispatch.cpp in Sources */, + 8B0BB67A2B6D97E400ED532A /* CAAUProcessor.cpp in Sources */, + 8B0BB68F2B6D97E400ED532A /* CACFDictionary.cpp in Sources */, + 8B0BB6E32B6D97E400ED532A /* AUBaseHelper.cpp in Sources */, + 8B0BB6C82B6D97E400ED532A /* CADebugger.cpp in Sources */, + 8B0BB69C2B6D97E400ED532A /* CAAudioChannelLayout.cpp in Sources */, + 8B0BB69F2B6D97E400ED532A /* AUParamInfo.cpp in Sources */, + 8B0BB6BD2B6D97E400ED532A /* CAPersistence.cpp in Sources */, + 8B0BB6B12B6D97E400ED532A /* CADebugPrintf.cpp in Sources */, + 8B0BB6E62B6D97E400ED532A /* AUTimestampGenerator.cpp in Sources */, + 8B0BB6B92B6D97E400ED532A /* CAStreamBasicDescription.cpp in Sources */, + 8B0BB6892B6D97E400ED532A /* CAAUMIDIMapManager.cpp in Sources */, + 8B0BB6B42B6D97E400ED532A /* CASettingsStorage.cpp in Sources */, + 8B0BB6D92B6D97E400ED532A /* AUOutputElement.cpp in Sources */, + 8B0BB6852B6D97E400ED532A /* CAGuard.cpp in Sources */, + 8BA05A6B0720730100365D66 /* CloudCoat.cpp in Sources */, + 8B0BB6C72B6D97E400ED532A /* CAMutex.cpp in Sources */, + 8B0BB6E02B6D97E400ED532A /* AUEffectBase.cpp in Sources */, + 8B0BB6C52B6D97E400ED532A /* CACFMachPort.cpp in Sources */, + 8B0BB6D42B6D97E400ED532A /* AUBase.cpp in Sources */, + 8B0BB6A02B6D97E400ED532A /* CASharedLibrary.cpp in Sources */, + 8B0BB6872B6D97E400ED532A /* CACFDistributedNotification.cpp in Sources */, + 8B0BB68A2B6D97E400ED532A /* CAComponentDescription.cpp in Sources */, + 8B0BB6912B6D97E400ED532A /* CACFString.cpp in Sources */, + 8B0BB6D12B6D97E400ED532A /* ComponentBase.cpp in Sources */, + 8B0BB6B22B6D97E400ED532A /* CARingBuffer.cpp in Sources */, + 8B0BB6D22B6D97E400ED532A /* AUScopeElement.cpp in Sources */, + 8B0BB6CF2B6D97E400ED532A /* CAAudioUnit.cpp in Sources */, + 8B0BB6CC2B6D97E400ED532A /* CACFArray.cpp in Sources */, + 8B0BB6C92B6D97E400ED532A /* CABundleLocker.cpp in Sources */, + 8B0BB6BB2B6D97E400ED532A /* CAProcess.cpp in Sources */, + 8B0BB6A92B6D97E400ED532A /* CAStreamRangedDescription.cpp in Sources */, + 8B0BB6AA2B6D97E400ED532A /* CAPThread.cpp in Sources */, + 8B0BB66C2B6D97E400ED532A /* CAComponent.cpp in Sources */, + 8B0BB6842B6D97E400ED532A /* CAAudioChannelLayoutObject.cpp in Sources */, + 8B0BB6BF2B6D97E400ED532A /* CAAudioTimeStamp.cpp in Sources */, + 8B0BB6C62B6D97E400ED532A /* CABufferList.cpp in Sources */, + 8B0BB6A32B6D97E400ED532A /* CACFMessagePort.cpp in Sources */, + 8B0BB6AD2B6D97E400ED532A /* CAVectorUnit.cpp in Sources */, + 8B0BB6DF2B6D97E400ED532A /* AUInputElement.cpp in Sources */, + 8B0BB6E72B6D97E400ED532A /* AUBuffer.cpp in Sources */, + 8B0BB68C2B6D97E400ED532A /* CADebugMacros.cpp in Sources */, + 8B0BB66E2B6D97E400ED532A /* CACFNumber.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 8B0BB6EB2B6D988100ED532A /* 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 = CloudCoat.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 = CloudCoat; + 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 = CloudCoat.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 = CloudCoat; + 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 "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..bfe3f7e59a7be78722a9a6d34c35c4fe3da0cc23 GIT binary patch literal 18037 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 literal 0 HcmV?d00001 diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme new file mode 100644 index 000000000..fe2e2a793 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..1de29ce4e --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + CloudCoat.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedAU/CloudCoat/CloudCoatVersion.h b/plugins/MacSignedAU/CloudCoat/CloudCoatVersion.h new file mode 100755 index 000000000..abb0fe642 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/CloudCoatVersion.h @@ -0,0 +1,58 @@ +/* +* File: CloudCoatVersion.h +* +* Version: 1.0 +* +* Created: 1/26/24 +* +* Copyright: Copyright © 2024 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 __CloudCoatVersion_h__ +#define __CloudCoatVersion_h__ + + +#ifdef DEBUG + #define kCloudCoatVersion 0xFFFFFFFF +#else + #define kCloudCoatVersion 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define CloudCoat_COMP_MANF 'Dthr' +#define CloudCoat_COMP_SUBTYPE 'cloc' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacSignedAU/CloudCoat/Info.plist b/plugins/MacSignedAU/CloudCoat/Info.plist new file mode 100755 index 000000000..4cda2c157 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/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 + cloc + 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/CloudCoat/StarterAU_Prefix.pch b/plugins/MacSignedAU/CloudCoat/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/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/CloudCoat/en.lproj/InfoPlist.strings b/plugins/MacSignedAU/CloudCoat/en.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..70c0bdccc7fc4d0832320970d4759a549574fccb GIT binary patch literal 380 zcmZ{gO>06i5Jk_rzaqGF;j1D=6c??~BGgh4+>6gIv?@=n)F0pWB!VC+Av4LncP2OU z_nT2B@XneMLzc`rGA0-MHWzF~)~w9IJTZ2?O*~iFB>k41=tA{RQkBVgaCLa)g}v%r z-Ix#if0+YqcS(L}m%VJqJhV%R){VM8Gx7W0D(?6vE literal 0 HcmV?d00001 diff --git a/plugins/MacSignedAU/CloudCoat/version.plist b/plugins/MacSignedAU/CloudCoat/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacSignedAU/CloudCoat/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedAU/kCathedral2/Info.plist b/plugins/MacSignedAU/kCathedral2/Info.plist new file mode 100755 index 000000000..c47c89480 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/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 + kcti + 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/kCathedral2/StarterAU_Prefix.pch b/plugins/MacSignedAU/kCathedral2/StarterAU_Prefix.pch new file mode 100755 index 000000000..c03b5f684 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/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/kCathedral2/en.lproj/InfoPlist.strings b/plugins/MacSignedAU/kCathedral2/en.lproj/InfoPlist.strings new file mode 100755 index 0000000000000000000000000000000000000000..1a8bc167ee29ed7aff33f664d7550ba2a007b115 GIT binary patch literal 388 zcmZ{gOAi4-5QOXOS4>(=tsaUMfnD*r&LEkNc!N){V_peyO((}c%YyD;-yO?ST@_BKp$59Zj^M?b zQU8E9>T#=NgdkQMu!v4Y_a=C^BzFNTgJZRX{Zq97$x(Pz`mO7utnsJLh-~|vpe(yw ym2paq+UlS&px0beY_S<5pNRu!n`-e6!B1?XP?n;+*iWB0*Uf2-_`k8M&#Z5cvq0UseIndexedParameters(kNumberOfParameters); + SetParameter(kParam_One, kDefaultValue_ParamOne ); + +#if AU_DEBUG_DISPATCHER + mDebugDispatcher = new AUDebugDispatcher (this); +#endif + +} + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetParameterValueStrings +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetParameterValueStrings(AudioUnitScope inScope, + AudioUnitParameterID inParameterID, + CFArrayRef * outStrings) +{ + + return kAudioUnitErr_InvalidProperty; +} + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetParameterInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::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; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetPropertyInfo +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::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 kCathedral2::SupportedNumChannels(const AUChannelInfo ** outInfo) +{ + if (outInfo != NULL) + { + static AUChannelInfo info; + info.inChannels = 2; + info.outChannels = 2; + *outInfo = &info; + } + + return 1; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::GetProperty +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::GetProperty( AudioUnitPropertyID inID, + AudioUnitScope inScope, + AudioUnitElement inElement, + void * outData ) +{ + return AUEffectBase::GetProperty (inID, inScope, inElement, outData); +} + +// kCathedral2::Initialize +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::Initialize() +{ + ComponentResult result = AUEffectBase::Initialize(); + if (result == noErr) + Reset(kAudioUnitScope_Global, 0); + return result; +} + +#pragma mark ____kCathedral2EffectKernel + + + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::kCathedral2Kernel::Reset() +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ComponentResult kCathedral2::Reset(AudioUnitScope inScope, AudioUnitElement inElement) +{ + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + 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 < 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; + + 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; + 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; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 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; +} + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// kCathedral2::ProcessBufferLists +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OSStatus kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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/kCathedral2/kCathedral2.exp b/plugins/MacSignedAU/kCathedral2/kCathedral2.exp new file mode 100755 index 000000000..0b0bb288d --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.exp @@ -0,0 +1,2 @@ +_kCathedral2Entry +_kCathedral2Factory diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.h b/plugins/MacSignedAU/kCathedral2/kCathedral2.h new file mode 100755 index 000000000..dc51c2314 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.h @@ -0,0 +1,398 @@ +/* +* File: kCathedral2.h +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 "kCathedral2Version.h" + +#if AU_DEBUG_DISPATCHER + #include "AUDebugDispatcher.h" +#endif + + +#ifndef __kCathedral2_h__ +#define __kCathedral2_h__ + + +#pragma mark ____kCathedral2 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 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +#pragma mark ____kCathedral2 +class kCathedral2 : public AUEffectBase +{ +public: + kCathedral2(AudioUnit component); +#if AU_DEBUG_DISPATCHER + virtual ~kCathedral2 () { 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 kkCathedral2Version; } + + private: + double gainOutL; + double gainOutR; + + + double eAL[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + 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 pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; +}; + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +#endif \ No newline at end of file diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.r b/plugins/MacSignedAU/kCathedral2/kCathedral2.r new file mode 100755 index 000000000..c4a47c797 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.r @@ -0,0 +1,61 @@ +/* +* File: kCathedral2.r +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 "kCathedral2Version.h" + +// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description +#define kAudioUnitResID_kCathedral2 1000 + +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kCathedral2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#define RES_ID kAudioUnitResID_kCathedral2 +#define COMP_TYPE kAudioUnitType_Effect +#define COMP_SUBTYPE kCathedral2_COMP_SUBTYPE +#define COMP_MANUF kCathedral2_COMP_MANF + +#define VERSION kkCathedral2Version +#define NAME "Airwindows: kCathedral2" +#define DESCRIPTION "kCathedral2 AU" +#define ENTRY_POINT "kCathedral2Entry" + +#include "AUResources.r" \ No newline at end of file diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.mode1v3 new file mode 100755 index 000000000..61450416d --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..89194afc5 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,142 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral2 */; + codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */; + perUserDictionary = { + PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 186, + 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 = 728521365; + PBXWorkspaceStateSaveDate = 728521365; + }; + perUserProjectItems = { + 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */ = 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */; + 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */ = 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */; + 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */ = 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */; + userBuildSettings = { + }; + }; + 8BA05A660720730100365D66 /* kCathedral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1254, 17496}}"; + sepNavSelRange = "{14513, 0}"; + sepNavVisRange = "{12994, 72}"; + sepNavWindowFrame = "{{27, 87}, {914, 759}}"; + }; + }; + 8BA05A690720730100365D66 /* kCathedral2Version.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1056, 1062}}"; + sepNavSelRange = "{2920, 0}"; + sepNavVisRange = "{1174, 1809}"; + sepNavWindowFrame = "{{15, 63}, {691, 810}}"; + }; + }; + 8BA05A7F072073D200365D66 /* AUBase.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {516, 23430}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1336}"; + }; + }; + 8BA3AE882B6C555D00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 380"; + rLen = 0; + rLoc = 14513; + rType = 0; + vrLen = 29; + vrLoc = 13026; + }; + 8BA3AEDA2B6C5A9A00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BC6025B073B072D006C4272 /* kCathedral2.h */; + name = "kCathedral2.h: 268"; + rLen = 0; + rLoc = 8771; + rType = 0; + vrLen = 712; + vrLoc = 4058; + }; + 8BA3AEEC2B6C5C9D00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 368"; + rLen = 0; + rLoc = 14513; + rType = 0; + vrLen = 72; + vrLoc = 12994; + }; + 8BC6025B073B072D006C4272 /* kCathedral2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {5763, 7164}}"; + sepNavSelRange = "{6077, 4788}"; + sepNavVisRange = "{10121, 881}"; + sepNavWindowFrame = "{{38, 42}, {691, 810}}"; + }; + }; + 8BD3CCB8148830B20062E48C /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8BD3CCB9148830B20062E48C /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..0e5ef23ac --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1485 @@ + + + + + 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 + 8B93D43A2B6B00F30079B481 + 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 + + 632 + 632 + + 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, 485}} + + PBXTopSmartGroupGIDs + + XCIncludePerspectivesSwitch + + + GeometryConfiguration + + Frame + {{0, 0}, {202, 503}} + GroupTreeTableConfiguration + + MainColumn + 185 + + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B93D4352B6B00F30079B481 + PBXProjectModuleLabel + kCathedral2.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B93D4362B6B00F30079B481 + PBXProjectModuleLabel + kCathedral2.cpp + _historyCapacity + 0 + bookmark + 8BA3AEEC2B6C5C9D00F494DA + history + + 8BA3AEDA2B6C5A9A00F494DA + 8BA3AE882B6C555D00F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {425, 69}} + RubberWindowFrame + 59 108 632 544 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 69pt + + + Proportion + 429pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {425, 402}} + RubberWindowFrame + 59 108 632 544 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}, {425, 352}} + + Module + PBXBuildResultsModule + + + + + Proportion + 425pt + + + Name + Project + ServiceClasses + + XCModuleDock + PBXSmartGroupTreeModule + XCModuleDock + PBXNavigatorGroup + XCDockableTabModule + XCDetailModule + PBXProjectFindModule + PBXCVSModule + PBXBuildResultsModule + + TableOfContents + + 8BA3AEDC2B6C5A9A00F494DA + 1CA23ED40692098700951B8B + 8BA3AEDD2B6C5A9A00F494DA + 8B93D4352B6B00F30079B481 + 8BA3AEDE2B6C5A9A00F494DA + 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 + 728521885.04784501 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AEED2B6C5C9D00F494DA + /Users/christopherjohnson/Desktop/airwindows/plugins/MacAU/kCathedral2/kCathedral2.xcodeproj + + WindowString + 59 108 632 544 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/kCathedral2/kCathedral2.xcodeproj/project.pbxproj b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..1f98778c4 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.pbxproj @@ -0,0 +1,965 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 8B0BB7762B6D98D900ED532A /* CAExtAudioFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6EE2B6D98D800ED532A /* CAExtAudioFile.h */; }; + 8B0BB7772B6D98D900ED532A /* CACFMachPort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6EF2B6D98D800ED532A /* CACFMachPort.h */; }; + 8B0BB7782B6D98D900ED532A /* CABool.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F02B6D98D800ED532A /* CABool.h */; }; + 8B0BB7792B6D98D900ED532A /* CAComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6F12B6D98D800ED532A /* CAComponent.cpp */; }; + 8B0BB77A2B6D98D900ED532A /* CADebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F22B6D98D800ED532A /* CADebugger.h */; }; + 8B0BB77B2B6D98D900ED532A /* CACFNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6F32B6D98D800ED532A /* CACFNumber.cpp */; }; + 8B0BB77C2B6D98D900ED532A /* CAGuard.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F42B6D98D800ED532A /* CAGuard.h */; }; + 8B0BB77D2B6D98D900ED532A /* CAAtomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F52B6D98D800ED532A /* CAAtomic.h */; }; + 8B0BB77E2B6D98D900ED532A /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F62B6D98D800ED532A /* CAStreamBasicDescription.h */; }; + 8B0BB77F2B6D98D900ED532A /* CACFObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F72B6D98D800ED532A /* CACFObject.h */; }; + 8B0BB7802B6D98D900ED532A /* CAStreamRangedDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F82B6D98D800ED532A /* CAStreamRangedDescription.h */; }; + 8B0BB7812B6D98D900ED532A /* CATokenMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6F92B6D98D800ED532A /* CATokenMap.h */; }; + 8B0BB7822B6D98D900ED532A /* CAComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FA2B6D98D800ED532A /* CAComponent.h */; }; + 8B0BB7832B6D98D900ED532A /* CAAudioBufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FB2B6D98D800ED532A /* CAAudioBufferList.h */; }; + 8B0BB7842B6D98D900ED532A /* CAAudioUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FC2B6D98D800ED532A /* CAAudioUnit.h */; }; + 8B0BB7852B6D98D900ED532A /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FD2B6D98D800ED532A /* CAAUParameter.h */; }; + 8B0BB7862B6D98D900ED532A /* CAException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB6FE2B6D98D800ED532A /* CAException.h */; }; + 8B0BB7872B6D98D900ED532A /* CAAUProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB6FF2B6D98D800ED532A /* CAAUProcessor.cpp */; }; + 8B0BB7882B6D98D900ED532A /* CAAUProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7002B6D98D800ED532A /* CAAUProcessor.h */; }; + 8B0BB7892B6D98D900ED532A /* CAProcess.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7012B6D98D800ED532A /* CAProcess.h */; }; + 8B0BB78A2B6D98D900ED532A /* CACFDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7022B6D98D900ED532A /* CACFDictionary.h */; }; + 8B0BB78B2B6D98D900ED532A /* CAPThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7032B6D98D900ED532A /* CAPThread.h */; }; + 8B0BB78C2B6D98D900ED532A /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7042B6D98D900ED532A /* CAAUParameter.cpp */; }; + 8B0BB78D2B6D98D900ED532A /* CAAudioTimeStamp.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7052B6D98D900ED532A /* CAAudioTimeStamp.h */; }; + 8B0BB78E2B6D98D900ED532A /* CAFilePathUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7062B6D98D900ED532A /* CAFilePathUtils.cpp */; }; + 8B0BB78F2B6D98D900ED532A /* CAAudioValueRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7072B6D98D900ED532A /* CAAudioValueRange.h */; }; + 8B0BB7902B6D98D900ED532A /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7082B6D98D900ED532A /* CAVectorUnitTypes.h */; }; + 8B0BB7912B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7092B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp */; }; + 8B0BB7922B6D98D900ED532A /* CAGuard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB70A2B6D98D900ED532A /* CAGuard.cpp */; }; + 8B0BB7932B6D98D900ED532A /* CACFNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB70B2B6D98D900ED532A /* CACFNumber.h */; }; + 8B0BB7942B6D98D900ED532A /* CACFDistributedNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB70C2B6D98D900ED532A /* CACFDistributedNotification.cpp */; }; + 8B0BB7952B6D98D900ED532A /* CACFString.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB70D2B6D98D900ED532A /* CACFString.h */; }; + 8B0BB7962B6D98D900ED532A /* CAAUMIDIMapManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB70E2B6D98D900ED532A /* CAAUMIDIMapManager.cpp */; }; + 8B0BB7972B6D98D900ED532A /* CAComponentDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB70F2B6D98D900ED532A /* CAComponentDescription.cpp */; }; + 8B0BB7982B6D98D900ED532A /* CAHostTimeBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7102B6D98D900ED532A /* CAHostTimeBase.h */; }; + 8B0BB7992B6D98D900ED532A /* CADebugMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7112B6D98D900ED532A /* CADebugMacros.cpp */; }; + 8B0BB79A2B6D98D900ED532A /* CAAudioFileFormats.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7122B6D98D900ED532A /* CAAudioFileFormats.h */; }; + 8B0BB79B2B6D98D900ED532A /* CAAUMIDIMapManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7132B6D98D900ED532A /* CAAUMIDIMapManager.h */; }; + 8B0BB79C2B6D98D900ED532A /* CACFDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7142B6D98D900ED532A /* CACFDictionary.cpp */; }; + 8B0BB79D2B6D98D900ED532A /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7152B6D98D900ED532A /* CAMutex.h */; }; + 8B0BB79E2B6D98D900ED532A /* CACFString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7162B6D98D900ED532A /* CACFString.cpp */; }; + 8B0BB79F2B6D98D900ED532A /* CASettingsStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7172B6D98D900ED532A /* CASettingsStorage.h */; }; + 8B0BB7A02B6D98D900ED532A /* CADebugPrintf.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7182B6D98D900ED532A /* CADebugPrintf.h */; }; + 8B0BB7A12B6D98D900ED532A /* CAXException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7192B6D98D900ED532A /* CAXException.cpp */; }; + 8B0BB7A22B6D98D900ED532A /* CAAUMIDIMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71A2B6D98D900ED532A /* CAAUMIDIMap.h */; }; + 8B0BB7A32B6D98D900ED532A /* AUParamInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71B2B6D98D900ED532A /* AUParamInfo.h */; }; + 8B0BB7A42B6D98D900ED532A /* CABitOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71C2B6D98D900ED532A /* CABitOperations.h */; }; + 8B0BB7A52B6D98D900ED532A /* CACFPreferences.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB71D2B6D98D900ED532A /* CACFPreferences.cpp */; }; + 8B0BB7A62B6D98D900ED532A /* CABundleLocker.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71E2B6D98D900ED532A /* CABundleLocker.h */; }; + 8B0BB7A72B6D98D900ED532A /* CAPropertyAddress.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB71F2B6D98D900ED532A /* CAPropertyAddress.h */; }; + 8B0BB7A82B6D98D900ED532A /* CAXException.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7202B6D98D900ED532A /* CAXException.h */; }; + 8B0BB7A92B6D98D900ED532A /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7212B6D98D900ED532A /* CAAudioChannelLayout.cpp */; }; + 8B0BB7AA2B6D98D900ED532A /* CAThreadSafeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7222B6D98D900ED532A /* CAThreadSafeList.h */; }; + 8B0BB7AB2B6D98D900ED532A /* CAAudioUnitOutputCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7232B6D98D900ED532A /* CAAudioUnitOutputCapturer.h */; }; + 8B0BB7AC2B6D98D900ED532A /* AUParamInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7242B6D98D900ED532A /* AUParamInfo.cpp */; }; + 8B0BB7AD2B6D98D900ED532A /* CASharedLibrary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7252B6D98D900ED532A /* CASharedLibrary.cpp */; }; + 8B0BB7AE2B6D98D900ED532A /* CAAUMIDIMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7262B6D98D900ED532A /* CAAUMIDIMap.cpp */; }; + 8B0BB7AF2B6D98D900ED532A /* CALogMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7272B6D98D900ED532A /* CALogMacros.h */; }; + 8B0BB7B02B6D98D900ED532A /* CACFMessagePort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7282B6D98D900ED532A /* CACFMessagePort.cpp */; }; + 8B0BB7B12B6D98D900ED532A /* CARingBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7292B6D98D900ED532A /* CARingBuffer.h */; }; + 8B0BB7B22B6D98D900ED532A /* AUOutputBL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB72A2B6D98D900ED532A /* AUOutputBL.cpp */; }; + 8B0BB7B32B6D98D900ED532A /* CABufferList.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB72B2B6D98D900ED532A /* CABufferList.h */; }; + 8B0BB7B42B6D98D900ED532A /* CASharedLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB72C2B6D98D900ED532A /* CASharedLibrary.h */; }; + 8B0BB7B52B6D98D900ED532A /* CACFData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB72D2B6D98D900ED532A /* CACFData.h */; }; + 8B0BB7B62B6D98D900ED532A /* CAStreamRangedDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB72E2B6D98D900ED532A /* CAStreamRangedDescription.cpp */; }; + 8B0BB7B72B6D98D900ED532A /* CAPThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB72F2B6D98D900ED532A /* CAPThread.cpp */; }; + 8B0BB7B82B6D98D900ED532A /* CAAutoDisposer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7302B6D98D900ED532A /* CAAutoDisposer.h */; }; + 8B0BB7B92B6D98D900ED532A /* CACFPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7312B6D98D900ED532A /* CACFPreferences.h */; }; + 8B0BB7BA2B6D98D900ED532A /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7322B6D98D900ED532A /* CAVectorUnit.cpp */; }; + 8B0BB7BB2B6D98D900ED532A /* CAComponentDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7332B6D98D900ED532A /* CAComponentDescription.h */; }; + 8B0BB7BC2B6D98D900ED532A /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7342B6D98D900ED532A /* CADebugMacros.h */; }; + 8B0BB7BD2B6D98D900ED532A /* AUOutputBL.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7352B6D98D900ED532A /* AUOutputBL.h */; }; + 8B0BB7BE2B6D98D900ED532A /* CADebugPrintf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7362B6D98D900ED532A /* CADebugPrintf.cpp */; }; + 8B0BB7BF2B6D98D900ED532A /* CARingBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7372B6D98D900ED532A /* CARingBuffer.cpp */; }; + 8B0BB7C02B6D98D900ED532A /* CACFPlugIn.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7382B6D98D900ED532A /* CACFPlugIn.h */; }; + 8B0BB7C12B6D98D900ED532A /* CASettingsStorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7392B6D98D900ED532A /* CASettingsStorage.cpp */; }; + 8B0BB7C22B6D98D900ED532A /* CAMixMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73A2B6D98D900ED532A /* CAMixMap.h */; }; + 8B0BB7C32B6D98D900ED532A /* CACFDistributedNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73B2B6D98D900ED532A /* CACFDistributedNotification.h */; }; + 8B0BB7C42B6D98D900ED532A /* CAFilePathUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73C2B6D98D900ED532A /* CAFilePathUtils.h */; }; + 8B0BB7C52B6D98D900ED532A /* CATink.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73D2B6D98D900ED532A /* CATink.h */; }; + 8B0BB7C62B6D98D900ED532A /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB73E2B6D98D900ED532A /* CAStreamBasicDescription.cpp */; }; + 8B0BB7C72B6D98D900ED532A /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB73F2B6D98D900ED532A /* CAAudioChannelLayout.h */; }; + 8B0BB7C82B6D98D900ED532A /* CAProcess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7402B6D98D900ED532A /* CAProcess.cpp */; }; + 8B0BB7C92B6D98D900ED532A /* CAHostTimeBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7412B6D98D900ED532A /* CAHostTimeBase.cpp */; }; + 8B0BB7CA2B6D98D900ED532A /* CAPersistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7422B6D98D900ED532A /* CAPersistence.cpp */; }; + 8B0BB7CB2B6D98D900ED532A /* CAAudioBufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7432B6D98D900ED532A /* CAAudioBufferList.cpp */; }; + 8B0BB7CC2B6D98D900ED532A /* CAAudioTimeStamp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7442B6D98D900ED532A /* CAAudioTimeStamp.cpp */; }; + 8B0BB7CD2B6D98D900ED532A /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7452B6D98D900ED532A /* CAVectorUnit.h */; }; + 8B0BB7CE2B6D98D900ED532A /* CAByteOrder.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7462B6D98D900ED532A /* CAByteOrder.h */; }; + 8B0BB7CF2B6D98D900ED532A /* CACFArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7472B6D98D900ED532A /* CACFArray.h */; }; + 8B0BB7D02B6D98D900ED532A /* CAAtomicStack.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7482B6D98D900ED532A /* CAAtomicStack.h */; }; + 8B0BB7D12B6D98D900ED532A /* CAReferenceCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7492B6D98D900ED532A /* CAReferenceCounted.h */; }; + 8B0BB7D22B6D98D900ED532A /* CACFMachPort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74A2B6D98D900ED532A /* CACFMachPort.cpp */; }; + 8B0BB7D32B6D98D900ED532A /* CABufferList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74B2B6D98D900ED532A /* CABufferList.cpp */; }; + 8B0BB7D42B6D98D900ED532A /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74C2B6D98D900ED532A /* CAMutex.cpp */; }; + 8B0BB7D52B6D98D900ED532A /* CADebugger.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74D2B6D98D900ED532A /* CADebugger.cpp */; }; + 8B0BB7D62B6D98D900ED532A /* CABundleLocker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74E2B6D98D900ED532A /* CABundleLocker.cpp */; }; + 8B0BB7D72B6D98D900ED532A /* CAAudioFileFormats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB74F2B6D98D900ED532A /* CAAudioFileFormats.cpp */; }; + 8B0BB7D82B6D98D900ED532A /* CAMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7502B6D98D900ED532A /* CAMath.h */; }; + 8B0BB7D92B6D98D900ED532A /* CACFArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7512B6D98D900ED532A /* CACFArray.cpp */; }; + 8B0BB7DA2B6D98D900ED532A /* CACFMessagePort.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7522B6D98D900ED532A /* CACFMessagePort.h */; }; + 8B0BB7DB2B6D98D900ED532A /* CAAudioValueRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7532B6D98D900ED532A /* CAAudioValueRange.cpp */; }; + 8B0BB7DC2B6D98D900ED532A /* CAAudioUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7542B6D98D900ED532A /* CAAudioUnit.cpp */; }; + 8B0BB7DD2B6D98D900ED532A /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7582B6D98D900ED532A /* AUViewLocalizedStringKeys.h */; }; + 8B0BB7DE2B6D98D900ED532A /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB75A2B6D98D900ED532A /* ComponentBase.cpp */; }; + 8B0BB7DF2B6D98D900ED532A /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB75B2B6D98D900ED532A /* AUScopeElement.cpp */; }; + 8B0BB7E02B6D98D900ED532A /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB75C2B6D98D900ED532A /* ComponentBase.h */; }; + 8B0BB7E12B6D98D900ED532A /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB75D2B6D98D900ED532A /* AUBase.cpp */; }; + 8B0BB7E22B6D98D900ED532A /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB75E2B6D98D900ED532A /* AUInputElement.h */; }; + 8B0BB7E32B6D98D900ED532A /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB75F2B6D98D900ED532A /* AUBase.h */; }; + 8B0BB7E42B6D98D900ED532A /* AUPlugInDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7602B6D98D900ED532A /* AUPlugInDispatch.h */; }; + 8B0BB7E52B6D98D900ED532A /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7612B6D98D900ED532A /* AUDispatch.h */; }; + 8B0BB7E62B6D98D900ED532A /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7622B6D98D900ED532A /* AUOutputElement.cpp */; }; + 8B0BB7E82B6D98D900ED532A /* AUPlugInDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7642B6D98D900ED532A /* AUPlugInDispatch.cpp */; }; + 8B0BB7E92B6D98D900ED532A /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7652B6D98D900ED532A /* AUOutputElement.h */; }; + 8B0BB7EA2B6D98D900ED532A /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7662B6D98D900ED532A /* AUDispatch.cpp */; }; + 8B0BB7EB2B6D98D900ED532A /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7672B6D98D900ED532A /* AUScopeElement.h */; }; + 8B0BB7EC2B6D98D900ED532A /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7682B6D98D900ED532A /* AUInputElement.cpp */; }; + 8B0BB7ED2B6D98D900ED532A /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB76A2B6D98D900ED532A /* AUEffectBase.cpp */; }; + 8B0BB7EE2B6D98D900ED532A /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB76B2B6D98D900ED532A /* AUEffectBase.h */; }; + 8B0BB7EF2B6D98D900ED532A /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB76D2B6D98D900ED532A /* AUTimestampGenerator.h */; }; + 8B0BB7F02B6D98D900ED532A /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB76E2B6D98D900ED532A /* AUBaseHelper.cpp */; }; + 8B0BB7F12B6D98D900ED532A /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB76F2B6D98D900ED532A /* AUSilentTimeout.h */; }; + 8B0BB7F22B6D98D900ED532A /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7702B6D98D900ED532A /* AUInputFormatConverter.h */; }; + 8B0BB7F32B6D98D900ED532A /* AUTimestampGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7712B6D98D900ED532A /* AUTimestampGenerator.cpp */; }; + 8B0BB7F42B6D98D900ED532A /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB7722B6D98D900ED532A /* AUBuffer.cpp */; }; + 8B0BB7F52B6D98D900ED532A /* AUMIDIDefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7732B6D98D900ED532A /* AUMIDIDefs.h */; }; + 8B0BB7F62B6D98D900ED532A /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7742B6D98D900ED532A /* AUBuffer.h */; }; + 8B0BB7F72B6D98D900ED532A /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7752B6D98D900ED532A /* AUBaseHelper.h */; }; + 8BA05A6B0720730100365D66 /* kCathedral2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* kCathedral2.cpp */; }; + 8BA05A6E0720730100365D66 /* kCathedral2Version.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* kCathedral2Version.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 /* kCathedral2.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* kCathedral2.h */; }; + 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8B0BB6EE2B6D98D800ED532A /* CAExtAudioFile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAExtAudioFile.h; sourceTree = ""; }; + 8B0BB6EF2B6D98D800ED532A /* CACFMachPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMachPort.h; sourceTree = ""; }; + 8B0BB6F02B6D98D800ED532A /* CABool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABool.h; sourceTree = ""; }; + 8B0BB6F12B6D98D800ED532A /* CAComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponent.cpp; sourceTree = ""; }; + 8B0BB6F22B6D98D800ED532A /* CADebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugger.h; sourceTree = ""; }; + 8B0BB6F32B6D98D800ED532A /* CACFNumber.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFNumber.cpp; sourceTree = ""; }; + 8B0BB6F42B6D98D800ED532A /* CAGuard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAGuard.h; sourceTree = ""; }; + 8B0BB6F52B6D98D800ED532A /* CAAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomic.h; sourceTree = ""; }; + 8B0BB6F62B6D98D800ED532A /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = ""; }; + 8B0BB6F72B6D98D800ED532A /* CACFObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFObject.h; sourceTree = ""; }; + 8B0BB6F82B6D98D800ED532A /* CAStreamRangedDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAStreamRangedDescription.h; sourceTree = ""; }; + 8B0BB6F92B6D98D800ED532A /* CATokenMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATokenMap.h; sourceTree = ""; }; + 8B0BB6FA2B6D98D800ED532A /* CAComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponent.h; sourceTree = ""; }; + 8B0BB6FB2B6D98D800ED532A /* CAAudioBufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioBufferList.h; sourceTree = ""; }; + 8B0BB6FC2B6D98D800ED532A /* CAAudioUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnit.h; sourceTree = ""; }; + 8B0BB6FD2B6D98D800ED532A /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = ""; }; + 8B0BB6FE2B6D98D800ED532A /* CAException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAException.h; sourceTree = ""; }; + 8B0BB6FF2B6D98D800ED532A /* CAAUProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUProcessor.cpp; sourceTree = ""; }; + 8B0BB7002B6D98D800ED532A /* CAAUProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUProcessor.h; sourceTree = ""; }; + 8B0BB7012B6D98D800ED532A /* CAProcess.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAProcess.h; sourceTree = ""; }; + 8B0BB7022B6D98D900ED532A /* CACFDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDictionary.h; sourceTree = ""; }; + 8B0BB7032B6D98D900ED532A /* CAPThread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPThread.h; sourceTree = ""; }; + 8B0BB7042B6D98D900ED532A /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = ""; }; + 8B0BB7052B6D98D900ED532A /* CAAudioTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioTimeStamp.h; sourceTree = ""; }; + 8B0BB7062B6D98D900ED532A /* CAFilePathUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAFilePathUtils.cpp; sourceTree = ""; }; + 8B0BB7072B6D98D900ED532A /* CAAudioValueRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioValueRange.h; sourceTree = ""; }; + 8B0BB7082B6D98D900ED532A /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = ""; }; + 8B0BB7092B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayoutObject.cpp; sourceTree = ""; }; + 8B0BB70A2B6D98D900ED532A /* CAGuard.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAGuard.cpp; sourceTree = ""; }; + 8B0BB70B2B6D98D900ED532A /* CACFNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFNumber.h; sourceTree = ""; }; + 8B0BB70C2B6D98D900ED532A /* CACFDistributedNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDistributedNotification.cpp; sourceTree = ""; }; + 8B0BB70D2B6D98D900ED532A /* CACFString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFString.h; sourceTree = ""; }; + 8B0BB70E2B6D98D900ED532A /* CAAUMIDIMapManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMapManager.cpp; sourceTree = ""; }; + 8B0BB70F2B6D98D900ED532A /* CAComponentDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAComponentDescription.cpp; sourceTree = ""; }; + 8B0BB7102B6D98D900ED532A /* CAHostTimeBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAHostTimeBase.h; sourceTree = ""; }; + 8B0BB7112B6D98D900ED532A /* CADebugMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugMacros.cpp; sourceTree = ""; }; + 8B0BB7122B6D98D900ED532A /* CAAudioFileFormats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioFileFormats.h; sourceTree = ""; }; + 8B0BB7132B6D98D900ED532A /* CAAUMIDIMapManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMapManager.h; sourceTree = ""; }; + 8B0BB7142B6D98D900ED532A /* CACFDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFDictionary.cpp; sourceTree = ""; }; + 8B0BB7152B6D98D900ED532A /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = ""; }; + 8B0BB7162B6D98D900ED532A /* CACFString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFString.cpp; sourceTree = ""; }; + 8B0BB7172B6D98D900ED532A /* CASettingsStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASettingsStorage.h; sourceTree = ""; }; + 8B0BB7182B6D98D900ED532A /* CADebugPrintf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugPrintf.h; sourceTree = ""; }; + 8B0BB7192B6D98D900ED532A /* CAXException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAXException.cpp; sourceTree = ""; }; + 8B0BB71A2B6D98D900ED532A /* CAAUMIDIMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAUMIDIMap.h; sourceTree = ""; }; + 8B0BB71B2B6D98D900ED532A /* AUParamInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUParamInfo.h; sourceTree = ""; }; + 8B0BB71C2B6D98D900ED532A /* CABitOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABitOperations.h; sourceTree = ""; }; + 8B0BB71D2B6D98D900ED532A /* CACFPreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFPreferences.cpp; sourceTree = ""; }; + 8B0BB71E2B6D98D900ED532A /* CABundleLocker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABundleLocker.h; sourceTree = ""; }; + 8B0BB71F2B6D98D900ED532A /* CAPropertyAddress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAPropertyAddress.h; sourceTree = ""; }; + 8B0BB7202B6D98D900ED532A /* CAXException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAXException.h; sourceTree = ""; }; + 8B0BB7212B6D98D900ED532A /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = ""; }; + 8B0BB7222B6D98D900ED532A /* CAThreadSafeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAThreadSafeList.h; sourceTree = ""; }; + 8B0BB7232B6D98D900ED532A /* CAAudioUnitOutputCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioUnitOutputCapturer.h; sourceTree = ""; }; + 8B0BB7242B6D98D900ED532A /* AUParamInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUParamInfo.cpp; sourceTree = ""; }; + 8B0BB7252B6D98D900ED532A /* CASharedLibrary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASharedLibrary.cpp; sourceTree = ""; }; + 8B0BB7262B6D98D900ED532A /* CAAUMIDIMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUMIDIMap.cpp; sourceTree = ""; }; + 8B0BB7272B6D98D900ED532A /* CALogMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CALogMacros.h; sourceTree = ""; }; + 8B0BB7282B6D98D900ED532A /* CACFMessagePort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMessagePort.cpp; sourceTree = ""; }; + 8B0BB7292B6D98D900ED532A /* CARingBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CARingBuffer.h; sourceTree = ""; }; + 8B0BB72A2B6D98D900ED532A /* AUOutputBL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBL.cpp; sourceTree = ""; }; + 8B0BB72B2B6D98D900ED532A /* CABufferList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CABufferList.h; sourceTree = ""; }; + 8B0BB72C2B6D98D900ED532A /* CASharedLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CASharedLibrary.h; sourceTree = ""; }; + 8B0BB72D2B6D98D900ED532A /* CACFData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFData.h; sourceTree = ""; }; + 8B0BB72E2B6D98D900ED532A /* CAStreamRangedDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamRangedDescription.cpp; sourceTree = ""; }; + 8B0BB72F2B6D98D900ED532A /* CAPThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPThread.cpp; sourceTree = ""; }; + 8B0BB7302B6D98D900ED532A /* CAAutoDisposer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAutoDisposer.h; sourceTree = ""; }; + 8B0BB7312B6D98D900ED532A /* CACFPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPreferences.h; sourceTree = ""; }; + 8B0BB7322B6D98D900ED532A /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = ""; }; + 8B0BB7332B6D98D900ED532A /* CAComponentDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAComponentDescription.h; sourceTree = ""; }; + 8B0BB7342B6D98D900ED532A /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = ""; }; + 8B0BB7352B6D98D900ED532A /* AUOutputBL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBL.h; sourceTree = ""; }; + 8B0BB7362B6D98D900ED532A /* CADebugPrintf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugPrintf.cpp; sourceTree = ""; }; + 8B0BB7372B6D98D900ED532A /* CARingBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CARingBuffer.cpp; sourceTree = ""; }; + 8B0BB7382B6D98D900ED532A /* CACFPlugIn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFPlugIn.h; sourceTree = ""; }; + 8B0BB7392B6D98D900ED532A /* CASettingsStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CASettingsStorage.cpp; sourceTree = ""; }; + 8B0BB73A2B6D98D900ED532A /* CAMixMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMixMap.h; sourceTree = ""; }; + 8B0BB73B2B6D98D900ED532A /* CACFDistributedNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFDistributedNotification.h; sourceTree = ""; }; + 8B0BB73C2B6D98D900ED532A /* CAFilePathUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAFilePathUtils.h; sourceTree = ""; }; + 8B0BB73D2B6D98D900ED532A /* CATink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CATink.h; sourceTree = ""; }; + 8B0BB73E2B6D98D900ED532A /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = ""; }; + 8B0BB73F2B6D98D900ED532A /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = ""; }; + 8B0BB7402B6D98D900ED532A /* CAProcess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAProcess.cpp; sourceTree = ""; }; + 8B0BB7412B6D98D900ED532A /* CAHostTimeBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAHostTimeBase.cpp; sourceTree = ""; }; + 8B0BB7422B6D98D900ED532A /* CAPersistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAPersistence.cpp; sourceTree = ""; }; + 8B0BB7432B6D98D900ED532A /* CAAudioBufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioBufferList.cpp; sourceTree = ""; }; + 8B0BB7442B6D98D900ED532A /* CAAudioTimeStamp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioTimeStamp.cpp; sourceTree = ""; }; + 8B0BB7452B6D98D900ED532A /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = ""; }; + 8B0BB7462B6D98D900ED532A /* CAByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAByteOrder.h; sourceTree = ""; }; + 8B0BB7472B6D98D900ED532A /* CACFArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFArray.h; sourceTree = ""; }; + 8B0BB7482B6D98D900ED532A /* CAAtomicStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAAtomicStack.h; sourceTree = ""; }; + 8B0BB7492B6D98D900ED532A /* CAReferenceCounted.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAReferenceCounted.h; sourceTree = ""; }; + 8B0BB74A2B6D98D900ED532A /* CACFMachPort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFMachPort.cpp; sourceTree = ""; }; + 8B0BB74B2B6D98D900ED532A /* CABufferList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABufferList.cpp; sourceTree = ""; }; + 8B0BB74C2B6D98D900ED532A /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = ""; }; + 8B0BB74D2B6D98D900ED532A /* CADebugger.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CADebugger.cpp; sourceTree = ""; }; + 8B0BB74E2B6D98D900ED532A /* CABundleLocker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CABundleLocker.cpp; sourceTree = ""; }; + 8B0BB74F2B6D98D900ED532A /* CAAudioFileFormats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioFileFormats.cpp; sourceTree = ""; }; + 8B0BB7502B6D98D900ED532A /* CAMath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CAMath.h; sourceTree = ""; }; + 8B0BB7512B6D98D900ED532A /* CACFArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CACFArray.cpp; sourceTree = ""; }; + 8B0BB7522B6D98D900ED532A /* CACFMessagePort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CACFMessagePort.h; sourceTree = ""; }; + 8B0BB7532B6D98D900ED532A /* CAAudioValueRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioValueRange.cpp; sourceTree = ""; }; + 8B0BB7542B6D98D900ED532A /* CAAudioUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioUnit.cpp; sourceTree = ""; }; + 8B0BB7582B6D98D900ED532A /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUViewLocalizedStringKeys.h; sourceTree = ""; }; + 8B0BB75A2B6D98D900ED532A /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = ""; }; + 8B0BB75B2B6D98D900ED532A /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = ""; }; + 8B0BB75C2B6D98D900ED532A /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = ""; }; + 8B0BB75D2B6D98D900ED532A /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = ""; }; + 8B0BB75E2B6D98D900ED532A /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = ""; }; + 8B0BB75F2B6D98D900ED532A /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = ""; }; + 8B0BB7602B6D98D900ED532A /* AUPlugInDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUPlugInDispatch.h; sourceTree = ""; }; + 8B0BB7612B6D98D900ED532A /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = ""; }; + 8B0BB7622B6D98D900ED532A /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = ""; }; + 8B0BB7632B6D98D900ED532A /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = ""; }; + 8B0BB7642B6D98D900ED532A /* AUPlugInDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUPlugInDispatch.cpp; sourceTree = ""; }; + 8B0BB7652B6D98D900ED532A /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = ""; }; + 8B0BB7662B6D98D900ED532A /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = ""; }; + 8B0BB7672B6D98D900ED532A /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = ""; }; + 8B0BB7682B6D98D900ED532A /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = ""; }; + 8B0BB76A2B6D98D900ED532A /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = ""; }; + 8B0BB76B2B6D98D900ED532A /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = ""; }; + 8B0BB76D2B6D98D900ED532A /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = ""; }; + 8B0BB76E2B6D98D900ED532A /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBaseHelper.cpp; sourceTree = ""; }; + 8B0BB76F2B6D98D900ED532A /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = ""; }; + 8B0BB7702B6D98D900ED532A /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = ""; }; + 8B0BB7712B6D98D900ED532A /* AUTimestampGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUTimestampGenerator.cpp; sourceTree = ""; }; + 8B0BB7722B6D98D900ED532A /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = ""; }; + 8B0BB7732B6D98D900ED532A /* AUMIDIDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIDefs.h; sourceTree = ""; }; + 8B0BB7742B6D98D900ED532A /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = ""; }; + 8B0BB7752B6D98D900ED532A /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUBaseHelper.h; sourceTree = ""; }; + 8B0BB7F82B6D995100ED532A /* 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 /* kCathedral2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = kCathedral2.cpp; sourceTree = ""; }; + 8BA05A670720730100365D66 /* kCathedral2.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = kCathedral2.exp; sourceTree = ""; }; + 8BA05A680720730100365D66 /* kCathedral2.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = kCathedral2.r; sourceTree = ""; }; + 8BA05A690720730100365D66 /* kCathedral2Version.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral2Version.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 /* kCathedral2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = kCathedral2.h; sourceTree = ""; }; + 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 8D01CCD20486CAD60068D4B7 /* kCathedral2.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral2.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 /* kCathedral2 */ = { + isa = PBXGroup; + children = ( + 08FB77ADFE841716C02AAC07 /* Source */, + 089C167CFE841241C02AAC07 /* Resources */, + 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */, + 19C28FB4FE9D528D11CA2CBB /* Products */, + ); + name = kCathedral2; + 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 = ( + 8B0BB6EC2B6D98D800ED532A /* CA_SDK */, + 8BA05A56072072A900365D66 /* AU Source */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8D01CCD20486CAD60068D4B7 /* kCathedral2.component */, + ); + name = Products; + sourceTree = ""; + }; + 8B0BB6EC2B6D98D800ED532A /* CA_SDK */ = { + isa = PBXGroup; + children = ( + 8B0BB6ED2B6D98D800ED532A /* PublicUtility */, + 8B0BB7552B6D98D900ED532A /* AudioUnits */, + ); + name = CA_SDK; + path = ../../../../CA_SDK; + sourceTree = ""; + }; + 8B0BB6ED2B6D98D800ED532A /* PublicUtility */ = { + isa = PBXGroup; + children = ( + 8B0BB6EE2B6D98D800ED532A /* CAExtAudioFile.h */, + 8B0BB6EF2B6D98D800ED532A /* CACFMachPort.h */, + 8B0BB6F02B6D98D800ED532A /* CABool.h */, + 8B0BB6F12B6D98D800ED532A /* CAComponent.cpp */, + 8B0BB6F22B6D98D800ED532A /* CADebugger.h */, + 8B0BB6F32B6D98D800ED532A /* CACFNumber.cpp */, + 8B0BB6F42B6D98D800ED532A /* CAGuard.h */, + 8B0BB6F52B6D98D800ED532A /* CAAtomic.h */, + 8B0BB6F62B6D98D800ED532A /* CAStreamBasicDescription.h */, + 8B0BB6F72B6D98D800ED532A /* CACFObject.h */, + 8B0BB6F82B6D98D800ED532A /* CAStreamRangedDescription.h */, + 8B0BB6F92B6D98D800ED532A /* CATokenMap.h */, + 8B0BB6FA2B6D98D800ED532A /* CAComponent.h */, + 8B0BB6FB2B6D98D800ED532A /* CAAudioBufferList.h */, + 8B0BB6FC2B6D98D800ED532A /* CAAudioUnit.h */, + 8B0BB6FD2B6D98D800ED532A /* CAAUParameter.h */, + 8B0BB6FE2B6D98D800ED532A /* CAException.h */, + 8B0BB6FF2B6D98D800ED532A /* CAAUProcessor.cpp */, + 8B0BB7002B6D98D800ED532A /* CAAUProcessor.h */, + 8B0BB7012B6D98D800ED532A /* CAProcess.h */, + 8B0BB7022B6D98D900ED532A /* CACFDictionary.h */, + 8B0BB7032B6D98D900ED532A /* CAPThread.h */, + 8B0BB7042B6D98D900ED532A /* CAAUParameter.cpp */, + 8B0BB7052B6D98D900ED532A /* CAAudioTimeStamp.h */, + 8B0BB7062B6D98D900ED532A /* CAFilePathUtils.cpp */, + 8B0BB7072B6D98D900ED532A /* CAAudioValueRange.h */, + 8B0BB7082B6D98D900ED532A /* CAVectorUnitTypes.h */, + 8B0BB7092B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp */, + 8B0BB70A2B6D98D900ED532A /* CAGuard.cpp */, + 8B0BB70B2B6D98D900ED532A /* CACFNumber.h */, + 8B0BB70C2B6D98D900ED532A /* CACFDistributedNotification.cpp */, + 8B0BB70D2B6D98D900ED532A /* CACFString.h */, + 8B0BB70E2B6D98D900ED532A /* CAAUMIDIMapManager.cpp */, + 8B0BB70F2B6D98D900ED532A /* CAComponentDescription.cpp */, + 8B0BB7102B6D98D900ED532A /* CAHostTimeBase.h */, + 8B0BB7112B6D98D900ED532A /* CADebugMacros.cpp */, + 8B0BB7122B6D98D900ED532A /* CAAudioFileFormats.h */, + 8B0BB7132B6D98D900ED532A /* CAAUMIDIMapManager.h */, + 8B0BB7142B6D98D900ED532A /* CACFDictionary.cpp */, + 8B0BB7152B6D98D900ED532A /* CAMutex.h */, + 8B0BB7162B6D98D900ED532A /* CACFString.cpp */, + 8B0BB7172B6D98D900ED532A /* CASettingsStorage.h */, + 8B0BB7182B6D98D900ED532A /* CADebugPrintf.h */, + 8B0BB7192B6D98D900ED532A /* CAXException.cpp */, + 8B0BB71A2B6D98D900ED532A /* CAAUMIDIMap.h */, + 8B0BB71B2B6D98D900ED532A /* AUParamInfo.h */, + 8B0BB71C2B6D98D900ED532A /* CABitOperations.h */, + 8B0BB71D2B6D98D900ED532A /* CACFPreferences.cpp */, + 8B0BB71E2B6D98D900ED532A /* CABundleLocker.h */, + 8B0BB71F2B6D98D900ED532A /* CAPropertyAddress.h */, + 8B0BB7202B6D98D900ED532A /* CAXException.h */, + 8B0BB7212B6D98D900ED532A /* CAAudioChannelLayout.cpp */, + 8B0BB7222B6D98D900ED532A /* CAThreadSafeList.h */, + 8B0BB7232B6D98D900ED532A /* CAAudioUnitOutputCapturer.h */, + 8B0BB7242B6D98D900ED532A /* AUParamInfo.cpp */, + 8B0BB7252B6D98D900ED532A /* CASharedLibrary.cpp */, + 8B0BB7262B6D98D900ED532A /* CAAUMIDIMap.cpp */, + 8B0BB7272B6D98D900ED532A /* CALogMacros.h */, + 8B0BB7282B6D98D900ED532A /* CACFMessagePort.cpp */, + 8B0BB7292B6D98D900ED532A /* CARingBuffer.h */, + 8B0BB72A2B6D98D900ED532A /* AUOutputBL.cpp */, + 8B0BB72B2B6D98D900ED532A /* CABufferList.h */, + 8B0BB72C2B6D98D900ED532A /* CASharedLibrary.h */, + 8B0BB72D2B6D98D900ED532A /* CACFData.h */, + 8B0BB72E2B6D98D900ED532A /* CAStreamRangedDescription.cpp */, + 8B0BB72F2B6D98D900ED532A /* CAPThread.cpp */, + 8B0BB7302B6D98D900ED532A /* CAAutoDisposer.h */, + 8B0BB7312B6D98D900ED532A /* CACFPreferences.h */, + 8B0BB7322B6D98D900ED532A /* CAVectorUnit.cpp */, + 8B0BB7332B6D98D900ED532A /* CAComponentDescription.h */, + 8B0BB7342B6D98D900ED532A /* CADebugMacros.h */, + 8B0BB7352B6D98D900ED532A /* AUOutputBL.h */, + 8B0BB7362B6D98D900ED532A /* CADebugPrintf.cpp */, + 8B0BB7372B6D98D900ED532A /* CARingBuffer.cpp */, + 8B0BB7382B6D98D900ED532A /* CACFPlugIn.h */, + 8B0BB7392B6D98D900ED532A /* CASettingsStorage.cpp */, + 8B0BB73A2B6D98D900ED532A /* CAMixMap.h */, + 8B0BB73B2B6D98D900ED532A /* CACFDistributedNotification.h */, + 8B0BB73C2B6D98D900ED532A /* CAFilePathUtils.h */, + 8B0BB73D2B6D98D900ED532A /* CATink.h */, + 8B0BB73E2B6D98D900ED532A /* CAStreamBasicDescription.cpp */, + 8B0BB73F2B6D98D900ED532A /* CAAudioChannelLayout.h */, + 8B0BB7402B6D98D900ED532A /* CAProcess.cpp */, + 8B0BB7412B6D98D900ED532A /* CAHostTimeBase.cpp */, + 8B0BB7422B6D98D900ED532A /* CAPersistence.cpp */, + 8B0BB7432B6D98D900ED532A /* CAAudioBufferList.cpp */, + 8B0BB7442B6D98D900ED532A /* CAAudioTimeStamp.cpp */, + 8B0BB7452B6D98D900ED532A /* CAVectorUnit.h */, + 8B0BB7462B6D98D900ED532A /* CAByteOrder.h */, + 8B0BB7472B6D98D900ED532A /* CACFArray.h */, + 8B0BB7482B6D98D900ED532A /* CAAtomicStack.h */, + 8B0BB7492B6D98D900ED532A /* CAReferenceCounted.h */, + 8B0BB74A2B6D98D900ED532A /* CACFMachPort.cpp */, + 8B0BB74B2B6D98D900ED532A /* CABufferList.cpp */, + 8B0BB74C2B6D98D900ED532A /* CAMutex.cpp */, + 8B0BB74D2B6D98D900ED532A /* CADebugger.cpp */, + 8B0BB74E2B6D98D900ED532A /* CABundleLocker.cpp */, + 8B0BB74F2B6D98D900ED532A /* CAAudioFileFormats.cpp */, + 8B0BB7502B6D98D900ED532A /* CAMath.h */, + 8B0BB7512B6D98D900ED532A /* CACFArray.cpp */, + 8B0BB7522B6D98D900ED532A /* CACFMessagePort.h */, + 8B0BB7532B6D98D900ED532A /* CAAudioValueRange.cpp */, + 8B0BB7542B6D98D900ED532A /* CAAudioUnit.cpp */, + ); + path = PublicUtility; + sourceTree = ""; + }; + 8B0BB7552B6D98D900ED532A /* AudioUnits */ = { + isa = PBXGroup; + children = ( + 8B0BB7562B6D98D900ED532A /* AUPublic */, + ); + path = AudioUnits; + sourceTree = ""; + }; + 8B0BB7562B6D98D900ED532A /* AUPublic */ = { + isa = PBXGroup; + children = ( + 8B0BB7572B6D98D900ED532A /* AUViewBase */, + 8B0BB7592B6D98D900ED532A /* AUBase */, + 8B0BB7692B6D98D900ED532A /* OtherBases */, + 8B0BB76C2B6D98D900ED532A /* Utility */, + ); + path = AUPublic; + sourceTree = ""; + }; + 8B0BB7572B6D98D900ED532A /* AUViewBase */ = { + isa = PBXGroup; + children = ( + 8B0BB7582B6D98D900ED532A /* AUViewLocalizedStringKeys.h */, + ); + path = AUViewBase; + sourceTree = ""; + }; + 8B0BB7592B6D98D900ED532A /* AUBase */ = { + isa = PBXGroup; + children = ( + 8B0BB75A2B6D98D900ED532A /* ComponentBase.cpp */, + 8B0BB75B2B6D98D900ED532A /* AUScopeElement.cpp */, + 8B0BB75C2B6D98D900ED532A /* ComponentBase.h */, + 8B0BB75D2B6D98D900ED532A /* AUBase.cpp */, + 8B0BB75E2B6D98D900ED532A /* AUInputElement.h */, + 8B0BB75F2B6D98D900ED532A /* AUBase.h */, + 8B0BB7602B6D98D900ED532A /* AUPlugInDispatch.h */, + 8B0BB7612B6D98D900ED532A /* AUDispatch.h */, + 8B0BB7622B6D98D900ED532A /* AUOutputElement.cpp */, + 8B0BB7632B6D98D900ED532A /* AUResources.r */, + 8B0BB7642B6D98D900ED532A /* AUPlugInDispatch.cpp */, + 8B0BB7652B6D98D900ED532A /* AUOutputElement.h */, + 8B0BB7662B6D98D900ED532A /* AUDispatch.cpp */, + 8B0BB7672B6D98D900ED532A /* AUScopeElement.h */, + 8B0BB7682B6D98D900ED532A /* AUInputElement.cpp */, + ); + path = AUBase; + sourceTree = ""; + }; + 8B0BB7692B6D98D900ED532A /* OtherBases */ = { + isa = PBXGroup; + children = ( + 8B0BB76A2B6D98D900ED532A /* AUEffectBase.cpp */, + 8B0BB76B2B6D98D900ED532A /* AUEffectBase.h */, + ); + path = OtherBases; + sourceTree = ""; + }; + 8B0BB76C2B6D98D900ED532A /* Utility */ = { + isa = PBXGroup; + children = ( + 8B0BB76D2B6D98D900ED532A /* AUTimestampGenerator.h */, + 8B0BB76E2B6D98D900ED532A /* AUBaseHelper.cpp */, + 8B0BB76F2B6D98D900ED532A /* AUSilentTimeout.h */, + 8B0BB7702B6D98D900ED532A /* AUInputFormatConverter.h */, + 8B0BB7712B6D98D900ED532A /* AUTimestampGenerator.cpp */, + 8B0BB7722B6D98D900ED532A /* AUBuffer.cpp */, + 8B0BB7732B6D98D900ED532A /* AUMIDIDefs.h */, + 8B0BB7742B6D98D900ED532A /* AUBuffer.h */, + 8B0BB7752B6D98D900ED532A /* AUBaseHelper.h */, + ); + path = Utility; + sourceTree = ""; + }; + 8BA05A56072072A900365D66 /* AU Source */ = { + isa = PBXGroup; + children = ( + 8BC6025B073B072D006C4272 /* kCathedral2.h */, + 8BA05A660720730100365D66 /* kCathedral2.cpp */, + 8BA05A670720730100365D66 /* kCathedral2.exp */, + 8BA05A680720730100365D66 /* kCathedral2.r */, + 8BA05A690720730100365D66 /* kCathedral2Version.h */, + ); + name = "AU Source"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B0BB7A62B6D98D900ED532A /* CABundleLocker.h in Headers */, + 8B0BB7C72B6D98D900ED532A /* CAAudioChannelLayout.h in Headers */, + 8B0BB7BD2B6D98D900ED532A /* AUOutputBL.h in Headers */, + 8B0BB7982B6D98D900ED532A /* CAHostTimeBase.h in Headers */, + 8B0BB7E02B6D98D900ED532A /* ComponentBase.h in Headers */, + 8B0BB7D02B6D98D900ED532A /* CAAtomicStack.h in Headers */, + 8B0BB78D2B6D98D900ED532A /* CAAudioTimeStamp.h in Headers */, + 8B0BB7AA2B6D98D900ED532A /* CAThreadSafeList.h in Headers */, + 8B0BB7852B6D98D900ED532A /* CAAUParameter.h in Headers */, + 8B0BB7F72B6D98D900ED532A /* AUBaseHelper.h in Headers */, + 8B0BB7EF2B6D98D900ED532A /* AUTimestampGenerator.h in Headers */, + 8B0BB7A02B6D98D900ED532A /* CADebugPrintf.h in Headers */, + 8B0BB7DA2B6D98D900ED532A /* CACFMessagePort.h in Headers */, + 8B0BB7882B6D98D900ED532A /* CAAUProcessor.h in Headers */, + 8B0BB7842B6D98D900ED532A /* CAAudioUnit.h in Headers */, + 8B0BB7DD2B6D98D900ED532A /* AUViewLocalizedStringKeys.h in Headers */, + 8B0BB7C32B6D98D900ED532A /* CACFDistributedNotification.h in Headers */, + 8B0BB7822B6D98D900ED532A /* CAComponent.h in Headers */, + 8B0BB7902B6D98D900ED532A /* CAVectorUnitTypes.h in Headers */, + 8BA05A6E0720730100365D66 /* kCathedral2Version.h in Headers */, + 8B0BB7C42B6D98D900ED532A /* CAFilePathUtils.h in Headers */, + 8B0BB7862B6D98D900ED532A /* CAException.h in Headers */, + 8B0BB77D2B6D98D900ED532A /* CAAtomic.h in Headers */, + 8B0BB77C2B6D98D900ED532A /* CAGuard.h in Headers */, + 8B0BB7E22B6D98D900ED532A /* AUInputElement.h in Headers */, + 8B0BB7B92B6D98D900ED532A /* CACFPreferences.h in Headers */, + 8B0BB7CE2B6D98D900ED532A /* CAByteOrder.h in Headers */, + 8B0BB7B12B6D98D900ED532A /* CARingBuffer.h in Headers */, + 8B0BB7782B6D98D900ED532A /* CABool.h in Headers */, + 8B0BB79D2B6D98D900ED532A /* CAMutex.h in Headers */, + 8B0BB7E32B6D98D900ED532A /* AUBase.h in Headers */, + 8BC6025C073B072D006C4272 /* kCathedral2.h in Headers */, + 8B0BB7952B6D98D900ED532A /* CACFString.h in Headers */, + 8B0BB7B42B6D98D900ED532A /* CASharedLibrary.h in Headers */, + 8B0BB7812B6D98D900ED532A /* CATokenMap.h in Headers */, + 8B0BB7762B6D98D900ED532A /* CAExtAudioFile.h in Headers */, + 8B0BB78B2B6D98D900ED532A /* CAPThread.h in Headers */, + 8B0BB7A72B6D98D900ED532A /* CAPropertyAddress.h in Headers */, + 8B0BB7D12B6D98D900ED532A /* CAReferenceCounted.h in Headers */, + 8B0BB7F62B6D98D900ED532A /* AUBuffer.h in Headers */, + 8B0BB7D82B6D98D900ED532A /* CAMath.h in Headers */, + 8B0BB7B82B6D98D900ED532A /* CAAutoDisposer.h in Headers */, + 8B0BB77F2B6D98D900ED532A /* CACFObject.h in Headers */, + 8B0BB79F2B6D98D900ED532A /* CASettingsStorage.h in Headers */, + 8B0BB7A82B6D98D900ED532A /* CAXException.h in Headers */, + 8B0BB7C52B6D98D900ED532A /* CATink.h in Headers */, + 8B0BB7F22B6D98D900ED532A /* AUInputFormatConverter.h in Headers */, + 8B0BB7CD2B6D98D900ED532A /* CAVectorUnit.h in Headers */, + 8B0BB7892B6D98D900ED532A /* CAProcess.h in Headers */, + 8B0BB78F2B6D98D900ED532A /* CAAudioValueRange.h in Headers */, + 8B0BB7A42B6D98D900ED532A /* CABitOperations.h in Headers */, + 8B0BB79A2B6D98D900ED532A /* CAAudioFileFormats.h in Headers */, + 8B0BB7932B6D98D900ED532A /* CACFNumber.h in Headers */, + 8B0BB7AB2B6D98D900ED532A /* CAAudioUnitOutputCapturer.h in Headers */, + 8B0BB7BC2B6D98D900ED532A /* CADebugMacros.h in Headers */, + 8B0BB7F52B6D98D900ED532A /* AUMIDIDefs.h in Headers */, + 8B0BB7B52B6D98D900ED532A /* CACFData.h in Headers */, + 8B0BB77E2B6D98D900ED532A /* CAStreamBasicDescription.h in Headers */, + 8B0BB7E42B6D98D900ED532A /* AUPlugInDispatch.h in Headers */, + 8B0BB7802B6D98D900ED532A /* CAStreamRangedDescription.h in Headers */, + 8B0BB7C02B6D98D900ED532A /* CACFPlugIn.h in Headers */, + 8B0BB7832B6D98D900ED532A /* CAAudioBufferList.h in Headers */, + 8B0BB79B2B6D98D900ED532A /* CAAUMIDIMapManager.h in Headers */, + 8B0BB7EE2B6D98D900ED532A /* AUEffectBase.h in Headers */, + 8B0BB78A2B6D98D900ED532A /* CACFDictionary.h in Headers */, + 8B0BB7EB2B6D98D900ED532A /* AUScopeElement.h in Headers */, + 8B0BB7BB2B6D98D900ED532A /* CAComponentDescription.h in Headers */, + 8B0BB7F12B6D98D900ED532A /* AUSilentTimeout.h in Headers */, + 8B0BB7B32B6D98D900ED532A /* CABufferList.h in Headers */, + 8B0BB7E52B6D98D900ED532A /* AUDispatch.h in Headers */, + 8B0BB7E92B6D98D900ED532A /* AUOutputElement.h in Headers */, + 8B0BB7AF2B6D98D900ED532A /* CALogMacros.h in Headers */, + 8B0BB7A32B6D98D900ED532A /* AUParamInfo.h in Headers */, + 8B0BB7C22B6D98D900ED532A /* CAMixMap.h in Headers */, + 8B0BB7CF2B6D98D900ED532A /* CACFArray.h in Headers */, + 8B0BB7772B6D98D900ED532A /* CACFMachPort.h in Headers */, + 8B0BB7A22B6D98D900ED532A /* CAAUMIDIMap.h in Headers */, + 8B0BB77A2B6D98D900ED532A /* CADebugger.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "kCathedral2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCD0486CAD60068D4B7 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = kCathedral2; + productReference = 8D01CCD20486CAD60068D4B7 /* kCathedral2.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 "kCathedral2" */; + compatibilityVersion = "Xcode 3.1"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + Base, + fr, + en, + ja, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* kCathedral2 */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */, + ); + }; +/* 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 = ( + 8B0BB7B22B6D98D900ED532A /* AUOutputBL.cpp in Sources */, + 8B0BB7D72B6D98D900ED532A /* CAAudioFileFormats.cpp in Sources */, + 8B0BB7C92B6D98D900ED532A /* CAHostTimeBase.cpp in Sources */, + 8B0BB7A12B6D98D900ED532A /* CAXException.cpp in Sources */, + 8B0BB7CB2B6D98D900ED532A /* CAAudioBufferList.cpp in Sources */, + 8B0BB78E2B6D98D900ED532A /* CAFilePathUtils.cpp in Sources */, + 8B0BB78C2B6D98D900ED532A /* CAAUParameter.cpp in Sources */, + 8B0BB7AE2B6D98D900ED532A /* CAAUMIDIMap.cpp in Sources */, + 8B0BB7DB2B6D98D900ED532A /* CAAudioValueRange.cpp in Sources */, + 8B0BB7EA2B6D98D900ED532A /* AUDispatch.cpp in Sources */, + 8B0BB7A52B6D98D900ED532A /* CACFPreferences.cpp in Sources */, + 8B0BB7E82B6D98D900ED532A /* AUPlugInDispatch.cpp in Sources */, + 8B0BB7872B6D98D900ED532A /* CAAUProcessor.cpp in Sources */, + 8B0BB79C2B6D98D900ED532A /* CACFDictionary.cpp in Sources */, + 8B0BB7F02B6D98D900ED532A /* AUBaseHelper.cpp in Sources */, + 8B0BB7D52B6D98D900ED532A /* CADebugger.cpp in Sources */, + 8B0BB7A92B6D98D900ED532A /* CAAudioChannelLayout.cpp in Sources */, + 8B0BB7AC2B6D98D900ED532A /* AUParamInfo.cpp in Sources */, + 8B0BB7CA2B6D98D900ED532A /* CAPersistence.cpp in Sources */, + 8B0BB7BE2B6D98D900ED532A /* CADebugPrintf.cpp in Sources */, + 8B0BB7F32B6D98D900ED532A /* AUTimestampGenerator.cpp in Sources */, + 8B0BB7C62B6D98D900ED532A /* CAStreamBasicDescription.cpp in Sources */, + 8B0BB7962B6D98D900ED532A /* CAAUMIDIMapManager.cpp in Sources */, + 8B0BB7C12B6D98D900ED532A /* CASettingsStorage.cpp in Sources */, + 8B0BB7E62B6D98D900ED532A /* AUOutputElement.cpp in Sources */, + 8B0BB7922B6D98D900ED532A /* CAGuard.cpp in Sources */, + 8BA05A6B0720730100365D66 /* kCathedral2.cpp in Sources */, + 8B0BB7D42B6D98D900ED532A /* CAMutex.cpp in Sources */, + 8B0BB7ED2B6D98D900ED532A /* AUEffectBase.cpp in Sources */, + 8B0BB7D22B6D98D900ED532A /* CACFMachPort.cpp in Sources */, + 8B0BB7E12B6D98D900ED532A /* AUBase.cpp in Sources */, + 8B0BB7AD2B6D98D900ED532A /* CASharedLibrary.cpp in Sources */, + 8B0BB7942B6D98D900ED532A /* CACFDistributedNotification.cpp in Sources */, + 8B0BB7972B6D98D900ED532A /* CAComponentDescription.cpp in Sources */, + 8B0BB79E2B6D98D900ED532A /* CACFString.cpp in Sources */, + 8B0BB7DE2B6D98D900ED532A /* ComponentBase.cpp in Sources */, + 8B0BB7BF2B6D98D900ED532A /* CARingBuffer.cpp in Sources */, + 8B0BB7DF2B6D98D900ED532A /* AUScopeElement.cpp in Sources */, + 8B0BB7DC2B6D98D900ED532A /* CAAudioUnit.cpp in Sources */, + 8B0BB7D92B6D98D900ED532A /* CACFArray.cpp in Sources */, + 8B0BB7D62B6D98D900ED532A /* CABundleLocker.cpp in Sources */, + 8B0BB7C82B6D98D900ED532A /* CAProcess.cpp in Sources */, + 8B0BB7B62B6D98D900ED532A /* CAStreamRangedDescription.cpp in Sources */, + 8B0BB7B72B6D98D900ED532A /* CAPThread.cpp in Sources */, + 8B0BB7792B6D98D900ED532A /* CAComponent.cpp in Sources */, + 8B0BB7912B6D98D900ED532A /* CAAudioChannelLayoutObject.cpp in Sources */, + 8B0BB7CC2B6D98D900ED532A /* CAAudioTimeStamp.cpp in Sources */, + 8B0BB7D32B6D98D900ED532A /* CABufferList.cpp in Sources */, + 8B0BB7B02B6D98D900ED532A /* CACFMessagePort.cpp in Sources */, + 8B0BB7BA2B6D98D900ED532A /* CAVectorUnit.cpp in Sources */, + 8B0BB7EC2B6D98D900ED532A /* AUInputElement.cpp in Sources */, + 8B0BB7F42B6D98D900ED532A /* AUBuffer.cpp in Sources */, + 8B0BB7992B6D98D900ED532A /* CADebugMacros.cpp in Sources */, + 8B0BB77B2B6D98D900ED532A /* CACFNumber.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 8B0BB7F82B6D995100ED532A /* 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 = kCathedral2.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 = kCathedral2; + 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 = kCathedral2.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 = kCathedral2; + 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 "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA244089833B7007656EC /* Debug */, + 3E4BA245089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E4BA248089833B7007656EC /* Debug */, + 3E4BA249089833B7007656EC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..d9f94bb29d1b15cc91f456b5c9d030f1a87fa0c1 GIT binary patch literal 18181 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 istZ#JvkJ9^x+*8Csw;>jBT literal 0 HcmV?d00001 diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme new file mode 100644 index 000000000..10e57f957 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 000000000..5499c688c --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + kCathedral2.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedAU/kCathedral2/kCathedral2Version.h b/plugins/MacSignedAU/kCathedral2/kCathedral2Version.h new file mode 100755 index 000000000..78900e821 --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/kCathedral2Version.h @@ -0,0 +1,58 @@ +/* +* File: kCathedral2Version.h +* +* Version: 1.0 +* +* Created: 1/31/24 +* +* Copyright: Copyright © 2024 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 __kCathedral2Version_h__ +#define __kCathedral2Version_h__ + + +#ifdef DEBUG + #define kkCathedral2Version 0xFFFFFFFF +#else + #define kkCathedral2Version 0x00010000 +#endif + +//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~// +#define kCathedral2_COMP_MANF 'Dthr' +#define kCathedral2_COMP_SUBTYPE 'kcti' +//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// + +#endif + diff --git a/plugins/MacSignedAU/kCathedral2/version.plist b/plugins/MacSignedAU/kCathedral2/version.plist new file mode 100755 index 000000000..11edf8a1b --- /dev/null +++ b/plugins/MacSignedAU/kCathedral2/version.plist @@ -0,0 +1,16 @@ + + + + + BuildVersion + 3 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + ProjectName + ${EXECUTABLE_NAME} + SourceVersion + 590000 + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..ae8984fd4 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,132 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* CloudCoat */; + 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 = 728517667; + PBXWorkspaceStateSaveDate = 728517667; + }; + perUserProjectItems = { + 8B4E05102B6489750018872B /* PBXTextBookmark */ = 8B4E05102B6489750018872B /* PBXTextBookmark */; + 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */ = 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 4482}}"; + sepNavSelRange = "{3218, 0}"; + sepNavVisRange = "{5778, 1801}"; + sepNavWindowFrame = "{{539, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* CloudCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 4104}}"; + sepNavSelRange = "{3938, 0}"; + sepNavVisRange = "{3921, 77}"; + sepNavWindowFrame = "{{518, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1299, 15750}}"; + sepNavSelRange = "{47754, 0}"; + sepNavVisRange = "{47286, 1370}"; + sepNavWindowFrame = "{{543, 47}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8B4E05102B6489750018872B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 245463B80991757100464AD3 /* CloudCoat.h */; + name = "CloudCoat.h: 132"; + rLen = 0; + rLoc = 3938; + rType = 0; + vrLen = 112; + vrLoc = 3906; + }; + 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 245463B80991757100464AD3 /* CloudCoat.h */; + name = "CloudCoat.h: 132"; + rLen = 0; + rLoc = 3938; + rType = 0; + vrLen = 77; + vrLoc = 3921; + }; + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..d603f460f --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1511 @@ + + + + + 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 + 636 320 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + CloudCoat.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + CloudCoat.h + _historyCapacity + 0 + bookmark + 8BA3AE562B6C509C00F494DA + history + + 8B4E05102B6489750018872B + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 117}} + RubberWindowFrame + 636 320 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 + 636 320 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 + + 8BA3AE572B6C509C00F494DA + 1CA23ED40692098700951B8B + 8BA3AE582B6C509C00F494DA + 8B0237581D42B1C400E1E8C8 + 8BA3AE592B6C509C00F494DA + 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 + 728518812.94769704 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AE5A2B6C509C00F494DA + /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj + + WindowString + 636 320 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/CloudCoat/CloudCoat.xcodeproj/project.pbxproj b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..2a7324c9c --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj @@ -0,0 +1,462 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* CloudCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */; }; + 245463B90991757100464AD3 /* CloudCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* CloudCoat.h */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* CloudCoatProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; + 8B0BB80B2B6D99A300ED532A /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB7FF2B6D99A300ED532A /* vstfxstore.h */; }; + 8B0BB80C2B6D99A300ED532A /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8002B6D99A300ED532A /* aeffect.h */; }; + 8B0BB80D2B6D99A300ED532A /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8012B6D99A300ED532A /* aeffectx.h */; }; + 8B0BB80E2B6D99A300ED532A /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8052B6D99A300ED532A /* audioeffectx.h */; }; + 8B0BB80F2B6D99A300ED532A /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8062B6D99A300ED532A /* audioeffect.cpp */; }; + 8B0BB8102B6D99A300ED532A /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8072B6D99A300ED532A /* audioeffectx.cpp */; }; + 8B0BB8112B6D99A300ED532A /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8082B6D99A300ED532A /* aeffeditor.h */; }; + 8B0BB8122B6D99A300ED532A /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8092B6D99A300ED532A /* vstplugmain.cpp */; }; + 8B0BB8132B6D99A300ED532A /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB80A2B6D99A300ED532A /* audioeffect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2407DE920899296600EB68BF /* CloudCoat.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudCoat.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = CloudCoat.cpp; path = source/CloudCoat.cpp; sourceTree = ""; }; + 245463B80991757100464AD3 /* CloudCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CloudCoat.h; path = source/CloudCoat.h; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CloudCoatProc.cpp; path = source/CloudCoatProc.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; }; + 8B0BB7FF2B6D99A300ED532A /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 8B0BB8002B6D99A300ED532A /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 8B0BB8012B6D99A300ED532A /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 8B0BB8052B6D99A300ED532A /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 8B0BB8062B6D99A300ED532A /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 8B0BB8072B6D99A300ED532A /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 8B0BB8082B6D99A300ED532A /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 8B0BB8092B6D99A300ED532A /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 8B0BB80A2B6D99A300ED532A /* 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 = ( + 8B0BB7FC2B6D99A300ED532A /* vstsdk2.4 */, + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */, + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */, + 245463B80991757100464AD3 /* CloudCoat.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* CloudCoat.vst */, + ); + name = Products; + sourceTree = ""; + }; + 8B0BB7FC2B6D99A300ED532A /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 8B0BB7FD2B6D99A300ED532A /* pluginterfaces */, + 8B0BB8022B6D99A300ED532A /* public.sdk */, + ); + name = vstsdk2.4; + path = ../../../../vstsdk2.4; + sourceTree = ""; + }; + 8B0BB7FD2B6D99A300ED532A /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 8B0BB7FE2B6D99A300ED532A /* vst2.x */, + ); + path = pluginterfaces; + sourceTree = ""; + }; + 8B0BB7FE2B6D99A300ED532A /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B0BB7FF2B6D99A300ED532A /* vstfxstore.h */, + 8B0BB8002B6D99A300ED532A /* aeffect.h */, + 8B0BB8012B6D99A300ED532A /* aeffectx.h */, + ); + path = vst2.x; + sourceTree = ""; + }; + 8B0BB8022B6D99A300ED532A /* public.sdk */ = { + isa = PBXGroup; + children = ( + 8B0BB8032B6D99A300ED532A /* source */, + ); + path = public.sdk; + sourceTree = ""; + }; + 8B0BB8032B6D99A300ED532A /* source */ = { + isa = PBXGroup; + children = ( + 8B0BB8042B6D99A300ED532A /* vst2.x */, + ); + path = source; + sourceTree = ""; + }; + 8B0BB8042B6D99A300ED532A /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B0BB8052B6D99A300ED532A /* audioeffectx.h */, + 8B0BB8062B6D99A300ED532A /* audioeffect.cpp */, + 8B0BB8072B6D99A300ED532A /* audioeffectx.cpp */, + 8B0BB8082B6D99A300ED532A /* aeffeditor.h */, + 8B0BB8092B6D99A300ED532A /* vstplugmain.cpp */, + 8B0BB80A2B6D99A300ED532A /* audioeffect.h */, + ); + path = vst2.x; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B0BB8112B6D99A300ED532A /* aeffeditor.h in Headers */, + 245463B90991757100464AD3 /* CloudCoat.h in Headers */, + 8B0BB8132B6D99A300ED532A /* audioeffect.h in Headers */, + 8B0BB80C2B6D99A300ED532A /* aeffect.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 8B0BB80E2B6D99A300ED532A /* audioeffectx.h in Headers */, + 8B0BB80B2B6D99A300ED532A /* vstfxstore.h in Headers */, + 8B0BB80D2B6D99A300ED532A /* aeffectx.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "CloudCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CloudCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* CloudCoat.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 "CloudCoat" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + Base, + en, + de, + fr, + ja, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* CloudCoat */, + ); + }; +/* 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 = ( + 8B0BB8102B6D99A300ED532A /* audioeffectx.cpp in Sources */, + 2407DEB9089929BA00EB68BF /* CloudCoat.cpp in Sources */, + 8B0BB80F2B6D99A300ED532A /* audioeffect.cpp in Sources */, + 8B0BB8122B6D99A300ED532A /* vstplugmain.cpp in Sources */, + 24D8287009A914000093AEF8 /* CloudCoatProc.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.CloudCoat; + PRODUCT_NAME = CloudCoat; + 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.CloudCoat; + PRODUCT_NAME = CloudCoat; + 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 "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..544d993a884f37c99cf500f0dd0de7a866e61a21 GIT binary patch literal 24532 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%0AivXuhC=?!7&H-bIvtRJ@Hk{{ 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 Ee-@_#ZU6uP literal 0 HcmV?d00001 diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.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/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.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/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme new file mode 100644 index 000000000..587e2ba2e --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcshareddata/xcschemes/CloudCoat.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..d7238d2e2 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + CloudCoat.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/CloudCoat/mac/Info.plist b/plugins/MacSignedVST/CloudCoat/mac/Info.plist new file mode 100755 index 000000000..356743a7f --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + CloudCoat + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedVST/CloudCoat/mac/PkgInfo b/plugins/MacSignedVST/CloudCoat/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacSignedVST/CloudCoat/mac/xcode_vst_prefix.h b/plugins/MacSignedVST/CloudCoat/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/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/CloudCoat/source/CloudCoat.cpp b/plugins/MacSignedVST/CloudCoat/source/CloudCoat.cpp new file mode 100755 index 000000000..c6f5e277f --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/source/CloudCoat.cpp @@ -0,0 +1,247 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new CloudCoat(audioMaster);} + +CloudCoat::CloudCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 0.5; + C = 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; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 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; + prevcloudcoat = -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 +} + +CloudCoat::~CloudCoat() {} +VstInt32 CloudCoat::getVendorVersion () {return 1000;} +void CloudCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void CloudCoat::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 CloudCoat::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + /* 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 CloudCoat::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + /* 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 CloudCoat::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float CloudCoat::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; 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 CloudCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Sustain", kVstMaxParamStrLen); break; + case kParamC: 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 CloudCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void CloudCoat::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 CloudCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool CloudCoat::getEffectName(char* name) { + vst_strncpy(name, "CloudCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory CloudCoat::getPlugCategory() {return kPlugCategEffect;} + +bool CloudCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows CloudCoat", kVstMaxProductStrLen); return true; +} + +bool CloudCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacSignedVST/CloudCoat/source/CloudCoat.h b/plugins/MacSignedVST/CloudCoat/source/CloudCoat.h new file mode 100755 index 000000000..b883dd65f --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/source/CloudCoat.h @@ -0,0 +1,214 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#define __CloudCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kParamC = 2, + kNumParameters = 3 +}; // + +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 = 'cloc'; //Change this to what the AU identity is! + +class CloudCoat : + public AudioEffectX +{ +public: + CloudCoat(audioMasterCallback audioMaster); + ~CloudCoat(); + 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 avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + 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 prevcloudcoat; + + float A; + float B; + float C; +}; + +#endif diff --git a/plugins/MacSignedVST/CloudCoat/source/CloudCoatProc.cpp b/plugins/MacSignedVST/CloudCoat/source/CloudCoatProc.cpp new file mode 100755 index 000000000..9b37dd43a --- /dev/null +++ b/plugins/MacSignedVST/CloudCoat/source/CloudCoatProc.cpp @@ -0,0 +1,846 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +void CloudCoat::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 cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + 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 CloudCoat::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 cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + 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/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..97afa4e64 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,126 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral2 */; + 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 = 728520238; + PBXWorkspaceStateSaveDate = 728520238; + }; + perUserProjectItems = { + 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */ = 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */; + 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */ = 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {786, 5238}}"; + sepNavSelRange = "{9271, 0}"; + sepNavVisRange = "{8319, 279}"; + sepNavWindowFrame = "{{533, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* kCathedral2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {848, 7110}}"; + sepNavSelRange = "{8442, 0}"; + sepNavVisRange = "{7713, 808}"; + sepNavWindowFrame = "{{657, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1065, 25452}}"; + sepNavSelRange = "{63743, 0}"; + sepNavVisRange = "{63165, 1477}"; + sepNavWindowFrame = "{{541, 47}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; + }; + 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 262"; + rLen = 0; + rLoc = 9271; + rType = 0; + vrLen = 279; + vrLoc = 8319; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..f1fb71efe --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1511 @@ + + + + + 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 + 626 230 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + kCathedral2.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + kCathedral2.cpp + _historyCapacity + 0 + bookmark + 8BA3AEEF2B6C5C9F00F494DA + history + + 8BA3AEEE2B6C5C9F00F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 132}} + RubberWindowFrame + 626 230 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 132pt + + + Proportion + 309pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + RubberWindowFrame + 626 230 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 + + 8BA3AEF02B6C5C9F00F494DA + 1CA23ED40692098700951B8B + 8BA3AEF12B6C5C9F00F494DA + 8B0237581D42B1C400E1E8C8 + 8BA3AEF22B6C5C9F00F494DA + 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 + 728521887.06748402 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AEF32B6C5C9F00F494DA + /Users/christopherjohnson/Desktop/kCathedral2/kCathedral2.xcodeproj + + WindowString + 626 230 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/kCathedral2/kCathedral2.xcodeproj/project.pbxproj b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..6ebeb865d --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj @@ -0,0 +1,462 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 45; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* kCathedral2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; }; + 245463B90991757100464AD3 /* kCathedral2.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* kCathedral2.h */; }; + 24CFB70407E7A0220081BD57 /* PkgInfo in Resources */ = {isa = PBXBuildFile; fileRef = 24CFB70307E7A0220081BD57 /* PkgInfo */; }; + 24D8287009A914000093AEF8 /* kCathedral2Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */; }; + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 24D8287E09A9164A0093AEF8 /* xcode_vst_prefix.h */; }; + 8B0BB8262B6D9A9C00ED532A /* vstfxstore.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB81A2B6D9A9C00ED532A /* vstfxstore.h */; }; + 8B0BB8272B6D9A9C00ED532A /* aeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB81B2B6D9A9C00ED532A /* aeffect.h */; }; + 8B0BB8282B6D9A9C00ED532A /* aeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB81C2B6D9A9C00ED532A /* aeffectx.h */; }; + 8B0BB8292B6D9A9C00ED532A /* audioeffectx.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8202B6D9A9C00ED532A /* audioeffectx.h */; }; + 8B0BB82A2B6D9A9C00ED532A /* audioeffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8212B6D9A9C00ED532A /* audioeffect.cpp */; }; + 8B0BB82B2B6D9A9C00ED532A /* audioeffectx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8222B6D9A9C00ED532A /* audioeffectx.cpp */; }; + 8B0BB82C2B6D9A9C00ED532A /* aeffeditor.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8232B6D9A9C00ED532A /* aeffeditor.h */; }; + 8B0BB82D2B6D9A9C00ED532A /* vstplugmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8B0BB8242B6D9A9C00ED532A /* vstplugmain.cpp */; }; + 8B0BB82E2B6D9A9C00ED532A /* audioeffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B0BB8252B6D9A9C00ED532A /* audioeffect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 2407DE920899296600EB68BF /* kCathedral2.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral2.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral2.cpp; path = source/kCathedral2.cpp; sourceTree = ""; }; + 245463B80991757100464AD3 /* kCathedral2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = kCathedral2.h; path = source/kCathedral2.h; sourceTree = ""; }; + 24CFB70307E7A0220081BD57 /* PkgInfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = PkgInfo; path = mac/PkgInfo; sourceTree = ""; }; + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral2Proc.cpp; path = source/kCathedral2Proc.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; }; + 8B0BB81A2B6D9A9C00ED532A /* vstfxstore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vstfxstore.h; sourceTree = ""; }; + 8B0BB81B2B6D9A9C00ED532A /* aeffect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffect.h; sourceTree = ""; }; + 8B0BB81C2B6D9A9C00ED532A /* aeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffectx.h; sourceTree = ""; }; + 8B0BB8202B6D9A9C00ED532A /* audioeffectx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = audioeffectx.h; sourceTree = ""; }; + 8B0BB8212B6D9A9C00ED532A /* audioeffect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffect.cpp; sourceTree = ""; }; + 8B0BB8222B6D9A9C00ED532A /* audioeffectx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = audioeffectx.cpp; sourceTree = ""; }; + 8B0BB8232B6D9A9C00ED532A /* aeffeditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aeffeditor.h; sourceTree = ""; }; + 8B0BB8242B6D9A9C00ED532A /* vstplugmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vstplugmain.cpp; sourceTree = ""; }; + 8B0BB8252B6D9A9C00ED532A /* 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 = ( + 8B0BB8172B6D9A9C00ED532A /* vstsdk2.4 */, + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */, + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */, + 245463B80991757100464AD3 /* kCathedral2.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* kCathedral2.vst */, + ); + name = Products; + sourceTree = ""; + }; + 8B0BB8172B6D9A9C00ED532A /* vstsdk2.4 */ = { + isa = PBXGroup; + children = ( + 8B0BB8182B6D9A9C00ED532A /* pluginterfaces */, + 8B0BB81D2B6D9A9C00ED532A /* public.sdk */, + ); + name = vstsdk2.4; + path = ../../../../vstsdk2.4; + sourceTree = ""; + }; + 8B0BB8182B6D9A9C00ED532A /* pluginterfaces */ = { + isa = PBXGroup; + children = ( + 8B0BB8192B6D9A9C00ED532A /* vst2.x */, + ); + path = pluginterfaces; + sourceTree = ""; + }; + 8B0BB8192B6D9A9C00ED532A /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B0BB81A2B6D9A9C00ED532A /* vstfxstore.h */, + 8B0BB81B2B6D9A9C00ED532A /* aeffect.h */, + 8B0BB81C2B6D9A9C00ED532A /* aeffectx.h */, + ); + path = vst2.x; + sourceTree = ""; + }; + 8B0BB81D2B6D9A9C00ED532A /* public.sdk */ = { + isa = PBXGroup; + children = ( + 8B0BB81E2B6D9A9C00ED532A /* source */, + ); + path = public.sdk; + sourceTree = ""; + }; + 8B0BB81E2B6D9A9C00ED532A /* source */ = { + isa = PBXGroup; + children = ( + 8B0BB81F2B6D9A9C00ED532A /* vst2.x */, + ); + path = source; + sourceTree = ""; + }; + 8B0BB81F2B6D9A9C00ED532A /* vst2.x */ = { + isa = PBXGroup; + children = ( + 8B0BB8202B6D9A9C00ED532A /* audioeffectx.h */, + 8B0BB8212B6D9A9C00ED532A /* audioeffect.cpp */, + 8B0BB8222B6D9A9C00ED532A /* audioeffectx.cpp */, + 8B0BB8232B6D9A9C00ED532A /* aeffeditor.h */, + 8B0BB8242B6D9A9C00ED532A /* vstplugmain.cpp */, + 8B0BB8252B6D9A9C00ED532A /* audioeffect.h */, + ); + path = vst2.x; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 8D01CCC70486CAD60068D4B7 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B0BB82C2B6D9A9C00ED532A /* aeffeditor.h in Headers */, + 245463B90991757100464AD3 /* kCathedral2.h in Headers */, + 8B0BB82E2B6D9A9C00ED532A /* audioeffect.h in Headers */, + 8B0BB8272B6D9A9C00ED532A /* aeffect.h in Headers */, + 24D8287F09A9164A0093AEF8 /* xcode_vst_prefix.h in Headers */, + 8B0BB8292B6D9A9C00ED532A /* audioeffectx.h in Headers */, + 8B0BB8262B6D9A9C00ED532A /* vstfxstore.h in Headers */, + 8B0BB8282B6D9A9C00ED532A /* aeffectx.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* kCathedral2.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 "kCathedral2" */; + compatibilityVersion = "Xcode 2.4"; + developmentRegion = en; + hasScannedForEncodings = 1; + knownRegions = ( + Base, + en, + ja, + fr, + de, + ); + mainGroup = 089C166AFE841209C02AAC07 /* FM-Chopper */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */, + ); + }; +/* 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 = ( + 8B0BB82B2B6D9A9C00ED532A /* audioeffectx.cpp in Sources */, + 2407DEB9089929BA00EB68BF /* kCathedral2.cpp in Sources */, + 8B0BB82A2B6D9A9C00ED532A /* audioeffect.cpp in Sources */, + 8B0BB82D2B6D9A9C00ED532A /* vstplugmain.cpp in Sources */, + 24D8287009A914000093AEF8 /* kCathedral2Proc.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.kCathedral2; + PRODUCT_NAME = kCathedral2; + 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.kCathedral2; + PRODUCT_NAME = kCathedral2; + 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 "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100755 index 0000000000000000000000000000000000000000..ce301c1dd6bd11899f619bb4712b977f4c2a89d1 GIT binary patch literal 24653 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 literal 0 HcmV?d00001 diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacSignedVST/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme new file mode 100644 index 000000000..ac36d941b --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcshareddata/xcschemes/kCathedral2.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..e4220df9c --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + kCathedral2.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacSignedVST/kCathedral2/mac/Info.plist b/plugins/MacSignedVST/kCathedral2/mac/Info.plist new file mode 100755 index 000000000..a09dfd427 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + kCathedral2 + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacSignedVST/kCathedral2/mac/PkgInfo b/plugins/MacSignedVST/kCathedral2/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacSignedVST/kCathedral2/mac/xcode_vst_prefix.h b/plugins/MacSignedVST/kCathedral2/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/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/kCathedral2/source/kCathedral2.cpp b/plugins/MacSignedVST/kCathedral2/source/kCathedral2.cpp new file mode 100755 index 000000000..cb4f9382d --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/source/kCathedral2.cpp @@ -0,0 +1,281 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral2(audioMaster);} + +kCathedral2::kCathedral2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + 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 < 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; + + 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; + 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; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 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 +} + +kCathedral2::~kCathedral2() {} +VstInt32 kCathedral2::getVendorVersion () {return 1000;} +void kCathedral2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral2::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 kCathedral2::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 kCathedral2::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 kCathedral2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral2::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 kCathedral2::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 kCathedral2::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 kCathedral2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral2::getEffectName(char* name) { + vst_strncpy(name, "kCathedral2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral2::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral2::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral2", kVstMaxProductStrLen); return true; +} + +bool kCathedral2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacSignedVST/kCathedral2/source/kCathedral2.h b/plugins/MacSignedVST/kCathedral2/source/kCathedral2.h new file mode 100755 index 000000000..8052c922f --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/source/kCathedral2.h @@ -0,0 +1,344 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#define __kCathedral2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcti'; //Change this to what the AU identity is! + +class kCathedral2 : + public AudioEffectX +{ +public: + kCathedral2(audioMasterCallback audioMaster); + ~kCathedral2(); + 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[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + 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 pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/MacSignedVST/kCathedral2/source/kCathedral2Proc.cpp b/plugins/MacSignedVST/kCathedral2/source/kCathedral2Proc.cpp new file mode 100755 index 000000000..02a8014c8 --- /dev/null +++ b/plugins/MacSignedVST/kCathedral2/source/kCathedral2Proc.cpp @@ -0,0 +1,1218 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +void kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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 kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..ae8984fd4 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,132 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* CloudCoat */; + 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 = 728517667; + PBXWorkspaceStateSaveDate = 728517667; + }; + perUserProjectItems = { + 8B4E05102B6489750018872B /* PBXTextBookmark */ = 8B4E05102B6489750018872B /* PBXTextBookmark */; + 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */ = 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {948, 4482}}"; + sepNavSelRange = "{3218, 0}"; + sepNavVisRange = "{5778, 1801}"; + sepNavWindowFrame = "{{539, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* CloudCoat.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {554, 4104}}"; + sepNavSelRange = "{3938, 0}"; + sepNavVisRange = "{3921, 77}"; + sepNavWindowFrame = "{{518, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1299, 15750}}"; + sepNavSelRange = "{47754, 0}"; + sepNavVisRange = "{47286, 1370}"; + sepNavWindowFrame = "{{543, 47}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8B4E05102B6489750018872B /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 245463B80991757100464AD3 /* CloudCoat.h */; + name = "CloudCoat.h: 132"; + rLen = 0; + rLoc = 3938; + rType = 0; + vrLen = 112; + vrLoc = 3906; + }; + 8BA3AE562B6C509C00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 245463B80991757100464AD3 /* CloudCoat.h */; + name = "CloudCoat.h: 132"; + rLen = 0; + rLoc = 3938; + rType = 0; + vrLen = 77; + vrLoc = 3921; + }; + 8D01CCC60486CAD60068D4B7 /* CloudCoat */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..d603f460f --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1511 @@ + + + + + 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 + 636 320 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + CloudCoat.h + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + CloudCoat.h + _historyCapacity + 0 + bookmark + 8BA3AE562B6C509C00F494DA + history + + 8B4E05102B6489750018872B + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 117}} + RubberWindowFrame + 636 320 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 + 636 320 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 + + 8BA3AE572B6C509C00F494DA + 1CA23ED40692098700951B8B + 8BA3AE582B6C509C00F494DA + 8B0237581D42B1C400E1E8C8 + 8BA3AE592B6C509C00F494DA + 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 + 728518812.94769704 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AE5A2B6C509C00F494DA + /Users/christopherjohnson/Desktop/airwindows/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj + + WindowString + 636 320 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/CloudCoat/CloudCoat.xcodeproj/project.pbxproj b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj new file mode 100755 index 000000000..65653c251 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.pbxproj @@ -0,0 +1,2201 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* CloudCoat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */; }; + 245463B90991757100464AD3 /* CloudCoat.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* CloudCoat.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 /* CloudCoatProc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* CloudCoatProc.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 /* CloudCoat.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CloudCoat.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* CloudCoat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = CloudCoat.cpp; path = source/CloudCoat.cpp; sourceTree = ""; }; + 2434720A098313350063BBF1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + 245463B80991757100464AD3 /* CloudCoat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = CloudCoat.h; path = source/CloudCoat.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 /* CloudCoatProc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CloudCoatProc.cpp; path = source/CloudCoatProc.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 /* CloudCoat.cpp */, + 24D8286F09A914000093AEF8 /* CloudCoatProc.cpp */, + 245463B80991757100464AD3 /* CloudCoat.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* CloudCoat.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 /* CloudCoat.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 /* CloudCoat */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "CloudCoat" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = CloudCoat; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* CloudCoat.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 "CloudCoat" */; + 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 /* CloudCoat */, + ); + }; +/* 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 /* CloudCoat.cpp in Sources */, + 24D8287009A914000093AEF8 /* CloudCoatProc.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 = CloudCoat; + 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 "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "CloudCoat" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/CloudCoat/CloudCoat.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/CloudCoat/CloudCoat.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/CloudCoat/CloudCoat.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/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.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/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.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/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme new file mode 100755 index 000000000..8ee693f95 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..5bccbcb4f --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gain.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacVST/CloudCoat/CloudCoat.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/CloudCoat/mac/Info.plist b/plugins/MacVST/CloudCoat/mac/Info.plist new file mode 100755 index 000000000..a93940ec9 --- /dev/null +++ b/plugins/MacVST/CloudCoat/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + CloudCoat + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.CloudCoat + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacVST/CloudCoat/mac/PkgInfo b/plugins/MacVST/CloudCoat/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacVST/CloudCoat/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacVST/CloudCoat/mac/xcode_vst_prefix.h b/plugins/MacVST/CloudCoat/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacVST/CloudCoat/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/CloudCoat/source/CloudCoat.cpp b/plugins/MacVST/CloudCoat/source/CloudCoat.cpp new file mode 100755 index 000000000..c6f5e277f --- /dev/null +++ b/plugins/MacVST/CloudCoat/source/CloudCoat.cpp @@ -0,0 +1,247 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new CloudCoat(audioMaster);} + +CloudCoat::CloudCoat(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 0.5; + B = 0.5; + C = 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; + + avgAL = 0.0; + avgBL = 0.0; + avgCL = 0.0; + avgDL = 0.0; + + avgDR = 0.0; + avgHR = 0.0; + avgLR = 0.0; + avgPR = 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; + prevcloudcoat = -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 +} + +CloudCoat::~CloudCoat() {} +VstInt32 CloudCoat::getVendorVersion () {return 1000;} +void CloudCoat::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void CloudCoat::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 CloudCoat::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + /* 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 CloudCoat::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + /* 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 CloudCoat::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float CloudCoat::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; 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 CloudCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Sustain", kVstMaxParamStrLen); break; + case kParamC: 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 CloudCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void CloudCoat::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 CloudCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool CloudCoat::getEffectName(char* name) { + vst_strncpy(name, "CloudCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory CloudCoat::getPlugCategory() {return kPlugCategEffect;} + +bool CloudCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows CloudCoat", kVstMaxProductStrLen); return true; +} + +bool CloudCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacVST/CloudCoat/source/CloudCoat.h b/plugins/MacVST/CloudCoat/source/CloudCoat.h new file mode 100755 index 000000000..b883dd65f --- /dev/null +++ b/plugins/MacVST/CloudCoat/source/CloudCoat.h @@ -0,0 +1,214 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#define __CloudCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kParamC = 2, + kNumParameters = 3 +}; // + +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 = 'cloc'; //Change this to what the AU identity is! + +class CloudCoat : + public AudioEffectX +{ +public: + CloudCoat(audioMasterCallback audioMaster); + ~CloudCoat(); + 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 avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + 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 prevcloudcoat; + + float A; + float B; + float C; +}; + +#endif diff --git a/plugins/MacVST/CloudCoat/source/CloudCoatProc.cpp b/plugins/MacVST/CloudCoat/source/CloudCoatProc.cpp new file mode 100755 index 000000000..9b37dd43a --- /dev/null +++ b/plugins/MacVST/CloudCoat/source/CloudCoatProc.cpp @@ -0,0 +1,846 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +void CloudCoat::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 cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + 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 CloudCoat::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 cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + 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/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser new file mode 100755 index 000000000..97afa4e64 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.pbxuser @@ -0,0 +1,126 @@ +// !$*UTF8*$! +{ + 089C1669FE841209C02AAC07 /* Project object */ = { + activeBuildConfigurationName = Release; + activeTarget = 8D01CCC60486CAD60068D4B7 /* kCathedral2 */; + 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 = 728520238; + PBXWorkspaceStateSaveDate = 728520238; + }; + perUserProjectItems = { + 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */ = 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */; + 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */ = 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */; + }; + sourceControlManager = 8B02375E1D42B1C400E1E8C8 /* Source Control */; + userBuildSettings = { + }; + }; + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {786, 5238}}"; + sepNavSelRange = "{9271, 0}"; + sepNavVisRange = "{8319, 279}"; + sepNavWindowFrame = "{{533, 47}, {895, 831}}"; + }; + }; + 245463B80991757100464AD3 /* kCathedral2.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {848, 7110}}"; + sepNavSelRange = "{8442, 0}"; + sepNavVisRange = "{7713, 808}"; + sepNavWindowFrame = "{{657, 47}, {895, 831}}"; + }; + }; + 24A2FFDB0F90D1DD003BB5A7 /* audioeffectx.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {859, 20267}}"; + sepNavSelRange = "{10616, 0}"; + sepNavVisRange = "{9653, 2414}"; + sepNavWindowFrame = "{{15, 42}, {895, 831}}"; + }; + }; + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1065, 25452}}"; + sepNavSelRange = "{63743, 0}"; + sepNavVisRange = "{63165, 1477}"; + sepNavWindowFrame = "{{541, 47}, {895, 831}}"; + }; + }; + 8B02375E1D42B1C400E1E8C8 /* Source Control */ = { + isa = PBXSourceControlManager; + fallbackIsa = XCSourceControlManager; + isSCMEnabled = 0; + scmConfiguration = { + repositoryNamesForRoots = { + "" = ""; + }; + }; + }; + 8B02375F1D42B1C400E1E8C8 /* Code sense */ = { + isa = PBXCodeSenseManager; + indexTemplatePath = ""; + }; + 8BA3AEEE2B6C5C9F00F494DA /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; + }; + 8BA3AEEF2B6C5C9F00F494DA /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; + name = "kCathedral2.cpp: 262"; + rLen = 0; + rLoc = 9271; + rType = 0; + vrLen = 279; + vrLoc = 8319; + }; + 8D01CCC60486CAD60068D4B7 /* kCathedral2 */ = { + activeExec = 0; + }; +} diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 new file mode 100755 index 000000000..f1fb71efe --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/christopherjohnson.perspectivev3 @@ -0,0 +1,1511 @@ + + + + + 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 + 626 230 810 487 0 0 1440 878 + + Module + PBXSmartGroupTreeModule + Proportion + 202pt + + + Dock + + + ContentConfiguration + + PBXProjectModuleGUID + 8B0237581D42B1C400E1E8C8 + PBXProjectModuleLabel + kCathedral2.cpp + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 8B0237591D42B1C400E1E8C8 + PBXProjectModuleLabel + kCathedral2.cpp + _historyCapacity + 0 + bookmark + 8BA3AEEF2B6C5C9F00F494DA + history + + 8BA3AEEE2B6C5C9F00F494DA + + + SplitCount + 1 + + StatusBarVisibility + + XCSharingToken + com.apple.Xcode.CommonNavigatorGroupSharingToken + + GeometryConfiguration + + Frame + {{0, 0}, {603, 132}} + RubberWindowFrame + 626 230 810 487 0 0 1440 878 + + Module + PBXNavigatorGroup + Proportion + 132pt + + + Proportion + 309pt + Tabs + + + ContentConfiguration + + PBXProjectModuleGUID + 1CA23EDF0692099D00951B8B + PBXProjectModuleLabel + Detail + + GeometryConfiguration + + Frame + {{10, 27}, {603, 282}} + RubberWindowFrame + 626 230 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 + + 8BA3AEF02B6C5C9F00F494DA + 1CA23ED40692098700951B8B + 8BA3AEF12B6C5C9F00F494DA + 8B0237581D42B1C400E1E8C8 + 8BA3AEF22B6C5C9F00F494DA + 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 + 728521887.06748402 + ToolbarConfigUserDefaultsMinorVersion + 2 + ToolbarDisplayMode + 1 + ToolbarIsVisible + + ToolbarSizeMode + 2 + Type + Perspectives + UpdateMessage + + WindowJustification + 5 + WindowOrderList + + 8BA3AEF32B6C5C9F00F494DA + /Users/christopherjohnson/Desktop/kCathedral2/kCathedral2.xcodeproj + + WindowString + 626 230 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/kCathedral2/kCathedral2.xcodeproj/project.pbxproj b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj new file mode 100755 index 000000000..2fa6c1113 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.pbxproj @@ -0,0 +1,2201 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 42; + objects = { + +/* Begin PBXBuildFile section */ + 2407DEB9089929BA00EB68BF /* kCathedral2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */; }; + 245463B90991757100464AD3 /* kCathedral2.h in Headers */ = {isa = PBXBuildFile; fileRef = 245463B80991757100464AD3 /* kCathedral2.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 /* kCathedral2Proc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 24D8286F09A914000093AEF8 /* kCathedral2Proc.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 /* kCathedral2.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = kCathedral2.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2407DEB6089929BA00EB68BF /* kCathedral2.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral2.cpp; path = source/kCathedral2.cpp; sourceTree = ""; }; + 2434720A098313350063BBF1 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = ""; }; + 245463B80991757100464AD3 /* kCathedral2.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = kCathedral2.h; path = source/kCathedral2.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 /* kCathedral2Proc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = kCathedral2Proc.cpp; path = source/kCathedral2Proc.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 /* kCathedral2.cpp */, + 24D8286F09A914000093AEF8 /* kCathedral2Proc.cpp */, + 245463B80991757100464AD3 /* kCathedral2.h */, + ); + name = Source; + sourceTree = ""; + }; + 19C28FB4FE9D528D11CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 2407DE920899296600EB68BF /* kCathedral2.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 /* kCathedral2.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 /* kCathedral2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = 24BEAAED08919AE700E695F9 /* Build configuration list for PBXNativeTarget "kCathedral2" */; + buildPhases = ( + 8D01CCC70486CAD60068D4B7 /* Headers */, + 8D01CCC90486CAD60068D4B7 /* Resources */, + 8D01CCCB0486CAD60068D4B7 /* Sources */, + 8D01CCCF0486CAD60068D4B7 /* Rez */, + 24CFB70807E7A07C0081BD57 /* Copy PkgInfo */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = kCathedral2; + productInstallPath = "$(HOME)/Library/Bundles"; + productName = "FM-Chopper"; + productReference = 2407DE920899296600EB68BF /* kCathedral2.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 "kCathedral2" */; + 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 /* kCathedral2 */, + ); + }; +/* 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 /* kCathedral2.cpp in Sources */, + 24D8287009A914000093AEF8 /* kCathedral2Proc.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 = kCathedral2; + 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 "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAEE08919AE700E695F9 /* Debug */, + 24BEAAEF08919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 24BEAAF108919AE700E695F9 /* Build configuration list for PBXProject "kCathedral2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 24BEAAF208919AE700E695F9 /* Debug */, + 24BEAAF308919AE700E695F9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 089C1669FE841209C02AAC07 /* Project object */; +} diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100755 index 000000000..a80c03824 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/christopherjohnson.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/project.xcworkspace/xcuserdata/spiadmin.xcuserdatad/UserInterfaceState.xcuserstate b/plugins/MacVST/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.mode1v3 new file mode 100755 index 000000000..c5723261d --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/spiadmin.pbxuser new file mode 100755 index 000000000..df947808e --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.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/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme new file mode 100755 index 000000000..8ee693f95 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/Gain.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..5bccbcb4f --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/christopherjohnson.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Gain.xcscheme + + orderHint + 8 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100755 index 000000000..a7bdd62d4 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + «PROJECTNAME».xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 8D01CCC60486CAD60068D4B7 + + primary + + + + + diff --git a/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme new file mode 100755 index 000000000..0df2de4a3 --- /dev/null +++ b/plugins/MacVST/kCathedral2/kCathedral2.xcodeproj/xcuserdata/spiadmin.xcuserdatad/xcschemes/«PROJECTNAME».xcscheme @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/MacVST/kCathedral2/mac/Info.plist b/plugins/MacVST/kCathedral2/mac/Info.plist new file mode 100755 index 000000000..64a46f8dd --- /dev/null +++ b/plugins/MacVST/kCathedral2/mac/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + kCathedral2 + CFBundleIconFile + + CFBundleIdentifier + com.airwindows.kCathedral2 + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + BNDL + CFBundleSignature + Dthr + CFBundleVersion + 1.0 + CSResourcesFileMapped + + + diff --git a/plugins/MacVST/kCathedral2/mac/PkgInfo b/plugins/MacVST/kCathedral2/mac/PkgInfo new file mode 100755 index 000000000..19a9cf67e --- /dev/null +++ b/plugins/MacVST/kCathedral2/mac/PkgInfo @@ -0,0 +1 @@ +BNDL???? \ No newline at end of file diff --git a/plugins/MacVST/kCathedral2/mac/xcode_vst_prefix.h b/plugins/MacVST/kCathedral2/mac/xcode_vst_prefix.h new file mode 100755 index 000000000..eaf4c0b4b --- /dev/null +++ b/plugins/MacVST/kCathedral2/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/kCathedral2/source/kCathedral2.cpp b/plugins/MacVST/kCathedral2/source/kCathedral2.cpp new file mode 100755 index 000000000..cb4f9382d --- /dev/null +++ b/plugins/MacVST/kCathedral2/source/kCathedral2.cpp @@ -0,0 +1,281 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral2(audioMaster);} + +kCathedral2::kCathedral2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + 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 < 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; + + 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; + 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; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 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 +} + +kCathedral2::~kCathedral2() {} +VstInt32 kCathedral2::getVendorVersion () {return 1000;} +void kCathedral2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral2::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 kCathedral2::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 kCathedral2::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 kCathedral2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral2::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 kCathedral2::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 kCathedral2::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 kCathedral2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral2::getEffectName(char* name) { + vst_strncpy(name, "kCathedral2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral2::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral2::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral2", kVstMaxProductStrLen); return true; +} + +bool kCathedral2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/MacVST/kCathedral2/source/kCathedral2.h b/plugins/MacVST/kCathedral2/source/kCathedral2.h new file mode 100755 index 000000000..8052c922f --- /dev/null +++ b/plugins/MacVST/kCathedral2/source/kCathedral2.h @@ -0,0 +1,344 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#define __kCathedral2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcti'; //Change this to what the AU identity is! + +class kCathedral2 : + public AudioEffectX +{ +public: + kCathedral2(audioMasterCallback audioMaster); + ~kCathedral2(); + 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[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + 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 pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/MacVST/kCathedral2/source/kCathedral2Proc.cpp b/plugins/MacVST/kCathedral2/source/kCathedral2Proc.cpp new file mode 100755 index 000000000..02a8014c8 --- /dev/null +++ b/plugins/MacVST/kCathedral2/source/kCathedral2Proc.cpp @@ -0,0 +1,1218 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +void kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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 kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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/CloudCoat/.vs/Console4Channel64/v14/.suo b/plugins/WinVST/CloudCoat/.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/CloudCoat/.vs/VSTProject/v14/.suo b/plugins/WinVST/CloudCoat/.vs/VSTProject/v14/.suo new file mode 100755 index 0000000000000000000000000000000000000000..865cc3c04ffc5d8033f128519fc4780ac9014659 GIT binary patch literal 22528 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 e?{pI{)fnBxUw?%0W9#@`)`N;4BZY&EANxP(irW 1.0f) return 1.0f; + return data; +} + +VstInt32 CloudCoat::getChunk (void** data, bool isPreset) +{ + float *chunkData = (float *)calloc(kNumParameters, sizeof(float)); + chunkData[0] = A; + chunkData[1] = B; + chunkData[2] = C; + /* 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 CloudCoat::setChunk (void* data, VstInt32 byteSize, bool isPreset) +{ + float *chunkData = (float *)data; + A = pinParameter(chunkData[0]); + B = pinParameter(chunkData[1]); + C = pinParameter(chunkData[2]); + /* 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 CloudCoat::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + case kParamB: B = value; break; + case kParamC: C = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float CloudCoat::getParameter(VstInt32 index) { + switch (index) { + case kParamA: return A; break; + case kParamB: return B; break; + case kParamC: return C; 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 CloudCoat::getParameterName(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "Select", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "Sustain", kVstMaxParamStrLen); break; + case kParamC: 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 CloudCoat::getParameterDisplay(VstInt32 index, char *text) { + switch (index) { + case kParamA: int2string ((VstInt32)( A * 16.999 ), text, kVstMaxParamStrLen); break; + case kParamB: float2string (B, text, kVstMaxParamStrLen); break; + case kParamC: float2string (C, text, kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } //this displays the values and handles 'popups' where it's discrete choices +} + +void CloudCoat::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamB: vst_strncpy (text, "", kVstMaxParamStrLen); break; + case kParamC: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 CloudCoat::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool CloudCoat::getEffectName(char* name) { + vst_strncpy(name, "CloudCoat", kVstMaxProductStrLen); return true; +} + +VstPlugCategory CloudCoat::getPlugCategory() {return kPlugCategEffect;} + +bool CloudCoat::getProductString(char* text) { + vst_strncpy (text, "airwindows CloudCoat", kVstMaxProductStrLen); return true; +} + +bool CloudCoat::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/WinVST/CloudCoat/CloudCoat.h b/plugins/WinVST/CloudCoat/CloudCoat.h new file mode 100755 index 000000000..b883dd65f --- /dev/null +++ b/plugins/WinVST/CloudCoat/CloudCoat.h @@ -0,0 +1,214 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#define __CloudCoat_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kParamB = 1, + kParamC = 2, + kNumParameters = 3 +}; // + +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 = 'cloc'; //Change this to what the AU identity is! + +class CloudCoat : + public AudioEffectX +{ +public: + CloudCoat(audioMasterCallback audioMaster); + ~CloudCoat(); + 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 avgAL; + double avgBL; + double avgCL; + double avgDL; + + double avgDR; + double avgHR; + double avgLR; + double avgPR; + + 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 prevcloudcoat; + + float A; + float B; + float C; +}; + +#endif diff --git a/plugins/WinVST/CloudCoat/CloudCoatProc.cpp b/plugins/WinVST/CloudCoat/CloudCoatProc.cpp new file mode 100755 index 000000000..9b37dd43a --- /dev/null +++ b/plugins/WinVST/CloudCoat/CloudCoatProc.cpp @@ -0,0 +1,846 @@ +/* ======================================== + * CloudCoat - CloudCoat.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __CloudCoat_H +#include "CloudCoat.h" +#endif + +void CloudCoat::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 cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + 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 CloudCoat::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 cloudcoat = (int)(A*16.999); + + if (cloudcoat != prevcloudcoat) { + 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 (cloudcoat) + { + 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 + } + prevcloudcoat = cloudcoat; + } + + double gaintrim = 1.0-pow(1.0-B,2); + double sustain = gaintrim*0.086; + gaintrim = 1.1-gaintrim; + double wet = C*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; + + inputSampleL /= gaintrim; + inputSampleR /= gaintrim; + + cycle++; + if (cycle == cycleEnd) { //hit the end point and we do a reverb sample + double outAL = inputSampleL - (aAL[(countAL+1)-((countAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outBL = inputSampleL - (aBL[(countBL+1)-((countBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outCL = inputSampleL - (aCL[(countCL+1)-((countCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outDL = inputSampleL - (aDL[(countDL+1)-((countDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outDR = inputSampleR - (aDR[(countDR+1)-((countDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double outHR = inputSampleR - (aHR[(countHR+1)-((countHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outLR = inputSampleR - (aLR[(countLR+1)-((countLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outPR = inputSampleR - (aPR[(countPR+1)-((countPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + outAL += (feedbackAL * (sustain*fabs(sin(feedbackBL)))); + outBL += (feedbackBL * (sustain*fabs(sin(feedbackCL)))); + outCL += (feedbackCL * (sustain*fabs(sin(feedbackDL)))); + outDL += (feedbackDL * (sustain*fabs(sin(feedbackAL)))); + + outDR += (feedbackDR * (sustain*fabs(sin(feedbackHR)))); + outHR += (feedbackHR * (sustain*fabs(sin(feedbackLR)))); + outLR += (feedbackLR * (sustain*fabs(sin(feedbackPR)))); + outPR += (feedbackPR * (sustain*fabs(sin(feedbackDR)))); + + aAL[countAL] = outAL; outAL *= 0.618033988749894848204586; + aBL[countBL] = outBL; outBL *= 0.618033988749894848204586; + aCL[countCL] = outCL; outCL *= 0.618033988749894848204586; + aDL[countDL] = outDL; outDL *= 0.618033988749894848204586; + aDR[countDR] = outDR; outDR *= 0.618033988749894848204586; + aHR[countHR] = outHR; outHR *= 0.618033988749894848204586; + aLR[countLR] = outLR; outLR *= 0.618033988749894848204586; + aPR[countPR] = outPR; outPR *= 0.618033988749894848204586; + + 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; + + outAL += aAL[countAL-((countAL > shortA)?shortA+1:0)]; + outBL += aBL[countBL-((countBL > shortB)?shortB+1:0)]; + outCL += aCL[countCL-((countCL > shortC)?shortC+1:0)]; + outDL += aDL[countDL-((countDL > shortD)?shortD+1:0)]; + outDR += aDR[countDR-((countDR > shortD)?shortD+1:0)]; + outHR += aHR[countHR-((countHR > shortH)?shortH+1:0)]; + outLR += aLR[countLR-((countLR > shortL)?shortL+1:0)]; + outPR += aPR[countPR-((countPR > shortP)?shortP+1:0)]; + + double outEL = (outAL - (outBL + outCL + outDL)) - (aEL[(countEL+1)-((countEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outFL = (outBL - (outAL + outCL + outDL)) - (aFL[(countFL+1)-((countFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outGL = (outCL - (outAL + outBL + outDL)) - (aGL[(countGL+1)-((countGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outHL = (outDL - (outAL + outBL + outCL)) - (aHL[(countHL+1)-((countHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double outCR = (outDR - (outHR + outLR + outPR)) - (aCR[(countCR+1)-((countCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double outGR = (outHR - (outDR + outLR + outPR)) - (aGR[(countGR+1)-((countGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double outKR = (outLR - (outDR + outHR + outPR)) - (aKR[(countKR+1)-((countKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outOR = (outPR - (outDR + outHR + outLR)) - (aOR[(countOR+1)-((countOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + aEL[countEL] = outEL; outEL *= 0.618033988749894848204586; + aFL[countFL] = outFL; outFL *= 0.618033988749894848204586; + aGL[countGL] = outGL; outGL *= 0.618033988749894848204586; + aHL[countHL] = outHL; outHL *= 0.618033988749894848204586; + aCR[countCR] = outCR; outCR *= 0.618033988749894848204586; + aGR[countGR] = outGR; outGR *= 0.618033988749894848204586; + aKR[countKR] = outKR; outKR *= 0.618033988749894848204586; + aOR[countOR] = outOR; outOR *= 0.618033988749894848204586; + + 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; + + outEL += aEL[countEL-((countEL > shortE)?shortE+1:0)]; + outFL += aFL[countFL-((countFL > shortF)?shortF+1:0)]; + outGL += aGL[countGL-((countGL > shortG)?shortG+1:0)]; + outHL += aHL[countHL-((countHL > shortH)?shortH+1:0)]; + outCR += aCR[countCR-((countCR > shortC)?shortC+1:0)]; + outGR += aGR[countGR-((countGR > shortG)?shortG+1:0)]; + outKR += aKR[countKR-((countKR > shortK)?shortK+1:0)]; + outOR += aOR[countOR-((countOR > shortO)?shortO+1:0)]; + + double outIL = (outEL - (outFL + outGL + outHL)) - (aIL[(countIL+1)-((countIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outJL = (outFL - (outEL + outGL + outHL)) - (aJL[(countJL+1)-((countJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outKL = (outGL - (outEL + outFL + outHL)) - (aKL[(countKL+1)-((countKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double outLL = (outHL - (outEL + outFL + outGL)) - (aLL[(countLL+1)-((countLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double outBR = (outCR - (outGR + outKR + outOR)) - (aBR[(countBR+1)-((countBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double outFR = (outGR - (outCR + outKR + outOR)) - (aFR[(countFR+1)-((countFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double outJR = (outKR - (outCR + outGR + outOR)) - (aJR[(countJR+1)-((countJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double outNR = (outOR - (outCR + outGR + outKR)) - (aNR[(countNR+1)-((countNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + aIL[countIL] = outIL; outIL *= 0.618033988749894848204586; + aJL[countJL] = outJL; outJL *= 0.618033988749894848204586; + aKL[countKL] = outKL; outKL *= 0.618033988749894848204586; + aLL[countLL] = outLL; outLL *= 0.618033988749894848204586; + aBR[countBR] = outBR; outBR *= 0.618033988749894848204586; + aFR[countFR] = outFR; outFR *= 0.618033988749894848204586; + aJR[countJR] = outJR; outJR *= 0.618033988749894848204586; + aNR[countNR] = outNR; outNR *= 0.618033988749894848204586; + + 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; + + outIL += aIL[countIL-((countIL > shortI)?shortI+1:0)]; + outJL += aJL[countJL-((countJL > shortJ)?shortJ+1:0)]; + outKL += aKL[countKL-((countKL > shortK)?shortK+1:0)]; + outLL += aLL[countLL-((countLL > shortL)?shortL+1:0)]; + outBR += aBR[countBR-((countBR > shortB)?shortB+1:0)]; + outFR += aFR[countFR-((countFR > shortF)?shortF+1:0)]; + outJR += aJR[countJR-((countJR > shortJ)?shortJ+1:0)]; + outNR += aNR[countNR-((countNR > shortN)?shortN+1:0)]; + + double outML = (outIL - (outJL + outKL + outLL)) - (aML[(countML+1)-((countML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double outNL = (outJL - (outIL + outKL + outLL)) - (aNL[(countNL+1)-((countNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double outOL = (outKL - (outIL + outJL + outLL)) - (aOL[(countOL+1)-((countOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double outPL = (outLL - (outIL + outJL + outKL)) - (aPL[(countPL+1)-((countPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double outAR = (outBR - (outFR + outJR + outNR)) - (aAR[(countAR+1)-((countAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double outER = (outFR - (outBR + outJR + outNR)) - (aER[(countER+1)-((countER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double outIR = (outJR - (outBR + outFR + outNR)) - (aIR[(countIR+1)-((countIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double outMR = (outNR - (outBR + outFR + outJR)) - (aMR[(countMR+1)-((countMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + aML[countML] = outML; outML *= 0.618033988749894848204586; + aNL[countNL] = outNL; outNL *= 0.618033988749894848204586; + aOL[countOL] = outOL; outOL *= 0.618033988749894848204586; + aPL[countPL] = outPL; outPL *= 0.618033988749894848204586; + aAR[countAR] = outAR; outAR *= 0.618033988749894848204586; + aER[countER] = outER; outER *= 0.618033988749894848204586; + aIR[countIR] = outIR; outIR *= 0.618033988749894848204586; + aMR[countMR] = outMR; outMR *= 0.618033988749894848204586; + + 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; + + outML += aML[countML-((countML > shortM)?shortM+1:0)]; + outNL += aNL[countNL-((countNL > shortN)?shortN+1:0)]; + outOL += aOL[countOL-((countOL > shortO)?shortO+1:0)]; + outPL += aPL[countPL-((countPL > shortP)?shortP+1:0)]; + outAR += aAR[countAR-((countAR > shortA)?shortA+1:0)]; + outER += aER[countER-((countER > shortE)?shortE+1:0)]; + outIR += aIR[countIR-((countIR > shortI)?shortI+1:0)]; + 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 + + outSample = (feedbackAL + avgAL)*0.5; avgAL = feedbackAL; feedbackAL = outSample; + outSample = (feedbackBL + avgBL)*0.5; avgBL = feedbackBL; feedbackBL = outSample; + outSample = (feedbackCL + avgCL)*0.5; avgCL = feedbackCL; feedbackCL = outSample; + outSample = (feedbackDL + avgDL)*0.5; avgDL = feedbackDL; feedbackDL = outSample; + outSample = (feedbackDR + avgDR)*0.5; avgDR = feedbackDR; feedbackDR = outSample; + outSample = (feedbackHR + avgHR)*0.5; avgHR = feedbackHR; feedbackHR = outSample; + outSample = (feedbackLR + avgLR)*0.5; avgLR = feedbackLR; feedbackLR = outSample; + outSample = (feedbackPR + avgPR)*0.5; avgPR = feedbackPR; feedbackPR = outSample; + //average all our reverb feedbacks + + 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 twice only at elevated sample rates + + inputSampleL *= sqrt(gaintrim); + inputSampleR *= sqrt(gaintrim); + + 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/CloudCoat/VSTProject.sln b/plugins/WinVST/CloudCoat/VSTProject.sln new file mode 100755 index 000000000..694b42443 --- /dev/null +++ b/plugins/WinVST/CloudCoat/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/CloudCoat/VSTProject.vcxproj b/plugins/WinVST/CloudCoat/VSTProject.vcxproj new file mode 100755 index 000000000..7fc54dc0f --- /dev/null +++ b/plugins/WinVST/CloudCoat/VSTProject.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C} + VSTProject + 8.1 + CloudCoat64 + + + + 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/CloudCoat/VSTProject.vcxproj.filters b/plugins/WinVST/CloudCoat/VSTProject.vcxproj.filters new file mode 100755 index 000000000..20e5edf89 --- /dev/null +++ b/plugins/WinVST/CloudCoat/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/CloudCoat/VSTProject.vcxproj.user b/plugins/WinVST/CloudCoat/VSTProject.vcxproj.user new file mode 100755 index 000000000..221626789 --- /dev/null +++ b/plugins/WinVST/CloudCoat/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/CloudCoat/vstplug.def b/plugins/WinVST/CloudCoat/vstplug.def new file mode 100755 index 000000000..5bf499aa2 --- /dev/null +++ b/plugins/WinVST/CloudCoat/vstplug.def @@ -0,0 +1,3 @@ +EXPORTS + VSTPluginMain + main=VSTPluginMain \ No newline at end of file diff --git a/plugins/WinVST/kCathedral2/.vs/Console4Channel64/v14/.suo b/plugins/WinVST/kCathedral2/.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/kCathedral2/.vs/VSTProject/v14/.suo b/plugins/WinVST/kCathedral2/.vs/VSTProject/v14/.suo new file mode 100755 index 0000000000000000000000000000000000000000..af151a21ddef68ecb1f87a3ccd6cac06c77fbf0a GIT binary patch literal 23040 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 + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + {16F7AB3C-1AE0-4574-B60C-7B4DED82938C} + VSTProject + 8.1 + kCathedral264 + + + + 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/kCathedral2/VSTProject.vcxproj.filters b/plugins/WinVST/kCathedral2/VSTProject.vcxproj.filters new file mode 100755 index 000000000..8c5480db8 --- /dev/null +++ b/plugins/WinVST/kCathedral2/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/kCathedral2/VSTProject.vcxproj.user b/plugins/WinVST/kCathedral2/VSTProject.vcxproj.user new file mode 100755 index 000000000..221626789 --- /dev/null +++ b/plugins/WinVST/kCathedral2/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/kCathedral2/kCathedral2.cpp b/plugins/WinVST/kCathedral2/kCathedral2.cpp new file mode 100755 index 000000000..cb4f9382d --- /dev/null +++ b/plugins/WinVST/kCathedral2/kCathedral2.cpp @@ -0,0 +1,281 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +AudioEffect* createEffectInstance(audioMasterCallback audioMaster) {return new kCathedral2(audioMaster);} + +kCathedral2::kCathedral2(audioMasterCallback audioMaster) : + AudioEffectX(audioMaster, kNumPrograms, kNumParameters) +{ + A = 1.0; + + gainOutL = gainOutR = 1.0; + + for(int count = 0; count < shortA+2; count++) {eAL[count] = 0.0; eAR[count] = 0.0;} + for(int count = 0; count < shortB+2; count++) {eBL[count] = 0.0; eBR[count] = 0.0;} + for(int count = 0; count < shortC+2; count++) {eCL[count] = 0.0; eCR[count] = 0.0;} + for(int count = 0; count < shortD+2; count++) {eDL[count] = 0.0; eDR[count] = 0.0;} + for(int count = 0; count < shortE+2; count++) {eEL[count] = 0.0; eER[count] = 0.0;} + for(int count = 0; count < shortF+2; count++) {eFL[count] = 0.0; eFR[count] = 0.0;} + for(int count = 0; count < shortG+2; count++) {eGL[count] = 0.0; eGR[count] = 0.0;} + for(int count = 0; count < shortH+2; count++) {eHL[count] = 0.0; eHR[count] = 0.0;} + for(int count = 0; count < shortI+2; count++) {eIL[count] = 0.0; eIR[count] = 0.0;} + for(int count = 0; count < shortJ+2; count++) {eJL[count] = 0.0; eJR[count] = 0.0;} + for(int count = 0; count < shortK+2; count++) {eKL[count] = 0.0; eKR[count] = 0.0;} + for(int count = 0; count < shortL+2; count++) {eLL[count] = 0.0; eLR[count] = 0.0;} + for(int count = 0; count < shortM+2; count++) {eML[count] = 0.0; eMR[count] = 0.0;} + for(int count = 0; count < shortN+2; count++) {eNL[count] = 0.0; eNR[count] = 0.0;} + for(int count = 0; count < shortO+2; count++) {eOL[count] = 0.0; eOR[count] = 0.0;} + for(int count = 0; count < shortP+2; count++) {ePL[count] = 0.0; ePR[count] = 0.0;} + + + shortAL = 1; + shortBL = 1; + shortCL = 1; + shortDL = 1; + shortEL = 1; + shortFL = 1; + shortGL = 1; + shortHL = 1; + shortIL = 1; + shortJL = 1; + shortKL = 1; + shortLL = 1; + shortML = 1; + shortNL = 1; + shortOL = 1; + shortPL = 1; + + shortAR = 1; + shortBR = 1; + shortCR = 1; + shortDR = 1; + shortER = 1; + shortFR = 1; + shortGR = 1; + shortHR = 1; + shortIR = 1; + shortJR = 1; + shortKR = 1; + shortLR = 1; + shortMR = 1; + shortNR = 1; + shortOR = 1; + shortPR = 1; + + + 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 < 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; + + 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; + 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; pearD[x] = 0.0; pearE[x] = 0.0; pearF[x] = 0.0;} + //from PearEQ + + subAL = subAR = subBL = subBR = subCL = subCR = 0.0; + sbAL = sbAR = sbBL = sbBR = sbCL = sbCR = 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 +} + +kCathedral2::~kCathedral2() {} +VstInt32 kCathedral2::getVendorVersion () {return 1000;} +void kCathedral2::setProgramName(char *name) {vst_strncpy (_programName, name, kVstMaxProgNameLen);} +void kCathedral2::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 kCathedral2::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 kCathedral2::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 kCathedral2::setParameter(VstInt32 index, float value) { + switch (index) { + case kParamA: A = value; break; + default: throw; // unknown parameter, shouldn't happen! + } +} + +float kCathedral2::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 kCathedral2::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 kCathedral2::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 kCathedral2::getParameterLabel(VstInt32 index, char *text) { + switch (index) { + case kParamA: vst_strncpy (text, "", kVstMaxParamStrLen); break; + default: break; // unknown parameter, shouldn't happen! + } +} + +VstInt32 kCathedral2::canDo(char *text) +{ return (_canDo.find(text) == _canDo.end()) ? -1: 1; } // 1 = yes, -1 = no, 0 = don't know + +bool kCathedral2::getEffectName(char* name) { + vst_strncpy(name, "kCathedral2", kVstMaxProductStrLen); return true; +} + +VstPlugCategory kCathedral2::getPlugCategory() {return kPlugCategEffect;} + +bool kCathedral2::getProductString(char* text) { + vst_strncpy (text, "airwindows kCathedral2", kVstMaxProductStrLen); return true; +} + +bool kCathedral2::getVendorString(char* text) { + vst_strncpy (text, "airwindows", kVstMaxVendorStrLen); return true; +} diff --git a/plugins/WinVST/kCathedral2/kCathedral2.h b/plugins/WinVST/kCathedral2/kCathedral2.h new file mode 100755 index 000000000..8052c922f --- /dev/null +++ b/plugins/WinVST/kCathedral2/kCathedral2.h @@ -0,0 +1,344 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Created 8/12/11 by SPIAdmin + * Copyright (c) Airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#define __kCathedral2_H + +#ifndef __audioeffect__ +#include "audioeffectx.h" +#endif + +#include +#include +#include + +enum { + kParamA = 0, + kNumParameters = 1 +}; + +const int predelay = 1014; const int vlfpredelay = 11000; + +const int shortA = 78; const int shortB = 760; const int shortC = 982; const int shortD = 528; const int shortE = 445; const int shortF = 1128; const int shortG = 130; const int shortH = 708; const int shortI = 22; const int shortJ = 2144; const int shortK = 354; const int shortL = 1169; const int shortM = 11; const int shortN = 2782; const int shortO = 58; const int shortP = 1515; //5 to 159 ms, 809 seat hall. Scarcity, 1 in 212274 +//Short809 + +const int delayA = 871; const int delayB = 1037; const int delayC = 1205; const int delayD = 297; const int delayE = 467; const int delayF = 884; const int delayG = 173; const int delayH = 1456; const int delayI = 799; const int delayJ = 361; const int delayK = 1432; const int delayL = 338; const int delayM = 186; const int delayN = 1408; const int delayO = 1014; const int delayP = 23; const int delayQ = 807; const int delayR = 501; const int delayS = 1468; const int delayT = 1102; const int delayU = 11; const int delayV = 1119; const int delayW = 1315; const int delayX = 94; const int delayY = 1270; //15 to 155 ms, 874 seat hall +//874b-U rated incompressible if filesize larger than 25,298,231 bytes + +const int kNumPrograms = 0; +const int kNumInputs = 2; +const int kNumOutputs = 2; +const unsigned long kUniqueId = 'kcti'; //Change this to what the AU identity is! + +class kCathedral2 : + public AudioEffectX +{ +public: + kCathedral2(audioMasterCallback audioMaster); + ~kCathedral2(); + 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[shortA+5]; + double eBL[shortB+5]; + double eCL[shortC+5]; + double eDL[shortD+5]; + double eEL[shortE+5]; + double eFL[shortF+5]; + double eGL[shortG+5]; + double eHL[shortH+5]; + double eIL[shortI+5]; + double eJL[shortJ+5]; + double eKL[shortK+5]; + double eLL[shortL+5]; + double eML[shortM+5]; + double eNL[shortN+5]; + double eOL[shortO+5]; + double ePL[shortP+5]; + + double eAR[shortA+5]; + double eBR[shortB+5]; + double eCR[shortC+5]; + double eDR[shortD+5]; + double eER[shortE+5]; + double eFR[shortF+5]; + double eGR[shortG+5]; + double eHR[shortH+5]; + double eIR[shortI+5]; + double eJR[shortJ+5]; + double eKR[shortK+5]; + double eLR[shortL+5]; + double eMR[shortM+5]; + double eNR[shortN+5]; + double eOR[shortO+5]; + double ePR[shortP+5]; + + int shortAL; + int shortBL; + int shortCL; + int shortDL; + int shortEL; + int shortFL; + int shortGL; + int shortHL; + int shortIL; + int shortJL; + int shortKL; + int shortLL; + int shortML; + int shortNL; + int shortOL; + int shortPL; + + int shortAR; + int shortBR; + int shortCR; + int shortDR; + int shortER; + int shortFR; + int shortGR; + int shortHR; + int shortIR; + int shortJR; + int shortKR; + int shortLR; + int shortMR; + int shortNR; + int shortOR; + int shortPR; + + + + + 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 pearD[pear_total]; //probably worth just using a number here + double pearE[pear_total]; //probably worth just using a number here + double pearF[pear_total]; //probably worth just using a number here + + + double subAL; + double subAR; + double subBL; + double subBR; + double subCL; + double subCR; + + double sbAL; + double sbAR; + double sbBL; + double sbBR; + double sbCL; + double sbCR; + + uint32_t fpdL; + uint32_t fpdR; + //default stuff + + + + float A; +}; + +#endif diff --git a/plugins/WinVST/kCathedral2/kCathedral2Proc.cpp b/plugins/WinVST/kCathedral2/kCathedral2Proc.cpp new file mode 100755 index 000000000..02a8014c8 --- /dev/null +++ b/plugins/WinVST/kCathedral2/kCathedral2Proc.cpp @@ -0,0 +1,1218 @@ +/* ======================================== + * kCathedral2 - kCathedral2.h + * Copyright (c) airwindows, Airwindows uses the MIT license + * ======================================== */ + +#ifndef __kCathedral2_H +#include "kCathedral2.h" +#endif + +void kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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 kCathedral2::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; + + int pearStages = 5; + double pear = 0.388; + double pearScaled = (pear*0.388)/(double)cycleEnd; + + 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 + //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.00187; + double outSampleR = inputSampleR * 0.00187; + 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 + + double earlyAL = inputSampleL - (eAL[(shortAL+1)-((shortAL+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyBL = inputSampleL - (eBL[(shortBL+1)-((shortBL+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyCL = inputSampleL - (eCL[(shortCL+1)-((shortCL+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyDL = inputSampleL - (eDL[(shortDL+1)-((shortDL+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyDR = inputSampleR - (eDR[(shortDR+1)-((shortDR+1 > shortD)?shortD+1:0)]*0.618033988749894848204586); + double earlyHR = inputSampleR - (eHR[(shortHR+1)-((shortHR+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyLR = inputSampleR - (eLR[(shortLR+1)-((shortLR+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyPR = inputSampleR - (ePR[(shortPR+1)-((shortPR+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + + eAL[shortAL] = earlyAL; earlyAL *= 0.618033988749894848204586; + eBL[shortBL] = earlyBL; earlyBL *= 0.618033988749894848204586; + eCL[shortCL] = earlyCL; earlyCL *= 0.618033988749894848204586; + eDL[shortDL] = earlyDL; earlyDL *= 0.618033988749894848204586; + eDR[shortDR] = earlyDR; earlyDR *= 0.618033988749894848204586; + eHR[shortHR] = earlyHR; earlyHR *= 0.618033988749894848204586; + eLR[shortLR] = earlyLR; earlyLR *= 0.618033988749894848204586; + ePR[shortPR] = earlyPR; earlyPR *= 0.618033988749894848204586; + + shortAL++; if (shortAL < 0 || shortAL > shortA) shortAL = 0; + shortBL++; if (shortBL < 0 || shortBL > shortB) shortBL = 0; + shortCL++; if (shortCL < 0 || shortCL > shortC) shortCL = 0; + shortDL++; if (shortDL < 0 || shortDL > shortD) shortDL = 0; + shortDR++; if (shortDR < 0 || shortDR > shortD) shortDR = 0; + shortHR++; if (shortHR < 0 || shortHR > shortH) shortHR = 0; + shortLR++; if (shortLR < 0 || shortLR > shortL) shortLR = 0; + shortPR++; if (shortPR < 0 || shortPR > shortP) shortPR = 0; + + earlyAL += eAL[shortAL-((shortAL > shortA)?shortA+1:0)]; + earlyBL += eBL[shortBL-((shortBL > shortB)?shortB+1:0)]; + earlyCL += eCL[shortCL-((shortCL > shortC)?shortC+1:0)]; + earlyDL += eDL[shortDL-((shortDL > shortD)?shortD+1:0)]; + earlyDR += eDR[shortDR-((shortDR > shortD)?shortD+1:0)]; + earlyHR += eHR[shortHR-((shortHR > shortH)?shortH+1:0)]; + earlyLR += eLR[shortLR-((shortLR > shortL)?shortL+1:0)]; + earlyPR += ePR[shortPR-((shortPR > shortP)?shortP+1:0)]; + + double earlyEL = (earlyAL - (earlyBL + earlyCL + earlyDL)) - (eEL[(shortEL+1)-((shortEL+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyFL = (earlyBL - (earlyAL + earlyCL + earlyDL)) - (eFL[(shortFL+1)-((shortFL+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyGL = (earlyCL - (earlyAL + earlyBL + earlyDL)) - (eGL[(shortGL+1)-((shortGL+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyHL = (earlyDL - (earlyAL + earlyBL + earlyCL)) - (eHL[(shortHL+1)-((shortHL+1 > shortH)?shortH+1:0)]*0.618033988749894848204586); + double earlyCR = (earlyDR - (earlyHR + earlyLR + earlyPR)) - (eCR[(shortCR+1)-((shortCR+1 > shortC)?shortC+1:0)]*0.618033988749894848204586); + double earlyGR = (earlyHR - (earlyDR + earlyLR + earlyPR)) - (eGR[(shortGR+1)-((shortGR+1 > shortG)?shortG+1:0)]*0.618033988749894848204586); + double earlyKR = (earlyLR - (earlyDR + earlyHR + earlyPR)) - (eKR[(shortKR+1)-((shortKR+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyOR = (earlyPR - (earlyDR + earlyHR + earlyLR)) - (eOR[(shortOR+1)-((shortOR+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + + eEL[shortEL] = earlyEL; earlyEL *= 0.618033988749894848204586; + eFL[shortFL] = earlyFL; earlyFL *= 0.618033988749894848204586; + eGL[shortGL] = earlyGL; earlyGL *= 0.618033988749894848204586; + eHL[shortHL] = earlyHL; earlyHL *= 0.618033988749894848204586; + eCR[shortCR] = earlyCR; earlyCR *= 0.618033988749894848204586; + eGR[shortGR] = earlyGR; earlyGR *= 0.618033988749894848204586; + eKR[shortKR] = earlyKR; earlyKR *= 0.618033988749894848204586; + eOR[shortOR] = earlyOR; earlyOR *= 0.618033988749894848204586; + + shortEL++; if (shortEL < 0 || shortEL > shortE) shortEL = 0; + shortFL++; if (shortFL < 0 || shortFL > shortF) shortFL = 0; + shortGL++; if (shortGL < 0 || shortGL > shortG) shortGL = 0; + shortHL++; if (shortHL < 0 || shortHL > shortH) shortHL = 0; + shortCR++; if (shortCR < 0 || shortCR > shortC) shortCR = 0; + shortGR++; if (shortGR < 0 || shortGR > shortG) shortGR = 0; + shortKR++; if (shortKR < 0 || shortKR > shortK) shortKR = 0; + shortOR++; if (shortOR < 0 || shortOR > shortO) shortOR = 0; + + earlyEL += eEL[shortEL-((shortEL > shortE)?shortE+1:0)]; + earlyFL += eFL[shortFL-((shortFL > shortF)?shortF+1:0)]; + earlyGL += eGL[shortGL-((shortGL > shortG)?shortG+1:0)]; + earlyHL += eHL[shortHL-((shortHL > shortH)?shortH+1:0)]; + earlyCR += eCR[shortCR-((shortCR > shortC)?shortC+1:0)]; + earlyGR += eGR[shortGR-((shortGR > shortG)?shortG+1:0)]; + earlyKR += eKR[shortKR-((shortKR > shortK)?shortK+1:0)]; + earlyOR += eOR[shortOR-((shortOR > shortO)?shortO+1:0)]; + + double earlyIL = (earlyEL - (earlyFL + earlyGL + earlyHL)) - (eIL[(shortIL+1)-((shortIL+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyJL = (earlyFL - (earlyEL + earlyGL + earlyHL)) - (eJL[(shortJL+1)-((shortJL+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyKL = (earlyGL - (earlyEL + earlyFL + earlyHL)) - (eKL[(shortKL+1)-((shortKL+1 > shortK)?shortK+1:0)]*0.618033988749894848204586); + double earlyLL = (earlyHL - (earlyEL + earlyFL + earlyGL)) - (eLL[(shortLL+1)-((shortLL+1 > shortL)?shortL+1:0)]*0.618033988749894848204586); + double earlyBR = (earlyCR - (earlyGR + earlyKR + earlyOR)) - (eBR[(shortBR+1)-((shortBR+1 > shortB)?shortB+1:0)]*0.618033988749894848204586); + double earlyFR = (earlyGR - (earlyCR + earlyKR + earlyOR)) - (eFR[(shortFR+1)-((shortFR+1 > shortF)?shortF+1:0)]*0.618033988749894848204586); + double earlyJR = (earlyKR - (earlyCR + earlyGR + earlyOR)) - (eJR[(shortJR+1)-((shortJR+1 > shortJ)?shortJ+1:0)]*0.618033988749894848204586); + double earlyNR = (earlyOR - (earlyCR + earlyGR + earlyKR)) - (eNR[(shortNR+1)-((shortNR+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + + eIL[shortIL] = earlyIL; earlyIL *= 0.618033988749894848204586; + eJL[shortJL] = earlyJL; earlyJL *= 0.618033988749894848204586; + eKL[shortKL] = earlyKL; earlyKL *= 0.618033988749894848204586; + eLL[shortLL] = earlyLL; earlyLL *= 0.618033988749894848204586; + eBR[shortBR] = earlyBR; earlyBR *= 0.618033988749894848204586; + eFR[shortFR] = earlyFR; earlyFR *= 0.618033988749894848204586; + eJR[shortJR] = earlyJR; earlyJR *= 0.618033988749894848204586; + eNR[shortNR] = earlyNR; earlyNR *= 0.618033988749894848204586; + + shortIL++; if (shortIL < 0 || shortIL > shortI) shortIL = 0; + shortJL++; if (shortJL < 0 || shortJL > shortJ) shortJL = 0; + shortKL++; if (shortKL < 0 || shortKL > shortK) shortKL = 0; + shortLL++; if (shortLL < 0 || shortLL > shortL) shortLL = 0; + shortBR++; if (shortBR < 0 || shortBR > shortB) shortBR = 0; + shortFR++; if (shortFR < 0 || shortFR > shortF) shortFR = 0; + shortJR++; if (shortJR < 0 || shortJR > shortJ) shortJR = 0; + shortNR++; if (shortNR < 0 || shortNR > shortN) shortNR = 0; + + earlyIL += eIL[shortIL-((shortIL > shortI)?shortI+1:0)]; + earlyJL += eJL[shortJL-((shortJL > shortJ)?shortJ+1:0)]; + earlyKL += eKL[shortKL-((shortKL > shortK)?shortK+1:0)]; + earlyLL += eLL[shortLL-((shortLL > shortL)?shortL+1:0)]; + earlyBR += eBR[shortBR-((shortBR > shortB)?shortB+1:0)]; + earlyFR += eFR[shortFR-((shortFR > shortF)?shortF+1:0)]; + earlyJR += eJR[shortJR-((shortJR > shortJ)?shortJ+1:0)]; + earlyNR += eNR[shortNR-((shortNR > shortN)?shortN+1:0)]; + + double earlyML = (earlyIL - (earlyJL + earlyKL + earlyLL)) - (eML[(shortML+1)-((shortML+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + double earlyNL = (earlyJL - (earlyIL + earlyKL + earlyLL)) - (eNL[(shortNL+1)-((shortNL+1 > shortN)?shortN+1:0)]*0.618033988749894848204586); + double earlyOL = (earlyKL - (earlyIL + earlyJL + earlyLL)) - (eOL[(shortOL+1)-((shortOL+1 > shortO)?shortO+1:0)]*0.618033988749894848204586); + double earlyPL = (earlyLL - (earlyIL + earlyJL + earlyKL)) - (ePL[(shortPL+1)-((shortPL+1 > shortP)?shortP+1:0)]*0.618033988749894848204586); + double earlyAR = (earlyBR - (earlyFR + earlyJR + earlyNR)) - (eAR[(shortAR+1)-((shortAR+1 > shortA)?shortA+1:0)]*0.618033988749894848204586); + double earlyER = (earlyFR - (earlyBR + earlyJR + earlyNR)) - (eER[(shortER+1)-((shortER+1 > shortE)?shortE+1:0)]*0.618033988749894848204586); + double earlyIR = (earlyJR - (earlyBR + earlyFR + earlyNR)) - (eIR[(shortIR+1)-((shortIR+1 > shortI)?shortI+1:0)]*0.618033988749894848204586); + double earlyMR = (earlyNR - (earlyBR + earlyFR + earlyJR)) - (eMR[(shortMR+1)-((shortMR+1 > shortM)?shortM+1:0)]*0.618033988749894848204586); + + eML[shortML] = earlyML; earlyML *= 0.618033988749894848204586; + eNL[shortNL] = earlyNL; earlyNL *= 0.618033988749894848204586; + eOL[shortOL] = earlyOL; earlyOL *= 0.618033988749894848204586; + ePL[shortPL] = earlyPL; earlyPL *= 0.618033988749894848204586; + eAR[shortAR] = earlyAR; earlyAR *= 0.618033988749894848204586; + eER[shortER] = earlyER; earlyER *= 0.618033988749894848204586; + eIR[shortIR] = earlyIR; earlyIR *= 0.618033988749894848204586; + eMR[shortMR] = earlyMR; earlyMR *= 0.618033988749894848204586; + + shortML++; if (shortML < 0 || shortML > shortM) shortML = 0; + shortNL++; if (shortNL < 0 || shortNL > shortN) shortNL = 0; + shortOL++; if (shortOL < 0 || shortOL > shortO) shortOL = 0; + shortPL++; if (shortPL < 0 || shortPL > shortP) shortPL = 0; + shortAR++; if (shortAR < 0 || shortAR > shortA) shortAR = 0; + shortER++; if (shortER < 0 || shortER > shortE) shortER = 0; + shortIR++; if (shortIR < 0 || shortIR > shortI) shortIR = 0; + shortMR++; if (shortMR < 0 || shortMR > shortM) shortMR = 0; + + earlyML += eML[shortML-((shortML > shortM)?shortM+1:0)]; + earlyNL += eNL[shortNL-((shortNL > shortN)?shortN+1:0)]; + earlyOL += eOL[shortOL-((shortOL > shortO)?shortO+1:0)]; + earlyPL += ePL[shortPL-((shortPL > shortP)?shortP+1:0)]; + earlyAR += eAR[shortAR-((shortAR > shortA)?shortA+1:0)]; + earlyER += eER[shortER-((shortER > shortE)?shortE+1:0)]; + earlyIR += eIR[shortIR-((shortIR > shortI)?shortI+1:0)]; + earlyMR += eMR[shortMR-((shortMR > shortM)?shortM+1:0)]; + + double earlyReflectionsL = -(earlyML + earlyNL + earlyOL + earlyPL)/8.0; + double earlyReflectionsR = -(earlyAR + earlyER + earlyIR + earlyMR)/8.0; + //and take the final combined sum of outputs, corrected for Householder gain + + //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 + + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //having re-added our VLF delayed channel we can now re-use outSample + + aAL[countAL] = inputSampleL + (feedbackAL * 0.000285); + aBL[countBL] = inputSampleL + (feedbackBL * 0.000285); + aCL[countCL] = inputSampleL + (feedbackCL * 0.000285); + aDL[countDL] = inputSampleL + (feedbackDL * 0.000285); + aEL[countEL] = inputSampleL + (feedbackEL * 0.000285); + + aER[countER] = inputSampleR + (feedbackER * 0.000285); + aJR[countJR] = inputSampleR + (feedbackJR * 0.000285); + aOR[countOR] = inputSampleR + (feedbackOR * 0.000285); + aTR[countTR] = inputSampleR + (feedbackTR * 0.000285); + aYR[countYR] = inputSampleR + (feedbackYR * 0.000285); + + 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 + + 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)]; + + //-------- 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)]; + + //-------- 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)]; + + //-------- four + + 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)); + + double outUL = ((outPL*3.0) - ((outQL + outRL + outSL + outTL)*2.0)) - (aUL[(countUL+1)-((countUL+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + double outUR = ((outVR*3.0) - ((outBR + outGR + outLR + outQR)*2.0)) - (aUR[(countUR+1)-((countUR+1 > delayU)?delayU+1:0)]*0.618033988749894848204586); + aUL[countUL] = outUL; outUL *= 0.618033988749894848204586; + aUR[countUR] = outUR; outUR *= 0.618033988749894848204586; + countUL++; if (countUL < 0 || countUL > delayU) countUL = 0; + countUR++; if (countUR < 0 || countUR > delayU) countUR = 0; + outUL += aUL[countUL-((countUL > delayU)?delayU+1:0)]; + outUR += aUR[countUR-((countUR > delayU)?delayU+1:0)]; + //the 11-length delay slot becomes a sole allpass + + 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; + + 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)]; + + //-------- five + + feedbackER = ((outUL*3.0) - ((outVL + outWL + outXL + outYL)*2.0)); + feedbackAL = ((outAR*3.0) - ((outFR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < 1; x += 4) { + double slew = ((feedbackAL - pearA[x]) + pearA[x+1])*pear*0.5; + pearA[x] = feedbackAL = (pear * feedbackAL) + ((1.0-pear) * (pearA[x] + pearA[x+1])); + pearA[x+1] = slew; + slew = ((feedbackER - pearA[x+2]) + pearA[x+3])*pear*0.5; + pearA[x+2] = feedbackER = (pear * feedbackER) + ((1.0-pear) * (pearA[x+2] + pearA[x+3])); + pearA[x+3] = slew; + } + + feedbackBL = ((outVL*3.0) - ((outUL + outWL + outXL + outYL)*2.0)); + feedbackJR = ((outFR*3.0) - ((outAR + outKR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackBL - pearB[x]) + pearB[x+1])*pear*0.5; + pearB[x] = feedbackBL = (pear * feedbackBL) + ((1.0-pear) * (pearB[x] + pearB[x+1])); + pearB[x+1] = slew; + slew = ((feedbackJR - pearB[x+2]) + pearB[x+3])*pear*0.5; + pearB[x+2] = feedbackJR = (pear * feedbackJR) + ((1.0-pear) * (pearB[x+2] + pearB[x+3])); + pearB[x+3] = slew; + } + + feedbackCL = ((outWL*3.0) - ((outUL + outVL + outXL + outYL)*2.0)); + feedbackOR = ((outKR*3.0) - ((outAR + outFR + outPR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackCL - pearC[x]) + pearC[x+1])*pear*0.5; + pearC[x] = feedbackCL = (pear * feedbackCL) + ((1.0-pear) * (pearC[x] + pearC[x+1])); + pearC[x+1] = slew; + slew = ((feedbackOR - pearC[x+2]) + pearC[x+3])*pear*0.5; + pearC[x+2] = feedbackOR = (pear * feedbackOR) + ((1.0-pear) * (pearC[x+2] + pearC[x+3])); + pearC[x+3] = slew; + } + + feedbackDL = ((outXL*3.0) - ((outUL + outVL + outWL + outYL)*2.0)); + feedbackTR = ((outPR*3.0) - ((outAR + outFR + outKR + outUR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackDL - pearD[x]) + pearD[x+1])*pear*0.5; + pearD[x] = feedbackDL = (pear * feedbackDL) + ((1.0-pear) * (pearD[x] + pearD[x+1])); + pearD[x+1] = slew; + slew = ((feedbackTR - pearD[x+2]) + pearD[x+3])*pear*0.5; + pearD[x+2] = feedbackTR = (pear * feedbackTR) + ((1.0-pear) * (pearD[x+2] + pearD[x+3])); + pearD[x+3] = slew; + } + + feedbackEL = ((outYL*3.0) - ((outUL + outVL + outWL + outXL)*2.0)); + feedbackYR = ((outUR*3.0) - ((outAR + outFR + outKR + outPR)*2.0)); + for (int x = 0; x < pearStages; x += 4) { + double slew = ((feedbackEL - pearE[x]) + pearE[x+1])*pear*0.5; + pearE[x] = feedbackEL = (pear * feedbackEL) + ((1.0-pear) * (pearE[x] + pearE[x+1])); + pearE[x+1] = slew; + slew = ((feedbackYR - pearE[x+2]) + pearE[x+3])*pear*0.5; + pearE[x+2] = feedbackYR = (pear * feedbackYR) + ((1.0-pear) * (pearE[x+2] + pearE[x+3])); + pearE[x+3] = slew; + } + //which we need to feed back into the input again, a bit + + inputSampleL = (outUL + outVL + outWL + outXL + outYL)*0.0004; + inputSampleR = (outAR + outFR + outKR + outPR + outUR)*0.0004; + //and take the final combined sum of outputs, corrected for Householder gain + + //begin SubBoost section + outSampleL = inputSampleL * 0.00186; + outSampleR = inputSampleR * 0.00186; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbAL+(sin(sbAL-outSampleL)*scale)); + sbAL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbAR+(sin(sbAR-outSampleR)*scale)); + sbAR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbBL+(sin(sbBL-outSampleL)*scale)); + sbBL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbBR+(sin(sbBR-outSampleR)*scale)); + sbBR = outSampleR*scale; + scale = 0.5+fabs(outSampleL*0.5); + outSampleL = (sbCL+(sin(sbCL-outSampleL)*scale)); + sbCL = outSampleL*scale; + scale = 0.5+fabs(outSampleR*0.5); + outSampleR = (sbCR+(sin(sbCR-outSampleR)*scale)); + sbCR = 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 *= 32.0; + outSampleR *= 32.0; + inputSampleL += outSampleL; + inputSampleR += outSampleR; + //end SubBoost section + + inputSampleL += (earlyReflectionsL*0.25); + inputSampleR += (earlyReflectionsR*0.25); + + 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 + } + + for (int x = 0; x < 1; x += 4) { + double slew = ((inputSampleL - pearF[x]) + pearF[x+1])*pearScaled*0.5; + pearF[x] = inputSampleL = (pearScaled * inputSampleL) + ((1.0-pearScaled) * (pearF[x] + pearF[x+1])); + pearF[x+1] = slew; + slew = ((inputSampleR - pearF[x+2]) + pearF[x+3])*pearScaled*0.5; + pearF[x+2] = inputSampleR = (pearScaled * inputSampleR) + ((1.0-pearScaled) * (pearF[x+2] + pearF[x+3])); + pearF[x+3] = slew; + } + + 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/kCathedral2/vstplug.def b/plugins/WinVST/kCathedral2/vstplug.def new file mode 100755 index 000000000..5bf499aa2 --- /dev/null +++ b/plugins/WinVST/kCathedral2/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 db40f31e3..01f724b7b 100644 --- a/what.txt +++ b/what.txt @@ -62,6 +62,7 @@ ClearCoat is an array of bright ambience reverbs. ClipOnly is a clipper plugin that suppresses the brightness of digital clipping without affecting unclipped samples. ClipOnly2 suppresses the brightness of digital clipping without affecting unclipped samples, at any sample rate. ClipSoftly is ClipOnly2 but as a softclipper: a very handy building block. +CloudCoat is an array of blur effects with a taste for evil. Coils models the types of distortion you'll find in transformers. Coils2 is a transformer overdrive emulator. Cojones is a new kind of distorty.