1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-02-04 03:40:07 +00:00

Rebuilt the plugin demo as a Jucer-generated project, and beefed it up a bit to include a simple synthesiser and delay effect.

This commit is contained in:
Julian Storer 2010-03-24 21:44:29 +00:00
parent d5db408033
commit 1458cd4eb3
50 changed files with 1870 additions and 2344 deletions

View file

@ -291,8 +291,7 @@ static const unsigned char temp_c7521dd8[] =
" // spare memory, etc.\r\n"
"}\r\n"
"\r\n"
"void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer,\r\n"
" MidiBuffer& midiMessages)\r\n"
"void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)\r\n"
"{\r\n"
" // This is the place where you'd normally do the guts of your plugin's\r\n"
" // audio processing...\r\n"

View file

@ -17,7 +17,7 @@ namespace BinaryData
const int jucer_AudioPluginEditorTemplate_hSize = 794;
extern const char* jucer_AudioPluginFilterTemplate_cpp;
const int jucer_AudioPluginFilterTemplate_cppSize = 4386;
const int jucer_AudioPluginFilterTemplate_cppSize = 4349;
extern const char* jucer_AudioPluginFilterTemplate_h;
const int jucer_AudioPluginFilterTemplate_hSize = 2353;

View file

@ -124,8 +124,7 @@ void FILTERCLASSNAME::releaseResources()
// spare memory, etc.
}
void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer,
MidiBuffer& midiMessages)
void FILTERCLASSNAME::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)
{
// This is the place where you'd normally do the guts of your plugin's
// audio processing...

View file

@ -6,100 +6,100 @@
objectVersion = 44;
objects = {
E3D3C0C69AC0387C2380D942 = { isa = PBXBuildFile; fileRef = B8AD88171A257C504A58DB26; };
DF33F6CFA000AB149E8A9A37 = { isa = PBXBuildFile; fileRef = DA8B3A910843F3AEF85CE3D5; };
CFA25F9B775780CE870F2F60 = { isa = PBXBuildFile; fileRef = FB2A70EED12F808855F8E670; };
9F069E01C82F87C489C33803 = { isa = PBXBuildFile; fileRef = F4B269229847A7FE29114AB8; };
B70574F213CD358E03AAD163 = { isa = PBXBuildFile; fileRef = E448C0A4664EA85D35DDD6F2; };
C75A5344B8D269C561D87A28 = { isa = PBXBuildFile; fileRef = 1AF743BBC263EE305CAB5F04; };
34663664F089CF18929900D0 = { isa = PBXBuildFile; fileRef = 47630AB7BFC0AA77B9446294; };
F34C981407EDB8E8309DE34E = { isa = PBXBuildFile; fileRef = 2C5691B1520162CE05F1EE2A; };
103313347D99A0E7DB0F428C = { isa = PBXBuildFile; fileRef = 012A869CF0A9540442145877; };
D62450D5D0977B499F3F5F67 = { isa = PBXBuildFile; fileRef = 9892F6A5644670895B5555E4; };
08374BCBBD3AD81C26E87FD2 = { isa = PBXBuildFile; fileRef = 9D7459D745F5E72CA4C03392; };
6601761A743D57690E611EC3 = { isa = PBXBuildFile; fileRef = 61FB609B2FC9F45BEE3898DE; };
48AE70E3BE796E91EA86CFE1 = { isa = PBXBuildFile; fileRef = 3682E0A9DCF9460E68297732; };
DBC4181255D195D0B0AD4FE3 = { isa = PBXBuildFile; fileRef = 32C51E743C3EF1D0945AD81D; };
467EFB3144B5AD2DA9288602 = { isa = PBXBuildFile; fileRef = F8BB3BCFEF373066F562F479; };
988D85D9FEB33B1C6A5DB67E = { isa = PBXBuildFile; fileRef = 555C5B5F520D02742F96284B; };
5EBA4BAEC8F32F36085A9A1C = { isa = PBXBuildFile; fileRef = 28EBDB06654DEC92678A9ED0; };
2F3D7654172A5DD93EDA940A = { isa = PBXBuildFile; fileRef = 2AAFCE06FD725B15137D3E55; };
ACA8CADBD05B4906DF90D0EF = { isa = PBXBuildFile; fileRef = 83690AF49B3F341803D7BC37; };
19B790AE0582F1C8A1F59BAF = { isa = PBXBuildFile; fileRef = 3CD3A7355DD9605BBBD1353F; };
76B6557139B999997359557F = { isa = PBXBuildFile; fileRef = E55C45860F638C8E53EBAD26; };
E4B41A545DE0315B36BE103F = { isa = PBXBuildFile; fileRef = 8DD6D3D8C10DB8C10BE4252E; };
B8AD88171A257C504A58DB26 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
DA8B3A910843F3AEF85CE3D5 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
FB2A70EED12F808855F8E670 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
F4B269229847A7FE29114AB8 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
E448C0A4664EA85D35DDD6F2 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
1AF743BBC263EE305CAB5F04 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
47630AB7BFC0AA77B9446294 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
2C5691B1520162CE05F1EE2A = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
012A869CF0A9540442145877 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
9892F6A5644670895B5555E4 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
9D7459D745F5E72CA4C03392 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
61FB609B2FC9F45BEE3898DE = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
3682E0A9DCF9460E68297732 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; };
09EEC9C8514BB03AD382F86D = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Plugin Host.app"; sourceTree = BUILT_PRODUCTS_DIR; };
2E66857E2B6065C304C36B37 = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; };
32C51E743C3EF1D0945AD81D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FilterGraph.cpp; path = ../../Source/FilterGraph.cpp; sourceTree = SOURCE_ROOT; };
FE69E32C71521D616E28A0DB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterGraph.h; path = ../../Source/FilterGraph.h; sourceTree = SOURCE_ROOT; };
F8BB3BCFEF373066F562F479 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphEditorPanel.cpp; path = ../../Source/GraphEditorPanel.cpp; sourceTree = SOURCE_ROOT; };
87B5167C70719CEB576D9A04 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraphEditorPanel.h; path = ../../Source/GraphEditorPanel.h; sourceTree = SOURCE_ROOT; };
555C5B5F520D02742F96284B = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HostStartup.cpp; path = ../../Source/HostStartup.cpp; sourceTree = SOURCE_ROOT; };
28EBDB06654DEC92678A9ED0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InternalFilters.cpp; path = ../../Source/InternalFilters.cpp; sourceTree = SOURCE_ROOT; };
65420C9D296E36189F21A940 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InternalFilters.h; path = ../../Source/InternalFilters.h; sourceTree = SOURCE_ROOT; };
2AAFCE06FD725B15137D3E55 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainHostWindow.cpp; path = ../../Source/MainHostWindow.cpp; sourceTree = SOURCE_ROOT; };
D3497DD4D584B4E25EA52A38 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainHostWindow.h; path = ../../Source/MainHostWindow.h; sourceTree = SOURCE_ROOT; };
EE499678D2672E4A0DB0EDF4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
7349FE16AEFF2C4973C11A0C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
83690AF49B3F341803D7BC37 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
3CD3A7355DD9605BBBD1353F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
E55C45860F638C8E53EBAD26 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
8DD6D3D8C10DB8C10BE4252E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
3CF51A61C2ADC95009FB95F8 = { isa = PBXGroup; children = (
32C51E743C3EF1D0945AD81D,
FE69E32C71521D616E28A0DB,
F8BB3BCFEF373066F562F479,
87B5167C70719CEB576D9A04,
555C5B5F520D02742F96284B,
28EBDB06654DEC92678A9ED0,
65420C9D296E36189F21A940,
2AAFCE06FD725B15137D3E55,
D3497DD4D584B4E25EA52A38 ); name = Source; sourceTree = "<group>"; };
EF96A88BD613522B3987E2D6 = { isa = PBXGroup; children = (
EE499678D2672E4A0DB0EDF4,
7349FE16AEFF2C4973C11A0C,
83690AF49B3F341803D7BC37,
3CD3A7355DD9605BBBD1353F,
E55C45860F638C8E53EBAD26,
8DD6D3D8C10DB8C10BE4252E ); name = "Juce Library Code"; sourceTree = "<group>"; };
B7B52D75CE628637417DBCB4 = { isa = PBXGroup; children = (
2E66857E2B6065C304C36B37 ); name = Resources; sourceTree = "<group>"; };
23626079F1CE82F0556B3AD9 = { isa = PBXGroup; children = (
B8AD88171A257C504A58DB26,
DA8B3A910843F3AEF85CE3D5,
FB2A70EED12F808855F8E670,
F4B269229847A7FE29114AB8,
E448C0A4664EA85D35DDD6F2,
1AF743BBC263EE305CAB5F04,
47630AB7BFC0AA77B9446294,
2C5691B1520162CE05F1EE2A,
012A869CF0A9540442145877,
9892F6A5644670895B5555E4,
9D7459D745F5E72CA4C03392,
61FB609B2FC9F45BEE3898DE,
3682E0A9DCF9460E68297732 ); name = Frameworks; sourceTree = "<group>"; };
EDFD2EA4A55B83007DBF8087 = { isa = PBXGroup; children = (
09EEC9C8514BB03AD382F86D ); name = Products; sourceTree = "<group>"; };
8ECC648E689D397FD15606F1 = { isa = PBXGroup; children = (
3CF51A61C2ADC95009FB95F8,
EF96A88BD613522B3987E2D6,
B7B52D75CE628637417DBCB4,
23626079F1CE82F0556B3AD9,
EDFD2EA4A55B83007DBF8087 ); name = Source; sourceTree = "<group>"; };
1505005EAA1350E973E3F7A2 = { isa = XCBuildConfiguration; buildSettings = {
A43062AA3FCA13D950980A9D = { isa = PBXBuildFile; fileRef = 3DC11B31DA65802201AFD1A3; };
E0643DFCC2247EF97821AA0B = { isa = PBXBuildFile; fileRef = 7C069A377097C1BEC2EE9D47; };
3B81AE750E57041B090236E3 = { isa = PBXBuildFile; fileRef = 3E72AEABD28E02510E153F83; };
7A05588B558FC974734FDEB6 = { isa = PBXBuildFile; fileRef = ECCDBDC35CC70E5E6B63F407; };
FFB28B6CCC67D05A4656F3FD = { isa = PBXBuildFile; fileRef = 13A8ECBAE1C399EE6C23CEB0; };
0E98BEAFF3B888221A3B6F61 = { isa = PBXBuildFile; fileRef = AD73C514CB4EABF252FA40FD; };
5494E9EAC6A5D90CB085D819 = { isa = PBXBuildFile; fileRef = DD062A05EDA95DD281B5B188; };
C3ECD9BC737066FACF7D661D = { isa = PBXBuildFile; fileRef = 9772BD11E93247079FC6B5BD; };
0344374EE00EBC906608CCB7 = { isa = PBXBuildFile; fileRef = 4C20D27E2491F086AEA71044; };
CB3A6CACC45FC3DD9525E611 = { isa = PBXBuildFile; fileRef = 4FC85A8AE0D46CDFD5E61304; };
57CAAF2DDA340BF5E764325B = { isa = PBXBuildFile; fileRef = F25D830DC35A0A240297BA70; };
F653CD6DB1550002BFB3EE47 = { isa = PBXBuildFile; fileRef = 77964D54171CB8F24F616C9F; };
71D47E0ED5F6A90682A5707C = { isa = PBXBuildFile; fileRef = BFD865C4B317E01BDD319AB0; };
A778E9C39DD11828306AF2E8 = { isa = PBXBuildFile; fileRef = 178E79E571E8D29BCC89FDD8; };
54F2AD58B5CEB3D743C1A169 = { isa = PBXBuildFile; fileRef = 7565EF27C95F512D4DD8649E; };
6DADD6A4866E2583BD197095 = { isa = PBXBuildFile; fileRef = F2999E9EF2E02C240DEAA0C6; };
938109D82261C12EF5CC7E4F = { isa = PBXBuildFile; fileRef = BA4959517392DBED76630DC2; };
2244CCA11963FDB0EC21C056 = { isa = PBXBuildFile; fileRef = 218167B6F2BD95AC7FEC31D5; };
249BFEAFDA801A30A9FE28AC = { isa = PBXBuildFile; fileRef = BC9F16AE41ED85BFA2090081; };
30210E40B65CE048C4D36CA7 = { isa = PBXBuildFile; fileRef = 06C5EFA95DD808E386ED84D1; };
4CB81ED19217B750FEB8A0B2 = { isa = PBXBuildFile; fileRef = 4FECB7A56AC38B066AC01710; };
484E2E726ED27E58288DE4BD = { isa = PBXBuildFile; fileRef = 980380A077AFFE293EB49B50; };
3DC11B31DA65802201AFD1A3 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
7C069A377097C1BEC2EE9D47 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
3E72AEABD28E02510E153F83 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
ECCDBDC35CC70E5E6B63F407 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
13A8ECBAE1C399EE6C23CEB0 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
AD73C514CB4EABF252FA40FD = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
DD062A05EDA95DD281B5B188 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
9772BD11E93247079FC6B5BD = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
4C20D27E2491F086AEA71044 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
4FC85A8AE0D46CDFD5E61304 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
F25D830DC35A0A240297BA70 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
77964D54171CB8F24F616C9F = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
BFD865C4B317E01BDD319AB0 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; };
3B43D9C2C41077380D379A07 = { isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Plugin Host.app"; sourceTree = BUILT_PRODUCTS_DIR; };
1C2637C4F538B137DDC54D95 = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; };
178E79E571E8D29BCC89FDD8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = FilterGraph.cpp; path = ../../Source/FilterGraph.cpp; sourceTree = SOURCE_ROOT; };
57EB1EA963753DC3D960E9CA = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FilterGraph.h; path = ../../Source/FilterGraph.h; sourceTree = SOURCE_ROOT; };
7565EF27C95F512D4DD8649E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GraphEditorPanel.cpp; path = ../../Source/GraphEditorPanel.cpp; sourceTree = SOURCE_ROOT; };
98AADFD8F1FBC3D1AD78BE3D = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraphEditorPanel.h; path = ../../Source/GraphEditorPanel.h; sourceTree = SOURCE_ROOT; };
F2999E9EF2E02C240DEAA0C6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = HostStartup.cpp; path = ../../Source/HostStartup.cpp; sourceTree = SOURCE_ROOT; };
BA4959517392DBED76630DC2 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = InternalFilters.cpp; path = ../../Source/InternalFilters.cpp; sourceTree = SOURCE_ROOT; };
AFF6B72723C927C80459D99A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InternalFilters.h; path = ../../Source/InternalFilters.h; sourceTree = SOURCE_ROOT; };
218167B6F2BD95AC7FEC31D5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainHostWindow.cpp; path = ../../Source/MainHostWindow.cpp; sourceTree = SOURCE_ROOT; };
B6A31D39CA31260F86D45CB4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MainHostWindow.h; path = ../../Source/MainHostWindow.h; sourceTree = SOURCE_ROOT; };
E0C1FD5EE3068D41ED2D4DD5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
A84DC40BF5D1B2A14239B035 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
BC9F16AE41ED85BFA2090081 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
06C5EFA95DD808E386ED84D1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
4FECB7A56AC38B066AC01710 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
980380A077AFFE293EB49B50 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
6DAAFEB816B9B5A45D93450B = { isa = PBXGroup; children = (
178E79E571E8D29BCC89FDD8,
57EB1EA963753DC3D960E9CA,
7565EF27C95F512D4DD8649E,
98AADFD8F1FBC3D1AD78BE3D,
F2999E9EF2E02C240DEAA0C6,
BA4959517392DBED76630DC2,
AFF6B72723C927C80459D99A,
218167B6F2BD95AC7FEC31D5,
B6A31D39CA31260F86D45CB4 ); name = Source; sourceTree = "<group>"; };
5EB8B2B0AB17B68CF7A2B2F5 = { isa = PBXGroup; children = (
E0C1FD5EE3068D41ED2D4DD5,
A84DC40BF5D1B2A14239B035,
BC9F16AE41ED85BFA2090081,
06C5EFA95DD808E386ED84D1,
4FECB7A56AC38B066AC01710,
980380A077AFFE293EB49B50 ); name = "Juce Library Code"; sourceTree = "<group>"; };
132622950074EBC9C8B6B717 = { isa = PBXGroup; children = (
1C2637C4F538B137DDC54D95 ); name = Resources; sourceTree = "<group>"; };
26D5E869E6FD8DB238036278 = { isa = PBXGroup; children = (
3DC11B31DA65802201AFD1A3,
7C069A377097C1BEC2EE9D47,
3E72AEABD28E02510E153F83,
ECCDBDC35CC70E5E6B63F407,
13A8ECBAE1C399EE6C23CEB0,
AD73C514CB4EABF252FA40FD,
DD062A05EDA95DD281B5B188,
9772BD11E93247079FC6B5BD,
4C20D27E2491F086AEA71044,
4FC85A8AE0D46CDFD5E61304,
F25D830DC35A0A240297BA70,
77964D54171CB8F24F616C9F,
BFD865C4B317E01BDD319AB0 ); name = Frameworks; sourceTree = "<group>"; };
31DAB5E5452DF8F91208B6C4 = { isa = PBXGroup; children = (
3B43D9C2C41077380D379A07 ); name = Products; sourceTree = "<group>"; };
E1B7497DFD48F160861E53A2 = { isa = PBXGroup; children = (
6DAAFEB816B9B5A45D93450B,
5EB8B2B0AB17B68CF7A2B2F5,
132622950074EBC9C8B6B717,
26D5E869E6FD8DB238036278,
31DAB5E5452DF8F91208B6C4 ); name = Source; sourceTree = "<group>"; };
06F48CFFC99F68872CFA3466 = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 $(inherited)";
@ -114,7 +114,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"_DEBUG=1",
"DEBUG=1 "); }; name = Debug; };
30EF2A13D1D56E66F2380A14 = { isa = XCBuildConfiguration; buildSettings = {
90901561E3F7FD713257B23D = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 $(inherited)";
@ -127,7 +127,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"_NDEBUG=1",
"NDEBUG=1 "); }; name = Release; };
69445D9F701F09DD213CC61E = { isa = XCBuildConfiguration; buildSettings = {
8133D32BA8816D704BF648FA = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@ -141,7 +141,7 @@
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
PRODUCT_NAME = "Plugin Host"; }; name = Debug; };
6E2D61ECBBD9A6EFC358D2E7 = { isa = XCBuildConfiguration; buildSettings = {
74C9869781487FF560C4590D = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@ -155,42 +155,42 @@
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
PRODUCT_NAME = "Plugin Host"; }; name = Release; };
6BCC1B81ADA2726A27F50BA6 = { isa = XCConfigurationList; buildConfigurations = (
69445D9F701F09DD213CC61E,
6E2D61ECBBD9A6EFC358D2E7 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
DC757F8D93D8A3A8FB390621 = { isa = XCConfigurationList; buildConfigurations = (
1505005EAA1350E973E3F7A2,
30EF2A13D1D56E66F2380A14 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
91E4CF2693FFC033FF3EC5EC = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; };
65B7ED5A40F6DE7DEFDE28C3 = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
DBC4181255D195D0B0AD4FE3,
467EFB3144B5AD2DA9288602,
988D85D9FEB33B1C6A5DB67E,
5EBA4BAEC8F32F36085A9A1C,
2F3D7654172A5DD93EDA940A,
ACA8CADBD05B4906DF90D0EF,
19B790AE0582F1C8A1F59BAF,
76B6557139B999997359557F,
E4B41A545DE0315B36BE103F ); runOnlyForDeploymentPostprocessing = 0; };
2F4B77CAE78D90BC5E2A691B = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
E3D3C0C69AC0387C2380D942,
DF33F6CFA000AB149E8A9A37,
CFA25F9B775780CE870F2F60,
9F069E01C82F87C489C33803,
B70574F213CD358E03AAD163,
C75A5344B8D269C561D87A28,
34663664F089CF18929900D0,
F34C981407EDB8E8309DE34E,
103313347D99A0E7DB0F428C,
D62450D5D0977B499F3F5F67,
08374BCBBD3AD81C26E87FD2,
6601761A743D57690E611EC3,
48AE70E3BE796E91EA86CFE1 ); runOnlyForDeploymentPostprocessing = 0; };
F706E056321E20869FFDED3C = { isa = PBXNativeTarget; buildConfigurationList = DC757F8D93D8A3A8FB390621; buildPhases = (
91E4CF2693FFC033FF3EC5EC,
65B7ED5A40F6DE7DEFDE28C3,
2F4B77CAE78D90BC5E2A691B ); buildRules = ( ); dependencies = ( ); name = "Plugin Host"; productName = "Plugin Host"; productReference = 09EEC9C8514BB03AD382F86D; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; };
7E10E22528F58430096E6EE8 = { isa = PBXProject; buildConfigurationList = 6BCC1B81ADA2726A27F50BA6; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = 8ECC648E689D397FD15606F1; projectDirPath = ""; projectRoot = ""; targets = ( F706E056321E20869FFDED3C ); };
3DBB3F42145D936BBD5425D7 = { isa = XCConfigurationList; buildConfigurations = (
8133D32BA8816D704BF648FA,
74C9869781487FF560C4590D ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
D4FE5C8CF4B04CB35C5449CB = { isa = XCConfigurationList; buildConfigurations = (
06F48CFFC99F68872CFA3466,
90901561E3F7FD713257B23D ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
B02D5D856D086055BAA5AE80 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; };
8CC459E43DF37AB224B7E23C = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
A778E9C39DD11828306AF2E8,
54F2AD58B5CEB3D743C1A169,
6DADD6A4866E2583BD197095,
938109D82261C12EF5CC7E4F,
2244CCA11963FDB0EC21C056,
249BFEAFDA801A30A9FE28AC,
30210E40B65CE048C4D36CA7,
4CB81ED19217B750FEB8A0B2,
484E2E726ED27E58288DE4BD ); runOnlyForDeploymentPostprocessing = 0; };
30E98A3D15EFB4DAAD89D12D = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
A43062AA3FCA13D950980A9D,
E0643DFCC2247EF97821AA0B,
3B81AE750E57041B090236E3,
7A05588B558FC974734FDEB6,
FFB28B6CCC67D05A4656F3FD,
0E98BEAFF3B888221A3B6F61,
5494E9EAC6A5D90CB085D819,
C3ECD9BC737066FACF7D661D,
0344374EE00EBC906608CCB7,
CB3A6CACC45FC3DD9525E611,
57CAAF2DDA340BF5E764325B,
F653CD6DB1550002BFB3EE47,
71D47E0ED5F6A90682A5707C ); runOnlyForDeploymentPostprocessing = 0; };
04F5D340BA63D9F8DE145DFB = { isa = PBXNativeTarget; buildConfigurationList = D4FE5C8CF4B04CB35C5449CB; buildPhases = (
B02D5D856D086055BAA5AE80,
8CC459E43DF37AB224B7E23C,
30E98A3D15EFB4DAAD89D12D ); buildRules = ( ); dependencies = ( ); name = "Plugin Host"; productName = "Plugin Host"; productReference = 3B43D9C2C41077380D379A07; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; };
FFAE6699AB89F7E949098342 = { isa = PBXProject; buildConfigurationList = 3DBB3F42145D936BBD5425D7; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = E1B7497DFD48F160861E53A2; projectDirPath = ""; projectRoot = ""; targets = ( 04F5D340BA63D9F8DE145DFB ); };
};
rootObject = 7E10E22528F58430096E6EE8;
rootObject = FFAE6699AB89F7E949098342;
}

