1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00
JUCE/extras/Introjucer/Source/BinaryData/AudioPluginXCodeScript.txt

99 lines
3 KiB
Text

# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on
# which plugin types you've built
original=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME
# this looks inside the binary to detect which platforms are needed..
copyAU=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'AudioUnit' | wc -l`
copyVST=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'VSTPlugin' | wc -l`
copyVST3=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'GetPluginFactory' | wc -l`
copyRTAS=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'CProcess' | wc -l`
copyAAX=`nm -g "$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH" | grep -i 'ACFStartup' | wc -l`
if [ $copyAU -gt 0 ]; then
echo "Copying to AudioUnit folder..."
AUDir=~/Library/Audio/Plug-Ins/Components
mkdir -p "$AUDir"
AU=$AUDir/$PRODUCT_NAME.component
if [ -d "$AU" ]; then
rm -r "$AU"
fi
cp -r "$original" "$AU"
sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$AU/Contents/PkgInfo"
sed -i "" -e 's/TDMw/BNDL/g' "$AU/Contents/$INFOPLIST_FILE"
# Fix info.plist for AUs built with Xcode 3
if [ -f "$DEVELOPER_DIR/Library/Developer/CoreAudio/AudioUnits/AUPublic/AUBase/AUPlugInDispatch.cpp" ]; then
echo
else
echo "Removing AudioComponents entry from Info.plist because this is not a new-format AU"
/usr/libexec/PlistBuddy -c "Delete AudioComponents" "$AU/Contents/Info.plist"
fi
fi
if [ $copyVST -gt 0 ]; then
echo "Copying to VST folder..."
VSTDir=~/Library/Audio/Plug-Ins/VST
mkdir -p "$VSTDir"
VST=$VSTDir/$PRODUCT_NAME.vst
if [ -d "$VST" ]; then
rm -r "$VST"
fi
cp -r "$original" "$VST"
sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$VST/Contents/PkgInfo"
sed -i "" -e 's/TDMw/BNDL/g' "$VST/Contents/$INFOPLIST_FILE"
fi
if [ $copyVST3 -gt 0 ]; then
echo "Copying to VST3 folder..."
VST3Dir=~/Library/Audio/Plug-Ins/VST3
mkdir -p "$VST3Dir"
VST3=$VST3Dir/$PRODUCT_NAME.vst3
if [ -d "$VST3" ]; then
rm -r "$VST3"
fi
cp -r "$original" "$VST3"
sed -i "" -e 's/TDMwPTul/BNDLPTul/g' "$VST3/Contents/PkgInfo"
sed -i "" -e 's/TDMw/BNDL/g' "$VST3/Contents/$INFOPLIST_FILE"
fi
if [ $copyRTAS -gt 0 ]; then
echo "Copying to RTAS folder..."
RTASDir=/Library/Application\ Support/Digidesign/Plug-Ins
if [ -d "$RTASDir" ]; then
RTAS=$RTASDir/$PRODUCT_NAME.dpm
if [ -d "$RTAS" ]; then
rm -r "$RTAS"
fi
cp -r "$original" "$RTAS"
fi
fi
if [ $copyAAX -gt 0 ]; then
echo "Copying to AAX folder..."
if [ -d "/Applications/ProTools_3PDev/Plug-Ins" ]; then
AAX1="/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin"
if [ -d "$AAX1" ]; then
rm -r "$AAX1"
fi
cp -R -H "$original" "$AAX1"
fi
if [ -d "/Library/Application Support/Avid/Audio/Plug-Ins" ]; then
AAX2="/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin"
if [ -d "$AAX2" ]; then
rm -r "$AAX2"
fi
cp -R -H "$original" "$AAX2"
fi
fi