1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-24 01:54:22 +00:00

Embedded the Apple CoreAudio support files inside the juce_audio_plugin module, so that users no longer need to install or patch these files themselves!

This commit is contained in:
jules 2015-08-18 10:16:25 +01:00
parent 15812950c6
commit 2cecf92a0e
66 changed files with 18530 additions and 241 deletions

View file

@ -475,96 +475,7 @@ namespace AUHelpers
if (exporter.isXcode())
{
String sdkLocation (getPluginAUSDKLocation (projectSaver.project).toString());
if (sdkLocation.trim().isEmpty())
sdkLocation = "$(DEVELOPER_DIR)/Extras/CoreAudio/";
if (! sdkLocation.endsWithChar ('/'))
sdkLocation << '/';
{
String relativeSDK (exporter.rebaseFromProjectFolderToBuildTarget (RelativePath (sdkLocation, RelativePath::projectFolder))
.toUnixStyle());
if (! relativeSDK.endsWithChar ('/'))
relativeSDK << '/';
exporter.extraSearchPaths.add (relativeSDK + "PublicUtility");
exporter.extraSearchPaths.add (relativeSDK + "AudioUnits/AUPublic/Utility");
exporter.extraSearchPaths.add (relativeSDK + "AudioUnits/AUPublic/AUBase");
}
exporter.xcodeFrameworks.addTokens ("AudioUnit CoreAudioKit", false);
exporter.xcodeExcludedFiles64Bit = "\"*Carbon*.cpp\"";
Project::Item subGroup (projectSaver.getGeneratedCodeGroup().addNewSubGroup ("Juce AU Wrapper", -1));
subGroup.setID ("__juceappleaufiles");
{
static const char* appleAUFiles[] =
{
"PublicUtility/CADebugMacros.h",
"PublicUtility/CAAUParameter.cpp",
"PublicUtility/CAAUParameter.h",
"PublicUtility/CAAudioChannelLayout.cpp",
"PublicUtility/CAAudioChannelLayout.h",
"PublicUtility/CAMutex.cpp",
"PublicUtility/CAMutex.h",
"PublicUtility/CAStreamBasicDescription.cpp",
"PublicUtility/CAStreamBasicDescription.h",
"PublicUtility/CAVectorUnitTypes.h",
"PublicUtility/CAVectorUnit.cpp",
"PublicUtility/CAVectorUnit.h",
"AudioUnits/AUPublic/AUViewBase/AUViewLocalizedStringKeys.h",
"AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewDispatch.cpp",
"AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewControl.cpp",
"AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewControl.h",
"AudioUnits/AUPublic/AUCarbonViewBase/CarbonEventHandler.cpp",
"AudioUnits/AUPublic/AUCarbonViewBase/CarbonEventHandler.h",
"AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.cpp",
"AudioUnits/AUPublic/AUCarbonViewBase/AUCarbonViewBase.h",
"AudioUnits/AUPublic/AUBase/AUBase.cpp",
"AudioUnits/AUPublic/AUBase/AUBase.h",
"AudioUnits/AUPublic/AUBase/AUDispatch.cpp",
"AudioUnits/AUPublic/AUBase/AUDispatch.h",
"AudioUnits/AUPublic/AUBase/AUInputElement.cpp",
"AudioUnits/AUPublic/AUBase/AUInputElement.h",
"AudioUnits/AUPublic/AUBase/AUOutputElement.cpp",
"AudioUnits/AUPublic/AUBase/AUOutputElement.h",
"AudioUnits/AUPublic/AUBase/AUResources.r",
"AudioUnits/AUPublic/AUBase/AUScopeElement.cpp",
"AudioUnits/AUPublic/AUBase/AUScopeElement.h",
"AudioUnits/AUPublic/AUBase/ComponentBase.cpp",
"AudioUnits/AUPublic/AUBase/ComponentBase.h",
"AudioUnits/AUPublic/OtherBases/AUMIDIBase.cpp",
"AudioUnits/AUPublic/OtherBases/AUMIDIBase.h",
"AudioUnits/AUPublic/OtherBases/AUMIDIEffectBase.cpp",
"AudioUnits/AUPublic/OtherBases/AUMIDIEffectBase.h",
"AudioUnits/AUPublic/OtherBases/AUOutputBase.cpp",
"AudioUnits/AUPublic/OtherBases/AUOutputBase.h",
"AudioUnits/AUPublic/OtherBases/MusicDeviceBase.cpp",
"AudioUnits/AUPublic/OtherBases/MusicDeviceBase.h",
"AudioUnits/AUPublic/OtherBases/AUEffectBase.cpp",
"AudioUnits/AUPublic/OtherBases/AUEffectBase.h",
"AudioUnits/AUPublic/Utility/AUBuffer.cpp",
"AudioUnits/AUPublic/Utility/AUBuffer.h",
"AudioUnits/AUPublic/Utility/AUInputFormatConverter.h",
"AudioUnits/AUPublic/Utility/AUSilentTimeout.h",
"AudioUnits/AUPublic/Utility/AUTimestampGenerator.h",
nullptr
};
// This converts things like $(DEVELOPER_DIR) to ${DEVELOPER_DIR}
sdkLocation = sdkLocation.replaceCharacters ("()", "{}");
for (const char** f = appleAUFiles; *f != nullptr; ++f)
{
const RelativePath file (sdkLocation + *f, RelativePath::projectFolder);
subGroup.addRelativeFile (file, -1, file.hasFileExtension ("cpp;mm"));
subGroup.getChild (subGroup.getNumChildren() - 1).getShouldInhibitWarningsValue() = true;
}
}
XmlElement plistKey ("key");
plistKey.addTextElement ("AudioComponents");