View file

@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 8.00
# Visual C++ Express 2005
Project("{2C5B2BD0-DCDD-8F96-4518-F341656FE506}") = "Plugin Host", "Plugin Host.vcproj", "{4B76605A-510D-D729-CAC3-8E6F2C89BE71}"
Project("{F57C92E4-2379-4C6D-78F7-AFF26BF4F962}") = "Plugin Host", "Plugin Host.vcproj", "{7CD310E8-9077-342C-EB06-869D4775A4F4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -9,10 +9,10 @@ Global
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4B76605A-510D-D729-CAC3-8E6F2C89BE71}.Debug|Win32.ActiveCfg = Debug|Win32
{4B76605A-510D-D729-CAC3-8E6F2C89BE71}.Debug|Win32.Build.0 = Debug|Win32
{4B76605A-510D-D729-CAC3-8E6F2C89BE71}.Release|Win32.ActiveCfg = Release|Win32
{4B76605A-510D-D729-CAC3-8E6F2C89BE71}.Release|Win32.Build.0 = Release|Win32
{7CD310E8-9077-342C-EB06-869D4775A4F4}.Debug|Win32.ActiveCfg = Debug|Win32
{7CD310E8-9077-342C-EB06-869D4775A4F4}.Debug|Win32.Build.0 = Debug|Win32
{7CD310E8-9077-342C-EB06-869D4775A4F4}.Release|Win32.ActiveCfg = Release|Win32
{7CD310E8-9077-342C-EB06-869D4775A4F4}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -3,7 +3,7 @@
<VisualStudioProject ProjectType="Visual C++"
Version="8.00"
Name="Plugin Host"
ProjectGUID="{4B76605A-510D-D729-CAC3-8E6F2C89BE71}"
ProjectGUID="{7CD310E8-9077-342C-EB06-869D4775A4F4}"
TargetFrameworkVersion="131072">
<Platforms>
<Platform Name="Win32"/>

View file

@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{2C5B2BD0-DCDD-8F96-4518-F341656FE506}") = "Plugin Host", "Plugin Host.vcproj", "{4B76605A-510D-D729-CAC3-8E6F2C89BE71}"
Project("{F57C92E4-2379-4C6D-78F7-AFF26BF4F962}") = "Plugin Host", "Plugin Host.vcproj", "{7CD310E8-9077-342C-EB06-869D4775A4F4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -9,10 +9,10 @@ Global
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4B76605A-510D-D729-CAC3-8E6F2C89BE71}.Debug|Win32.ActiveCfg = Debug|Win32
{4B76605A-510D-D729-CAC3-8E6F2C89BE71}.Debug|Win32.Build.0 = Debug|Win32
{4B76605A-510D-D729-CAC3-8E6F2C89BE71}.Release|Win32.ActiveCfg = Release|Win32
{4B76605A-510D-D729-CAC3-8E6F2C89BE71}.Release|Win32.Build.0 = Release|Win32
{7CD310E8-9077-342C-EB06-869D4775A4F4}.Debug|Win32.ActiveCfg = Debug|Win32
{7CD310E8-9077-342C-EB06-869D4775A4F4}.Debug|Win32.Build.0 = Debug|Win32
{7CD310E8-9077-342C-EB06-869D4775A4F4}.Release|Win32.ActiveCfg = Release|Win32
{7CD310E8-9077-342C-EB06-869D4775A4F4}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -3,7 +3,7 @@
<VisualStudioProject ProjectType="Visual C++"
Version="9.00"
Name="Plugin Host"
ProjectGUID="{4B76605A-510D-D729-CAC3-8E6F2C89BE71}"
ProjectGUID="{7CD310E8-9077-342C-EB06-869D4775A4F4}"
TargetFrameworkVersion="131072">
<Platforms>
<Platform Name="Win32"/>

View file

@ -27,6 +27,7 @@
//#define JUCE_ENABLE_REPAINT_DEBUGGING
//#define JUCE_USE_XINERAMA
//#define JUCE_USE_XSHM
//#define JUCE_USE_XRENDER
#define JUCE_PLUGINHOST_VST 1
#define JUCE_PLUGINHOST_AU 1
//#define JUCE_ONLY_BUILD_CORE_LIBRARY

View file

@ -56,5 +56,6 @@
JUCE_USE_XINERAMA="default" JUCE_USE_XSHM="default" JUCE_PLUGINHOST_VST="enabled"
JUCE_PLUGINHOST_AU="enabled" JUCE_ONLY_BUILD_CORE_LIBRARY="default"
JUCE_WEB_BROWSER="default" JUCE_SUPPORT_CARBON="default" JUCE_CHECK_MEMORY_LEAKS="default"
JUCE_CATCH_UNHANDLED_EXCEPTIONS="default" JUCE_STRINGS_ARE_UNICODE="default"/>
JUCE_CATCH_UNHANDLED_EXCEPTIONS="default" JUCE_STRINGS_ARE_UNICODE="default"
JUCE_USE_XRENDER="default"/>
</JUCERPROJECT>

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist>
<dict>
<key>CFBundleExecutable</key>
<string>&#36;{EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.rawmaterialsoftware.JuceDemoPlugin</string>
<key>CFBundleName</key>
<string>JuceDemoPlugin</string>
<key>CFBundlePackageType</key>
<string>TDMw</string>
<key>CFBundleSignature</key>
<string>PTul</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
</dict>
</plist>

View file

