mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-16 08:09:32 +02:00
1) Fixes a problem where you can't run Audacity from withing Xcode
which was caused by the fix for Lame and FFmpeg detection. Now, the Audacity.sh script will only be used for "release" versions. 2) Provides a new "Manual" target that the developer can use to retrieve the Audacity manual and put it in the "help" directory to facilitate testing. 3) Provides a new "Plugins" target that the developer can use to build the 3 Ladspa plugins that are distributed with Audacity. They will be built into the "plug-in" directory. The main reason for this one was because no one could remember how to build them, so now it will be available to everyone. 4) Supports the "install" build action for creating an output direcotry that is fully distributable. (DMG and ZIP creation will be added soon.) This provides the ability for anyone to create Mac releases.
This commit is contained in:
parent
d12c5622d8
commit
c576fc4893
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
|
||||
<plist version="0.9">
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
@ -27,7 +26,6 @@
|
||||
<key>LSIsAppleDefaultForType</key>
|
||||
<true/>
|
||||
</dict>
|
||||
|
||||
<dict>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>WAV Audio File</string>
|
||||
@ -53,7 +51,6 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
</dict>
|
||||
|
||||
<dict>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>AIFF Audio File</string>
|
||||
@ -78,7 +75,6 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
</dict>
|
||||
|
||||
<dict>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>AU Audio File</string>
|
||||
@ -101,7 +97,6 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
</dict>
|
||||
|
||||
<dict>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>MP3 Audio File</string>
|
||||
@ -134,7 +129,6 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
</dict>
|
||||
|
||||
<dict>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>Ogg Vorbis Audio File</string>
|
||||
@ -165,7 +159,6 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
</dict>
|
||||
|
||||
<dict>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>FLAC Audio File</string>
|
||||
@ -187,7 +180,6 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
</dict>
|
||||
|
||||
<dict>
|
||||
<key>CFBundleTypeName</key>
|
||||
<string>MPEG-4 Audio File</string>
|
||||
@ -207,9 +199,7 @@
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
</dict>
|
||||
|
||||
</array>
|
||||
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
@ -217,7 +207,7 @@
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Audacity.sh</string>
|
||||
<string>AUDACITY_EXECUTABLE</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Audacity.icns</string>
|
||||
<key>CFBundleName</key>
|
||||
@ -237,7 +227,7 @@
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Audacity version AUDACITY_VERSION.AUDACITY_RELEASE.AUDACITY_REVISION.AUDACITY_MODLEVEL</string>
|
||||
<key>LSRequiresCarbon</key>
|
||||
<true/>
|
||||
<true/>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
|
2
mac/Install.txt
Normal file
2
mac/Install.txt
Normal file
@ -0,0 +1,2 @@
|
||||
To install Audacity, copy the Audacity folder to /Applications
|
||||
or any other location of your choosing.
|
61
mac/build_manual.sh
Executable file
61
mac/build_manual.sh
Executable file
@ -0,0 +1,61 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This script retrieves and build the Audacity manual
|
||||
#
|
||||
|
||||
function cleanAction
|
||||
{
|
||||
[ -d "${TARGET_TEMP_DIR}" ] && rm -rf "${TARGET_TEMP_DIR}"
|
||||
[ -d "${TOPLEVEL}/help/manual" ] && rm -r "${TOPLEVEL}/help/manual"
|
||||
rm -rf "${TARGET_BUILD_DIR}"
|
||||
}
|
||||
|
||||
function buildAction
|
||||
{
|
||||
# Retrieve the manual
|
||||
if [ ! -d "${TOPLEVEL}/help/manual" ]
|
||||
then
|
||||
cd "${TOPLEVEL}/scripts/mw2html_audacity"
|
||||
./wiki2htm.sh
|
||||
cd "${SRCROOT}"
|
||||
fi
|
||||
|
||||
# Create the destination directory if it's not already there
|
||||
if [ ! -d "${TARGET_BUILD_DIR}" ]
|
||||
then
|
||||
mkdir -p "${TARGET_BUILD_DIR}"
|
||||
chmod -RH "${INSTALL_MODE_FLAG}" "${TARGET_BUILD_DIR}"
|
||||
chown -RH "${INSTALL_OWNER}:${INSTALL_GROUP}" "${TARGET_BUILD_DIR}"
|
||||
fi
|
||||
|
||||
# Copy the manual to the destination
|
||||
cp -pPR "${TOPLEVEL}/help/manual/" "${TARGET_BUILD_DIR}"
|
||||
|
||||
# Remove svn files
|
||||
find "${TARGET_BUILD_DIR}" -name .svn -print0 | xargs -0 rm -rf
|
||||
}
|
||||
|
||||
function installAction
|
||||
{
|
||||
# Just do the build to put things where the belong
|
||||
buildAction
|
||||
}
|
||||
|
||||
case "${ACTION}" in
|
||||
"" | build)
|
||||
TARGET_BUILD_DIR="${TARGET_BUILD_DIR}/help/manual"
|
||||
buildAction
|
||||
;;
|
||||
|
||||
install)
|
||||
TARGET_BUILD_DIR="${DSTROOT}/Audacity/help/manual"
|
||||
installAction
|
||||
;;
|
||||
|
||||
clean)
|
||||
TARGET_BUILD_DIR="${TARGET_BUILD_DIR}/help/manual"
|
||||
cleanAction
|
||||
;;
|
||||
esac
|
||||
|
||||
exit
|
127
mac/build_plugins.sh
Executable file
127
mac/build_plugins.sh
Executable file
@ -0,0 +1,127 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This script builds the 3 plugins that are included in the Audacity
|
||||
# distribution.
|
||||
#
|
||||
# Since we do not include the plugin source as part of Audacity, we
|
||||
# must retrieve it first, followed by configure. However, we do not
|
||||
# use the constructed Makefile since we only need 3 of the plugins and
|
||||
# it is not universal binary friendly.
|
||||
#
|
||||
# In addition, each plugin has an initialization routine that must be
|
||||
# executed before the plugin can be used. The plugin distribution does
|
||||
# not provide support for this on OSX so, by default, the initialization
|
||||
# routine never gets executed.
|
||||
#
|
||||
# Therefore, we assign the constructor attribute to the initialization
|
||||
# routine which causes the routine to be executed as soon as the plugin
|
||||
# is loaded.
|
||||
#
|
||||
|
||||
# Set to the URL to the plugins source distribution
|
||||
swhdist="http://plugin.org.uk/releases/0.4.15/swh-plugins-0.4.15.tar.gz"
|
||||
|
||||
# Set to base directory within the above distribution
|
||||
swhpath="./swh-plugins-0.4.15"
|
||||
|
||||
#
|
||||
# Builds an individual plugin
|
||||
#
|
||||
function build
|
||||
{
|
||||
# Get the plugin name
|
||||
target="$1"
|
||||
shift
|
||||
|
||||
# Create the destination directory if it's not already there
|
||||
if [ ! -d "${TARGET_BUILD_DIR}" ]
|
||||
then
|
||||
mkdir -p "${TARGET_BUILD_DIR}"
|
||||
chmod -RH "${INSTALL_MODE_FLAG}" "${TARGET_BUILD_DIR}"
|
||||
chown -RH "${INSTALL_OWNER}:${INSTALL_GROUP}" "${TARGET_BUILD_DIR}"
|
||||
fi
|
||||
|
||||
# Build the plugin if it doesn't exist
|
||||
if [ ! -e "${TARGET_BUILD_DIR}/${target}.so" ]
|
||||
then
|
||||
echo "Building ${target}"
|
||||
gcc-"${GCC_VERSION}" -bundle -arch ${ARCHS/ / -arch } \
|
||||
-mmacosx-version-min="${MACOSX_DEPLOYMENT_TARGET}" -isysroot "${SDKROOT}" \
|
||||
-O3 -fomit-frame-pointer -fstrength-reduce -funroll-loops -ffast-math \
|
||||
"-D_init=__attribute__ ((constructor)) _${target}_init" \
|
||||
-o "${TARGET_BUILD_DIR}/${target}.so" ${*}
|
||||
fi
|
||||
}
|
||||
|
||||
function cleanAction
|
||||
{
|
||||
[ -d "${TARGET_TEMP_DIR}" ] && rm -rf "${TARGET_TEMP_DIR}"
|
||||
rm -f "${TARGET_BUILD_DIR}/gverb_1216.so"
|
||||
rm -f "${TARGET_BUILD_DIR}/hard_limiter_1413.so"
|
||||
rm -f "${TARGET_BUILD_DIR}/sc4_1882.so"
|
||||
}
|
||||
|
||||
function buildAction
|
||||
{
|
||||
# Create the temp directory
|
||||
mkdir -p "${TARGET_TEMP_DIR}"
|
||||
cd "${TARGET_TEMP_DIR}"
|
||||
|
||||
# Get the distribution
|
||||
if [ ! -e "${swhpath}" ]
|
||||
then
|
||||
echo "Retrieving plugins"
|
||||
ftp -o '|tar xf -' "${swhdist}"
|
||||
fi
|
||||
|
||||
# Get to where we need to be
|
||||
cd "${swhpath}"
|
||||
|
||||
# We won't be using fftw, but configure won't complete without it, so just
|
||||
# create a dummy pkg-config file.
|
||||
export PKG_CONFIG_PATH="."
|
||||
cat <<EOF >fftw3f.pc
|
||||
Name: FFTW
|
||||
Description: dummy for pkg-config
|
||||
Version: 3.0.0
|
||||
Libs:
|
||||
Cflags:
|
||||
EOF
|
||||
|
||||
# Run configure
|
||||
if [ ! -e "config.status" ]
|
||||
then
|
||||
echo "Configuring plugins"
|
||||
./configure --disable-dependency-tracking --enable-shared --disable-static >/dev/null 2>&1
|
||||
fi
|
||||
|
||||
# Build the 3 standard plugins
|
||||
build gverb_1216 gverb_1216.c gverb/gverb.c gverb/gverbdsp.c
|
||||
build hard_limiter_1413 hard_limiter_1413.c
|
||||
build sc4_1882 sc4_1882.c util/db.c util/rms.c
|
||||
}
|
||||
|
||||
function installAction
|
||||
{
|
||||
# Just do the build to put things where the belong
|
||||
buildAction
|
||||
}
|
||||
|
||||
case "${ACTION}" in
|
||||
"" | build)
|
||||
TARGET_BUILD_DIR="${TARGET_BUILD_DIR}/plug-ins"
|
||||
buildAction
|
||||
;;
|
||||
|
||||
install)
|
||||
TARGET_BUILD_DIR="${DSTROOT}/Audacity/plug-ins"
|
||||
installAction
|
||||
;;
|
||||
|
||||
clean)
|
||||
TARGET_BUILD_DIR="${TARGET_BUILD_DIR}/plug-ins"
|
||||
cleanAction
|
||||
;;
|
||||
esac
|
||||
|
||||
exit
|
Loading…
x
Reference in New Issue
Block a user