@@ -7,40 +7,48 @@ | |||||
objects = { | objects = { | ||||
/* Begin PBXBuildFile section */ | /* Begin PBXBuildFile section */ | ||||
8411682E0CBBEE0500232E45 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8411682D0CBBEE0500232E45 /* OpenGL.framework */; }; | |||||
84CF14390CD6367800A8D756 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84CF14380CD6367800A8D756 /* AudioUnit.framework */; }; | |||||
84B59D6D0DE34F530041FA3D /* juce_LibrarySource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84B59D6C0DE34F530041FA3D /* juce_LibrarySource.mm */; }; | |||||
84C0A38F0DE2D5C700606895 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3810DE2D5C700606895 /* AGL.framework */; }; | |||||
84C0A3900DE2D5C700606895 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3820DE2D5C700606895 /* ApplicationServices.framework */; }; | |||||
84C0A3910DE2D5C700606895 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3830DE2D5C700606895 /* AudioUnit.framework */; }; | |||||
84C0A3920DE2D5C700606895 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3840DE2D5C700606895 /* Carbon.framework */; }; | |||||
84C0A3930DE2D5C700606895 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3850DE2D5C700606895 /* Cocoa.framework */; }; | |||||
84C0A3940DE2D5C700606895 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3860DE2D5C700606895 /* CoreAudio.framework */; }; | |||||
84C0A3950DE2D5C700606895 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3870DE2D5C700606895 /* CoreFoundation.framework */; }; | |||||
84C0A3960DE2D5C700606895 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3880DE2D5C700606895 /* CoreMIDI.framework */; }; | |||||
84C0A3970DE2D5C700606895 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A3890DE2D5C700606895 /* CoreServices.framework */; }; | |||||
84C0A3980DE2D5C700606895 /* DiscRecording.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A38A0DE2D5C700606895 /* DiscRecording.framework */; }; | |||||
84C0A3990DE2D5C700606895 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A38B0DE2D5C700606895 /* IOKit.framework */; }; | |||||
84C0A39A0DE2D5C700606895 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A38C0DE2D5C700606895 /* OpenGL.framework */; }; | |||||
84C0A39B0DE2D5C700606895 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A38D0DE2D5C700606895 /* QuickTime.framework */; }; | |||||
84C0A39C0DE2D5C700606895 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84C0A38E0DE2D5C700606895 /* WebKit.framework */; }; | |||||
84FC4CD90CD8894600850651 /* juce.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 84FC4CD80CD8894600850651 /* juce.xcconfig */; }; | 84FC4CD90CD8894600850651 /* juce.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 84FC4CD80CD8894600850651 /* juce.xcconfig */; }; | ||||
84FFAEAC0C6C8A6F009F6E72 /* FilterGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE920C6C8A6F009F6E72 /* FilterGraph.cpp */; }; | 84FFAEAC0C6C8A6F009F6E72 /* FilterGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE920C6C8A6F009F6E72 /* FilterGraph.cpp */; }; | ||||
84FFAEAD0C6C8A6F009F6E72 /* GraphEditorPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE940C6C8A6F009F6E72 /* GraphEditorPanel.cpp */; }; | 84FFAEAD0C6C8A6F009F6E72 /* GraphEditorPanel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE940C6C8A6F009F6E72 /* GraphEditorPanel.cpp */; }; | ||||
84FFAEAE0C6C8A6F009F6E72 /* InternalFilters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE960C6C8A6F009F6E72 /* InternalFilters.cpp */; }; | 84FFAEAE0C6C8A6F009F6E72 /* InternalFilters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE960C6C8A6F009F6E72 /* InternalFilters.cpp */; }; | ||||
84FFAEAF0C6C8A6F009F6E72 /* MainHostWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE980C6C8A6F009F6E72 /* MainHostWindow.cpp */; }; | 84FFAEAF0C6C8A6F009F6E72 /* MainHostWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE980C6C8A6F009F6E72 /* MainHostWindow.cpp */; }; | ||||
84FFAEB00C6C8A6F009F6E72 /* HostStartup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE9A0C6C8A6F009F6E72 /* HostStartup.cpp */; }; | 84FFAEB00C6C8A6F009F6E72 /* HostStartup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84FFAE9A0C6C8A6F009F6E72 /* HostStartup.cpp */; }; | ||||
84FFAEFE0C6C8E80009F6E72 /* libjucedebug.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 84FFAEFC0C6C8E76009F6E72 /* libjucedebug.a */; }; | |||||
84FFAF040C6C8ED5009F6E72 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84FFAEFF0C6C8ED5009F6E72 /* CoreAudio.framework */; }; | |||||
84FFAF050C6C8ED5009F6E72 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84FFAF000C6C8ED5009F6E72 /* CoreMIDI.framework */; }; | |||||
84FFAF060C6C8ED5009F6E72 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84FFAF010C6C8ED5009F6E72 /* IOKit.framework */; }; | |||||
84FFAF080C6C8ED5009F6E72 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84FFAF030C6C8ED5009F6E72 /* QuickTime.framework */; }; | |||||
84FFAF150C6C8EE8009F6E72 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84FFAF140C6C8EE8009F6E72 /* AGL.framework */; }; | |||||
8D0C4E920486CD37000505A6 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20286C33FDCF999611CA2CEA /* Carbon.framework */; }; | |||||
/* End PBXBuildFile section */ | /* End PBXBuildFile section */ | ||||
/* Begin PBXContainerItemProxy section */ | |||||
84FFAEFB0C6C8E76009F6E72 /* PBXContainerItemProxy */ = { | |||||
isa = PBXContainerItemProxy; | |||||
containerPortal = 84FFAEF70C6C8E76009F6E72 /* Juce.xcodeproj */; | |||||
proxyType = 2; | |||||
remoteGlobalIDString = D2AAC046055464E500DB518D; | |||||
remoteInfo = Juce; | |||||
}; | |||||
/* End PBXContainerItemProxy section */ | |||||
/* Begin PBXFileReference section */ | /* Begin PBXFileReference section */ | ||||
20286C33FDCF999611CA2CEA /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; }; | |||||
4A9504C8FFE6A3BC11CA0CBA /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; }; | |||||
4A9504CAFFE6A41611CA0CBA /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; | |||||
508344B209E5C41E0093A071 /* Juce Plugin Host.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = "Juce Plugin Host.app"; sourceTree = BUILT_PRODUCTS_DIR; }; | |||||
8411682D0CBBEE0500232E45 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; }; | |||||
84CF14380CD6367800A8D756 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; }; | |||||
508344B209E5C41E0093A071 /* Juce Plugin Host.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Juce Plugin Host.app"; sourceTree = BUILT_PRODUCTS_DIR; }; | |||||
84B59D6A0DE34F530041FA3D /* includes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = includes.h; path = ../../src/includes.h; sourceTree = SOURCE_ROOT; }; | |||||
84B59D6B0DE34F530041FA3D /* juce_AppConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = juce_AppConfig.h; path = ../../src/juce_AppConfig.h; sourceTree = SOURCE_ROOT; }; | |||||
84B59D6C0DE34F530041FA3D /* juce_LibrarySource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_LibrarySource.mm; path = ../../src/juce_LibrarySource.mm; sourceTree = SOURCE_ROOT; }; | |||||
84C0A3810DE2D5C700606895 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; }; | |||||
84C0A3820DE2D5C700606895 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; }; | |||||
84C0A3830DE2D5C700606895 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; }; | |||||
84C0A3840DE2D5C700606895 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; }; | |||||
84C0A3850DE2D5C700606895 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; }; | |||||
84C0A3860DE2D5C700606895 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; }; | |||||
84C0A3870DE2D5C700606895 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; }; | |||||
84C0A3880DE2D5C700606895 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = /System/Library/Frameworks/CoreMIDI.framework; sourceTree = "<absolute>"; }; | |||||
84C0A3890DE2D5C700606895 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; }; | |||||
84C0A38A0DE2D5C700606895 /* DiscRecording.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = /System/Library/Frameworks/DiscRecording.framework; sourceTree = "<absolute>"; }; | |||||
84C0A38B0DE2D5C700606895 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; }; | |||||
84C0A38C0DE2D5C700606895 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; }; | |||||
84C0A38D0DE2D5C700606895 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; }; | |||||
84C0A38E0DE2D5C700606895 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = /System/Library/Frameworks/WebKit.framework; sourceTree = "<absolute>"; }; | |||||
84FC4CD80CD8894600850651 /* juce.xcconfig */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xcconfig; name = juce.xcconfig; path = ../../../../build/macosx/juce.xcconfig; sourceTree = SOURCE_ROOT; }; | 84FC4CD80CD8894600850651 /* juce.xcconfig */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xcconfig; name = juce.xcconfig; path = ../../../../build/macosx/juce.xcconfig; sourceTree = SOURCE_ROOT; }; | ||||
84FFAE920C6C8A6F009F6E72 /* FilterGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = FilterGraph.cpp; path = ../../src/host/FilterGraph.cpp; sourceTree = SOURCE_ROOT; }; | 84FFAE920C6C8A6F009F6E72 /* FilterGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = FilterGraph.cpp; path = ../../src/host/FilterGraph.cpp; sourceTree = SOURCE_ROOT; }; | ||||
84FFAE930C6C8A6F009F6E72 /* FilterGraph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = FilterGraph.h; path = ../../src/host/FilterGraph.h; sourceTree = SOURCE_ROOT; }; | 84FFAE930C6C8A6F009F6E72 /* FilterGraph.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = FilterGraph.h; path = ../../src/host/FilterGraph.h; sourceTree = SOURCE_ROOT; }; | ||||
@@ -51,12 +59,6 @@ | |||||
84FFAE980C6C8A6F009F6E72 /* MainHostWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = MainHostWindow.cpp; path = ../../src/host/MainHostWindow.cpp; sourceTree = SOURCE_ROOT; }; | 84FFAE980C6C8A6F009F6E72 /* MainHostWindow.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = MainHostWindow.cpp; path = ../../src/host/MainHostWindow.cpp; sourceTree = SOURCE_ROOT; }; | ||||
84FFAE990C6C8A6F009F6E72 /* MainHostWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = MainHostWindow.h; path = ../../src/host/MainHostWindow.h; sourceTree = SOURCE_ROOT; }; | 84FFAE990C6C8A6F009F6E72 /* MainHostWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = MainHostWindow.h; path = ../../src/host/MainHostWindow.h; sourceTree = SOURCE_ROOT; }; | ||||
84FFAE9A0C6C8A6F009F6E72 /* HostStartup.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = HostStartup.cpp; path = ../../src/HostStartup.cpp; sourceTree = SOURCE_ROOT; }; | 84FFAE9A0C6C8A6F009F6E72 /* HostStartup.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = HostStartup.cpp; path = ../../src/HostStartup.cpp; sourceTree = SOURCE_ROOT; }; | ||||
84FFAEF70C6C8E76009F6E72 /* Juce.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Juce.xcodeproj; path = ../../../../build/macosx/Juce.xcodeproj; sourceTree = SOURCE_ROOT; }; | |||||
84FFAEFF0C6C8ED5009F6E72 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; }; | |||||
84FFAF000C6C8ED5009F6E72 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = /System/Library/Frameworks/CoreMIDI.framework; sourceTree = "<absolute>"; }; | |||||
84FFAF010C6C8ED5009F6E72 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; }; | |||||
84FFAF030C6C8ED5009F6E72 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; }; | |||||
84FFAF140C6C8EE8009F6E72 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; }; | |||||
8D0C4E960486CD37000505A6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Info.plist; sourceTree = "<group>"; }; | 8D0C4E960486CD37000505A6 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Info.plist; sourceTree = "<group>"; }; | ||||
/* End PBXFileReference section */ | /* End PBXFileReference section */ | ||||
@@ -65,15 +67,20 @@ | |||||
isa = PBXFrameworksBuildPhase; | isa = PBXFrameworksBuildPhase; | ||||
buildActionMask = 2147483647; | buildActionMask = 2147483647; | ||||
files = ( | files = ( | ||||
84FFAEFE0C6C8E80009F6E72 /* libjucedebug.a in Frameworks */, | |||||
8D0C4E920486CD37000505A6 /* Carbon.framework in Frameworks */, | |||||
84FFAF040C6C8ED5009F6E72 /* CoreAudio.framework in Frameworks */, | |||||
84FFAF050C6C8ED5009F6E72 /* CoreMIDI.framework in Frameworks */, | |||||
84FFAF060C6C8ED5009F6E72 /* IOKit.framework in Frameworks */, | |||||
84FFAF080C6C8ED5009F6E72 /* QuickTime.framework in Frameworks */, | |||||
84FFAF150C6C8EE8009F6E72 /* AGL.framework in Frameworks */, | |||||
8411682E0CBBEE0500232E45 /* OpenGL.framework in Frameworks */, | |||||
84CF14390CD6367800A8D756 /* AudioUnit.framework in Frameworks */, | |||||
84C0A38F0DE2D5C700606895 /* AGL.framework in Frameworks */, | |||||
84C0A3900DE2D5C700606895 /* ApplicationServices.framework in Frameworks */, | |||||
84C0A3910DE2D5C700606895 /* AudioUnit.framework in Frameworks */, | |||||
84C0A3920DE2D5C700606895 /* Carbon.framework in Frameworks */, | |||||
84C0A3930DE2D5C700606895 /* Cocoa.framework in Frameworks */, | |||||
84C0A3940DE2D5C700606895 /* CoreAudio.framework in Frameworks */, | |||||
84C0A3950DE2D5C700606895 /* CoreFoundation.framework in Frameworks */, | |||||
84C0A3960DE2D5C700606895 /* CoreMIDI.framework in Frameworks */, | |||||
84C0A3970DE2D5C700606895 /* CoreServices.framework in Frameworks */, | |||||
84C0A3980DE2D5C700606895 /* DiscRecording.framework in Frameworks */, | |||||
84C0A3990DE2D5C700606895 /* IOKit.framework in Frameworks */, | |||||
84C0A39A0DE2D5C700606895 /* OpenGL.framework in Frameworks */, | |||||
84C0A39B0DE2D5C700606895 /* QuickTime.framework in Frameworks */, | |||||
84C0A39C0DE2D5C700606895 /* WebKit.framework in Frameworks */, | |||||
); | ); | ||||
runOnlyForDeploymentPostprocessing = 0; | runOnlyForDeploymentPostprocessing = 0; | ||||
}; | }; | ||||
@@ -111,6 +118,9 @@ | |||||
84FFAE980C6C8A6F009F6E72 /* MainHostWindow.cpp */, | 84FFAE980C6C8A6F009F6E72 /* MainHostWindow.cpp */, | ||||
84FFAE990C6C8A6F009F6E72 /* MainHostWindow.h */, | 84FFAE990C6C8A6F009F6E72 /* MainHostWindow.h */, | ||||
84FFAE9A0C6C8A6F009F6E72 /* HostStartup.cpp */, | 84FFAE9A0C6C8A6F009F6E72 /* HostStartup.cpp */, | ||||
84B59D6B0DE34F530041FA3D /* juce_AppConfig.h */, | |||||
84B59D6A0DE34F530041FA3D /* includes.h */, | |||||
84B59D6C0DE34F530041FA3D /* juce_LibrarySource.mm */, | |||||
84FC4CD80CD8894600850651 /* juce.xcconfig */, | 84FC4CD80CD8894600850651 /* juce.xcconfig */, | ||||
); | ); | ||||
name = Sources; | name = Sources; | ||||
@@ -127,29 +137,24 @@ | |||||
20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */ = { | 20286C32FDCF999611CA2CEA /* External Frameworks and Libraries */ = { | ||||
isa = PBXGroup; | isa = PBXGroup; | ||||
children = ( | children = ( | ||||
84CF14380CD6367800A8D756 /* AudioUnit.framework */, | |||||
8411682D0CBBEE0500232E45 /* OpenGL.framework */, | |||||
84FFAF140C6C8EE8009F6E72 /* AGL.framework */, | |||||
84FFAEFF0C6C8ED5009F6E72 /* CoreAudio.framework */, | |||||
84FFAF000C6C8ED5009F6E72 /* CoreMIDI.framework */, | |||||
84FFAF010C6C8ED5009F6E72 /* IOKit.framework */, | |||||
84FFAF030C6C8ED5009F6E72 /* QuickTime.framework */, | |||||
84FFAEF70C6C8E76009F6E72 /* Juce.xcodeproj */, | |||||
20286C33FDCF999611CA2CEA /* Carbon.framework */, | |||||
4A9504CAFFE6A41611CA0CBA /* CoreServices.framework */, | |||||
4A9504C8FFE6A3BC11CA0CBA /* ApplicationServices.framework */, | |||||
84C0A3810DE2D5C700606895 /* AGL.framework */, | |||||
84C0A3820DE2D5C700606895 /* ApplicationServices.framework */, | |||||
84C0A3830DE2D5C700606895 /* AudioUnit.framework */, | |||||
84C0A3840DE2D5C700606895 /* Carbon.framework */, | |||||
84C0A3850DE2D5C700606895 /* Cocoa.framework */, | |||||
84C0A3860DE2D5C700606895 /* CoreAudio.framework */, | |||||
84C0A3870DE2D5C700606895 /* CoreFoundation.framework */, | |||||
84C0A3880DE2D5C700606895 /* CoreMIDI.framework */, | |||||
84C0A3890DE2D5C700606895 /* CoreServices.framework */, | |||||
84C0A38A0DE2D5C700606895 /* DiscRecording.framework */, | |||||
84C0A38B0DE2D5C700606895 /* IOKit.framework */, | |||||
84C0A38C0DE2D5C700606895 /* OpenGL.framework */, | |||||
84C0A38D0DE2D5C700606895 /* QuickTime.framework */, | |||||
84C0A38E0DE2D5C700606895 /* WebKit.framework */, | |||||
); | ); | ||||
name = "External Frameworks and Libraries"; | name = "External Frameworks and Libraries"; | ||||
sourceTree = "<group>"; | sourceTree = "<group>"; | ||||
}; | }; | ||||
84FFAEF80C6C8E76009F6E72 /* Products */ = { | |||||
isa = PBXGroup; | |||||
children = ( | |||||
84FFAEFC0C6C8E76009F6E72 /* libjucedebug.a */, | |||||
); | |||||
name = Products; | |||||
sourceTree = "<group>"; | |||||
}; | |||||
/* End PBXGroup section */ | /* End PBXGroup section */ | ||||
/* Begin PBXNativeTarget section */ | /* Begin PBXNativeTarget section */ | ||||
@@ -177,31 +182,17 @@ | |||||
20286C28FDCF999611CA2CEA /* Project object */ = { | 20286C28FDCF999611CA2CEA /* Project object */ = { | ||||
isa = PBXProject; | isa = PBXProject; | ||||
buildConfigurationList = C0E91AC908A95435008D54AB /* Build configuration list for PBXProject "PluginHost" */; | buildConfigurationList = C0E91AC908A95435008D54AB /* Build configuration list for PBXProject "PluginHost" */; | ||||
compatibilityVersion = "Xcode 2.4"; | |||||
hasScannedForEncodings = 1; | hasScannedForEncodings = 1; | ||||
mainGroup = 20286C29FDCF999611CA2CEA /* PluginHost */; | mainGroup = 20286C29FDCF999611CA2CEA /* PluginHost */; | ||||
projectDirPath = ""; | projectDirPath = ""; | ||||
projectReferences = ( | |||||
{ | |||||
ProductGroup = 84FFAEF80C6C8E76009F6E72 /* Products */; | |||||
ProjectRef = 84FFAEF70C6C8E76009F6E72 /* Juce.xcodeproj */; | |||||
}, | |||||
); | |||||
projectRoot = ""; | |||||
targets = ( | targets = ( | ||||
8D0C4E890486CD37000505A6 /* PluginHost */, | 8D0C4E890486CD37000505A6 /* PluginHost */, | ||||
); | ); | ||||
}; | }; | ||||
/* End PBXProject section */ | /* End PBXProject section */ | ||||
/* Begin PBXReferenceProxy section */ | |||||
84FFAEFC0C6C8E76009F6E72 /* libjucedebug.a */ = { | |||||
isa = PBXReferenceProxy; | |||||
fileType = archive.ar; | |||||
path = libjucedebug.a; | |||||
remoteRef = 84FFAEFB0C6C8E76009F6E72 /* PBXContainerItemProxy */; | |||||
sourceTree = BUILT_PRODUCTS_DIR; | |||||
}; | |||||
/* End PBXReferenceProxy section */ | |||||
/* Begin PBXResourcesBuildPhase section */ | /* Begin PBXResourcesBuildPhase section */ | ||||
8D0C4E8C0486CD37000505A6 /* Resources */ = { | 8D0C4E8C0486CD37000505A6 /* Resources */ = { | ||||
isa = PBXResourcesBuildPhase; | isa = PBXResourcesBuildPhase; | ||||
@@ -223,6 +214,7 @@ | |||||
84FFAEAE0C6C8A6F009F6E72 /* InternalFilters.cpp in Sources */, | 84FFAEAE0C6C8A6F009F6E72 /* InternalFilters.cpp in Sources */, | ||||
84FFAEAF0C6C8A6F009F6E72 /* MainHostWindow.cpp in Sources */, | 84FFAEAF0C6C8A6F009F6E72 /* MainHostWindow.cpp in Sources */, | ||||
84FFAEB00C6C8A6F009F6E72 /* HostStartup.cpp in Sources */, | 84FFAEB00C6C8A6F009F6E72 /* HostStartup.cpp in Sources */, | ||||
84B59D6D0DE34F530041FA3D /* juce_LibrarySource.mm in Sources */, | |||||
); | ); | ||||
runOnlyForDeploymentPostprocessing = 0; | runOnlyForDeploymentPostprocessing = 0; | ||||
}; | }; | ||||
@@ -178,6 +178,18 @@ | |||||
RelativePath="..\..\src\HostStartup.cpp" | RelativePath="..\..\src\HostStartup.cpp" | ||||
> | > | ||||
</File> | </File> | ||||
<File | |||||
RelativePath="..\..\src\includes.h" | |||||
> | |||||
</File> | |||||
<File | |||||
RelativePath="..\..\src\juce_AppConfig.h" | |||||
> | |||||
</File> | |||||
<File | |||||
RelativePath="..\..\src\juce_LibrarySource.cpp" | |||||
> | |||||
</File> | |||||
<Filter | <Filter | ||||
Name="host" | Name="host" | ||||
> | > | ||||
@@ -29,7 +29,7 @@ | |||||
============================================================================== | ============================================================================== | ||||
*/ | */ | ||||
#include "../../../juce.h" | |||||
#include "includes.h" | |||||
#include "host/MainHostWindow.h" | #include "host/MainHostWindow.h" | ||||
#include "host/InternalFilters.h" | #include "host/InternalFilters.h" | ||||
@@ -29,7 +29,7 @@ | |||||
============================================================================== | ============================================================================== | ||||
*/ | */ | ||||
#include "../../../../juce.h" | |||||
#include "../includes.h" | |||||
#include "FilterGraph.h" | #include "FilterGraph.h" | ||||
#include "InternalFilters.h" | #include "InternalFilters.h" | ||||
#include "GraphEditorPanel.h" | #include "GraphEditorPanel.h" | ||||
@@ -1,283 +1,282 @@ | |||||
/* | |||||
============================================================================== | |||||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||||
Copyright 2004-7 by Raw Material Software ltd. | |||||
------------------------------------------------------------------------------ | |||||
JUCE can be redistributed and/or modified under the terms of the | |||||
GNU General Public License, as published by the Free Software Foundation; | |||||
either version 2 of the License, or (at your option) any later version. | |||||
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. | |||||
You should have received a copy of the GNU General Public License | |||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the | |||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, | |||||
Boston, MA 02111-1307 USA | |||||
------------------------------------------------------------------------------ | |||||
If you'd like to release a closed-source product which uses JUCE, commercial | |||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for | |||||
more information. | |||||
============================================================================== | |||||
*/ | |||||
#ifndef __JUCE_FILTERGRAPH_JUCEHEADER__ | |||||
#define __JUCE_FILTERGRAPH_JUCEHEADER__ | |||||
class FilterInGraph; | |||||
class FilterGraph; | |||||
const char* const filenameSuffix = ".filtergraph"; | |||||
const char* const filenameWildcard = "*.filtergraph"; | |||||
//============================================================================== | |||||
/** | |||||
Represents a connection between two pins in a FilterGraph. | |||||
*/ | |||||
class FilterConnection | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
FilterConnection (FilterGraph& owner); | |||||
FilterConnection (const FilterConnection& other); | |||||
~FilterConnection(); | |||||
//============================================================================== | |||||
uint32 sourceFilterID; | |||||
int sourceChannel; | |||||
uint32 destFilterID; | |||||
int destChannel; | |||||
//============================================================================== | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
FilterGraph& owner; | |||||
const FilterConnection& operator= (const FilterConnection&); | |||||
}; | |||||
//============================================================================== | |||||
/** | |||||
Represents one of the filters in a FilterGraph. | |||||
*/ | |||||
/*class FilterInGraph : public ReferenceCountedObject | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
FilterInGraph (FilterGraph& owner, AudioPluginInstance* const plugin); | |||||
~FilterInGraph(); | |||||
//============================================================================== | |||||
AudioPluginInstance* const filter; | |||||
uint32 uid; | |||||
//============================================================================== | |||||
void showUI (bool useGenericUI); | |||||
double getX() const throw() { return x; } | |||||
double getY() const throw() { return y; } | |||||
void setPosition (double x, double y) throw(); | |||||
XmlElement* createXml() const; | |||||
static FilterInGraph* createForDescription (FilterGraph& owner, | |||||
const PluginDescription& desc, | |||||
String& errorMessage); | |||||
static FilterInGraph* createFromXml (FilterGraph& owner, const XmlElement& xml); | |||||
//============================================================================== | |||||
typedef ReferenceCountedObjectPtr <FilterInGraph> Ptr; | |||||
//============================================================================== | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
friend class FilterGraphPlayer; | |||||
FilterGraph& owner; | |||||
double x, y; | |||||
friend class PluginWindow; | |||||
Component* activeUI; | |||||
Component* activeGenericUI; | |||||
int lastX, lastY; | |||||
MidiBuffer outputMidi; | |||||
AudioSampleBuffer processedAudio; | |||||
MidiBuffer processedMidi; | |||||
void prepareBuffers (int blockSize); | |||||
void renderBlock (int numSamples, | |||||
const ReferenceCountedArray <FilterInGraph>& filters, | |||||
const OwnedArray <FilterConnection>& connections); | |||||
FilterInGraph (const FilterInGraph&); | |||||
const FilterInGraph& operator= (const FilterInGraph&); | |||||
}; | |||||
*/ | |||||
//============================================================================== | |||||
/** | |||||
A collection of filters and some connections between them. | |||||
*/ | |||||
class FilterGraph : public FileBasedDocument | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
FilterGraph(); | |||||
~FilterGraph(); | |||||
//============================================================================== | |||||
AudioProcessorGraph& getGraph() throw() { return graph; } | |||||
int getNumFilters() const throw(); | |||||
const AudioProcessorGraph::Node::Ptr getNode (const int index) const throw(); | |||||
const AudioProcessorGraph::Node::Ptr getNodeForId (const uint32 uid) const throw(); | |||||
void addFilter (const PluginDescription* desc, double x, double y); | |||||
void removeFilter (const uint32 filterUID); | |||||
void disconnectFilter (const uint32 filterUID); | |||||
void removeIllegalConnections(); | |||||
void setNodePosition (const int nodeId, double x, double y); | |||||
void getNodePosition (const int nodeId, double& x, double& y) const; | |||||
//============================================================================== | |||||
int getNumConnections() const throw(); | |||||
const AudioProcessorGraph::Connection* getConnection (const int index) const throw(); | |||||
const AudioProcessorGraph::Connection* getConnectionBetween (uint32 sourceFilterUID, int sourceFilterChannel, | |||||
uint32 destFilterUID, int destFilterChannel) const throw(); | |||||
bool canConnect (uint32 sourceFilterUID, int sourceFilterChannel, | |||||
uint32 destFilterUID, int destFilterChannel) const throw(); | |||||
bool addConnection (uint32 sourceFilterUID, int sourceFilterChannel, | |||||
uint32 destFilterUID, int destFilterChannel); | |||||
void removeConnection (const int index); | |||||
void removeConnection (uint32 sourceFilterUID, int sourceFilterChannel, | |||||
uint32 destFilterUID, int destFilterChannel); | |||||
void clear(); | |||||
//============================================================================== | |||||
XmlElement* createXml() const; | |||||
void restoreFromXml (const XmlElement& xml); | |||||
//============================================================================== | |||||
const String getDocumentTitle(); | |||||
const String loadDocument (const File& file); | |||||
const String saveDocument (const File& file); | |||||
const File getLastDocumentOpened(); | |||||
void setLastDocumentOpened (const File& file); | |||||
/** The special channel index used to refer to a filter's midi channel. | |||||
*/ | |||||
static const int midiChannelNumber; | |||||
//============================================================================== | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
//friend class FilterGraphPlayer; | |||||
//ReferenceCountedArray <FilterInGraph> filters; | |||||
//OwnedArray <FilterConnection> connections; | |||||
AudioProcessorGraph graph; | |||||
AudioProcessorPlayer player; | |||||
uint32 lastUID; | |||||
uint32 getNextUID() throw(); | |||||
void createNodeFromXml (const XmlElement& xml); | |||||
FilterGraph (const FilterGraph&); | |||||
const FilterGraph& operator= (const FilterGraph&); | |||||
}; | |||||
//============================================================================== | |||||
/** | |||||
*/ | |||||
/*class FilterGraphPlayer : public AudioIODeviceCallback, | |||||
public MidiInputCallback, | |||||
public ChangeListener | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
FilterGraphPlayer (FilterGraph& graph); | |||||
~FilterGraphPlayer(); | |||||
//============================================================================== | |||||
void setAudioDeviceManager (AudioDeviceManager* dm); | |||||
AudioDeviceManager* getAudioDeviceManager() const throw() { return deviceManager; } | |||||
//============================================================================== | |||||
void audioDeviceIOCallback (const float** inputChannelData, | |||||
int totalNumInputChannels, | |||||
float** outputChannelData, | |||||
int totalNumOutputChannels, | |||||
int numSamples); | |||||
void audioDeviceAboutToStart (double sampleRate, int numSamplesPerBlock); | |||||
void audioDeviceStopped(); | |||||
void handleIncomingMidiMessage (MidiInput* source, const MidiMessage& message); | |||||
void changeListenerCallback (void*); | |||||
//============================================================================== | |||||
static int compareElements (FilterInGraph* const first, FilterInGraph* const second) throw(); | |||||
const float** inputChannelData; | |||||
int totalNumInputChannels; | |||||
float** outputChannelData; | |||||
int totalNumOutputChannels; | |||||
MidiBuffer incomingMidi; | |||||
MidiKeyboardState keyState; | |||||
MidiMessageCollector messageCollector; | |||||
//============================================================================== | |||||
class PlayerAwareFilter | |||||
{ | |||||
public: | |||||
virtual void setPlayer (FilterGraphPlayer* newPlayer) = 0; | |||||
}; | |||||
private: | |||||
FilterGraph& graph; | |||||
CriticalSection processLock; | |||||
double sampleRate; | |||||
int blockSize; | |||||
AudioDeviceManager* deviceManager; | |||||
ReferenceCountedArray <FilterInGraph> filters; | |||||
OwnedArray <FilterConnection> connections; | |||||
void update(); | |||||
FilterGraphPlayer (const FilterGraphPlayer&); | |||||
const FilterGraphPlayer& operator= (const FilterGraphPlayer&); | |||||
}; | |||||
*/ | |||||
#endif | |||||
/* | |||||
============================================================================== | |||||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||||
Copyright 2004-7 by Raw Material Software ltd. | |||||
------------------------------------------------------------------------------ | |||||
JUCE can be redistributed and/or modified under the terms of the | |||||
GNU General Public License, as published by the Free Software Foundation; | |||||
either version 2 of the License, or (at your option) any later version. | |||||
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. | |||||
You should have received a copy of the GNU General Public License | |||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the | |||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, | |||||
Boston, MA 02111-1307 USA | |||||
------------------------------------------------------------------------------ | |||||
If you'd like to release a closed-source product which uses JUCE, commercial | |||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for | |||||
more information. | |||||
============================================================================== | |||||
*/ | |||||
#ifndef __JUCE_FILTERGRAPH_JUCEHEADER__ | |||||
#define __JUCE_FILTERGRAPH_JUCEHEADER__ | |||||
class FilterInGraph; | |||||
class FilterGraph; | |||||
const char* const filenameSuffix = ".filtergraph"; | |||||
const char* const filenameWildcard = "*.filtergraph"; | |||||
//============================================================================== | |||||
/** | |||||
Represents a connection between two pins in a FilterGraph. | |||||
*/ | |||||
class FilterConnection | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
FilterConnection (FilterGraph& owner); | |||||
FilterConnection (const FilterConnection& other); | |||||
~FilterConnection(); | |||||
//============================================================================== | |||||
uint32 sourceFilterID; | |||||
int sourceChannel; | |||||
uint32 destFilterID; | |||||
int destChannel; | |||||
//============================================================================== | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
FilterGraph& owner; | |||||
const FilterConnection& operator= (const FilterConnection&); | |||||
}; | |||||
//============================================================================== | |||||
/** | |||||
Represents one of the filters in a FilterGraph. | |||||
*/ | |||||
/*class FilterInGraph : public ReferenceCountedObject | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
FilterInGraph (FilterGraph& owner, AudioPluginInstance* const plugin); | |||||
~FilterInGraph(); | |||||
//============================================================================== | |||||
AudioPluginInstance* const filter; | |||||
uint32 uid; | |||||
//============================================================================== | |||||
void showUI (bool useGenericUI); | |||||
double getX() const throw() { return x; } | |||||
double getY() const throw() { return y; } | |||||
void setPosition (double x, double y) throw(); | |||||
XmlElement* createXml() const; | |||||
static FilterInGraph* createForDescription (FilterGraph& owner, | |||||
const PluginDescription& desc, | |||||
String& errorMessage); | |||||
static FilterInGraph* createFromXml (FilterGraph& owner, const XmlElement& xml); | |||||
//============================================================================== | |||||
typedef ReferenceCountedObjectPtr <FilterInGraph> Ptr; | |||||
//============================================================================== | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
friend class FilterGraphPlayer; | |||||
FilterGraph& owner; | |||||
double x, y; | |||||
friend class PluginWindow; | |||||
Component* activeUI; | |||||
Component* activeGenericUI; | |||||
int lastX, lastY; | |||||
MidiBuffer outputMidi; | |||||
AudioSampleBuffer processedAudio; | |||||
MidiBuffer processedMidi; | |||||
void prepareBuffers (int blockSize); | |||||
void renderBlock (int numSamples, | |||||
const ReferenceCountedArray <FilterInGraph>& filters, | |||||
const OwnedArray <FilterConnection>& connections); | |||||
FilterInGraph (const FilterInGraph&); | |||||
const FilterInGraph& operator= (const FilterInGraph&); | |||||
}; | |||||
*/ | |||||
//============================================================================== | |||||
/** | |||||
A collection of filters and some connections between them. | |||||
*/ | |||||
class FilterGraph : public FileBasedDocument | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
FilterGraph(); | |||||
~FilterGraph(); | |||||
//============================================================================== | |||||
AudioProcessorGraph& getGraph() throw() { return graph; } | |||||
int getNumFilters() const throw(); | |||||
const AudioProcessorGraph::Node::Ptr getNode (const int index) const throw(); | |||||
const AudioProcessorGraph::Node::Ptr getNodeForId (const uint32 uid) const throw(); | |||||
void addFilter (const PluginDescription* desc, double x, double y); | |||||
void removeFilter (const uint32 filterUID); | |||||
void disconnectFilter (const uint32 filterUID); | |||||
void removeIllegalConnections(); | |||||
void setNodePosition (const int nodeId, double x, double y); | |||||
void getNodePosition (const int nodeId, double& x, double& y) const; | |||||
//============================================================================== | |||||
int getNumConnections() const throw(); | |||||
const AudioProcessorGraph::Connection* getConnection (const int index) const throw(); | |||||
const AudioProcessorGraph::Connection* getConnectionBetween (uint32 sourceFilterUID, int sourceFilterChannel, | |||||
uint32 destFilterUID, int destFilterChannel) const throw(); | |||||
bool canConnect (uint32 sourceFilterUID, int sourceFilterChannel, | |||||
uint32 destFilterUID, int destFilterChannel) const throw(); | |||||
bool addConnection (uint32 sourceFilterUID, int sourceFilterChannel, | |||||
uint32 destFilterUID, int destFilterChannel); | |||||
void removeConnection (const int index); | |||||
void removeConnection (uint32 sourceFilterUID, int sourceFilterChannel, | |||||
uint32 destFilterUID, int destFilterChannel); | |||||
void clear(); | |||||
//============================================================================== | |||||
XmlElement* createXml() const; | |||||
void restoreFromXml (const XmlElement& xml); | |||||
//============================================================================== | |||||
const String getDocumentTitle(); | |||||
const String loadDocument (const File& file); | |||||
const String saveDocument (const File& file); | |||||
const File getLastDocumentOpened(); | |||||
void setLastDocumentOpened (const File& file); | |||||
/** The special channel index used to refer to a filter's midi channel. | |||||
*/ | |||||
static const int midiChannelNumber; | |||||
//============================================================================== | |||||
juce_UseDebuggingNewOperator | |||||
private: | |||||
//friend class FilterGraphPlayer; | |||||
//ReferenceCountedArray <FilterInGraph> filters; | |||||
//OwnedArray <FilterConnection> connections; | |||||
AudioProcessorGraph graph; | |||||
AudioProcessorPlayer player; | |||||
uint32 lastUID; | |||||
uint32 getNextUID() throw(); | |||||
void createNodeFromXml (const XmlElement& xml); | |||||
FilterGraph (const FilterGraph&); | |||||
const FilterGraph& operator= (const FilterGraph&); | |||||
}; | |||||
//============================================================================== | |||||
/** | |||||
*/ | |||||
/*class FilterGraphPlayer : public AudioIODeviceCallback, | |||||
public MidiInputCallback, | |||||
public ChangeListener | |||||
{ | |||||
public: | |||||
//============================================================================== | |||||
FilterGraphPlayer (FilterGraph& graph); | |||||
~FilterGraphPlayer(); | |||||
//============================================================================== | |||||
void setAudioDeviceManager (AudioDeviceManager* dm); | |||||
AudioDeviceManager* getAudioDeviceManager() const throw() { return deviceManager; } | |||||
//============================================================================== | |||||
void audioDeviceIOCallback (const float** inputChannelData, | |||||
int totalNumInputChannels, | |||||
float** outputChannelData, | |||||
int totalNumOutputChannels, | |||||
int numSamples); | |||||
void audioDeviceAboutToStart (double sampleRate, int numSamplesPerBlock); | |||||
void audioDeviceStopped(); | |||||
void handleIncomingMidiMessage (MidiInput* source, const MidiMessage& message); | |||||
void changeListenerCallback (void*); | |||||
//============================================================================== | |||||
static int compareElements (FilterInGraph* const first, FilterInGraph* const second) throw(); | |||||
const float** inputChannelData; | |||||
int totalNumInputChannels; | |||||
float** outputChannelData; | |||||
int totalNumOutputChannels; | |||||
MidiBuffer incomingMidi; | |||||
MidiKeyboardState keyState; | |||||
MidiMessageCollector messageCollector; | |||||
//============================================================================== | |||||
class PlayerAwareFilter | |||||
{ | |||||
public: | |||||
virtual void setPlayer (FilterGraphPlayer* newPlayer) = 0; | |||||
}; | |||||
private: | |||||
FilterGraph& graph; | |||||
CriticalSection processLock; | |||||
double sampleRate; | |||||
int blockSize; | |||||
AudioDeviceManager* deviceManager; | |||||
ReferenceCountedArray <FilterInGraph> filters; | |||||
OwnedArray <FilterConnection> connections; | |||||
void update(); | |||||
FilterGraphPlayer (const FilterGraphPlayer&); | |||||
const FilterGraphPlayer& operator= (const FilterGraphPlayer&); | |||||
}; | |||||
*/ | |||||
#endif |
@@ -29,7 +29,7 @@ | |||||
============================================================================== | ============================================================================== | ||||
*/ | */ | ||||
#include "../../../../juce.h" | |||||
#include "../includes.h" | |||||
#include "GraphEditorPanel.h" | #include "GraphEditorPanel.h" | ||||
#include "InternalFilters.h" | #include "InternalFilters.h" | ||||
#include "MainHostWindow.h" | #include "MainHostWindow.h" | ||||
@@ -29,7 +29,7 @@ | |||||
============================================================================== | ============================================================================== | ||||
*/ | */ | ||||
#include "../../../../juce.h" | |||||
#include "../includes.h" | |||||
#include "InternalFilters.h" | #include "InternalFilters.h" | ||||
#include "FilterGraph.h" | #include "FilterGraph.h" | ||||
@@ -29,7 +29,7 @@ | |||||
============================================================================== | ============================================================================== | ||||
*/ | */ | ||||
#include "../../../../juce.h" | |||||
#include "../includes.h" | |||||
#include "MainHostWindow.h" | #include "MainHostWindow.h" | ||||
#include "InternalFilters.h" | #include "InternalFilters.h" | ||||
@@ -0,0 +1,4 @@ | |||||
#include "juce_AppConfig.h" | |||||
#include "../../../juce_amalgamated.h" | |||||
using juce::uint32; |
@@ -0,0 +1,58 @@ | |||||
/* | |||||
============================================================================== | |||||
This file is part of the JUCE library - "Jules' Utility Class Extensions" | |||||
Copyright 2004-7 by Raw Material Software ltd. | |||||
------------------------------------------------------------------------------ | |||||
JUCE can be redistributed and/or modified under the terms of the | |||||
GNU General Public License, as published by the Free Software Foundation; | |||||
either version 2 of the License, or (at your option) any later version. | |||||
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. | |||||
You should have received a copy of the GNU General Public License | |||||
along with JUCE; if not, visit www.gnu.org/licenses or write to the | |||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, | |||||
Boston, MA 02111-1307 USA | |||||
------------------------------------------------------------------------------ | |||||
If you'd like to release a closed-source product which uses JUCE, commercial | |||||
licenses are also available: visit www.rawmaterialsoftware.com/juce for | |||||
more information. | |||||
============================================================================== | |||||
*/ | |||||
/* | |||||
This file contains settings that you might want to explicitly apply to | |||||
the your build. | |||||
Most of these are turned on or off by default, but you can override | |||||
that setting here by un-commenting it and giving it a 1 or 0 value. | |||||
*/ | |||||
#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_QUICKTIME 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_BUILD_GUI_CLASSES 1 | |||||
//#define JUCE_CHECK_MEMORY_LEAKS 1 | |||||
//#define JUCE_CATCH_UNHANDLED_EXCEPTIONS 1 | |||||
//#define JUCE_STRINGS_ARE_UNICODE 1 |
@@ -0,0 +1,12 @@ | |||||
/* | |||||
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" |
@@ -0,0 +1,12 @@ | |||||
/* | |||||
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.mm" |