@ -0,0 +1,368 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 44;
objects = {
0860A8808F16C84CE7641D04 = { isa = PBXBuildFile; fileRef = 91F0411829B13595887CE52A; };
449473E31270237B0FFEBE72 = { isa = PBXBuildFile; fileRef = D036C01DC0E376205ABAA0CE; };
AFB1D55C5DA4C99D90DF3A6A = { isa = PBXBuildFile; fileRef = A2A2E49121DBB7C395E2420A; };
EF358E6194DB7EE60A1CE13D = { isa = PBXBuildFile; fileRef = 41FDE3A9AC13B3D1F230088E; };
53E2C1531CB485CCDD230774 = { isa = PBXBuildFile; fileRef = 88C8229131104E50F4F0D137; };
73B8F48633153DA5A10873E8 = { isa = PBXBuildFile; fileRef = 01A30B0A0B9B5064D9B75474; };
B9C31FD116F29E7E4752EB90 = { isa = PBXBuildFile; fileRef = 423550EB3CF502541882C50E; };
370C0F92C3CC1B6C563A7A94 = { isa = PBXBuildFile; fileRef = FBA2E307398FFC8A2693C933; };
68746D242F6A6102FDD5D03D = { isa = PBXBuildFile; fileRef = B050085463EEB5F8367314CB; };
205AA28314AC784F2CF1FA98 = { isa = PBXBuildFile; fileRef = B4F88060202011416CB3278B; };
CBE9E6042991B0677E3136D2 = { isa = PBXBuildFile; fileRef = 678CC9E413A7CF979964CEF7; };
5B83F34400A1B5844680E1CE = { isa = PBXBuildFile; fileRef = DBC6733A66786D64D63E7016; };
E504A4E425435E78197183F3 = { isa = PBXBuildFile; fileRef = 2307ABAB0264959E640E9E37; };
AC674433358C3691C8AC20AF = { isa = PBXBuildFile; fileRef = E226D5DEE103B1E298BD6E3E; };
5AF66C048A4815F5A8ECDDCD = { isa = PBXBuildFile; fileRef = B50846B34831C2C28007BE7D; };
209FB8C7F7BE85A70E5D98D7 = { isa = PBXBuildFile; fileRef = 2C001306D198F8B21ABA7375; };
99CB24952ADDDFA320CB3B23 = { isa = PBXBuildFile; fileRef = 21CE5C9490494A2139D61408; };
9551342606A895BB5BA07F2E = { isa = PBXBuildFile; fileRef = 6AE52580AD24BD551DB99758; };
A1E844C7D2636CC38585B429 = { isa = PBXBuildFile; fileRef = B31CFE8BBA103078E19D1B97; };
BD7E5458BE2F33DBBF5AF834 = { isa = PBXBuildFile; fileRef = FD33B687C6FBA3ABC581AFD7; };
21695D03D6CEDD0D4B6A223F = { isa = PBXBuildFile; fileRef = D72A5A33070FDACF8245023C; };
8647A1C2DFD0682E5957A448 = { isa = PBXBuildFile; fileRef = BF6A49F4F7A9B9E8054806A8; };
862E7F1BC717EC544AA4ABB8 = { isa = PBXBuildFile; fileRef = 78F506C4822524209976CB35; };
AC35B322C5633C758F7B07F2 = { isa = PBXBuildFile; fileRef = 2BF67235DA25FD0A85909ADC; };
B7D2D2868983939B35532885 = { isa = PBXBuildFile; fileRef = 6C254919C15224D13FE6D174; settings = {COMPILER_FLAGS = "-w"; }; };
3723101DD64447FE9A530323 = { isa = PBXBuildFile; fileRef = 38E2002644D5BBC2E88ACB70; settings = {COMPILER_FLAGS = "-w"; }; };
EBBDC594F4DF0EF42E017C64 = { isa = PBXBuildFile; fileRef = 616DF8861CA45D7FFE92CA35; settings = {COMPILER_FLAGS = "-w"; }; };
421AB531BFA2C9EB93522748 = { isa = PBXBuildFile; fileRef = 35B676123569917443C05786; settings = {COMPILER_FLAGS = "-w"; }; };
E5299A6C25F9C4AE26DABAC0 = { isa = PBXBuildFile; fileRef = 3008852179AEC3110ABEFC5F; settings = {COMPILER_FLAGS = "-w"; }; };
A7805EAF6FC58E9A857D98EA = { isa = PBXBuildFile; fileRef = 6C9B2F471F11EC467FDB06D0; settings = {COMPILER_FLAGS = "-w"; }; };
B24CA5BEF488268AB502C0AC = { isa = PBXBuildFile; fileRef = 17ABF2F862D57C89FE85C307; settings = {COMPILER_FLAGS = "-w"; }; };
81795588AD3A427D43E3165C = { isa = PBXBuildFile; fileRef = E9F52DE288413A752B295F84; settings = {COMPILER_FLAGS = "-w"; }; };
07EDB68D178C5C7635F58468 = { isa = PBXBuildFile; fileRef = A272B6DB3C84B9D91BF0F060; settings = {COMPILER_FLAGS = "-w"; }; };
AEF69B599D0CEC30C1BC8C0C = { isa = PBXBuildFile; fileRef = BA712F15F8C80BF55297EA44; settings = {COMPILER_FLAGS = "-w"; }; };
8B45F20F3F352BB3B35F6EB7 = { isa = PBXBuildFile; fileRef = 6381E6023EA29B5BC90F0F11; settings = {COMPILER_FLAGS = "-w"; }; };
3FA5946913264BF87C308F89 = { isa = PBXBuildFile; fileRef = F17E1C506A2CB31650AC64A1; settings = {COMPILER_FLAGS = "-w"; }; };
BAF7CD5DAFBAB29BEF0DCAE3 = { isa = PBXBuildFile; fileRef = 4BA3B7415620D5A6A3DD6076; settings = {COMPILER_FLAGS = "-w"; }; };
F51222976BFE5611E7FC656F = { isa = PBXBuildFile; fileRef = A9C716DF2B9CC6D95877A448; settings = {COMPILER_FLAGS = "-w"; }; };
84D075FA78547C8D3AC4EA1A = { isa = PBXBuildFile; fileRef = 51DAC3E29FE8A76EF638C26E; settings = {COMPILER_FLAGS = "-w"; }; };
CE625DD4D4B118F4718F2DCC = { isa = PBXBuildFile; fileRef = 71A86FA30C6E11992FD52782; settings = {COMPILER_FLAGS = "-w"; }; };
60FEDB4F5859871946389F21 = { isa = PBXBuildFile; fileRef = F7A8C106BF631AFADA24F8EE; settings = {COMPILER_FLAGS = "-w"; }; };
F9290B46763F4865ED3C362D = { isa = PBXBuildFile; fileRef = 8C28A1A8AF5FFC61D88246A9; settings = {COMPILER_FLAGS = "-w"; }; };
A2718BCD8261456359155ABE = { isa = PBXBuildFile; fileRef = 634B4CFC4268E257C63FA337; settings = {COMPILER_FLAGS = "-w"; }; };
4BB4B93E0E58FC0D5FE82292 = { isa = PBXBuildFile; fileRef = 6EC9B05A43174FFF25BA3382; settings = {COMPILER_FLAGS = "-w"; }; };
EE224227E577BA498E98DC9A = { isa = PBXBuildFile; fileRef = 257FA3A7290842556A7377A4; settings = {COMPILER_FLAGS = "-w"; }; };
F0BEF1392277DBDC409A06A3 = { isa = PBXBuildFile; fileRef = 55D565AF7527BA71D7ADC2D4; settings = {COMPILER_FLAGS = "-w"; }; };
91F0411829B13595887CE52A = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
D036C01DC0E376205ABAA0CE = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
A2A2E49121DBB7C395E2420A = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
41FDE3A9AC13B3D1F230088E = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; };
88C8229131104E50F4F0D137 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
01A30B0A0B9B5064D9B75474 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
423550EB3CF502541882C50E = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; };
FBA2E307398FFC8A2693C933 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
B050085463EEB5F8367314CB = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
B4F88060202011416CB3278B = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
678CC9E413A7CF979964CEF7 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; };
DBC6733A66786D64D63E7016 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; };
2307ABAB0264959E640E9E37 = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; };
E226D5DEE103B1E298BD6E3E = { isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
AF721FB8136D2CAA9404AD8D = { isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.component; sourceTree = BUILT_PRODUCTS_DIR; };
81567EBA449466A95492511B = { isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = SOURCE_ROOT; };
B50846B34831C2C28007BE7D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginProcessor.cpp; path = ../../Source/PluginProcessor.cpp; sourceTree = SOURCE_ROOT; };
CF304FBE4BC66783833C4B59 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginProcessor.h; path = ../../Source/PluginProcessor.h; sourceTree = SOURCE_ROOT; };
2C001306D198F8B21ABA7375 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginEditor.cpp; path = ../../Source/PluginEditor.cpp; sourceTree = SOURCE_ROOT; };
662507104D05B579BB68F391 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginEditor.h; path = ../../Source/PluginEditor.h; sourceTree = SOURCE_ROOT; };
55F13334336342B374FA505C = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; };
1C7D0AE1352D6713D906C4AB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; };
21CE5C9490494A2139D61408 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode1.mm; path = ../../JuceLibraryCode/JuceLibraryCode1.mm; sourceTree = SOURCE_ROOT; };
6AE52580AD24BD551DB99758 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode2.mm; path = ../../JuceLibraryCode/JuceLibraryCode2.mm; sourceTree = SOURCE_ROOT; };
B31CFE8BBA103078E19D1B97 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode3.mm; path = ../../JuceLibraryCode/JuceLibraryCode3.mm; sourceTree = SOURCE_ROOT; };
FD33B687C6FBA3ABC581AFD7 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = JuceLibraryCode4.mm; path = ../../JuceLibraryCode/JuceLibraryCode4.mm; sourceTree = SOURCE_ROOT; };
DF8AD10F6B21858C3378B63F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JucePluginCharacteristics.h; path = ../../JuceLibraryCode/JucePluginCharacteristics.h; sourceTree = SOURCE_ROOT; };
D72A5A33070FDACF8245023C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_VST_Wrapper.cpp; path = "../../../../../../juce/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.cpp"; sourceTree = SOURCE_ROOT; };
BF6A49F4F7A9B9E8054806A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_VST_Wrapper.mm; path = "../../../../../../juce/extras/audio plugins/wrapper/VST/juce_VST_Wrapper.mm"; sourceTree = SOURCE_ROOT; };
78F506C4822524209976CB35 = { isa = PBXFileReference; lastKnownFileType = file.r; name = juce_AU_Resources.r; path = "../../../../../../juce/extras/audio plugins/wrapper/AU/juce_AU_Resources.r"; sourceTree = SOURCE_ROOT; };
2BF67235DA25FD0A85909ADC = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_AU_Wrapper.mm; path = "../../../../../../juce/extras/audio plugins/wrapper/AU/juce_AU_Wrapper.mm"; sourceTree = SOURCE_ROOT; };
70DC3C63DDDFB1C5A22A8C36 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = Extras/CoreAudio/PublicUtility/CADebugMacros.h; sourceTree = DEVELOPER_DIR; };
6C254919C15224D13FE6D174 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAUParameter.cpp; path = Extras/CoreAudio/PublicUtility/CAAUParameter.cpp; sourceTree = DEVELOPER_DIR; };
AEDBCF2FF9E1FBD5B9958FB4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAUParameter.h; path = Extras/CoreAudio/PublicUtility/CAAUParameter.h; sourceTree = DEVELOPER_DIR; };
38E2002644D5BBC2E88ACB70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAAudioChannelLayout.cpp; path = Extras/CoreAudio/PublicUtility/CAAudioChannelLayout.cpp; sourceTree = DEVELOPER_DIR; };
248B812009870EC9531D3269 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = Extras/CoreAudio/PublicUtility/CAAudioChannelLayout.h; sourceTree = DEVELOPER_DIR; };
616DF8861CA45D7FFE92CA35 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAMutex.cpp; path = Extras/CoreAudio/PublicUtility/CAMutex.cpp; sourceTree = DEVELOPER_DIR; };
52F3077A4F38B60682CD77B0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = Extras/CoreAudio/PublicUtility/CAMutex.h; sourceTree = DEVELOPER_DIR; };
35B676123569917443C05786 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAStreamBasicDescription.cpp; path = Extras/CoreAudio/PublicUtility/CAStreamBasicDescription.cpp; sourceTree = DEVELOPER_DIR; };
653554C5848EC85ACF6761CB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAStreamBasicDescription.h; path = Extras/CoreAudio/PublicUtility/CAStreamBasicDescription.h; sourceTree = DEVELOPER_DIR; };
206D40BEDB308864DE8DAA57 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnitTypes.h; path = Extras/CoreAudio/PublicUtility/CAVectorUnitTypes.h; sourceTree = DEVELOPER_DIR; };
3008852179AEC3110ABEFC5F = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = Extras/CoreAudio/PublicUtility/CAVectorUnit.cpp; sourceTree = DEVELOPER_DIR; };
B6B85F3F336EDA568CB53327 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAVectorUnit.h; path = Extras/CoreAudio/PublicUtility/CAVectorUnit.h; sourceTree = DEVELOPER_DIR; };
D2FF01F8AC92CBFB1A4AEC2B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUViewBase/AUViewLocalizedStringKeys.h; sourceTree = DEVELOPER_DIR; };
6C9B2F471F11EC467FDB06D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewDispatch.cpp; sourceTree = DEVELOPER_DIR; };
17ABF2F862D57C89FE85C307 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewControl.cpp; sourceTree = DEVELOPER_DIR; };
C5139AB9C4FB8AAD09B8CD9A = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewControl.h; sourceTree = DEVELOPER_DIR; };
E9F52DE288413A752B295F84 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/CarbonEventHandler.cpp; sourceTree = DEVELOPER_DIR; };
943EC8C2885DA0982C1E995E = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/CarbonEventHandler.h; sourceTree = DEVELOPER_DIR; };
A272B6DB3C84B9D91BF0F060 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.cpp; sourceTree = DEVELOPER_DIR; };
E0586393177D674A237103E5 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.h; sourceTree = DEVELOPER_DIR; };
BA712F15F8C80BF55297EA44 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp; sourceTree = DEVELOPER_DIR; };
BC5E2A691B0A52816EA5C7DB = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.h; sourceTree = DEVELOPER_DIR; };
6381E6023EA29B5BC90F0F11 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDispatch.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUDispatch.cpp; sourceTree = DEVELOPER_DIR; };
79725AF8A4315CF7AEB0A650 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDispatch.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUDispatch.h; sourceTree = DEVELOPER_DIR; };
F17E1C506A2CB31650AC64A1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUInputElement.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUInputElement.cpp; sourceTree = DEVELOPER_DIR; };
A7453366F39F172187B8469B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputElement.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUInputElement.h; sourceTree = DEVELOPER_DIR; };
4BA3B7415620D5A6A3DD6076 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputElement.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUOutputElement.cpp; sourceTree = DEVELOPER_DIR; };
58CAFB52D888AF57B1A82540 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputElement.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUOutputElement.h; sourceTree = DEVELOPER_DIR; };
3392EEAEB79019283AD94C41 = { isa = PBXFileReference; lastKnownFileType = file.r; name = AUResources.r; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUResources.r; sourceTree = DEVELOPER_DIR; };
A9C716DF2B9CC6D95877A448 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUScopeElement.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUScopeElement.cpp; sourceTree = DEVELOPER_DIR; };
05B55564FFFBBBC713829291 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUScopeElement.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/AUScopeElement.h; sourceTree = DEVELOPER_DIR; };
51DAC3E29FE8A76EF638C26E = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ComponentBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/ComponentBase.cpp; sourceTree = DEVELOPER_DIR; };
952543A03965AE64D2F7EF37 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ComponentBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUBase/ComponentBase.h; sourceTree = DEVELOPER_DIR; };
71A86FA30C6E11992FD52782 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUMIDIBase.cpp; sourceTree = DEVELOPER_DIR; };
09365764C5E388C17571B74B = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUMIDIBase.h; sourceTree = DEVELOPER_DIR; };
F7A8C106BF631AFADA24F8EE = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUMIDIEffectBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUMIDIEffectBase.cpp; sourceTree = DEVELOPER_DIR; };
3F222693EE8A706D9E66140F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUMIDIEffectBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUMIDIEffectBase.h; sourceTree = DEVELOPER_DIR; };
8C28A1A8AF5FFC61D88246A9 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUOutputBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUOutputBase.cpp; sourceTree = DEVELOPER_DIR; };
D2EF4DF7FF52621B8EBC3C20 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUOutputBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUOutputBase.h; sourceTree = DEVELOPER_DIR; };
634B4CFC4268E257C63FA337 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MusicDeviceBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/MusicDeviceBase.cpp; sourceTree = DEVELOPER_DIR; };
0388AC868C8BBB6E2FDBAAA3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MusicDeviceBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/MusicDeviceBase.h; sourceTree = DEVELOPER_DIR; };
6EC9B05A43174FFF25BA3382 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUEffectBase.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUEffectBase.cpp; sourceTree = DEVELOPER_DIR; };
6EEDB768C0235390844832E6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUEffectBase.h; path = Extras/CoreAudio/AudioUnits/AUPublic/OtherBases/AUEffectBase.h; sourceTree = DEVELOPER_DIR; };
257FA3A7290842556A7377A4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUBuffer.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBuffer.cpp; sourceTree = DEVELOPER_DIR; };
8223723B38EF54A3B8644621 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUBuffer.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBuffer.h; sourceTree = DEVELOPER_DIR; };
55D565AF7527BA71D7ADC2D4 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AUDebugDispatcher.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUDebugDispatcher.cpp; sourceTree = DEVELOPER_DIR; };
DDD465BD14877C159A3217E8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUDebugDispatcher.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUDebugDispatcher.h; sourceTree = DEVELOPER_DIR; };
8E41015AF77D494DDAB5546F = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUInputFormatConverter.h; sourceTree = DEVELOPER_DIR; };
B50242715BF944E7711A5939 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUSilentTimeout.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUSilentTimeout.h; sourceTree = DEVELOPER_DIR; };
F2595F2DC0235F848F9474E8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUTimestampGenerator.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUTimestampGenerator.h; sourceTree = DEVELOPER_DIR; };
7B366D238FBBC31D17A18D2C = { isa = PBXGroup; children = (
B50846B34831C2C28007BE7D,
CF304FBE4BC66783833C4B59,
2C001306D198F8B21ABA7375,
662507104D05B579BB68F391 ); name = Source; sourceTree = "<group>"; };
C3E8F897FB646B0E8E7FC67C = { isa = PBXGroup; children = (
55F13334336342B374FA505C,
1C7D0AE1352D6713D906C4AB,
21CE5C9490494A2139D61408,
6AE52580AD24BD551DB99758,
B31CFE8BBA103078E19D1B97,
FD33B687C6FBA3ABC581AFD7,
DF8AD10F6B21858C3378B63F ); name = "Juce Library Code"; sourceTree = "<group>"; };
B7F037957C49AE7943C354C9 = { isa = PBXGroup; children = (
D72A5A33070FDACF8245023C,
BF6A49F4F7A9B9E8054806A8 ); name = "Juce VST Wrapper"; sourceTree = "<group>"; };
17A9711DC035377B969B90C2 = { isa = PBXGroup; children = (
70DC3C63DDDFB1C5A22A8C36,
6C254919C15224D13FE6D174,
AEDBCF2FF9E1FBD5B9958FB4,
38E2002644D5BBC2E88ACB70,
248B812009870EC9531D3269,
616DF8861CA45D7FFE92CA35,
52F3077A4F38B60682CD77B0,
35B676123569917443C05786,
653554C5848EC85ACF6761CB,
206D40BEDB308864DE8DAA57,
3008852179AEC3110ABEFC5F,
B6B85F3F336EDA568CB53327,
D2FF01F8AC92CBFB1A4AEC2B,
6C9B2F471F11EC467FDB06D0,
17ABF2F862D57C89FE85C307,
C5139AB9C4FB8AAD09B8CD9A,
E9F52DE288413A752B295F84,
943EC8C2885DA0982C1E995E,
A272B6DB3C84B9D91BF0F060,
E0586393177D674A237103E5,
BA712F15F8C80BF55297EA44,
BC5E2A691B0A52816EA5C7DB,
6381E6023EA29B5BC90F0F11,
79725AF8A4315CF7AEB0A650,
F17E1C506A2CB31650AC64A1,
A7453366F39F172187B8469B,
4BA3B7415620D5A6A3DD6076,
58CAFB52D888AF57B1A82540,
3392EEAEB79019283AD94C41,
A9C716DF2B9CC6D95877A448,
05B55564FFFBBBC713829291,
51DAC3E29FE8A76EF638C26E,
952543A03965AE64D2F7EF37,
71A86FA30C6E11992FD52782,
09365764C5E388C17571B74B,
F7A8C106BF631AFADA24F8EE,
3F222693EE8A706D9E66140F,
8C28A1A8AF5FFC61D88246A9,
D2EF4DF7FF52621B8EBC3C20,
634B4CFC4268E257C63FA337,
0388AC868C8BBB6E2FDBAAA3,
6EC9B05A43174FFF25BA3382,
6EEDB768C0235390844832E6,
257FA3A7290842556A7377A4,
8223723B38EF54A3B8644621,
55D565AF7527BA71D7ADC2D4,
DDD465BD14877C159A3217E8,
8E41015AF77D494DDAB5546F,
B50242715BF944E7711A5939,
F2595F2DC0235F848F9474E8 ); name = "Apple AU Files"; sourceTree = "<group>"; };
5180919A8096CFD082284336 = { isa = PBXGroup; children = (
78F506C4822524209976CB35,
2BF67235DA25FD0A85909ADC,
17A9711DC035377B969B90C2 ); name = "Juce AU Wrapper"; sourceTree = "<group>"; };
7756687B5FD0903C5F83BB9E = { isa = PBXGroup; children = (
81567EBA449466A95492511B ); name = Resources; sourceTree = "<group>"; };
9B041E4036493224CFD075FF = { isa = PBXGroup; children = (
91F0411829B13595887CE52A,
D036C01DC0E376205ABAA0CE,
A2A2E49121DBB7C395E2420A,
41FDE3A9AC13B3D1F230088E,
88C8229131104E50F4F0D137,
01A30B0A0B9B5064D9B75474,
423550EB3CF502541882C50E,
FBA2E307398FFC8A2693C933,
B050085463EEB5F8367314CB,
B4F88060202011416CB3278B,
678CC9E413A7CF979964CEF7,
DBC6733A66786D64D63E7016,
2307ABAB0264959E640E9E37,
E226D5DEE103B1E298BD6E3E ); name = Frameworks; sourceTree = "<group>"; };
A60AEBCC9579AD6BA9D5CA4B = { isa = PBXGroup; children = (
AF721FB8136D2CAA9404AD8D ); name = Products; sourceTree = "<group>"; };
E1C5E3C67B4A2621AD2D3E05 = { isa = PBXGroup; children = (
7B366D238FBBC31D17A18D2C,
C3E8F897FB646B0E8E7FC67C,
B7F037957C49AE7943C354C9,
5180919A8096CFD082284336,
7756687B5FD0903C5F83BB9E,
9B041E4036493224CFD075FF,
A60AEBCC9579AD6BA9D5CA4B ); name = Source; sourceTree = "<group>"; };
6B24C2D519EB1D09B3C748EC = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 $(DEVELOPER_DIR)/Extras/CoreAudio/PublicUtility $(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/Utility $(inherited)";
GCC_OPTIMIZATION_LEVEL = 0;
INFOPLIST_FILE = Info.plist;
LIBRARY_STYLE = Bundle;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
WRAPPER_EXTENSION = component;
GENERATE_PKGINFO_FILE = YES;
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)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\"";
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
OTHER_LDFLAGS = "-bundle";
ONLY_ACTIVE_ARCH = YES;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"_DEBUG=1",
"DEBUG=1 ",
"JUCE_ObjCExtraSuffix=JuceDemo"); }; name = Debug; };
F4B05B483343A2F3C923C6B4 = { isa = XCBuildConfiguration; buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
PREBINDING = NO;
HEADER_SEARCH_PATHS = "~/SDKs/vstsdk2.4 $(DEVELOPER_DIR)/Extras/CoreAudio/PublicUtility $(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/Utility $(inherited)";
GCC_OPTIMIZATION_LEVEL = s;
INFOPLIST_FILE = Info.plist;
LIBRARY_STYLE = Bundle;
INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
WRAPPER_EXTENSION = component;
GENERATE_PKGINFO_FILE = YES;
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)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\"";
MACOSX_DEPLOYMENT_TARGET_ppc = 10.4;
OTHER_LDFLAGS = "-bundle";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_SYMBOLS_PRIVATE_EXTERN = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"_NDEBUG=1",
"NDEBUG=1 ",
"JUCE_ObjCExtraSuffix=JuceDemo"); }; name = Release; };
F6631902F8DE12E2C2C34B71 = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
GCC_WARN_MISSING_PARENTHESES = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
GCC_MODEL_TUNING = G5;
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
PRODUCT_NAME = "JuceDemoPlugin"; }; name = Debug; };
D9F9CC7EC1952477F7915D84 = { isa = XCBuildConfiguration; buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
GCC_WARN_MISSING_PARENTHESES = YES;
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
GCC_MODEL_TUNING = G5;
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
ZERO_LINK = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
PRODUCT_NAME = "JuceDemoPlugin"; }; name = Release; };
91EB753864A948DE4421285E = { isa = XCConfigurationList; buildConfigurations = (
F6631902F8DE12E2C2C34B71,
D9F9CC7EC1952477F7915D84 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
392E8263441DF125E3215D42 = { isa = XCConfigurationList; buildConfigurations = (
6B24C2D519EB1D09B3C748EC,
F4B05B483343A2F3C923C6B4 ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; };
145D936BBD5425D74172B206 = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; };
A79C4026C596A99BB0ADC224 = { isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = (
862E7F1BC717EC544AA4ABB8 ); runOnlyForDeploymentPostprocessing = 0; };
F0F39FCA8C402F34BB74F6B3 = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = (
5AF66C048A4815F5A8ECDDCD,
209FB8C7F7BE85A70E5D98D7,
99CB24952ADDDFA320CB3B23,
9551342606A895BB5BA07F2E,
A1E844C7D2636CC38585B429,
BD7E5458BE2F33DBBF5AF834,
21695D03D6CEDD0D4B6A223F,
8647A1C2DFD0682E5957A448,
AC35B322C5633C758F7B07F2,
B7D2D2868983939B35532885,
3723101DD64447FE9A530323,
EBBDC594F4DF0EF42E017C64,
421AB531BFA2C9EB93522748,
E5299A6C25F9C4AE26DABAC0,
A7805EAF6FC58E9A857D98EA,
B24CA5BEF488268AB502C0AC,
81795588AD3A427D43E3165C,
07EDB68D178C5C7635F58468,
AEF69B599D0CEC30C1BC8C0C,
8B45F20F3F352BB3B35F6EB7,
3FA5946913264BF87C308F89,
BAF7CD5DAFBAB29BEF0DCAE3,
F51222976BFE5611E7FC656F,
84D075FA78547C8D3AC4EA1A,
CE625DD4D4B118F4718F2DCC,
60FEDB4F5859871946389F21,
F9290B46763F4865ED3C362D,
A2718BCD8261456359155ABE,
4BB4B93E0E58FC0D5FE82292,
EE224227E577BA498E98DC9A,
F0BEF1392277DBDC409A06A3 ); runOnlyForDeploymentPostprocessing = 0; };
9519B014653C694C3456E5A4 = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = (
0860A8808F16C84CE7641D04,
449473E31270237B0FFEBE72,
AFB1D55C5DA4C99D90DF3A6A,
EF358E6194DB7EE60A1CE13D,
53E2C1531CB485CCDD230774,
73B8F48633153DA5A10873E8,
B9C31FD116F29E7E4752EB90,
370C0F92C3CC1B6C563A7A94,
68746D242F6A6102FDD5D03D,
205AA28314AC784F2CF1FA98,
CBE9E6042991B0677E3136D2,
5B83F34400A1B5844680E1CE,
E504A4E425435E78197183F3,
AC674433358C3691C8AC20AF ); runOnlyForDeploymentPostprocessing = 0; };
06539322921079C10A447670 = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; name = "Copy to the different plugin folders"; shellPath = /bin/sh; shellScript = "\n# This script takes the build product and copies it to the AU, VST, and RTAS folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AU=~/Library/Audio/Plug-Ins/Components/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VST=~/Library/Audio/Plug-Ins/VST/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTAS=/Library/Application\\ Support/Digidesign/Plug-Ins/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\nfi\n"; };
792509270ABF8E6A65E16172 = { isa = PBXNativeTarget; buildConfigurationList = 392E8263441DF125E3215D42; buildPhases = (
145D936BBD5425D74172B206,
A79C4026C596A99BB0ADC224,
F0F39FCA8C402F34BB74F6B3,
9519B014653C694C3456E5A4,
06539322921079C10A447670 ); buildRules = ( ); dependencies = ( ); name = JuceDemoPlugin; productName = JuceDemoPlugin; productReference = AF721FB8136D2CAA9404AD8D; productInstallPath = "$(HOME)/Library/Audio/Plug-Ins/Components/"; productType = "com.apple.product-type.bundle"; };
64CEAC70FBD5AC5BD1D686C9 = { isa = PBXProject; buildConfigurationList = 91EB753864A948DE4421285E; compatibilityVersion = "Xcode 3.0"; hasScannedForEncodings = 0; mainGroup = E1C5E3C67B4A2621AD2D3E05; projectDirPath = ""; projectRoot = ""; targets = ( 792509270ABF8E6A65E16172 ); };
};
rootObject = 64CEAC70FBD5AC5BD1D686C9;
}

View file

@ -0,0 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 8.00
# Visual C++ Express 2005
Project("{D0B67FB6-D62A-09D8-46A8-2927CB6D2B82}") = "JuceDemoPlugin", "JuceDemoPlugin.vcproj", "{BC07A08E-8205-B220-39D4-B2685FFC59CA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BC07A08E-8205-B220-39D4-B2685FFC59CA}.Debug|Win32.ActiveCfg = Debug|Win32
{BC07A08E-8205-B220-39D4-B2685FFC59CA}.Debug|Win32.Build.0 = Debug|Win32
{BC07A08E-8205-B220-39D4-B2685FFC59CA}.Release|Win32.ActiveCfg = Release|Win32
{BC07A08E-8205-B220-39D4-B2685FFC59CA}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++"
Version="8.00"
Name="JuceDemoPlugin"
ProjectGUID="{BC07A08E-8205-B220-39D4-B2685FFC59CA}"
TargetFrameworkVersion="131072">
<Platforms>
<Platform Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration Name="Debug&#124;Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2">
<Tool Name="VCPreBuildEventTool"/>
<Tool Name="VCCustomBuildTool"/>
<Tool Name="VCXMLDataGeneratorTool"/>
<Tool Name="VCWebServiceProxyGeneratorTool"/>
<Tool Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Debug\JuceDemoPlugin.tlb"
HeaderFileName=""/>
<Tool Name="VCCLCompilerTool"
Optimization="0"
BufferSecurityCheck=""
DebugInformationFormat="4"
AdditionalIncludeDirectories="c:\SDKs\vstsdk2.4;..\..\JuceLibraryCode"
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
RuntimeLibrary="1"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Debug\JuceDemoPlugin.pch"
AssemblerListingLocation=".\Debug\"
ObjectFile=".\Debug\"
ProgramDataBaseFileName=".\Debug\"
WarningLevel="3"
SuppressStartupBanner="true"/>
<Tool Name="VCManagedResourceCompilerTool"/>
<Tool Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"/>
<Tool Name="VCPreLinkEventTool"/>
<Tool Name="VCLinkerTool"
OutputFile=".\Debug\JuceDemoPlugin.dll"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libcmt.lib, msvcrt.lib"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug\JuceDemoPlugin.pdb"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"/>
<Tool Name="VCALinkTool"/>
<Tool Name="VCManifestTool"/>
<Tool Name="VCXDCMakeTool"/>
<Tool Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Debug\JuceDemoPlugin.bsc"/>
<Tool Name="VCFxCopTool"/>
<Tool Name="VCAppVerifierTool"/>
<Tool Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration Name="Release&#124;Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool"/>
<Tool Name="VCCustomBuildTool"/>
<Tool Name="VCXMLDataGeneratorTool"/>
<Tool Name="VCWebServiceProxyGeneratorTool"/>
<Tool Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Release\JuceDemoPlugin.tlb"
HeaderFileName=""/>
<Tool Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
StringPooling="true"
AdditionalIncludeDirectories="c:\SDKs\vstsdk2.4;..\..\JuceLibraryCode"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
RuntimeLibrary="0"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Release\JuceDemoPlugin.pch"
AssemblerListingLocation=".\Release\"
ObjectFile=".\Release\"
ProgramDataBaseFileName=".\Release\"
WarningLevel="3"
SuppressStartupBanner="true"/>
<Tool Name="VCManagedResourceCompilerTool"/>
<Tool Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"/>
<Tool Name="VCPreLinkEventTool"/>
<Tool Name="VCLinkerTool"
OutputFile=".\Release\JuceDemoPlugin.dll"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="false"
ProgramDatabaseFile=".\Release\JuceDemoPlugin.pdb"
SubSystem="2"
GenerateManifest="false"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"/>
<Tool Name="VCALinkTool"/>
<Tool Name="VCManifestTool"/>
<Tool Name="VCXDCMakeTool"/>
<Tool Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Release\JuceDemoPlugin.bsc"/>
<Tool Name="VCFxCopTool"/>
<Tool Name="VCAppVerifierTool"/>
<Tool Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter Name="JuceDemoPlugin">
<Filter Name="Source">
<File RelativePath="..\..\Source\PluginProcessor.cpp"/>
<File RelativePath="..\..\Source\PluginProcessor.h"/>
<File RelativePath="..\..\Source\PluginEditor.cpp"/>
<File RelativePath="..\..\Source\PluginEditor.h"/>
</Filter>
</Filter>
<Filter Name="Juce Library Code">
<File RelativePath="..\..\JuceLibraryCode\AppConfig.h"/>
<File RelativePath="..\..\JuceLibraryCode\JuceHeader.h"/>
<File RelativePath="..\..\JuceLibraryCode\JuceLibraryCode1.cpp"/>
<File RelativePath="..\..\JuceLibraryCode\JuceLibraryCode2.cpp"/>
<File RelativePath="..\..\JuceLibraryCode\JuceLibraryCode3.cpp"/>
<File RelativePath="..\..\JuceLibraryCode\JuceLibraryCode4.cpp"/>
<File RelativePath="..\..\JuceLibraryCode\JucePluginCharacteristics.h"/>
</Filter>
<Filter Name="Juce VST Wrapper">
<File RelativePath="..\..\..\..\..\..\juce\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View file

