STRIP= ;
PRODUCT_PKG_DIR=ArdourSAE ;
APPNAME=Ardour ;
+ BUNDLENAME=Ardour${major_version} ;
+ lower_case_appname=ardour;
shift ;;
--mixbus) MIXBUS=1;
WITH_HARRISON_LV2=1 ;
STRIP= ;
PRODUCT_PKG_DIR=Mixbus;
APPNAME=Mixbus ;
+ BUNDLENAME=Mixbus${major_version} ;
+ lower_case_appname=mixbus;
shift ;;
--mixbus32c) MIXBUS=1;
MIXBUS32C=1;
SAE= ;
STRIP= ;
PRODUCT_PKG_DIR=Mixbus32C;
- APPNAME=Mixbus32C-${major_version} ;
- major_version=""
+ lower_case_appname=mixbus32c;
+ APPNAME=Mixbus32C ;
+ BUNDLENAME=Mixbus32C-${major_version} ;
shift ;;
--public)
SAE= ;
WITH_X42_LV2=1 ;
PRODUCT_PKG_DIR=Ardour;
APPNAME=Ardour ;
+ BUNDLENAME=Ardour${major_version} ;
+ lower_case_appname=ardour;
shift ;;
--allinone) SAE= ;
STRIP= ;
fi
fi
-lower_case_appname=`echo $APPNAME | tr '[:upper:]' '[:lower:]'`
-
# setup directory structure
-APPDIR=${APPNAME}${major_version}.app
+APPDIR=${BUNDLENAME}.app
APPROOT=$APPDIR/Contents
Frameworks=$APPROOT/lib
Resources=$APPROOT/Resources
Shared=$Resources
Etc=$Resources
Locale=$Resources/locale
-#
-# Bundled Plugins live in a top level folder
-#
-Plugins=$APPROOT/Plugins
+
Surfaces=$Frameworks/surfaces
Panners=$Frameworks/panners
Backends=$Frameworks/backends
MidiMaps=$Shared/midi_maps
+PluginMetadata=$Shared/plugin_metadata
ExportFormats=$Shared/export
Templates=$Shared/templates
PatchFiles=$Shared/patchfiles
LuaScripts=$Shared/scripts
MackieControl=$Shared/mcp
+OSC=$Shared/osc
Themes=$Shared/themes
if [ x$PRINT_SYSDEPS != x ] ; then
# print system dependencies
#
-for file in $APPROOT/MacOS/* $Frameworks/* $Frameworks/modules/* $Plugins/*.so ; do
+for file in $APPROOT/MacOS/* $Frameworks/* $Frameworks/modules/* ; do
if ! file $file | grep -qs Mach-O ; then
continue
fi
mkdir -p $APPROOT/MacOS
mkdir -p $APPROOT/Resources
-mkdir -p $Plugins
mkdir -p $Surfaces
mkdir -p $Panners
mkdir -p $Backends
mkdir -p $MidiMaps
mkdir -p $ExportFormats
-mkdir -p $Templates
mkdir -p $Frameworks/modules
mkdir -p $Etc
mkdir -p $MackieControl
+mkdir -p $OSC
mkdir -p $PatchFiles
mkdir -p $LuaScripts
mkdir -p $Themes
-# maybe set variables
-env=""
-if test x$SAE != x ; then
- appname="Ardour${major_version}-SAE"
- EXECUTABLE=${appname}
- env="$env<key>ARDOUR_SAE</key><string>true</string>"
- #
- # current default for SAE version is German keyboard layout without a keypad
- #
- env="$env<key>ARDOUR_KEYBOARD_LAYOUT</key><string>de-nokeypad</string>"
- env="$env<key>ARDOUR_UI_CONF</key><string>ardour3_ui_sae.conf</string>"
-elif test x$MIXBUS != x ; then
- appname=$APPNAME
- EXECUTABLE=${appname}${major_version}
- env="$env<key>ARDOUR_MIXBUS</key><string>true</string>"
- #
- # current default for MIXBUS version is US keyboard layout without a keypad
- #
- env="$env<key>ARDOUR_KEYBOARD_LAYOUT</key><string>us-nokeypad</string>"
- env="$env<key>ARDOUR_UI_CONF</key><string>ardour3_ui.conf</string>"
-else
- appname="Ardour${major_version}"
- EXECUTABLE=${appname}
-fi
+
+
+EXECUTABLE=${BUNDLENAME}
#
# if we're not going to bundle JACK, make sure we can find
# jack in the places where it might be
#
+env=""
env="$env<key>PATH</key><string>/usr/local/bin:/opt/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>"
env="$env<key>DYLIB_FALLBACK_LIBRARY_PATH</key><string>/usr/local/lib:/opt/lib</string>"
-e "s?@VERSION@?$release_version?g" \
-e "s?@INFOSTRING@?$info_string?g" \
-e "s?@IDSUFFIX@?$EXECUTABLE?g" \
- -e "s?@BUNDLENAME@?${APPNAME}${major_version}?g" \
+ -e "s?@BUNDLENAME@?$BUNDLENAME?g" \
-e "s?@EXECUTABLE@?$EXECUTABLE?g" < Info.plist.in > Info.plist
# and plist strings
sed -e "s?@APPNAME@?$appname?" \
cp "$f" $ExportFormats ;
done
-# Session and Route templates
-#for f in $BUILD_ROOT/../templates/* ; do
-# if [ -d "$f" ] ; then
-# cp -r "$f" $Templates ;
-# fi
-#done
+#Session templates
+cp -av $BUILD_ROOT/../templates $Templates
+
+# PluginMetadata
+cp -av $BUILD_ROOT/../plugin_metadata $PluginMetadata
# MidiMaps
# got to be careful with names here
cp "$x" $MackieControl
done
+# OSC data
+# got to be careful with names here
+for x in $BUILD_ROOT/../osc/*.preset ; do
+ cp "$x" $OSC
+done
+
# VAMP plugins that we use
cp $BUILD_ROOT/libs/vamp-plugins/libardourvampplugins.dylib $Frameworks
HAVE_SESSION_UTILS=true
done
+# dynamically loaded NSS/SSL libs
+nsslibs="libsoftokn3.dylib libnsspem.dylib libnssckbi.dylib libfreebl3.dylib libnssdbm3.dylib libplds4.dylib"
+for nsslib in $nsslibs; do
+ cp $GTKSTACK_ROOT/lib/$nsslib $Frameworks/ || true
+done
+
# TODO check if this is still needed, even when building on 10.5
if file $BUILD_ROOT/gtk2_ardour/ardour-$release_version | grep -q ppc; then
STDCPP='|libstdc\+\+'
while [ true ] ; do
missing=false
- for file in $APPROOT/MacOS/* $Frameworks/* $Frameworks/modules/* $Panners/*.dylib $Backends/*.dylib $Surfaces/*.dylib $Plugins/*.so ; do
+ for file in $APPROOT/MacOS/* $Frameworks/* $Frameworks/modules/* $Panners/*.dylib $Backends/*.dylib $Surfaces/*.dylib ; do
if ! file $file | grep -qs Mach-O ; then
continue
fi
mkdir ${Resources}/icons
mkdir ${Resources}/resources
cp ../../system_config $Resources/system_config
-cp ../../instant.xml $Resources/instant.xml
cp ../../gtk2_ardour/icons/*.png ${Resources}/icons/
cp -r ../../gtk2_ardour/icons/cursor_* ${Resources}/icons/
cp ../../gtk2_ardour/ArdourMono.ttf $Shared
done
fi
+if test -f "$Frameworks/ardour-vst-scanner"; then
+ executables="$executables ../lib/ardour-vst-scanner"
+fi
+
for exe in $executables; do
echo "Processing Executable: $exe"
EXE=$APPROOT/MacOS/$exe
################################################################################
### Mixbus plugins, etc
+if true; then
+ echo "Bundling General MIDI Synth LV2"
+ mkdir -p "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2"
+
+ for proj in x42-gmsynth; do
+ X42_VERSION=$(curl -s -S http://x42-plugins.com/x42/osx/${proj}.latest.txt)
+ rsync -a -q --partial \
+ rsync://x42-plugins.com/x42/osx/${proj}-lv2-osx-${X42_VERSION}.zip \
+ "$CACHEDIR/${proj}-lv2-osx-${X42_VERSION}.zip"
+ bsdtar -C "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/" -xf \
+ "$CACHEDIR/${proj}-lv2-osx-${X42_VERSION}.zip"
+ done
+
+ for file in ${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2/*/*.dylib ; do
+ lipo -extract_family ${OSX_ARCH} ${file} -output ${file}.thin
+ mv ${file}.thin ${file}
+ done
+
+fi
+
if test x$WITH_X42_LV2 != x ; then
echo "bundling x42 plugins"
mkdir -p "${PRODUCT_PKG_DIR}/${APPROOT}/lib/LV2"
- for proj in x42-meters x42-midifilter x42-midimap x42-stereoroute x42-eq setBfree; do
+ for proj in x42-meters x42-midifilter x42-midimap x42-stereoroute x42-eq setBfree x42-avldrums x42-whirl x42-limiter; do
X42_VERSION=$(curl -s -S http://x42-plugins.com/x42/osx/${proj}.latest.txt)
rsync -a -q --partial \
rsync://x42-plugins.com/x42/osx/${proj}-lv2-osx-${X42_VERSION}.zip \
close
open
update without registering applications
- delay 5
+ delay 3
+ set position of item "${APPDIR}" of container window to {90, 100}
+ set position of item "Applications" of container window to {310, 100}
+ ${MIXBUSPOS}
+ ${HARVIDPOS}
+ ${XJADEOPOS}
+ close
+ open
+ update without registering applications
+ delay 3
eject
end tell
end tell