@ -0,0 +1,20 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{D0B67FB6-D62A-09D8-46A8-2927CB6D2B82}") = "JuceDemoPlugin", "JuceDemoPlugin.vcproj", "{BC07A08E-8205-B220-39D4-B2685FFC59CA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BC07A08E-8205-B220-39D4-B2685FFC59CA}.Debug|Win32.ActiveCfg = Debug|Win32
{BC07A08E-8205-B220-39D4-B2685FFC59CA}.Debug|Win32.Build.0 = Debug|Win32
{BC07A08E-8205-B220-39D4-B2685FFC59CA}.Release|Win32.ActiveCfg = Release|Win32
{BC07A08E-8205-B220-39D4-B2685FFC59CA}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject ProjectType="Visual C++"
Version="9.00"
Name="JuceDemoPlugin"
ProjectGUID="{BC07A08E-8205-B220-39D4-B2685FFC59CA}"
TargetFrameworkVersion="131072">
<Platforms>
<Platform Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration Name="Debug&#124;Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2">
<Tool Name="VCPreBuildEventTool"/>
<Tool Name="VCCustomBuildTool"/>
<Tool Name="VCXMLDataGeneratorTool"/>
<Tool Name="VCWebServiceProxyGeneratorTool"/>
<Tool Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Debug\JuceDemoPlugin.tlb"
HeaderFileName=""/>
<Tool Name="VCCLCompilerTool"
Optimization="0"
BufferSecurityCheck=""
DebugInformationFormat="4"
AdditionalIncludeDirectories="c:\SDKs\vstsdk2.4;..\..\JuceLibraryCode"
PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
RuntimeLibrary="1"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Debug\JuceDemoPlugin.pch"
AssemblerListingLocation=".\Debug\"
ObjectFile=".\Debug\"
ProgramDataBaseFileName=".\Debug\"
WarningLevel="3"
SuppressStartupBanner="true"/>
<Tool Name="VCManagedResourceCompilerTool"/>
<Tool Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"/>
<Tool Name="VCPreLinkEventTool"/>
<Tool Name="VCLinkerTool"
OutputFile=".\Debug\JuceDemoPlugin.dll"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libcmt.lib, msvcrt.lib"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug\JuceDemoPlugin.pdb"
SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"/>
<Tool Name="VCALinkTool"/>
<Tool Name="VCManifestTool"/>
<Tool Name="VCXDCMakeTool"/>
<Tool Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Debug\JuceDemoPlugin.bsc"/>
<Tool Name="VCFxCopTool"/>
<Tool Name="VCAppVerifierTool"/>
<Tool Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration Name="Release&#124;Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="2"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
WholeProgramOptimization="1">
<Tool Name="VCPreBuildEventTool"/>
<Tool Name="VCCustomBuildTool"/>
<Tool Name="VCXMLDataGeneratorTool"/>
<Tool Name="VCWebServiceProxyGeneratorTool"/>
<Tool Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Release\JuceDemoPlugin.tlb"
HeaderFileName=""/>
<Tool Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
StringPooling="true"
AdditionalIncludeDirectories="c:\SDKs\vstsdk2.4;..\..\JuceLibraryCode"
PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
RuntimeLibrary="0"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
PrecompiledHeaderFile=".\Release\JuceDemoPlugin.pch"
AssemblerListingLocation=".\Release\"
ObjectFile=".\Release\"
ProgramDataBaseFileName=".\Release\"
WarningLevel="3"
SuppressStartupBanner="true"/>
<Tool Name="VCManagedResourceCompilerTool"/>
<Tool Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"/>
<Tool Name="VCPreLinkEventTool"/>
<Tool Name="VCLinkerTool"
OutputFile=".\Release\JuceDemoPlugin.dll"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="false"
ProgramDatabaseFile=".\Release\JuceDemoPlugin.pdb"
SubSystem="2"
GenerateManifest="false"
OptimizeReferences="2"
EnableCOMDATFolding="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
TargetMachine="1"/>
<Tool Name="VCALinkTool"/>
<Tool Name="VCManifestTool"/>
<Tool Name="VCXDCMakeTool"/>
<Tool Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Release\JuceDemoPlugin.bsc"/>
<Tool Name="VCFxCopTool"/>
<Tool Name="VCAppVerifierTool"/>
<Tool Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter Name="JuceDemoPlugin">
<Filter Name="Source">
<File RelativePath="..\..\Source\PluginProcessor.cpp"/>
<File RelativePath="..\..\Source\PluginProcessor.h"/>
<File RelativePath="..\..\Source\PluginEditor.cpp"/>
<File RelativePath="..\..\Source\PluginEditor.h"/>
</Filter>
</Filter>
<Filter Name="Juce Library Code">
<File RelativePath="..\..\JuceLibraryCode\AppConfig.h"/>
<File RelativePath="..\..\JuceLibraryCode\JuceHeader.h"/>
<File RelativePath="..\..\JuceLibraryCode\JuceLibraryCode1.cpp"/>
<File RelativePath="..\..\JuceLibraryCode\JuceLibraryCode2.cpp"/>
<File RelativePath="..\..\JuceLibraryCode\JuceLibraryCode3.cpp"/>
<File RelativePath="..\..\JuceLibraryCode\JuceLibraryCode4.cpp"/>
<File RelativePath="..\..\JuceLibraryCode\JucePluginCharacteristics.h"/>
</Filter>
<Filter Name="Juce VST Wrapper">
<File RelativePath="..\..\..\..\..\..\juce\extras\audio plugins\wrapper\VST\juce_VST_Wrapper.cpp"/>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<JUCERPROJECT id="0nRd9LLGO" name="JuceDemoPlugin" projectType="audioplug"
version="1.0.0" juceLinkage="amalg_multi" buildVST="1" buildRTAS="0"
buildAU="1" pluginName="Juce Demo Plugin" pluginDesc="Juce Demo Plugin"
pluginManufacturer="Raw Material Software" pluginManufacturerCode="RawM"
pluginCode="Jcdm" pluginChannelConfigs="{1, 1}, {2, 2}" pluginIsSynth="0"
pluginWantsMidiIn="1" pluginProducesMidiOut="1" pluginSilenceInIsSilenceOut="0"
pluginTailLength="0" pluginEditorRequiresKeys="1" pluginAUExportPrefix="JuceDemoProjectAU"
pluginAUViewClass="JuceDemoProjectAU_V1" pluginRTASCategory=""
bundleIdentifier="com.rawmaterialsoftware.JuceDemoPlugin" jucerVersion="3.0.0">
<EXPORTFORMATS>
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" rtasFolder="~/SDKs/PT_80_SDK"
juceFolder="../../../../juce" objCExtraSuffix="JuceDemo"/>
<VS2005 targetFolder="Builds/VisualStudio2005" vstFolder="c:\SDKs\vstsdk2.4"
rtasFolder="c:\SDKs\PT_80_SDK" juceFolder="../../../../juce"/>
<VS2008 targetFolder="Builds/VisualStudio2008" vstFolder="c:\SDKs\vstsdk2.4"
rtasFolder="c:\SDKs\PT_80_SDK" juceFolder="../../../../juce"/>
</EXPORTFORMATS>
<CONFIGURATIONS>
<CONFIGURATION name="Debug" isDebug="1" optimisation="1" targetName="JuceDemoPlugin"
osxSDK="default" osxCompatibility="default"/>
<CONFIGURATION name="Release" isDebug="0" optimisation="2" targetName="JuceDemoPlugin"
osxSDK="default" osxCompatibility="default"/>
</CONFIGURATIONS>
<MAINGROUP id="dYAMo6Ykd" name="JuceDemoPlugin">
<GROUP id="enRTGyDMs" name="Source">
<FILE id="gFFr0hbSp" name="PluginProcessor.cpp" compile="1" resource="0"
file="Source/PluginProcessor.cpp"/>
<FILE id="PkpMNdnIr" name="PluginProcessor.h" compile="0" resource="0"
file="Source/PluginProcessor.h"/>
<FILE id="RCFlkTAef" name="PluginEditor.cpp" compile="1" resource="0"
file="Source/PluginEditor.cpp"/>
<FILE id="Iif5nfHL" name="PluginEditor.h" compile="0" resource="0"
file="Source/PluginEditor.h"/>
</GROUP>
</MAINGROUP>
<JUCEOPTIONS JUCE_QUICKTIME="disabled" JUCE_FORCE_DEBUG="default" JUCE_LOG_ASSERTIONS="default"
JUCE_ASIO="default" JUCE_WASAPI="default" JUCE_DIRECTSOUND="default"
JUCE_ALSA="default" JUCE_OPENGL="default" JUCE_USE_FLAC="default"
JUCE_USE_OGGVORBIS="default" JUCE_USE_CDBURNER="default" JUCE_USE_CDREADER="default"
JUCE_USE_CAMERA="default" JUCE_ENABLE_REPAINT_DEBUGGING="default"
JUCE_USE_XINERAMA="default" JUCE_USE_XSHM="default" JUCE_USE_XRENDER="default"
JUCE_PLUGINHOST_VST="default" JUCE_PLUGINHOST_AU="default" JUCE_ONLY_BUILD_CORE_LIBRARY="default"
JUCE_WEB_BROWSER="default" JUCE_SUPPORT_CARBON="default" JUCE_CHECK_MEMORY_LEAKS="default"
JUCE_CATCH_UNHANDLED_EXCEPTIONS="default"/>
</JUCERPROJECT>

View file

@ -0,0 +1,37 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
If you want to change any of these values, use the Jucer to do so, rather than
editing this file directly!
Any commented-out settings will fall back to using the default values that
they are given in juce_Config.h
*/
//#define JUCE_FORCE_DEBUG
//#define JUCE_LOG_ASSERTIONS
//#define JUCE_ASIO
//#define JUCE_WASAPI
//#define JUCE_DIRECTSOUND
//#define JUCE_ALSA
#define JUCE_QUICKTIME 0
//#define JUCE_OPENGL
//#define JUCE_USE_FLAC
//#define JUCE_USE_OGGVORBIS
//#define JUCE_USE_CDBURNER
//#define JUCE_USE_CDREADER
//#define JUCE_USE_CAMERA
//#define JUCE_ENABLE_REPAINT_DEBUGGING
//#define JUCE_USE_XINERAMA
//#define JUCE_USE_XSHM
//#define JUCE_USE_XRENDER
//#define JUCE_PLUGINHOST_VST
//#define JUCE_PLUGINHOST_AU
//#define JUCE_ONLY_BUILD_CORE_LIBRARY
//#define JUCE_WEB_BROWSER
//#define JUCE_SUPPORT_CARBON
//#define JUCE_CHECK_MEMORY_LEAKS
//#define JUCE_CATCH_UNHANDLED_EXCEPTIONS

View file

@ -0,0 +1,26 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This is the header file that your files should include in order to get all the
Juce library headers. You should NOT include juce.h or juce_amalgamated.h directly in
your own source files, because that wouldn't pick up the correct Juce configuration
options for your app.
*/
#ifndef __APPHEADERFILE_9C46E6CC__
#define __APPHEADERFILE_9C46E6CC__
#include "AppConfig.h"
#include "../../../../juce_amalgamated.h"
namespace ProjectInfo
{
const char* const projectName = "JuceDemoPlugin";
const char* const versionString = "1.0.0";
const int versionNumber = 0x10000;
}
#endif // __APPHEADERFILE_9C46E6CC__

View file

@ -0,0 +1,15 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#include "../../../../amalgamation/juce_amalgamated1.cpp"

View file

@ -0,0 +1,15 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#include "../../../../amalgamation/juce_amalgamated1.cpp"

View file

@ -0,0 +1,15 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#include "../../../../amalgamation/juce_amalgamated2.cpp"

View file

@ -0,0 +1,15 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#include "../../../../amalgamation/juce_amalgamated2.cpp"

View file

@ -0,0 +1,15 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#include "../../../../amalgamation/juce_amalgamated3.cpp"

View file

@ -0,0 +1,15 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#include "../../../../amalgamation/juce_amalgamated3.cpp"

View file

@ -0,0 +1,15 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#include "../../../../amalgamation/juce_amalgamated4.cpp"

View file

@ -0,0 +1,15 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This file pulls in all the Juce source code, and builds it using the settings
defined in AppConfig.h.
If you want to change the method by which Juce is linked into your app, use the
Jucer to change it, rather than trying to edit this file directly.
*/
#include "AppConfig.h"
#include "../../../../amalgamation/juce_amalgamated4.cpp"

View file

@ -0,0 +1,49 @@
/*
IMPORTANT! This file is auto-generated by the Jucer each time you save your
project - if you alter its contents, your changes may be overwritten!
This header file contains configuration options for the plug-in. If you need to change any of
these, it'd be wise to do so using the Jucer, rather than editing this file directly...
*/
#ifndef __PLUGINCHARACTERISTICS_D4EFFF1A__
#define __PLUGINCHARACTERISTICS_D4EFFF1A__
#define JucePlugin_Build_VST 1
#define JucePlugin_Build_AU 1
#define JucePlugin_Build_RTAS 0
#define JucePlugin_Name "Juce Demo Plugin"
#define JucePlugin_Desc "Juce Demo Plugin"
#define JucePlugin_Manufacturer "Raw Material Software"
#define JucePlugin_ManufacturerCode 'RawM'
#define JucePlugin_PluginCode 'Jcdm'
#define JucePlugin_MaxNumInputChannels 2
#define JucePlugin_MaxNumOutputChannels 2
#define JucePlugin_PreferredChannelConfigurations {1, 1}, {2, 2}
#define JucePlugin_IsSynth 0
#define JucePlugin_WantsMidiInput 1
#define JucePlugin_ProducesMidiOutput 1
#define JucePlugin_IsSynth 0
#define JucePlugin_SilenceInProducesSilenceOut 0
#define JucePlugin_TailLengthSeconds 0
#define JucePlugin_EditorRequiresKeyboardFocus 1
#define JucePlugin_VersionCode 0x10000
#define JucePlugin_VersionString "1.0.0"
#define JucePlugin_VSTUniqueID JucePlugin_PluginCode
#define JucePlugin_VSTCategory kPlugCategEffect
#define JucePlugin_AUMainType kAudioUnitType_Effect
#define JucePlugin_AUSubType JucePlugin_PluginCode
#define JucePlugin_AUExportPrefix JuceDemoProjectAU
#define JucePlugin_AUExportPrefixQuoted "JuceDemoProjectAU"
#define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode
#define JucePlugin_CFBundleIdentifier com.rawmaterialsoftware.JuceDemoPlugin
#define JucePlugin_AUCocoaViewClassName JuceDemoProjectAU_V1
#define JucePlugin_RTASCategory ePlugInCategory_None
#define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode
#define JucePlugin_RTASProductId JucePlugin_PluginCode
#define JUCE_USE_VSTSDK_2_4 1
#endif // __PLUGINCHARACTERISTICS_D4EFFF1A__

View file

@ -0,0 +1,170 @@
/*
==============================================================================
This file was auto-generated by the Jucer!
It contains the basic startup code for a Juce application.
==============================================================================
*/
#include "PluginProcessor.h"
#include "PluginEditor.h"
//==============================================================================
JuceDemoPluginAudioProcessorEditor::JuceDemoPluginAudioProcessorEditor (JuceDemoPluginAudioProcessor* ownerFilter)
: AudioProcessorEditor (ownerFilter)
{
addAndMakeVisible (gainSlider = new Slider ("gain"));
gainSlider->setSliderStyle (Slider::Rotary);
gainSlider->addListener (this);
gainSlider->setRange (0.0, 1.0, 0.01);
Label* l = new Label ("", "Throughput level:");
l->attachToComponent (gainSlider, false);
l->setFont (Font (11.0f));
addAndMakeVisible (delaySlider = new Slider ("delay"));
delaySlider->setSliderStyle (Slider::Rotary);
delaySlider->addListener (this);
delaySlider->setRange (0.0, 1.0, 0.01);
l = new Label ("", "Delay:");
l->attachToComponent (delaySlider, false);
l->setFont (Font (11.0f));
// create and add the midi keyboard component..
addAndMakeVisible (midiKeyboard
= new MidiKeyboardComponent (ownerFilter->keyboardState,
MidiKeyboardComponent::horizontalKeyboard));
// add a label that will display the current timecode and status..
addAndMakeVisible (infoLabel = new Label (String::empty, String::empty));
infoLabel->setColour (Label::textColourId, Colours::blue);
// add the triangular resizer component for the bottom-right of the UI
addAndMakeVisible (resizer = new ResizableCornerComponent (this, &resizeLimits));
resizeLimits.setSizeLimits (150, 150, 800, 300);
// set our component's initial size to be the last one that was stored in the filter's settings
setSize (ownerFilter->lastUIWidth,
ownerFilter->lastUIHeight);
startTimer (50);
}
JuceDemoPluginAudioProcessorEditor::~JuceDemoPluginAudioProcessorEditor()
{
deleteAllChildren();
}
//==============================================================================
void JuceDemoPluginAudioProcessorEditor::paint (Graphics& g)
{
g.setGradientFill (ColourGradient (Colours::white, 0, 0, Colours::grey, 0, getHeight(), false));
g.fillAll();
}
void JuceDemoPluginAudioProcessorEditor::resized()
{
infoLabel->setBounds (10, 4, 400, 25);
gainSlider->setBounds (20, 60, 150, 40);
delaySlider->setBounds (200, 60, 150, 40);
const int keyboardHeight = 70;
midiKeyboard->setBounds (4, getHeight() - keyboardHeight - 4, getWidth() - 8, keyboardHeight);
resizer->setBounds (getWidth() - 16, getHeight() - 16, 16, 16);
}
//==============================================================================
// This timer periodically checks whether any of the filter's parameters have changed...
void JuceDemoPluginAudioProcessorEditor::timerCallback()
{
JuceDemoPluginAudioProcessor* ourProcessor = getProcessor();
AudioPlayHead::CurrentPositionInfo newPos (ourProcessor->lastPosInfo);
if (lastDisplayedPosition != newPos)
displayPositionInfo (newPos);
gainSlider->setValue (ourProcessor->gain, false);
delaySlider->setValue (ourProcessor->delay, false);
}
// This is our SliderListener callback, when the user drags a slider.
void JuceDemoPluginAudioProcessorEditor::sliderValueChanged (Slider* slider)
{
if (slider == gainSlider)
{
// It's vital to use setParameterNotifyingHost to change any parameters that are automatable
// by the host, rather than just modifying them directly, otherwise the host won't know
// that they've changed.
getProcessor()->setParameterNotifyingHost (JuceDemoPluginAudioProcessor::gainParam,
(float) gainSlider->getValue());
}
else if (slider == delaySlider)
{
getProcessor()->setParameterNotifyingHost (JuceDemoPluginAudioProcessor::delayParam,
(float) delaySlider->getValue());
}
}
//==============================================================================
// quick-and-dirty function to format a timecode string
static const String timeToTimecodeString (const double seconds)
{
const double absSecs = fabs (seconds);
const int hours = (int) (absSecs / (60.0 * 60.0));
const int mins = ((int) (absSecs / 60.0)) % 60;
const int secs = ((int) absSecs) % 60;
String s;
if (seconds < 0)
s = "-";
s << String (hours).paddedLeft ('0', 2) << ":"
<< String (mins).paddedLeft ('0', 2) << ":"
<< String (secs).paddedLeft ('0', 2) << ":"
<< String (roundToInt (absSecs * 1000) % 1000).paddedLeft ('0', 3);
return s;
}
// quick-and-dirty function to format a bars/beats string
static const String ppqToBarsBeatsString (double ppq, double lastBarPPQ, int numerator, int denominator)
{
if (numerator == 0 || denominator == 0)
return "1|1|0";
const int ppqPerBar = (numerator * 4 / denominator);
const double beats = (fmod (ppq, ppqPerBar) / ppqPerBar) * numerator;
const int bar = ((int) ppq) / ppqPerBar + 1;
const int beat = ((int) beats) + 1;
const int ticks = ((int) (fmod (beats, 1.0) * 960.0));
String s;
s << bar << '|' << beat << '|' << ticks;
return s;
}
// Updates the text in our position label.
void JuceDemoPluginAudioProcessorEditor::displayPositionInfo (const AudioPlayHead::CurrentPositionInfo& pos)
{
lastDisplayedPosition = pos;
String displayText;
displayText.preallocateStorage (64);
displayText << String (pos.bpm, 2) << " bpm, "
<< pos.timeSigNumerator << '/' << pos.timeSigDenominator
<< " - " << timeToTimecodeString (pos.timeInSeconds)
<< " - " << ppqToBarsBeatsString (pos.ppqPosition, pos.ppqPositionOfLastBarStart,
pos.timeSigNumerator, pos.timeSigDenominator);
if (pos.isRecording)
displayText << " (recording)";
else if (pos.isPlaying)
displayText << " (playing)";
infoLabel->setText (displayText, false);
}

View file

@ -0,0 +1,55 @@
/*
==============================================================================
This file was auto-generated by the Jucer!
It contains the basic startup code for a Juce application.
==============================================================================
*/
#ifndef __PLUGINEDITOR_H_4ACCBAA__
#define __PLUGINEDITOR_H_4ACCBAA__
#include "../JuceLibraryCode/JuceHeader.h"
#include "../JuceLibraryCode/JucePluginCharacteristics.h"
#include "PluginProcessor.h"
//==============================================================================
/** This is the editor component that our filter will display.
*/
class JuceDemoPluginAudioProcessorEditor : public AudioProcessorEditor,
public SliderListener,
public Timer
{
public:
JuceDemoPluginAudioProcessorEditor (JuceDemoPluginAudioProcessor* ownerFilter);
~JuceDemoPluginAudioProcessorEditor();
//==============================================================================
void timerCallback();
void paint (Graphics& g);
void resized();
void sliderValueChanged (Slider*);
private:
MidiKeyboardComponent* midiKeyboard;
Label* infoLabel;
Slider* gainSlider;
Slider* delaySlider;
ResizableCornerComponent* resizer;
ComponentBoundsConstrainer resizeLimits;
AudioPlayHead::CurrentPositionInfo lastDisplayedPosition;
JuceDemoPluginAudioProcessor* getProcessor() const
{
return static_cast <JuceDemoPluginAudioProcessor*> (getAudioProcessor());
}
void displayPositionInfo (const AudioPlayHead::CurrentPositionInfo& pos);
};
#endif // __PLUGINEDITOR_H_4ACCBAA__

View file

@ -0,0 +1,371 @@
/*
==============================================================================
This file was auto-generated by the Jucer!
It contains the basic startup code for a Juce application.
==============================================================================
*/
#include "PluginProcessor.h"
#include "PluginEditor.h"
//==============================================================================
/** A demo synth sound that's just a basic sine wave.. */
class SineWaveSound : public SynthesiserSound
{
public:
SineWaveSound()
{
}
bool appliesToNote (const int midiNoteNumber) { return true; }
bool appliesToChannel (const int midiChannel) { return true; }
};
//==============================================================================
/** A simple demo synth voice that just plays a sine wave.. */
class SineWaveVoice : public SynthesiserVoice
{
public:
SineWaveVoice()
: angleDelta (0.0),
tailOff (0.0)
{
}
bool canPlaySound (SynthesiserSound* sound)
{
return dynamic_cast <SineWaveSound*> (sound) != 0;
}
void startNote (const int midiNoteNumber, const float velocity,
SynthesiserSound* sound, const int currentPitchWheelPosition)
{
currentAngle = 0.0;
level = velocity * 0.15;
tailOff = 0.0;
double cyclesPerSecond = MidiMessage::getMidiNoteInHertz (midiNoteNumber);
double cyclesPerSample = cyclesPerSecond / getSampleRate();
angleDelta = cyclesPerSample * 2.0 * double_Pi;
}
void stopNote (const bool allowTailOff)
{
if (allowTailOff)
{
// start a tail-off by setting this flag. The render callback will pick up on
// this and do a fade out, calling clearCurrentNote() when it's finished.
if (tailOff == 0.0) // we only need to begin a tail-off if it's not already doing so - the
// stopNote method could be called more than once.
tailOff = 1.0;
}
else
{
// we're being told to stop playing immediately, so reset everything..
clearCurrentNote();
angleDelta = 0.0;
}
}
void pitchWheelMoved (const int newValue)
{
// can't be bothered implementing this for the demo!
}
void controllerMoved (const int controllerNumber, const int newValue)
{
// not interested in controllers in this case.
}
void renderNextBlock (AudioSampleBuffer& outputBuffer, int startSample, int numSamples)
{
if (angleDelta != 0.0)
{
if (tailOff > 0)
{
while (--numSamples >= 0)
{
const float currentSample = (float) (sin (currentAngle) * level * tailOff);
for (int i = outputBuffer.getNumChannels(); --i >= 0;)
*outputBuffer.getSampleData (i, startSample) += currentSample;
currentAngle += angleDelta;
++startSample;
tailOff *= 0.99;
if (tailOff <= 0.005)
{
clearCurrentNote();
angleDelta = 0.0;
break;
}
}
}
else
{
while (--numSamples >= 0)
{
const float currentSample = (float) (sin (currentAngle) * level);
for (int i = outputBuffer.getNumChannels(); --i >= 0;)
*outputBuffer.getSampleData (i, startSample) += currentSample;
currentAngle += angleDelta;
++startSample;
}
}
}
}
private:
double currentAngle, angleDelta, level, tailOff;
};
//==============================================================================
JuceDemoPluginAudioProcessor::JuceDemoPluginAudioProcessor()
: delayBuffer (2, 12000)
{
// Set up some default values..
gain = 1.0f;
delay = 0.5f;
lastUIWidth = 400;
lastUIHeight = 200;
lastPosInfo.resetToDefault();
delayPosition = 0;
// Initialise the synth...
for (int i = 4; --i >= 0;)
synth.addVoice (new SineWaveVoice()); // These voices will play our custom sine-wave sounds..
synth.addSound (new SineWaveSound());
}
JuceDemoPluginAudioProcessor::~JuceDemoPluginAudioProcessor()
{
}
//==============================================================================
int JuceDemoPluginAudioProcessor::getNumParameters()
{
return totalNumParams;
}
float JuceDemoPluginAudioProcessor::getParameter (int index)
{
// This method will be called by the host, probably on the audio thread, so
// it's absolutely time-critical. Don't use critical sections or anything
// UI-related, or anything at all that may block in any way!
switch (index)
{
case gainParam: return gain;
case delayParam: return delay;
default: return 0.0f;
}
}
void JuceDemoPluginAudioProcessor::setParameter (int index, float newValue)
{
// This method will be called by the host, probably on the audio thread, so
// it's absolutely time-critical. Don't use critical sections or anything
// UI-related, or anything at all that may block in any way!
switch (index)
{
case gainParam: gain = newValue; break;
case delayParam: delay = newValue; break;
default: break;
}
}
const String JuceDemoPluginAudioProcessor::getParameterName (int index)
{
switch (index)
{
case gainParam: return "gain";
case delayParam: return "delay";
default: break;
}
return String::empty;
}
const String JuceDemoPluginAudioProcessor::getParameterText (int index)
{
return String (getParameter (index), 2);
}
//==============================================================================
void JuceDemoPluginAudioProcessor::prepareToPlay (double sampleRate, int samplesPerBlock)
{
// Use this method as the place to do any pre-playback
// initialisation that you need..
keyboardState.reset();
delayBuffer.clear();
}
void JuceDemoPluginAudioProcessor::releaseResources()
{
// When playback stops, you can use this as an opportunity to free up any
// spare memory, etc.
keyboardState.reset();
}
void JuceDemoPluginAudioProcessor::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)
{
const int numSamples = buffer.getNumSamples();
int channel, dp = 0;
// Go through the incoming data, and apply our gain to it...
for (channel = 0; channel < getNumInputChannels(); ++channel)
buffer.applyGain (channel, 0, buffer.getNumSamples(), gain);
// Now pass any incoming midi messages to our keyboard state object, and let it
// add messages to the buffer if the user is clicking on the on-screen keys
keyboardState.processNextMidiBuffer (midiMessages, 0, numSamples, true);
// and now get the synth to process these midi events and generate its output.
synth.renderNextBlock (buffer, midiMessages, 0, numSamples);
// Apply our delay effect to the new output..
for (channel = 0; channel < getNumInputChannels(); ++channel)
{
float* channelData = buffer.getSampleData (channel);
float* delayData = delayBuffer.getSampleData (jmin (channel, delayBuffer.getNumChannels() - 1));
dp = delayPosition;
for (int i = 0; i < numSamples; ++i)
{
const float in = channelData[i];
channelData[i] += delayData[dp];
delayData[dp] = (delayData[dp] + in) * delay;
if (++dp > delayBuffer.getNumSamples())
dp = 0;
}
}
delayPosition = dp;
// In case we have more outputs than inputs, we'll clear any output
// channels that didn't contain input data, (because these aren't
// guaranteed to be empty - they may contain garbage).
for (int i = getNumInputChannels(); i < getNumOutputChannels(); ++i)
buffer.clear (i, 0, buffer.getNumSamples());
// ask the host for the current time so we can display it...
AudioPlayHead::CurrentPositionInfo newTime;
if (getPlayHead() != 0 && getPlayHead()->getCurrentPosition (newTime))
{
// Successfully got the current time from the host..
lastPosInfo = newTime;
}
else
{
// If the host fails to fill-in the current time, we'll just clear it to a default..
lastPosInfo.resetToDefault();
}
}
//==============================================================================
AudioProcessorEditor* JuceDemoPluginAudioProcessor::createEditor()
{
return new JuceDemoPluginAudioProcessorEditor (this);
}
//==============================================================================
void JuceDemoPluginAudioProcessor::getStateInformation (MemoryBlock& destData)
{
// You should use this method to store your parameters in the memory block.
// Here's an example of how you can use XML to make it easy and more robust:
// Create an outer XML element..
XmlElement xml ("MYPLUGINSETTINGS");
// add some attributes to it..
xml.setAttribute ("uiWidth", lastUIWidth);
xml.setAttribute ("uiHeight", lastUIHeight);
xml.setAttribute ("gain", gain);
xml.setAttribute ("delay", delay);
// then use this helper function to stuff it into the binary blob and return it..
copyXmlToBinary (xml, destData);
}
void JuceDemoPluginAudioProcessor::setStateInformation (const void* data, int sizeInBytes)
{
// You should use this method to restore your parameters from this memory block,
// whose contents will have been created by the getStateInformation() call.
// This getXmlFromBinary() helper function retrieves our XML from the binary blob..
ScopedPointer<XmlElement> xmlState (getXmlFromBinary (data, sizeInBytes));
if (xmlState != 0)
{
// make sure that it's actually our type of XML object..
if (xmlState->hasTagName ("MYPLUGINSETTINGS"))
{
// ok, now pull out our parameters..
lastUIWidth = xmlState->getIntAttribute ("uiWidth", lastUIWidth);
lastUIHeight = xmlState->getIntAttribute ("uiHeight", lastUIHeight);
gain = (float) xmlState->getDoubleAttribute ("gain", gain);
delay = (float) xmlState->getDoubleAttribute ("delay", delay);
}
}
}
const String JuceDemoPluginAudioProcessor::getInputChannelName (const int channelIndex) const
{
return String (channelIndex + 1);
}
const String JuceDemoPluginAudioProcessor::getOutputChannelName (const int channelIndex) const
{
return String (channelIndex + 1);
}
bool JuceDemoPluginAudioProcessor::isInputChannelStereoPair (int index) const
{
return true;
}
bool JuceDemoPluginAudioProcessor::isOutputChannelStereoPair (int index) const
{
return true;
}
bool JuceDemoPluginAudioProcessor::acceptsMidi() const
{
#if JucePlugin_WantsMidiInput
return true;
#else
return false;
#endif
}
bool JuceDemoPluginAudioProcessor::producesMidi() const
{
#if JucePlugin_ProducesMidiOutput
return true;
#else
return false;
#endif
}
//==============================================================================
// This creates new instances of the plugin..
AudioProcessor* JUCE_CALLTYPE createPluginFilter()
{
return new JuceDemoPluginAudioProcessor();
}

View file

@ -1,64 +1,45 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
This file was auto-generated by the Jucer!
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
It contains the basic startup code for a Juce application.
==============================================================================
*/
#ifndef DEMOJUCEPLUGINFILTER_H
#define DEMOJUCEPLUGINFILTER_H
#ifndef __PLUGINPROCESSOR_H_526ED7A9__
#define __PLUGINPROCESSOR_H_526ED7A9__
#include "../JuceLibraryCode/JuceHeader.h"
#include "../JuceLibraryCode/JucePluginCharacteristics.h"
//==============================================================================
/**
A simple plugin filter that just applies a gain change to the audio
passing through it.
*/
class DemoJuceFilter : public AudioProcessor,
public ChangeBroadcaster
class JuceDemoPluginAudioProcessor : public AudioProcessor
{
public:
//==============================================================================
DemoJuceFilter();
~DemoJuceFilter();
JuceDemoPluginAudioProcessor();
~JuceDemoPluginAudioProcessor();
//==============================================================================
void prepareToPlay (double sampleRate, int samplesPerBlock);
void releaseResources();
void processBlock (AudioSampleBuffer& buffer,
MidiBuffer& midiMessages);
void processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages);
//==============================================================================
AudioProcessorEditor* createEditor();
//==============================================================================
const String getName() const;
const String getName() const { return JucePlugin_Name; }
int getNumParameters();
float getParameter (int index);
void setParameter (int index, float newValue);
const String getParameterName (int index);
const String getParameterText (int index);
@ -83,7 +64,8 @@ public:
//==============================================================================
// These properties are public so that our editor component can access them
// - a bit of a hacky way to do it, but it's only a demo!
// A bit of a hacky way to do it, but it's only a demo! Obviously in your own
// code you'll do this much more neatly..
// this is kept up to date with the midi messages that arrive, and the UI component
// registers with it so it can represent the incoming messages
@ -98,14 +80,26 @@ public:
// resized.
int lastUIWidth, lastUIHeight;
//==============================================================================
enum Parameters
{
gainParam = 0,
delayParam,
totalNumParams
};
float gain, delay;
//==============================================================================
juce_UseDebuggingNewOperator
private:
// this is our gain - the UI and the host can access this by getting/setting
// parameter 0.
float gain;
AudioSampleBuffer delayBuffer;
int delayPosition;
// the synth!
Synthesiser synth;
};
#endif
#endif // __PLUGINPROCESSOR_H_526ED7A9__

View file

@ -1,56 +0,0 @@
project.name = "JucePluginDemo"
project.bindir = "build"
project.libdir = "build"
project.configs = { "Debug", "Release" }
package = newpackage()
package.name = "JucePluginDemo"
package.kind = "dll"
package.language = "c++"
package.objdir = "build/intermediate"
package.config["Debug"].objdir = "build/intermediate/Debug"
package.config["Release"].objdir = "build/intermediate/Release"
package.config["Debug"].defines = { "LINUX=1", "DEBUG=1", "_DEBUG=1" }
package.config["Debug"].buildoptions = { "-O0 -ggdb -g3 -Wall" }
package.config["Release"].defines = { "LINUX=1", "NDEBUG=1" }
package.config["Release"].buildoptions = { "-O2 -s" }
package.includepaths = {
"/usr/include",
"../../../../../",
"/usr/include/vst/source/common",
"/usr/include/vst",
"/usr/include/freetype2",
"../../src"
}
package.libpaths = {
"../../../../../bin",
"/usr/X11R6/lib/",
"/usr/lib"
}
package.config["Debug"].links = {
"freetype", "pthread", "rt", "X11", "GL", "GLU", "Xinerama", "asound", "juce_debug"
}
package.config["Release"].links = {
"freetype", "pthread", "rt", "X11", "GL", "GLU", "Xinerama", "asound", "juce"
}
package.files = {
matchfiles (
"../../../wrapper/*.h",
"../../../wrapper/*.cpp",
"../../../wrapper/VST/*.cpp"
),
matchrecursive (
"../../src/*.h",
"../../src/*.cpp"
)
}

View file

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleGetInfoString</key>
<string>${VERSION_STR}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.rawmaterialsoftware.${PRODUCT_NAME}</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>TDMw</string>
<key>CFBundleShortVersionString</key>
<string>1.1</string>
<key>CFBundleSignature</key>
<string>PTul</string>
<key>CFBundleVersion</key>
<string>${VERSION_NUM}</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View file

@ -1,733 +0,0 @@
// !$*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 */; };
8412B0331048273000072EA3 /* CADebugMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 8412B0321048273000072EA3 /* CADebugMacros.h */; };
843792AA0EFBF14B002A2725 /* DemoEditorComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843792A20EFBF14B002A2725 /* DemoEditorComponent.cpp */; };
843792AB0EFBF14B002A2725 /* DemoEditorComponent.h in Headers */ = {isa = PBXBuildFile; fileRef = 843792A30EFBF14B002A2725 /* DemoEditorComponent.h */; };
843792AC0EFBF14B002A2725 /* DemoJuceFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843792A40EFBF14B002A2725 /* DemoJuceFilter.cpp */; };
843792AD0EFBF14B002A2725 /* DemoJuceFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 843792A50EFBF14B002A2725 /* DemoJuceFilter.h */; };
843792AE0EFBF14B002A2725 /* includes.h in Headers */ = {isa = PBXBuildFile; fileRef = 843792A60EFBF14B002A2725 /* includes.h */; };
843792AF0EFBF14B002A2725 /* juce_AppConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 843792A70EFBF14B002A2725 /* juce_AppConfig.h */; };
843792B00EFBF14B002A2725 /* juce_LibrarySource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 843792A80EFBF14B002A2725 /* juce_LibrarySource.mm */; };
843792B10EFBF14B002A2725 /* JucePluginCharacteristics.h in Headers */ = {isa = PBXBuildFile; fileRef = 843792A90EFBF14B002A2725 /* JucePluginCharacteristics.h */; };
843792B50EFBF175002A2725 /* juce_AU_Resources.r in Rez */ = {isa = PBXBuildFile; fileRef = 843792B30EFBF175002A2725 /* juce_AU_Resources.r */; };
843792B60EFBF175002A2725 /* juce_AU_Wrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 843792B40EFBF175002A2725 /* juce_AU_Wrapper.mm */; };
8437956F0EFBF323002A2725 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843795640EFBF323002A2725 /* AudioUnit.framework */; };
843795700EFBF323002A2725 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843795650EFBF323002A2725 /* Cocoa.framework */; };
843795710EFBF323002A2725 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843795660EFBF323002A2725 /* OpenGL.framework */; };
843795720EFBF323002A2725 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843795670EFBF323002A2725 /* IOKit.framework */; };
843795730EFBF323002A2725 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843795680EFBF323002A2725 /* Carbon.framework */; };
843795740EFBF323002A2725 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 843795690EFBF323002A2725 /* CoreMIDI.framework */; };
843795750EFBF323002A2725 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8437956A0EFBF323002A2725 /* CoreAudio.framework */; };
843795760EFBF323002A2725 /* DiscRecording.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8437956B0EFBF323002A2725 /* DiscRecording.framework */; };
843795770EFBF323002A2725 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8437956C0EFBF323002A2725 /* QTKit.framework */; };
843795780EFBF323002A2725 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8437956D0EFBF323002A2725 /* WebKit.framework */; };
843796690EFBF357002A2725 /* AUMIDIBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8437965F0EFBF357002A2725 /* AUMIDIBase.cpp */; };
8437966A0EFBF357002A2725 /* AUMIDIBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 843796600EFBF357002A2725 /* AUMIDIBase.h */; };
8437966B0EFBF357002A2725 /* AUMIDIEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843796610EFBF357002A2725 /* AUMIDIEffectBase.cpp */; };
8437966C0EFBF357002A2725 /* AUMIDIEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 843796620EFBF357002A2725 /* AUMIDIEffectBase.h */; };
8437966D0EFBF357002A2725 /* AUOutputBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843796630EFBF357002A2725 /* AUOutputBase.cpp */; };
8437966E0EFBF357002A2725 /* AUOutputBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 843796640EFBF357002A2725 /* AUOutputBase.h */; };
843796710EFBF357002A2725 /* MusicDeviceBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843796670EFBF357002A2725 /* MusicDeviceBase.cpp */; };
843796720EFBF357002A2725 /* MusicDeviceBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 843796680EFBF357002A2725 /* MusicDeviceBase.h */; };
8437967F0EFBF5E4002A2725 /* juce_VST_Wrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8437967D0EFBF5E4002A2725 /* juce_VST_Wrapper.cpp */; };
843796800EFBF5E4002A2725 /* juce_VST_Wrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8437967E0EFBF5E4002A2725 /* juce_VST_Wrapper.mm */; };
843796DC0EFBFD16002A2725 /* juce_RTAS_DigiCode1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843796D50EFBFD16002A2725 /* juce_RTAS_DigiCode1.cpp */; };
843796DD0EFBFD16002A2725 /* juce_RTAS_DigiCode2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843796D60EFBFD16002A2725 /* juce_RTAS_DigiCode2.cpp */; };
843796DE0EFBFD16002A2725 /* juce_RTAS_DigiCode3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843796D70EFBFD16002A2725 /* juce_RTAS_DigiCode3.cpp */; };
843796DF0EFBFD16002A2725 /* juce_RTAS_DigiCode_Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 843796D80EFBFD16002A2725 /* juce_RTAS_DigiCode_Header.h */; };
843796E00EFBFD16002A2725 /* juce_RTAS_MacResources.r in Rez */ = {isa = PBXBuildFile; fileRef = 843796D90EFBFD16002A2725 /* juce_RTAS_MacResources.r */; };
843796E10EFBFD16002A2725 /* juce_RTAS_MacUtilities.mm in Sources */ = {isa = PBXBuildFile; fileRef = 843796DA0EFBFD16002A2725 /* juce_RTAS_MacUtilities.mm */; };
843796E20EFBFD16002A2725 /* juce_RTAS_Wrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 843796DB0EFBFD16002A2725 /* juce_RTAS_Wrapper.cpp */; };
8473149910663AB2001B84CC /* libPluginLibrary.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8473149610663A94001B84CC /* libPluginLibrary.a */; };
84978759103561A60020003B /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84978758103561A60020003B /* AudioToolbox.framework */; };
84D3AB5F0FCC744600EA8080 /* AUCarbonViewBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84D3AB5E0FCC744600EA8080 /* AUCarbonViewBase.cpp */; };
84D3AB630FCC749100EA8080 /* AUCarbonViewBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D3AB620FCC749100EA8080 /* AUCarbonViewBase.h */; };
84D3AB670FCC74B300EA8080 /* CarbonEventHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84D3AB650FCC74B300EA8080 /* CarbonEventHandler.cpp */; };
84D3AB680FCC74B300EA8080 /* CarbonEventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D3AB660FCC74B300EA8080 /* CarbonEventHandler.h */; };
84D3AB6C0FCC74DA00EA8080 /* AUCarbonViewControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84D3AB6A0FCC74DA00EA8080 /* AUCarbonViewControl.cpp */; };
84D3AB6D0FCC74DA00EA8080 /* AUCarbonViewControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D3AB6B0FCC74DA00EA8080 /* AUCarbonViewControl.h */; };
84D3AB700FCC74F400EA8080 /* AUCarbonViewDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84D3AB6F0FCC74F400EA8080 /* AUCarbonViewDispatch.cpp */; };
84D3AB740FCC759700EA8080 /* AUViewLocalizedStringKeys.h in Headers */ = {isa = PBXBuildFile; fileRef = 84D3AB730FCC759700EA8080 /* AUViewLocalizedStringKeys.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 */; };
8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; };
8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
8473149510663A94001B84CC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 8473148E10663A94001B84CC /* PluginLibrary.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = B65B09B30860FB0800FE2E6A;
remoteInfo = "Plugin Library";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
8412B0321048273000072EA3 /* CADebugMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CADebugMacros.h; sourceTree = "<group>"; };
843792A20EFBF14B002A2725 /* DemoEditorComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DemoEditorComponent.cpp; path = ../../src/DemoEditorComponent.cpp; sourceTree = SOURCE_ROOT; };
843792A30EFBF14B002A2725 /* DemoEditorComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DemoEditorComponent.h; path = ../../src/DemoEditorComponent.h; sourceTree = SOURCE_ROOT; };
843792A40EFBF14B002A2725 /* DemoJuceFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DemoJuceFilter.cpp; path = ../../src/DemoJuceFilter.cpp; sourceTree = SOURCE_ROOT; };
843792A50EFBF14B002A2725 /* DemoJuceFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DemoJuceFilter.h; path = ../../src/DemoJuceFilter.h; sourceTree = SOURCE_ROOT; };
843792A60EFBF14B002A2725 /* includes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = includes.h; path = ../../src/includes.h; sourceTree = SOURCE_ROOT; };
843792A70EFBF14B002A2725 /* juce_AppConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = juce_AppConfig.h; path = ../../src/juce_AppConfig.h; sourceTree = SOURCE_ROOT; };
843792A80EFBF14B002A2725 /* juce_LibrarySource.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = juce_LibrarySource.mm; path = ../../src/juce_LibrarySource.mm; sourceTree = SOURCE_ROOT; };
843792A90EFBF14B002A2725 /* JucePluginCharacteristics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JucePluginCharacteristics.h; path = ../../src/JucePluginCharacteristics.h; sourceTree = SOURCE_ROOT; };
843792B30EFBF175002A2725 /* juce_AU_Resources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; name = juce_AU_Resources.r; path = ../../../wrapper/AU/juce_AU_Resources.r; sourceTree = SOURCE_ROOT; };
843792B40EFBF175002A2725 /* juce_AU_Wrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 2; name = juce_AU_Wrapper.mm; path = ../../../wrapper/AU/juce_AU_Wrapper.mm; sourceTree = SOURCE_ROOT; };
843795640EFBF323002A2725 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
843795650EFBF323002A2725 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
843795660EFBF323002A2725 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
843795670EFBF323002A2725 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
843795680EFBF323002A2725 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
843795690EFBF323002A2725 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = /System/Library/Frameworks/CoreMIDI.framework; sourceTree = "<absolute>"; };
8437956A0EFBF323002A2725 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
8437956B0EFBF323002A2725 /* DiscRecording.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = /System/Library/Frameworks/DiscRecording.framework; sourceTree = "<absolute>"; };
8437956C0EFBF323002A2725 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = /System/Library/Frameworks/QTKit.framework; sourceTree = "<absolute>"; };
8437956D0EFBF323002A2725 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = /System/Library/Frameworks/WebKit.framework; sourceTree = "<absolute>"; };
8437965F0EFBF357002A2725 /* AUMIDIBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUMIDIBase.cpp; sourceTree = "<group>"; };
843796600EFBF357002A2725 /* AUMIDIBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIBase.h; sourceTree = "<group>"; };
843796610EFBF357002A2725 /* AUMIDIEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUMIDIEffectBase.cpp; sourceTree = "<group>"; };
843796620EFBF357002A2725 /* AUMIDIEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUMIDIEffectBase.h; sourceTree = "<group>"; };
843796630EFBF357002A2725 /* AUOutputBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputBase.cpp; sourceTree = "<group>"; };
843796640EFBF357002A2725 /* AUOutputBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AUOutputBase.h; sourceTree = "<group>"; };
843796670EFBF357002A2725 /* MusicDeviceBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicDeviceBase.cpp; sourceTree = "<group>"; };
843796680EFBF357002A2725 /* MusicDeviceBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MusicDeviceBase.h; sourceTree = "<group>"; };
8437967D0EFBF5E4002A2725 /* juce_VST_Wrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = juce_VST_Wrapper.cpp; path = ../../../wrapper/VST/juce_VST_Wrapper.cpp; sourceTree = SOURCE_ROOT; };
8437967E0EFBF5E4002A2725 /* juce_VST_Wrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; lineEnding = 2; name = juce_VST_Wrapper.mm; path = ../../../wrapper/VST/juce_VST_Wrapper.mm; sourceTree = SOURCE_ROOT; };
843796D50EFBFD16002A2725 /* juce_RTAS_DigiCode1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode1.cpp; path = ../../../wrapper/RTAS/juce_RTAS_DigiCode1.cpp; sourceTree = SOURCE_ROOT; };
843796D60EFBFD16002A2725 /* juce_RTAS_DigiCode2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode2.cpp; path = ../../../wrapper/RTAS/juce_RTAS_DigiCode2.cpp; sourceTree = SOURCE_ROOT; };
843796D70EFBFD16002A2725 /* juce_RTAS_DigiCode3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_DigiCode3.cpp; path = ../../../wrapper/RTAS/juce_RTAS_DigiCode3.cpp; sourceTree = SOURCE_ROOT; };
843796D80EFBFD16002A2725 /* juce_RTAS_DigiCode_Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = juce_RTAS_DigiCode_Header.h; path = ../../../wrapper/RTAS/juce_RTAS_DigiCode_Header.h; sourceTree = SOURCE_ROOT; };
843796D90EFBFD16002A2725 /* juce_RTAS_MacResources.r */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.rez; name = juce_RTAS_MacResources.r; path = ../../../wrapper/RTAS/juce_RTAS_MacResources.r; sourceTree = SOURCE_ROOT; };
843796DA0EFBFD16002A2725 /* juce_RTAS_MacUtilities.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_RTAS_MacUtilities.mm; path = ../../../wrapper/RTAS/juce_RTAS_MacUtilities.mm; sourceTree = SOURCE_ROOT; };
843796DB0EFBFD16002A2725 /* juce_RTAS_Wrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RTAS_Wrapper.cpp; path = ../../../wrapper/RTAS/juce_RTAS_Wrapper.cpp; sourceTree = SOURCE_ROOT; };
843796F40EFC0102002A2725 /* CommonDebugSettings.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonDebugSettings.xcconfig; path = /Users/jules/SDKs/PT_80_SDK/AlturaPorts/TDMPlugIns/common/Mac/CommonDebugSettings.xcconfig; sourceTree = "<absolute>"; };
843796F50EFC0102002A2725 /* CommonReleaseSettings.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = CommonReleaseSettings.xcconfig; path = /Users/jules/SDKs/PT_80_SDK/AlturaPorts/TDMPlugIns/common/Mac/CommonReleaseSettings.xcconfig; sourceTree = "<absolute>"; };
8473148E10663A94001B84CC /* PluginLibrary.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = PluginLibrary.xcodeproj; path = /Users/jules/SDKs/PT_80_SDK/AlturaPorts/TDMPlugIns/PlugInLibrary/MacBuild/PluginLibrary.xcodeproj; sourceTree = "<absolute>"; };
84978758103561A60020003B /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
84D3AB5E0FCC744600EA8080 /* AUCarbonViewBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewBase.cpp; path = AUCarbonViewBase/AUCarbonViewBase.cpp; sourceTree = "<group>"; };
84D3AB620FCC749100EA8080 /* AUCarbonViewBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewBase.h; path = AUCarbonViewBase/AUCarbonViewBase.h; sourceTree = "<group>"; };
84D3AB650FCC74B300EA8080 /* CarbonEventHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CarbonEventHandler.cpp; path = AUCarbonViewBase/CarbonEventHandler.cpp; sourceTree = "<group>"; };
84D3AB660FCC74B300EA8080 /* CarbonEventHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CarbonEventHandler.h; path = AUCarbonViewBase/CarbonEventHandler.h; sourceTree = "<group>"; };
84D3AB6A0FCC74DA00EA8080 /* AUCarbonViewControl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewControl.cpp; path = AUCarbonViewBase/AUCarbonViewControl.cpp; sourceTree = "<group>"; };
84D3AB6B0FCC74DA00EA8080 /* AUCarbonViewControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUCarbonViewControl.h; path = AUCarbonViewBase/AUCarbonViewControl.h; sourceTree = "<group>"; };
84D3AB6F0FCC74F400EA8080 /* AUCarbonViewDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUCarbonViewDispatch.cpp; path = AUCarbonViewBase/AUCarbonViewDispatch.cpp; sourceTree = "<group>"; };
84D3AB730FCC759700EA8080 /* AUViewLocalizedStringKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = AUViewBase/AUViewLocalizedStringKeys.h; sourceTree = "<group>"; };
8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = "<group>"; };
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = "<group>"; };
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
8D01CCD20486CAD60068D4B7 /* JuceDemoPlugin.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = JuceDemoPlugin.component; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D01CCCD0486CAD60068D4B7 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8473149910663AB2001B84CC /* libPluginLibrary.a in Frameworks */,
8437956F0EFBF323002A2725 /* AudioUnit.framework in Frameworks */,
843795700EFBF323002A2725 /* Cocoa.framework in Frameworks */,
843795710EFBF323002A2725 /* OpenGL.framework in Frameworks */,
843795720EFBF323002A2725 /* IOKit.framework in Frameworks */,
843795730EFBF323002A2725 /* Carbon.framework in Frameworks */,
843795740EFBF323002A2725 /* CoreMIDI.framework in Frameworks */,
843795750EFBF323002A2725 /* CoreAudio.framework in Frameworks */,
843795760EFBF323002A2725 /* DiscRecording.framework in Frameworks */,
843795770EFBF323002A2725 /* QTKit.framework in Frameworks */,
843795780EFBF323002A2725 /* WebKit.framework in Frameworks */,
84978759103561A60020003B /* AudioToolbox.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
089C166AFE841209C02AAC07 /* JuceDemoPlugin */ = {
isa = PBXGroup;
children = (
843796F40EFC0102002A2725 /* CommonDebugSettings.xcconfig */,
843796F50EFC0102002A2725 /* CommonReleaseSettings.xcconfig */,
08FB77ADFE841716C02AAC07 /* Source */,
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = JuceDemoPlugin;
sourceTree = "<group>";
};
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
isa = PBXGroup;
children = (
8473148E10663A94001B84CC /* PluginLibrary.xcodeproj */,
843795640EFBF323002A2725 /* AudioUnit.framework */,
84978758103561A60020003B /* AudioToolbox.framework */,
843795650EFBF323002A2725 /* Cocoa.framework */,
843795660EFBF323002A2725 /* OpenGL.framework */,
843795670EFBF323002A2725 /* IOKit.framework */,
843795680EFBF323002A2725 /* Carbon.framework */,
843795690EFBF323002A2725 /* CoreMIDI.framework */,
8437956A0EFBF323002A2725 /* CoreAudio.framework */,
8437956B0EFBF323002A2725 /* DiscRecording.framework */,
8437956C0EFBF323002A2725 /* QTKit.framework */,
8437956D0EFBF323002A2725 /* WebKit.framework */,
);
name = "External Frameworks and Libraries";
sourceTree = "<group>";
};
089C167CFE841241C02AAC07 /* Resources */ = {
isa = PBXGroup;
children = (
8D01CCD10486CAD60068D4B7 /* Info.plist */,
);
name = Resources;
sourceTree = "<group>";
};
08FB77ADFE841716C02AAC07 /* Source */ = {
isa = PBXGroup;
children = (
8437929D0EFBF08E002A2725 /* Filter */,
8437929E0EFBF098002A2725 /* Wrapper Code */,
);
name = Source;
sourceTree = "<group>";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D01CCD20486CAD60068D4B7 /* JuceDemoPlugin.component */,
);
name = Products;
sourceTree = "<group>";
};
8437929D0EFBF08E002A2725 /* Filter */ = {
isa = PBXGroup;
children = (
843792A20EFBF14B002A2725 /* DemoEditorComponent.cpp */,
843792A30EFBF14B002A2725 /* DemoEditorComponent.h */,
843792A40EFBF14B002A2725 /* DemoJuceFilter.cpp */,
843792A50EFBF14B002A2725 /* DemoJuceFilter.h */,
843792A60EFBF14B002A2725 /* includes.h */,
843792A70EFBF14B002A2725 /* juce_AppConfig.h */,
843792A80EFBF14B002A2725 /* juce_LibrarySource.mm */,
843792A90EFBF14B002A2725 /* JucePluginCharacteristics.h */,
);
name = Filter;
sourceTree = "<group>";
};
8437929E0EFBF098002A2725 /* Wrapper Code */ = {
isa = PBXGroup;
children = (
843796D40EFBFCE3002A2725 /* Juce RTAS Wrapper */,
8437967C0EFBF5C6002A2725 /* Juce VST Wrapper */,
843792B20EFBF157002A2725 /* Juce AU Wrapper */,
8BA05AEB0720742700365D66 /* PublicUtility */,
8BA05A7D072073D200365D66 /* AUPublic */,
);
name = "Wrapper Code";
sourceTree = "<group>";
};
843792B20EFBF157002A2725 /* Juce AU Wrapper */ = {
isa = PBXGroup;
children = (
843792B30EFBF175002A2725 /* juce_AU_Resources.r */,
843792B40EFBF175002A2725 /* juce_AU_Wrapper.mm */,
);
name = "Juce AU Wrapper";
sourceTree = "<group>";
};
8437967C0EFBF5C6002A2725 /* Juce VST Wrapper */ = {
isa = PBXGroup;
children = (
8437967D0EFBF5E4002A2725 /* juce_VST_Wrapper.cpp */,
8437967E0EFBF5E4002A2725 /* juce_VST_Wrapper.mm */,
);
name = "Juce VST Wrapper";
sourceTree = "<group>";
};
843796D40EFBFCE3002A2725 /* Juce RTAS Wrapper */ = {
isa = PBXGroup;
children = (
843796D50EFBFD16002A2725 /* juce_RTAS_DigiCode1.cpp */,
843796D60EFBFD16002A2725 /* juce_RTAS_DigiCode2.cpp */,
843796D70EFBFD16002A2725 /* juce_RTAS_DigiCode3.cpp */,
843796D80EFBFD16002A2725 /* juce_RTAS_DigiCode_Header.h */,
843796D90EFBFD16002A2725 /* juce_RTAS_MacResources.r */,
843796DA0EFBFD16002A2725 /* juce_RTAS_MacUtilities.mm */,
843796DB0EFBFD16002A2725 /* juce_RTAS_Wrapper.cpp */,
);
name = "Juce RTAS Wrapper";
sourceTree = "<group>";
};
8473148F10663A94001B84CC /* Products */ = {
isa = PBXGroup;
children = (
8473149610663A94001B84CC /* libPluginLibrary.a */,
);
name = Products;
sourceTree = "<group>";
};
84D3AB5D0FCC741E00EA8080 /* AUCarbonViewBase */ = {
isa = PBXGroup;
children = (
84D3AB6F0FCC74F400EA8080 /* AUCarbonViewDispatch.cpp */,
84D3AB6A0FCC74DA00EA8080 /* AUCarbonViewControl.cpp */,
84D3AB6B0FCC74DA00EA8080 /* AUCarbonViewControl.h */,
84D3AB650FCC74B300EA8080 /* CarbonEventHandler.cpp */,
84D3AB660FCC74B300EA8080 /* CarbonEventHandler.h */,
84D3AB5E0FCC744600EA8080 /* AUCarbonViewBase.cpp */,
84D3AB620FCC749100EA8080 /* AUCarbonViewBase.h */,
);
name = AUCarbonViewBase;
sourceTree = "<group>";
};
84D3AB720FCC758200EA8080 /* AUViewBase */ = {
isa = PBXGroup;
children = (
84D3AB730FCC759700EA8080 /* AUViewLocalizedStringKeys.h */,
);
name = AUViewBase;
sourceTree = "<group>";
};
8BA05A7D072073D200365D66 /* AUPublic */ = {
isa = PBXGroup;
children = (
84D3AB720FCC758200EA8080 /* AUViewBase */,
84D3AB5D0FCC741E00EA8080 /* AUCarbonViewBase */,
8BA05A7E072073D200365D66 /* AUBase */,
8BA05A99072073D200365D66 /* OtherBases */,
8BA05AA6072073D200365D66 /* Utility */,
);
name = AUPublic;
path = Extras/CoreAudio/AudioUnits/AUPublic;
sourceTree = 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 = "<group>";
};
8BA05A99072073D200365D66 /* OtherBases */ = {
isa = PBXGroup;
children = (
8437965F0EFBF357002A2725 /* AUMIDIBase.cpp */,
843796600EFBF357002A2725 /* AUMIDIBase.h */,
843796610EFBF357002A2725 /* AUMIDIEffectBase.cpp */,
843796620EFBF357002A2725 /* AUMIDIEffectBase.h */,
843796630EFBF357002A2725 /* AUOutputBase.cpp */,
843796640EFBF357002A2725 /* AUOutputBase.h */,
843796670EFBF357002A2725 /* MusicDeviceBase.cpp */,
843796680EFBF357002A2725 /* MusicDeviceBase.h */,
8BA05A9A072073D200365D66 /* AUEffectBase.cpp */,
8BA05A9B072073D200365D66 /* AUEffectBase.h */,
);
path = OtherBases;
sourceTree = "<group>";
};
8BA05AA6072073D200365D66 /* Utility */ = {
isa = PBXGroup;
children = (
8BA05AA7072073D200365D66 /* AUBuffer.cpp */,
8BA05AA8072073D200365D66 /* AUBuffer.h */,
8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */,
8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */,
8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */,
8BA05AAC072073D200365D66 /* AUSilentTimeout.h */,
8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */,
);
path = Utility;
sourceTree = "<group>";
};
8BA05AEB0720742700365D66 /* PublicUtility */ = {
isa = PBXGroup;
children = (
8412B0321048273000072EA3 /* CADebugMacros.h */,
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 = DEVELOPER_DIR;
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
8D01CCC70486CAD60068D4B7 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
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 */,
3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */,
3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */,
843792AB0EFBF14B002A2725 /* DemoEditorComponent.h in Headers */,
843792AD0EFBF14B002A2725 /* DemoJuceFilter.h in Headers */,
843792AE0EFBF14B002A2725 /* includes.h in Headers */,
843792AF0EFBF14B002A2725 /* juce_AppConfig.h in Headers */,
843792B10EFBF14B002A2725 /* JucePluginCharacteristics.h in Headers */,
8437966A0EFBF357002A2725 /* AUMIDIBase.h in Headers */,
8437966C0EFBF357002A2725 /* AUMIDIEffectBase.h in Headers */,
8437966E0EFBF357002A2725 /* AUOutputBase.h in Headers */,
843796720EFBF357002A2725 /* MusicDeviceBase.h in Headers */,
843796DF0EFBFD16002A2725 /* juce_RTAS_DigiCode_Header.h in Headers */,
84D3AB630FCC749100EA8080 /* AUCarbonViewBase.h in Headers */,
84D3AB680FCC74B300EA8080 /* CarbonEventHandler.h in Headers */,
84D3AB6D0FCC74DA00EA8080 /* AUCarbonViewControl.h in Headers */,
84D3AB740FCC759700EA8080 /* AUViewLocalizedStringKeys.h in Headers */,
8412B0331048273000072EA3 /* CADebugMacros.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
8D01CCC60486CAD60068D4B7 /* JuceDemoPlugin */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "JuceDemoPlugin" */;
buildPhases = (
8D01CCC70486CAD60068D4B7 /* Headers */,
8D01CCC90486CAD60068D4B7 /* Resources */,
8D01CCCB0486CAD60068D4B7 /* Sources */,
8D01CCCD0486CAD60068D4B7 /* Frameworks */,
8D01CCCF0486CAD60068D4B7 /* Rez */,
847A7D6510694C5500DD8999 /* Copy into the different plugin folders */,
);
buildRules = (
);
dependencies = (
);
name = JuceDemoPlugin;
productInstallPath = "$(HOME)/Library/Bundles";
productName = JuceDemoPlugin;
productReference = 8D01CCD20486CAD60068D4B7 /* JuceDemoPlugin.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 "JuceDemoPlugin" */;
compatibilityVersion = "Xcode 3.1";
hasScannedForEncodings = 1;
mainGroup = 089C166AFE841209C02AAC07 /* JuceDemoPlugin */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 8473148F10663A94001B84CC /* Products */;
ProjectRef = 8473148E10663A94001B84CC /* PluginLibrary.xcodeproj */;
},
);
projectRoot = "";
targets = (
8D01CCC60486CAD60068D4B7 /* JuceDemoPlugin */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
8473149610663A94001B84CC /* libPluginLibrary.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libPluginLibrary.a;
remoteRef = 8473149510663A94001B84CC /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
8D01CCC90486CAD60068D4B7 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXRezBuildPhase section */
8D01CCCF0486CAD60068D4B7 /* Rez */ = {
isa = PBXRezBuildPhase;
buildActionMask = 2147483647;
files = (
843792B50EFBF175002A2725 /* juce_AU_Resources.r in Rez */,
843796E00EFBFD16002A2725 /* juce_RTAS_MacResources.r in Rez */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXRezBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
847A7D6510694C5500DD8999 /* Copy into the different plugin folders */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Copy into the different plugin folders";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\n# This script takes the build product and copies it to the AU, VST, and RTAS folders, depending on \n# which plugin types you've built\n\noriginal=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\n\n# this looks inside the binary to detect which platforms are needed.. \ncopyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\ncopyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\ncopyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\n\nif [ $copyAU -gt 0 ]; then\n echo \"Copying to AudioUnit folder...\"\n AU=~/Library/Audio/Plug-Ins/Components/$PRODUCT_NAME.component\n if [ -d \"$AU\" ]; then \n rm -r \"$AU\"\n fi\n\n cp -r \"$original\" \"$AU\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyVST -gt 0 ]; then\n echo \"Copying to VST folder...\"\n VST=~/Library/Audio/Plug-Ins/VST/$PRODUCT_NAME.vst\n if [ -d \"$VST\" ]; then \n rm -r \"$VST\"\n fi\n\n cp -r \"$original\" \"$VST\"\n sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\n sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\nfi\n\nif [ $copyRTAS -gt 0 ]; then\n echo \"Copying to RTAS folder...\"\n RTAS=/Library/Application\\ Support/Digidesign/Plug-Ins/$PRODUCT_NAME.dpm\n if [ -d \"$RTAS\" ]; then\n rm -r \"$RTAS\"\n fi\n\n cp -r \"$original\" \"$RTAS\"\nfi\n";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D01CCCB0486CAD60068D4B7 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
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 */,
843792AA0EFBF14B002A2725 /* DemoEditorComponent.cpp in Sources */,
843792AC0EFBF14B002A2725 /* DemoJuceFilter.cpp in Sources */,
843792B00EFBF14B002A2725 /* juce_LibrarySource.mm in Sources */,
843792B60EFBF175002A2725 /* juce_AU_Wrapper.mm in Sources */,
843796690EFBF357002A2725 /* AUMIDIBase.cpp in Sources */,
8437966B0EFBF357002A2725 /* AUMIDIEffectBase.cpp in Sources */,
8437966D0EFBF357002A2725 /* AUOutputBase.cpp in Sources */,
843796710EFBF357002A2725 /* MusicDeviceBase.cpp in Sources */,
8437967F0EFBF5E4002A2725 /* juce_VST_Wrapper.cpp in Sources */,
843796800EFBF5E4002A2725 /* juce_VST_Wrapper.mm in Sources */,
843796DC0EFBFD16002A2725 /* juce_RTAS_DigiCode1.cpp in Sources */,
843796DD0EFBFD16002A2725 /* juce_RTAS_DigiCode2.cpp in Sources */,
843796DE0EFBFD16002A2725 /* juce_RTAS_DigiCode3.cpp in Sources */,
843796E10EFBFD16002A2725 /* juce_RTAS_MacUtilities.mm in Sources */,
843796E20EFBFD16002A2725 /* juce_RTAS_Wrapper.cpp in Sources */,
84D3AB5F0FCC744600EA8080 /* AUCarbonViewBase.cpp in Sources */,
84D3AB670FCC74B300EA8080 /* CarbonEventHandler.cpp in Sources */,
84D3AB6C0FCC74DA00EA8080 /* AUCarbonViewControl.cpp in Sources */,
84D3AB700FCC74F400EA8080 /* AUCarbonViewDispatch.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
3E4BA244089833B7007656EC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GENERATE_PKGINFO_FILE = YES;
HEADER_SEARCH_PATHS = (
"~/SDKs/vstsdk2.4",
"$(HEADER_SEARCH_PATHS)",
);
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 ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\"";
PRODUCT_NAME = JuceDemoPlugin;
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
WRAPPER_EXTENSION = component;
};
name = Debug;
};
3E4BA245089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_ENABLE_FIX_AND_CONTINUE = NO;
GENERATE_PKGINFO_FILE = YES;
HEADER_SEARCH_PATHS = (
"~/SDKs/vstsdk2.4",
"$(HEADER_SEARCH_PATHS)",
);
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)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\"";
PRODUCT_NAME = JuceDemoPlugin;
WARNING_CFLAGS = (
"-Wmost",
"-Wno-four-char-constants",
"-Wno-unknown-pragmas",
);
WRAPPER_EXTENSION = component;
};
name = Release;
};
3E4BA248089833B7007656EC /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 843796F40EFC0102002A2725 /* CommonDebugSettings.xcconfig */;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_VERSION = 4.0;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
GENERATE_PKGINFO_FILE = YES;
INFOPLIST_FILE = Info.plist;
INFOPLIST_PREPROCESS = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx10.5;
};
name = Debug;
};
3E4BA249089833B7007656EC /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 843796F50EFC0102002A2725 /* CommonReleaseSettings.xcconfig */;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_VERSION = 4.0;
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO;
GENERATE_PKGINFO_FILE = YES;
INFOPLIST_PREPROCESS = YES;
SDKROOT = macosx10.5;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "JuceDemoPlugin" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA244089833B7007656EC /* Debug */,
3E4BA245089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
3E4BA247089833B7007656EC /* Build configuration list for PBXProject "JuceDemoPlugin" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3E4BA248089833B7007656EC /* Debug */,
3E4BA249089833B7007656EC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}

View file

@ -1,20 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JuceDemoPlugin", "JuceDemoPlugin.vcproj", "{39DADE4E-B715-4809-AD10-2F5A4213D633}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{39DADE4E-B715-4809-AD10-2F5A4213D633}.Debug|Win32.ActiveCfg = Debug|Win32
{39DADE4E-B715-4809-AD10-2F5A4213D633}.Debug|Win32.Build.0 = Debug|Win32
{39DADE4E-B715-4809-AD10-2F5A4213D633}.Release|Win32.ActiveCfg = Release|Win32
{39DADE4E-B715-4809-AD10-2F5A4213D633}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -1,347 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="JuceDemoPlugin"
ProjectGUID="{39DADE4E-B715-4809-AD10-2F5A4213D633}"
RootNamespace="JuceDemoPlugin"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
CommandLine="copy /Y &quot;..\..\..\wrapper\RTAS\juce_RTAS_WinResources.rsr&quot; &quot;$(TargetPath)&quot;.rsr&#x0D;&#x0A;"
Outputs="&quot;$(TargetPath)&quot;.rsr"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../../src"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;JUCEDEMOPLUGIN_EXPORTS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/FORCE:multiple"
OutputFile="$(OutDir)\$(ProjectName).dpm"
LinkIncremental="2"
ModuleDefinitionFile="../../../wrapper/RTAS/juce_RTAS_WinExports.def"
DelayLoadDLLs="DAE.dll; DigiExt.dll; DSI.dll; PluginLib.dll; DSPManager.dll"
GenerateDebugInformation="true"
SubSystem="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
CommandLine="copy /Y &quot;..\..\..\wrapper\RTAS\juce_RTAS_WinResources.rsr&quot; &quot;$(TargetPath)&quot;.rsr&#x0D;&#x0A;"
Outputs="&quot;$(TargetPath)&quot;.rsr"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../src"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;JUCEDEMOPLUGIN_EXPORTS"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalOptions="/FORCE:multiple"
OutputFile="$(OutDir)\$(ProjectName).dpm"
LinkIncremental="1"
ModuleDefinitionFile="../../../wrapper/RTAS/juce_RTAS_WinExports.def"
DelayLoadDLLs="DAE.dll; DigiExt.dll; DSI.dll; PluginLib.dll; DSPManager.dll"
GenerateDebugInformation="true"
SubSystem="2"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<Filter
Name="plugin"
>
<File
RelativePath="..\..\src\DemoEditorComponent.cpp"
>
</File>
<File
RelativePath="..\..\src\DemoEditorComponent.h"
>
</File>
<File
RelativePath="..\..\src\DemoJuceFilter.cpp"
>
</File>
<File
RelativePath="..\..\src\DemoJuceFilter.h"
>
</File>
<File
RelativePath="..\..\src\includes.h"
>
</File>
<File
RelativePath="..\..\src\juce_AppConfig.h"
>
</File>
<File
RelativePath="..\..\src\juce_LibrarySource.cpp"
>
</File>
<File
RelativePath="..\..\src\JucePluginCharacteristics.h"
>
</File>
</Filter>
<Filter
Name="wrapper"
>
<Filter
Name="VST"
>
<File
RelativePath="..\..\..\wrapper\VST\juce_VST_Wrapper.cpp"
>
</File>
</Filter>
<Filter
Name="RTAS"
>
<File
RelativePath="..\..\..\wrapper\RTAS\juce_RTAS_DigiCode1.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
CallingConvention="2"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
CallingConvention="2"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\wrapper\RTAS\juce_RTAS_DigiCode2.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
CallingConvention="2"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
CallingConvention="2"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\wrapper\RTAS\juce_RTAS_DigiCode3.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
CallingConvention="2"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
CallingConvention="2"
/>
</FileConfiguration>
</File>
<File
RelativePath="..\..\..\wrapper\RTAS\juce_RTAS_DigiCode_Header.h"
>
</File>
<File
RelativePath="..\..\..\wrapper\RTAS\juce_RTAS_WinUtilities.cpp"
>
</File>
<File
RelativePath="..\..\..\wrapper\RTAS\juce_RTAS_Wrapper.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
CallingConvention="2"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
CallingConvention="2"
/>
</FileConfiguration>
</File>
</Filter>
</Filter>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View file

@ -1,196 +0,0 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
#include "includes.h"
#include "DemoEditorComponent.h"
//==============================================================================
// quick-and-dirty function to format a timecode string
static const String timeToTimecodeString (const double seconds)
{
const double absSecs = fabs (seconds);
const tchar* const sign = (seconds < 0) ? T("-") : T("");
const int hours = (int) (absSecs / (60.0 * 60.0));
const int mins = ((int) (absSecs / 60.0)) % 60;
const int secs = ((int) absSecs) % 60;
String t;
if (seconds < 0)
t = T("-");
t << String (hours).paddedLeft ('0', 2) << ":"
<< String (mins).paddedLeft ('0', 2) << ":"
<< String (secs).paddedLeft ('0', 2) << ":"
<< String (roundToInt (absSecs * 1000) % 1000).paddedLeft ('0', 3);
return t;
}
// quick-and-dirty function to format a bars/beats string
static const String ppqToBarsBeatsString (const double ppq,
const double lastBarPPQ,
const int numerator,
const int denominator)
{
if (numerator == 0 || denominator == 0)
return T("1|1|0");
const int ppqPerBar = (numerator * 4 / denominator);
const double beats = (fmod (ppq, ppqPerBar) / ppqPerBar) * numerator;
const int bar = ((int) ppq) / ppqPerBar + 1;
const int beat = ((int) beats) + 1;
const int ticks = ((int) (fmod (beats, 1.0) * 960.0));
String s;
s << bar << T('|') << beat << T('|') << ticks;
return s;
}
//==============================================================================
DemoEditorComponent::DemoEditorComponent (DemoJuceFilter* const ownerFilter)
: AudioProcessorEditor (ownerFilter)
{
// create our gain slider..
addAndMakeVisible (gainSlider = new Slider (T("gain")));
gainSlider->addListener (this);
gainSlider->setRange (0.0, 1.0, 0.01);
gainSlider->setTooltip (T("changes the volume of the audio that runs through the plugin.."));
// get the gain parameter from the filter and use it to set up our slider
gainSlider->setValue (ownerFilter->getParameter (0), false);
// create and add the midi keyboard component..
addAndMakeVisible (midiKeyboard
= new MidiKeyboardComponent (ownerFilter->keyboardState,
MidiKeyboardComponent::horizontalKeyboard));
// add a label that will display the current timecode and status..
addAndMakeVisible (infoLabel = new Label (String::empty, String::empty));
// add the triangular resizer component for the bottom-right of the UI
addAndMakeVisible (resizer = new ResizableCornerComponent (this, &resizeLimits));
resizeLimits.setSizeLimits (150, 150, 800, 300);
// set our component's initial size to be the last one that was stored in the filter's settings
setSize (ownerFilter->lastUIWidth,
ownerFilter->lastUIHeight);
// register ourselves with the filter - it will use its ChangeBroadcaster base
// class to tell us when something has changed, and this will call our changeListenerCallback()
// method.
ownerFilter->addChangeListener (this);
}
DemoEditorComponent::~DemoEditorComponent()
{
getFilter()->removeChangeListener (this);
deleteAllChildren();
}
//==============================================================================
void DemoEditorComponent::paint (Graphics& g)
{
// just clear the window
g.fillAll (Colour::greyLevel (0.9f));
}
void DemoEditorComponent::resized()
{
gainSlider->setBounds (10, 10, 200, 22);
infoLabel->setBounds (10, 35, 450, 20);
const int keyboardHeight = 70;
midiKeyboard->setBounds (4, getHeight() - keyboardHeight - 4,
getWidth() - 8, keyboardHeight);
resizer->setBounds (getWidth() - 16, getHeight() - 16, 16, 16);
// if we've been resized, tell the filter so that it can store the new size
// in its settings
getFilter()->lastUIWidth = getWidth();
getFilter()->lastUIHeight = getHeight();
}
//==============================================================================
void DemoEditorComponent::changeListenerCallback (void* source)
{
// this is the filter telling us that it's changed, so we'll update our
// display of the time, midi message, etc.
updateParametersFromFilter();
}
void DemoEditorComponent::sliderValueChanged (Slider*)
{
getFilter()->setParameterNotifyingHost (0, (float) gainSlider->getValue());
}
//==============================================================================
void DemoEditorComponent::updateParametersFromFilter()
{
DemoJuceFilter* const filter = getFilter();
// we use this lock to make sure the processBlock() method isn't writing to the
// lastMidiMessage variable while we're trying to read it, but be extra-careful to
// only hold the lock for a minimum amount of time..
filter->getCallbackLock().enter();
// take a local copy of the info we need while we've got the lock..
const AudioPlayHead::CurrentPositionInfo positionInfo (filter->lastPosInfo);
const float newGain = filter->getParameter (0);
// ..release the lock ASAP
filter->getCallbackLock().exit();
// ..and after releasing the lock, we're free to do the time-consuming UI stuff..
String infoText;
infoText << String (positionInfo.bpm, 2) << T(" bpm, ")
<< positionInfo.timeSigNumerator << T("/") << positionInfo.timeSigDenominator
<< T(" - ") << timeToTimecodeString (positionInfo.timeInSeconds)
<< T(" - ") << ppqToBarsBeatsString (positionInfo.ppqPosition,
positionInfo.ppqPositionOfLastBarStart,
positionInfo.timeSigNumerator,
positionInfo.timeSigDenominator);
if (positionInfo.isPlaying)
infoText << T(" (playing)");
infoLabel->setText (infoText, false);
/* Update our slider.
(note that it's important here to tell the slider not to send a change
message, because that would cause it to call the filter with a parameter
change message again, and the values would drift out.
*/
gainSlider->setValue (newGain, false);
setSize (filter->lastUIWidth,
filter->lastUIHeight);
}

View file

@ -1,93 +0,0 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
#ifndef DEMOJUCEPLUGINEDITOR_H
#define DEMOJUCEPLUGINEDITOR_H
#include "DemoJuceFilter.h"
//==============================================================================
/**
This is the Component that our filter will use as its UI.
One or more of these is created by the DemoJuceFilter::createEditor() method,
and they will be deleted at some later time by the wrapper code.
To demonstrate the correct way of connecting a filter to its UI, this
class is a ChangeListener, and our demo filter is a ChangeBroadcaster. The
editor component registers with the filter when it's created and deregisters
when it's destroyed. When the filter's parameters are changed, it broadcasts
a message and this editor responds by updating its display.
*/
class DemoEditorComponent : public AudioProcessorEditor,
public ChangeListener,
public SliderListener
{
public:
/** Constructor.
When created, this will register itself with the filter for changes. It's
safe to assume that the filter won't be deleted before this object is.
*/
DemoEditorComponent (DemoJuceFilter* const ownerFilter);
/** Destructor. */
~DemoEditorComponent();
//==============================================================================
/** Our demo filter is a ChangeBroadcaster, and will call us back when one of
its parameters changes.
*/
void changeListenerCallback (void* source);
void sliderValueChanged (Slider*);
//==============================================================================
/** Standard Juce paint callback. */
void paint (Graphics& g);
/** Standard Juce resize callback. */
void resized();
private:
//==============================================================================
Slider* gainSlider;
MidiKeyboardComponent* midiKeyboard;
Label* infoLabel;
ResizableCornerComponent* resizer;
ComponentBoundsConstrainer resizeLimits;
TooltipWindow tooltipWindow;
void updateParametersFromFilter();
// handy wrapper method to avoid having to cast the filter to a DemoJuceFilter
// every time we need it..
DemoJuceFilter* getFilter() const throw() { return (DemoJuceFilter*) getAudioProcessor(); }
};
#endif

View file

@ -1,245 +0,0 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
#include "includes.h"
#include "DemoJuceFilter.h"
#include "DemoEditorComponent.h"
//==============================================================================
/**
This function must be implemented to create a new instance of your
plugin object.
*/
AudioProcessor* JUCE_CALLTYPE createPluginFilter()
{
return new DemoJuceFilter();
}
//==============================================================================
DemoJuceFilter::DemoJuceFilter()
{
gain = 1.0f;
lastUIWidth = 400;
lastUIHeight = 140;
zeromem (&lastPosInfo, sizeof (lastPosInfo));
lastPosInfo.timeSigNumerator = 4;
lastPosInfo.timeSigDenominator = 4;
lastPosInfo.bpm = 120;
}
DemoJuceFilter::~DemoJuceFilter()
{
}
//==============================================================================
const String DemoJuceFilter::getName() const
{
return "Juce Demo Filter";
}
int DemoJuceFilter::getNumParameters()
{
return 1;
}
float DemoJuceFilter::getParameter (int index)
{
return (index == 0) ? gain
: 0.0f;
}
void DemoJuceFilter::setParameter (int index, float newValue)
{
if (index == 0)
{
if (gain != newValue)
{
gain = newValue;
// if this is changing the gain, broadcast a change message which
// our editor will pick up.
sendChangeMessage (this);
}
}
}
const String DemoJuceFilter::getParameterName (int index)
{
if (index == 0)
return T("gain");
return String::empty;
}
const String DemoJuceFilter::getParameterText (int index)
{
if (index == 0)
return String (gain, 2);
return String::empty;
}
const String DemoJuceFilter::getInputChannelName (const int channelIndex) const
{
return String (channelIndex + 1);
}
const String DemoJuceFilter::getOutputChannelName (const int channelIndex) const
{
return String (channelIndex + 1);
}
bool DemoJuceFilter::isInputChannelStereoPair (int index) const
{
return true;
}
bool DemoJuceFilter::isOutputChannelStereoPair (int index) const
{
return true;
}
bool DemoJuceFilter::acceptsMidi() const
{
return true;
}
bool DemoJuceFilter::producesMidi() const
{
return true;
}
//==============================================================================
void DemoJuceFilter::prepareToPlay (double sampleRate, int samplesPerBlock)
{
// do your pre-playback setup stuff here..
keyboardState.reset();
}
void DemoJuceFilter::releaseResources()
{
// when playback stops, you can use this as an opportunity to free up any
// spare memory, etc.
}
void DemoJuceFilter::processBlock (AudioSampleBuffer& buffer,
MidiBuffer& midiMessages)
{
// for each of our input channels, we'll attenuate its level by the
// amount that our volume parameter is set to.
for (int channel = 0; channel < getNumInputChannels(); ++channel)
{
buffer.applyGain (channel, 0, buffer.getNumSamples(), gain);
}
// in case we have more outputs than inputs, we'll clear any output
// channels that didn't contain input data, (because these aren't
// guaranteed to be empty - they may contain garbage).
for (int i = getNumInputChannels(); i < getNumOutputChannels(); ++i)
{
buffer.clear (i, 0, buffer.getNumSamples());
}
// if any midi messages come in, use them to update the keyboard state object. This
// object sends notification to the UI component about key up/down changes
keyboardState.processNextMidiBuffer (midiMessages,
0, buffer.getNumSamples(),
true);
// have a go at getting the current time from the host, and if it's changed, tell
// our UI to update itself.
AudioPlayHead::CurrentPositionInfo pos;
if (getPlayHead() != 0 && getPlayHead()->getCurrentPosition (pos))
{
if (memcmp (&pos, &lastPosInfo, sizeof (pos)) != 0)
{
lastPosInfo = pos;
sendChangeMessage (this);
}
}
else
{
zeromem (&lastPosInfo, sizeof (lastPosInfo));
lastPosInfo.timeSigNumerator = 4;
lastPosInfo.timeSigDenominator = 4;
lastPosInfo.bpm = 120;
}
}
//==============================================================================
AudioProcessorEditor* DemoJuceFilter::createEditor()
{
return new DemoEditorComponent (this);
}
//==============================================================================
void DemoJuceFilter::getStateInformation (MemoryBlock& destData)
{
// you can store your parameters as binary data if you want to or if you've got
// a load of binary to put in there, but if you're not doing anything too heavy,
// XML is a much cleaner way of doing it - here's an example of how to store your
// params as XML..
// create an outer XML element..
XmlElement xmlState (T("MYPLUGINSETTINGS"));
// add some attributes to it..
xmlState.setAttribute (T("pluginVersion"), 1);
xmlState.setAttribute (T("gainLevel"), gain);
xmlState.setAttribute (T("uiWidth"), lastUIWidth);
xmlState.setAttribute (T("uiHeight"), lastUIHeight);
// you could also add as many child elements as you need to here..
// then use this helper function to stuff it into the binary blob and return it..
copyXmlToBinary (xmlState, destData);
}
void DemoJuceFilter::setStateInformation (const void* data, int sizeInBytes)
{
// use this helper function to get the XML from this binary blob..
XmlElement* const xmlState = getXmlFromBinary (data, sizeInBytes);
if (xmlState != 0)
{
// check that it's the right type of xml..
if (xmlState->hasTagName (T("MYPLUGINSETTINGS")))
{
// ok, now pull out our parameters..
gain = (float) xmlState->getDoubleAttribute (T("gainLevel"), gain);
lastUIWidth = xmlState->getIntAttribute (T("uiWidth"), lastUIWidth);
lastUIHeight = xmlState->getIntAttribute (T("uiHeight"), lastUIHeight);
sendChangeMessage (this);
}
delete xmlState;
}
}

View file

@ -1,314 +0,0 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
#ifndef __JUCE_PLUGIN_CHARACTERISTICS_H__
#define __JUCE_PLUGIN_CHARACTERISTICS_H__
//==============================================================================
/* All of the following settings need to be defined for your plugin.
Go through each of these definitions and check that it's correctly
set-up before trying to do a build.
*/
//==============================================================================
/* Plugin Formats to build */
// If your project is building a standalone app to run your plugin, you should
// set the JucePlugin_Build_Standalone flag in the project's settings..
#ifndef JucePlugin_Build_Standalone
#define JucePlugin_Build_Standalone 0
#endif
#if ! JucePlugin_Build_Standalone
// You should turn on these flags to enable the different types of plugin..
#ifndef JucePlugin_Build_VST
#define JucePlugin_Build_VST 1
#endif
#ifndef JucePlugin_Build_RTAS
#define JucePlugin_Build_RTAS 0
#endif
#ifndef JucePlugin_Build_AU
#define JucePlugin_Build_AU 1
#endif
#endif
//==============================================================================
/* Generic settings */
/** The name of your plugin. (Try to keep this as short as possible)
*/
#define JucePlugin_Name "Juce Demo Plugin"
/** A longer decription of your plugin.
*/
#define JucePlugin_Desc "A Demo Plugin demonstrating Juce"
/** The name of your company. (Try to keep this as short as possible)
*/
#define JucePlugin_Manufacturer "Raw Material Software"
/** A four-character code for your company.
Use single quotes - this isn't a string!
*/
#define JucePlugin_ManufacturerCode 'RawM'
/** A unique four-character code for your plugin.
Use single quotes - this isn't a string!
Note that for AU compatibility, this must contain at least one
upper-case letter.
*/
#define JucePlugin_PluginCode 'JcDm'
//==============================================================================
/** The maximum number of channels of audio input that the plugin can handle.
The actual number of channels supplied may be less than this, depending on the host.
For VSTs, you specify a maximum number of channels, for AUs and RTAS a set
of channel configurations is specified in JucePlugin_PreferredChannelConfigurations
and the host will choose one of these, but you should still set the max number of
channels correctly.
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
number of channels that will be used with the AudioProcessor::getNumInputChannels()
method.
*/
#define JucePlugin_MaxNumInputChannels 2
/** The maximum number of channels of audio output that the plugin can handle.
The actual number of channels supplied may be less than this, depending on the host.
For VSTs, you specify a maximum number of channels, for AUs and RTAS a set
of channel configurations is specified in JucePlugin_PreferredChannelConfigurations
and the host will choose one of these, but you should still set the max number of
channels correctly.
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
number of channels that will be used with the AudioProcessor::getNumOutputChannels()
method.
*/
#define JucePlugin_MaxNumOutputChannels 2
/** This allows the plugin to specify the configurations of input/output channels that
they can support.
AU and RTAS hosts will use this information, although VSTs only have a concept of
a maximum number of channels.
The list is a set of pairs of values in the form { numInputs, numOutputs }, and each
pair indicates a valid configuration that the plugin can handle.
So for example, {1, 1}, {2, 2} means that the plugin can be used in just two
configurations: either with 1 input and 1 output, or with 2 inputs and 2 outputs. If
you used this in Pro-Tools, the plugin could be placed on a mono or stereo track.
If the list was just {1, 1}, then Pro-Tools would only allow it to be used as a mono
plugin.
As soon as a plugin's prepareToPlay() method is called, you can find out the actual
number of channels that the host has connected to the plugin by using the
AudioProcessor::getNumOutputChannels() and AudioFilterBase::getNumInputChannels()
methods.
*/
#define JucePlugin_PreferredChannelConfigurations { 1, 1 }, { 2, 2 }
//==============================================================================
/** Set this value to 1 if your plugin is a synth, or 0 if it isn't.
*/
#define JucePlugin_IsSynth 0
/** Set this to 1 if your plugin needs to receive midi messages, or 0 if
it doesn't.
*/
#define JucePlugin_WantsMidiInput 1
/** Set this to 1 if your plugin wants to output midi messages, or 0 if
it doesn't.
*/
#define JucePlugin_ProducesMidiOutput 1
/** If this is 1, it means that when the plugins input buffers are
silent, it's output will be too.
Some hosts may use this to avoid calling the plugin when no audio
would be produced.
*/
#define JucePlugin_SilenceInProducesSilenceOut 0
/** If your plugin has a tail, you can set the length here and this information
will be passed on to the host.
(Not all formats/hosts might actually use this, though)
*/
#define JucePlugin_TailLengthSeconds 0
/** If set to 1, this hints that the host should ignore any keys that are pressed
when the plugin has keyboard focus. If 0, then the host should still execute
any shortcut keys that are pressed, even if the plugin does have focus.
Various hosts/platforms may deal with this differently, or ignore it.
*/
#define JucePlugin_EditorRequiresKeyboardFocus 1
//==============================================================================
/** A version number
*/
#define JucePlugin_VersionCode 0x00010100
#define JucePlugin_VersionString "1.1"
//==============================================================================
/* VST settings */
/** For VSTs, if you're compiling against the V2.3 SDK, set this to zero. If
you're using V2.4 or later, make sure it's set to 1.
*/
#define JUCE_USE_VSTSDK_2_4 1
/** Defines a UID for your VST plugin.
The default setting here is probably fine, unless you specifically need
a custom value. It's passed to the setUniqueID() method of the plugin class.
*/
#define JucePlugin_VSTUniqueID JucePlugin_PluginCode
/** Defines the type of plugin. For most pursposes, you don't need to change this
setting.
*/
#if JucePlugin_IsSynth
#define JucePlugin_VSTCategory kPlugCategSynth
#else
#define JucePlugin_VSTCategory kPlugCategEffect
#endif
//==============================================================================
/* AudioUnit settings */
/** Defines the major type of plugin - see AUComponent.h for the available options.
If it's an effect, you should use kAudioUnitType_Effect. For a synth, you'll
need to use kAudioUnitType_MusicEffect or kAudioUnitType_MusicDevice.
*/
#if JucePlugin_IsSynth
#define JucePlugin_AUMainType kAudioUnitType_MusicDevice
#else
#define JucePlugin_AUMainType kAudioUnitType_Effect
#endif
/** A 4-character plugin ID code that should be unique.
You can leave this using the generic value JucePlugin_PluginCode, or
override it if necessary.
Note that for AU, this must contain at least one upper-case letter.
*/
#define JucePlugin_AUSubType JucePlugin_PluginCode
/** A prefix for the names of exported entry-point functions that the component exposes.
It's very important that your plugin's .exp file contains two entries that correspond to
this name. So for example if you set the prefix to "abc" then your exports
file must contain:
_abcEntry
_abcViewEntry
*/
#define JucePlugin_AUExportPrefix JuceDemoAU
/** This is the same as JucePlugin_AUExportPrefix, but in quotes
(needed for the resource compiler...)
*/
#define JucePlugin_AUExportPrefixQuoted "JuceDemoAU"
/** A 4-character manufacturer code - this is your company name.
You can leave this using the generic value JucePlugin_ManufacturerCode, or
override it if necessary.
*/
#define JucePlugin_AUManufacturerCode JucePlugin_ManufacturerCode
/** If you define this value to be the same as the CFBundleIdentifier in your
plugin's plist, it allows the plugin to work out its own path, which is
needed if you want to use File::getSpecialLocation (currentExecutableFile)
*/
#define JucePlugin_CFBundleIdentifier "com.rawmaterialsoftware.JuceDemo"
/** In an AU, some hosts take the name of Cocoa class that creates the UI and
actually show it to the user in a list (why??)... Anyway, this macro lets you
provide a sensible name for that class to make it clear what plugin it refers to.
Obviously this has to be a valid obj-C class name.
Just to make things a little more complicated, this name must also be unique to this
precise version of your software. Otherwise, if the host loads two plugins that use the
same class name, the obj-C linker will almost certainly connect the wrong modules together
and cause total meltdown.
*/
#define JucePlugin_AUCocoaViewClassName JuceDemoAU_V1
//==============================================================================
/* RTAS settings */
/** How to categorise this plugin.
For a synth you probably want to set this to ePlugInCategory_SWGenerators.
For an effect, you could choose one of:
ePlugInCategory_None, ePlugInCategory_EQ, ePlugInCategory_Dynamics,
ePlugInCategory_PitchShift, ePlugInCategory_Reverb, ePlugInCategory_Delay,
ePlugInCategory_Modulation, ePlugInCategory_Harmonic, ePlugInCategory_NoiseReduction,
ePlugInCategory_Dither, ePlugInCategory_SoundField
(All values are listed in FicPluginEnums.h)
*/
#if JucePlugin_IsSynth
#define JucePlugin_RTASCategory ePlugInCategory_SWGenerators
#else
#define JucePlugin_RTASCategory ePlugInCategory_None
#endif
/** A 4-character manufacturer code - this is your company name.
You can leave this using the generic value JucePlugin_ManufacturerCode, or
override it if necessary.
*/
#define JucePlugin_RTASManufacturerCode JucePlugin_ManufacturerCode
/** A 4-character plugin ID code that should be unique.
You can leave this using the generic value JucePlugin_PluginCode, or
override it if necessary.
*/
#define JucePlugin_RTASProductId JucePlugin_PluginCode
/** You need to set this path to point to the location of the Digidesign WinBag
directory on your machine. (Only needed for Windows builds). Make sure you
don't put a slash on the end.
*/
#define JucePlugin_WinBag_path "C:\\essentials\\PT_73_SDK\\WinBag"
//==============================================================================
#endif

View file

@ -1,26 +0,0 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
#include "../../../../juce_amalgamated.h"

View file

@ -1,60 +0,0 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-9 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
/*
This file contains settings that you might want to explicitly apply to
your Juce build.
These flags enable or disable juce features - if you're linking to juce as
a library, then to change them, you'd need to alter your juce_Config.h file and
recompile the juce lib. But because we're using the amalgamated file, you can
just include this file before including your juce_amalgamated.cpp file to
have the same effect.
If you leave any of these commented-out, they'll take on the default value
assigned to them in juce_Config.h, so to force them on or off, just set them
to an explicit 0 or 1 in here.
*/
#define JUCE_QUICKTIME 0
#define JUCE_SUPPORT_CARBON 1
//#define JUCE_PLUGINHOST_VST 1
//#define JUCE_PLUGINHOST_AU 1
//#define JUCE_ONLY_BUILD_CORE_LIBRARY 1
//#define JUCE_FORCE_DEBUG 1
//#define JUCE_LOG_ASSERTIONS 1
//#define JUCE_ASIO 1
//#define JUCE_ALSA 1
//#define JUCE_OPENGL 1
//#define JUCE_USE_FLAC 1
//#define JUCE_USE_OGGVORBIS 1
//#define JUCE_USE_CDBURNER 1
//#define JUCE_ENABLE_REPAINT_DEBUGGING 1
//#define JUCE_USE_XINERAMA 1
//#define JUCE_USE_XSHM 1
//#define JUCE_CHECK_MEMORY_LEAKS 1
//#define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1
//#define JUCE_STRINGS_ARE_UNICODE 1

View file

@ -1,12 +0,0 @@
/*
This file includes the entire juce source tree via the amalgamated file.
You could add the amalgamated file directly to your project, but doing it
like this allows you to put your app's config settings in the
juce_AppConfig.h file and have them applied to both the juce headers and
the source code.
*/
#include "juce_AppConfig.h"
#include "../../../../juce_amalgamated.cpp"

View file

@ -1,20 +0,0 @@
/*
This file includes the entire juce source tree via the amalgamated file.
You could add the amalgamated file directly to your project, but doing it
like this allows you to put your app's config settings in the
juce_AppConfig.h file and have them applied to both the juce headers and
the source code.
*/
#include "juce_AppConfig.h"
// This is where all the juce code gets included, via this amalgamated file..
#include "../../../../juce_amalgamated.mm"
/* NB. A handy tip is that if you're doing a lot of debugging into the juce code, then stepping through
the amalgamated file can be slow or impossible for the debugger. But if you use the following line
instead of the one above, then it makes it a lot easier..
*/
//#include "../../../../amalgamation/juce_amalgamated_template.cpp"

View file

@ -34525,6 +34525,33 @@ void AudioProcessorListener::audioProcessorParameterChangeGestureEnd (AudioProce
{
}
bool AudioPlayHead::CurrentPositionInfo::operator== (const CurrentPositionInfo& other) const throw()
{
return timeInSeconds == other.timeInSeconds
&& ppqPosition == other.ppqPosition
&& editOriginTime == other.editOriginTime
&& ppqPositionOfLastBarStart == other.ppqPositionOfLastBarStart
&& frameRate == other.frameRate
&& isPlaying == other.isPlaying
&& isRecording == other.isRecording
&& bpm == other.bpm
&& timeSigNumerator == other.timeSigNumerator
&& timeSigDenominator == other.timeSigDenominator;
}
bool AudioPlayHead::CurrentPositionInfo::operator!= (const CurrentPositionInfo& other) const throw()
{
return ! operator== (other);
}
void AudioPlayHead::CurrentPositionInfo::resetToDefault()
{
zerostruct (*this);
timeSigNumerator = 4;
timeSigDenominator = 4;
bpm = 120;
}
END_JUCE_NAMESPACE
/*** End of inlined file: juce_AudioProcessor.cpp ***/
@ -239956,7 +239983,7 @@ public:
if (fillEntireClipAsTiles)
{
#if JUCE_IPHONE || (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5)
#if JUCE_IPHONE
CGContextDrawTiledImage (context, imageRect, image);
#else
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
@ -244648,7 +244675,7 @@ public:
if (fillEntireClipAsTiles)
{
#if JUCE_IPHONE || (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5)
#if JUCE_IPHONE
CGContextDrawTiledImage (context, imageRect, image);
#else
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5

View file

@ -17610,6 +17610,11 @@ public:
bool isPlaying;
bool isRecording;
bool operator== (const CurrentPositionInfo& other) const throw();
bool operator!= (const CurrentPositionInfo& other) const throw();
void resetToDefault();
};
virtual bool getCurrentPosition (CurrentPositionInfo& result) = 0;

View file

@ -105,6 +105,12 @@ public:
(When isRecording is true, then isPlaying will also be true).
*/
bool isRecording;
//==============================================================================
bool operator== (const CurrentPositionInfo& other) const throw();
bool operator!= (const CurrentPositionInfo& other) const throw();
void resetToDefault();
};
//==============================================================================

View file

@ -302,5 +302,33 @@ void AudioProcessorListener::audioProcessorParameterChangeGestureEnd (AudioProce
{
}
//==============================================================================
bool AudioPlayHead::CurrentPositionInfo::operator== (const CurrentPositionInfo& other) const throw()
{
return timeInSeconds == other.timeInSeconds
&& ppqPosition == other.ppqPosition
&& editOriginTime == other.editOriginTime
&& ppqPositionOfLastBarStart == other.ppqPositionOfLastBarStart
&& frameRate == other.frameRate
&& isPlaying == other.isPlaying
&& isRecording == other.isRecording
&& bpm == other.bpm
&& timeSigNumerator == other.timeSigNumerator
&& timeSigDenominator == other.timeSigDenominator;
}
bool AudioPlayHead::CurrentPositionInfo::operator!= (const CurrentPositionInfo& other) const throw()
{
return ! operator== (other);
}
void AudioPlayHead::CurrentPositionInfo::resetToDefault()
{
zerostruct (*this);
timeSigNumerator = 4;
timeSigDenominator = 4;
bpm = 120;
}
END_JUCE_NAMESPACE

View file

@ -399,7 +399,7 @@ public:
if (fillEntireClipAsTiles)
{
#if JUCE_IPHONE || (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5)
#if JUCE_IPHONE
CGContextDrawTiledImage (context, imageRect, image);
#else
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5