Night of the typos III (amend prev 2 commits)
[ardour.git] / tools / x-win / package.sh
index b16c454515d091f3513c29ec15aff655d9eb02da..f5ac7cae4302e90d8256d2e166e65191098c6b0a 100755 (executable)
@@ -17,6 +17,22 @@ test -f gtk2_ardour/wscript || exit 1
 : ${TMPDIR=/var/tmp}
 : ${SRCCACHE=/var/tmp/winsrc}  # source-code tgz cache
 
+: ${HARRISONCHANNELSTRIP=harrison_channelstrip}
+: ${HARRISONLV2=harrison_lv2s-n}
+: ${HARRISONDSPURL=https://www.harrisonconsoles.com/plugins/releases/public}
+
+# see also wscript, video_tool_paths.cc, bundle_env_mingw.cc
+# registry keys based on this are used there
+PROGRAM_NAME=Ardour
+PROGRAM_KEY=Ardour
+PROGRAM_VERSION=${major_version}
+
+PRODUCT_NAME=Ardour
+PRODUCT_VERSION=${major_version}
+
+WITH_HARRISON_LV2=1 ;
+WITH_X42_LV2=1 ;
+
 # TODO: grep from build/config.log instead
 while [ $# -gt 0 ] ; do
        echo "arg = $1"
@@ -25,23 +41,29 @@ while [ $# -gt 0 ] ; do
                        MIXBUS=1
                        WITH_HARRISON_LV2=1 ;
                        WITH_X42_LV2=1 ;
+                       PROGRAM_NAME=Mixbus
+                       PROGRAM_KEY=Mixbus
+                       PRODUCT_NAME=Mixbus
+                       MANUAL_NAME="mixbus${major_version}-live-manual"
                        shift ;;
+               --mixbus32c)
+                       MIXBUS=1
+                       WITH_HARRISON_LV2=1 ;
+                       WITH_X42_LV2=1 ;
+                       PRODUCT_NAME=Mixbus32C
+                       PROGRAM_KEY=Mixbus32C
+                       PROGRAM_NAME=Mixbus32C-${PROGRAM_VERSION}
+                       PROGRAM_VERSION=""
+                       MANUAL_NAME="mixbus32c-${major_version}-live-manual"
+                       shift ;;
+               --chanstrip) HARRISONCHANNELSTRIP=$2 ; shift; shift ;;
        esac
 done
 
-# see also wscript, video_tool_paths.cc, bundle_env_mingw.cc
-# registry keys based on this are used there
-PROGRAM_NAME=Ardour
-PRODUCT_NAME=ardour
-PROGRAM_VERSION=${major_version}
 
 LOWERCASE_DIRNAME=ardour${major_version}
 STATEFILE_SUFFIX=ardour # see filename_extensions.cc
 
-if test -n "$MIXBUS"; then
-       PROGRAM_NAME=Mixbus
-       PRODUCT_NAME=mixbus
-fi
 
 # derived variables
 PRODUCT_ID=${PROGRAM_NAME}${PROGRAM_VERSION}
@@ -113,13 +135,15 @@ cp build/libs/gtkmm2ext/gtkmm2ext-*.dll $DESTDIR/bin/
 cp build/libs/midi++2/midipp-*.dll $DESTDIR/bin/
 cp build/libs/evoral/evoral-*.dll $DESTDIR/bin/
 cp build/libs/ardour/ardour-*.dll $DESTDIR/bin/
-cp build/libs/timecode/timecode.dll $DESTDIR/bin/
-cp build/libs/qm-dsp/qmdsp-*.dll $DESTDIR/bin/
+cp build/libs/temporal/temporal-*.dll $DESTDIR/bin/
 cp build/libs/canvas/canvas-*.dll $DESTDIR/bin/
+cp build/libs/widgets/widgets-*.dll $DESTDIR/bin/
+cp build/libs/waveview/waveview-*.dll $DESTDIR/bin/
 cp build/libs/pbd/pbd-*.dll $DESTDIR/bin/
 cp build/libs/ptformat/ptformat-*.dll $DESTDIR/bin/
 cp build/libs/audiographer/audiographer-*.dll $DESTDIR/bin/
 cp build/libs/fst/ardour-vst-scanner.exe $DESTDIR/bin/ || true
+cp build/session_utils/*-*.exe $DESTDIR/bin/ || true
 cp `ls -t build/gtk2_ardour/ardour-*.exe | head -n1` $DESTDIR/bin/${PRODUCT_EXE}
 
 mkdir -p $DESTDIR/lib/gtk-2.0/engines
@@ -168,7 +192,7 @@ cp -r $PREFIX/etc/${LOWERCASE_DIRNAME}/* $DESTDIR/share/${LOWERCASE_DIRNAME}/
 
 cp COPYING $DESTDIR/share/
 cp gtk2_ardour/icons/${PRODUCT_ICON} $DESTDIR/share/
-cp gtk2_ardour/icons/ardour_bug.ico $DESTDIR/share/
+cp gtk2_ardour/icons/ArdourBug.ico $DESTDIR/share/
 
 # replace default cursor with square version (sans hotspot file)
 cp gtk2_ardour/icons/cursor_square/* $DESTDIR/share/${LOWERCASE_DIRNAME}/icons/
@@ -187,16 +211,16 @@ if test -z "$NOVIDEOTOOLS"; then
        XJADEO_VERSION=$(curl -s -S http://ardour.org/files/video-tools/xjadeo_version.txt)
 
        rsync -a -q --partial \
-               rsync://ardour.org/video-tools/harvid_win-${HARVID_VERSION}.tar.xz \
-               "${SRCCACHE}/harvid_win-${HARVID_VERSION}.tar.xz"
+               rsync://ardour.org/video-tools/harvid_${WARCH}-${HARVID_VERSION}.tar.xz \
+               "${SRCCACHE}/harvid_${WARCH}-${HARVID_VERSION}.tar.xz"
 
        rsync -a -q --partial \
-               rsync://ardour.org/video-tools/xjadeo_win-${XJADEO_VERSION}.tar.xz \
-               "${SRCCACHE}/xjadeo_win-${XJADEO_VERSION}.tar.xz"
+               rsync://ardour.org/video-tools/xjadeo_${WARCH}-${XJADEO_VERSION}.tar.xz \
+               "${SRCCACHE}/xjadeo_${WARCH}-${XJADEO_VERSION}.tar.xz"
 
        mkdir $DESTDIR/video
-       tar -xf "${SRCCACHE}/harvid_win-${HARVID_VERSION}.tar.xz" -C "$DESTDIR/video/"
-       tar -xf "${SRCCACHE}/xjadeo_win-${XJADEO_VERSION}.tar.xz" -C "$DESTDIR/video/"
+       tar -xf "${SRCCACHE}/harvid_${WARCH}-${HARVID_VERSION}.tar.xz" -C "$DESTDIR/video/"
+       tar -xf "${SRCCACHE}/xjadeo_${WARCH}-${XJADEO_VERSION}.tar.xz" -C "$DESTDIR/video/"
 
        echo " === unzipped"
        du -sh $DESTDIR/video
@@ -228,28 +252,32 @@ fi
 
 ################################################################################
 ### Mixbus plugins, etc
-if test x$WITH_X42_LV2 != x ; then
+if true ; then
        mkdir -p $ALIBDIR/LV2
 
-       echo "Adding x42 Plugins"
+       echo "Adding General MIDI Synth LV2"
 
-       METERS_VERSION=$(curl -s -S http://x42-plugins.com/x42/win/x42-meters.latest.txt)
-       rsync -a -q --partial \
-               rsync://x42-plugins.com/x42/win/x42-meters-lv2-${WARCH}-${METERS_VERSION}.zip \
-               "${SRCCACHE}/x42-meters-lv2-${WARCH}-${METERS_VERSION}.zip"
-       unzip -q -d "$ALIBDIR/LV2/" "${SRCCACHE}/x42-meters-lv2-${WARCH}-${METERS_VERSION}.zip"
+       for proj in x42-gmsynth; do
+               X42_VERSION=$(curl -s -S http://x42-plugins.com/x42/win/${proj}.latest.txt)
+               rsync -a -q --partial \
+                       rsync://x42-plugins.com/x42/win/${proj}-lv2-${WARCH}-${X42_VERSION}.zip \
+                       "${SRCCACHE}/${proj}-lv2-${WARCH}-${X42_VERSION}.zip"
+               unzip -q -d "$ALIBDIR/LV2/" "${SRCCACHE}/${proj}-lv2-${WARCH}-${X42_VERSION}.zip"
+       done
+fi
 
-       SETBFREE_VERSION=$(curl -s -S http://x42-plugins.com/x42/win/setBfree.latest.txt)
-       rsync -a -q --partial \
-               rsync://x42-plugins.com/x42/win/setBfree-lv2-${WARCH}-${SETBFREE_VERSION}.zip \
-               "${SRCCACHE}/setBfree-lv2-${WARCH}-${SETBFREE_VERSION}.zip"
-       unzip -q -d "$ALIBDIR/LV2/" "${SRCCACHE}/setBfree-lv2-${WARCH}-${SETBFREE_VERSION}.zip"
+if test x$WITH_X42_LV2 != x ; then
+       mkdir -p $ALIBDIR/LV2
 
-       MIDIFILTER_VERSION=$(curl -s -S http://x42-plugins.com/x42/win/x42-midifilter.latest.txt)
-       rsync -a -q --partial \
-               rsync://x42-plugins.com/x42/win/x42-midifilter-lv2-${WARCH}-${MIDIFILTER_VERSION}.zip \
-               "${SRCCACHE}/x42-midifilter-lv2-${WARCH}-${MIDIFILTER_VERSION}.zip"
-       unzip -q -d "$ALIBDIR/LV2/" "${SRCCACHE}/x42-midifilter-lv2-${WARCH}-${MIDIFILTER_VERSION}.zip"
+       echo "Adding x42 Plugins"
+
+       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/win/${proj}.latest.txt)
+               rsync -a -q --partial \
+                       rsync://x42-plugins.com/x42/win/${proj}-lv2-${WARCH}-${X42_VERSION}.zip \
+                       "${SRCCACHE}/${proj}-lv2-${WARCH}-${X42_VERSION}.zip"
+               unzip -q -d "$ALIBDIR/LV2/" "${SRCCACHE}/${proj}-lv2-${WARCH}-${X42_VERSION}.zip"
+       done
 fi
 
 if test x$WITH_HARRISON_LV2 != x ; then
@@ -258,10 +286,10 @@ if test x$WITH_HARRISON_LV2 != x ; then
        echo "Including Harrison LV2s"
 
        curl -s -S --fail -# \
-               -z "${SRCCACHE}/harrison_lv2s.${WARCH}.zip" \
-               -o "${SRCCACHE}/harrison_lv2s.${WARCH}.zip" \
-               "http://www.harrisonconsoles.com/mixbus/mb3/beta/harrison-dsp/harrison_lv2s.${WARCH}.zip"
-       unzip -q -d "$ALIBDIR/LV2/" "${SRCCACHE}/harrison_lv2s.${WARCH}.zip"
+               -z "${SRCCACHE}/${HARRISONLV2}.${WARCH}.zip" \
+               -o "${SRCCACHE}/${HARRISONLV2}.${WARCH}.zip" \
+               "${HARRISONDSPURL}/${HARRISONLV2}.${WARCH}.zip"
+       unzip -q -d "$ALIBDIR/LV2/" "${SRCCACHE}/${HARRISONLV2}.${WARCH}.zip"
 fi
 
 if test -n "$MIXBUS"; then
@@ -269,14 +297,36 @@ if test -n "$MIXBUS"; then
 
        mkdir -p $ALIBDIR/ladspa/strip
        curl -s -S --fail -# \
-               -z "${SRCCACHE}/harrison_channelstrip.${WARCH}.dll" \
-               -o "${SRCCACHE}/harrison_channelstrip.${WARCH}.dll" \
-               "http://www.harrisonconsoles.com/mixbus/mb3/beta/harrison-dsp/harrison_channelstrip.${WARCH}.dll"
+               -z "${SRCCACHE}/${HARRISONCHANNELSTRIP}.${WARCH}.dll" \
+               -o "${SRCCACHE}/${HARRISONCHANNELSTRIP}.${WARCH}.dll" \
+               "${HARRISONDSPURL}/${HARRISONCHANNELSTRIP}.${WARCH}.dll"
 
-       cp "${SRCCACHE}/harrison_channelstrip.${WARCH}.dll" \
-               "$ALIBDIR/ladspa/strip/harrison_channelstrip.dll"
+       cp "${SRCCACHE}/${HARRISONCHANNELSTRIP}.${WARCH}.dll" \
+               "$ALIBDIR/ladspa/strip/${HARRISONCHANNELSTRIP}.dll"
+
+       echo "Deploying Harrison Vamp Plugins"
+       mkdir -p $ALIBDIR/vamp
+       curl -s -S --fail -# \
+               -z "${SRCCACHE}/harrison_vamp.${WARCH}.dll" \
+               -o "${SRCCACHE}/harrison_vamp.${WARCH}.dll" \
+               "${HARRISONDSPURL}/harrison_vamp.${WARCH}.dll"
+
+       cp "${SRCCACHE}/harrison_vamp.${WARCH}.dll" \
+               "$ALIBDIR/vamp/harrison_vamp.dll"
 fi
 
+################################################################################
+
+if test x$DEMO_SESSION_URL != x ; then
+       mkdir -p $Shared/sessions
+       DEMO_SESSIONS=$(curl -s -S --fail $DEMO_SESSION_URL/index.txt)
+       for demo in $DEMO_SESSIONS; do
+               curl -s -S --fail -# -o $Shared/sessions/$demo $DEMO_SESSION_URL/$demo
+       done
+fi
+
+################################################################################
+
 ( cd $DESTDIR ; find . ) > ${TMPDIR}/file_list.txt
 
 ################################################################################
@@ -313,7 +363,7 @@ Name "${PROGRAM_NAME}${PROGRAM_VERSION}"
 OutFile "${OUTFILE}"
 RequestExecutionLevel admin
 InstallDir "\$${PGF}\\${PRODUCT_ID}"
-InstallDirRegKey HKLM "Software\\${PROGRAM_NAME}\\${PRODUCT_ID}\\$WARCH" "Install_Dir"
+InstallDirRegKey HKLM "Software\\${PRODUCT_NAME}\\${PRODUCT_ID}\\$WARCH" "Install_Dir"
 !define MUI_ICON "share\\${PRODUCT_ICON}"
 
 EOF
@@ -325,7 +375,7 @@ if test -n "$MIXBUS"; then
 !define MUI_FINISHPAGE_TITLE "Welcome to Harrison Mixbus"
 !define MUI_FINISHPAGE_TEXT "Thanks for your purchase of Mixbus!\$\\r\$\\nYou will find the Mixbus application in the Start Menu (or the All Apps panel for Windows 8) \$\\r\$\\nClick the link below to view the Mixbus manual, and learn ways to get involved with the Mixbus community."
 !define MUI_FINISHPAGE_LINK "Mixbus Manual"
-!define MUI_FINISHPAGE_LINK_LOCATION "http://www.harrisonconsoles.com/mixbus/mixbus3-live-manual"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://www.harrisonconsoles.com/mixbus/${MANUAL_NAME}/"
 !define MUI_FINISHPAGE_NOREBOOTSUPPORT
 EOF
 
@@ -334,8 +384,8 @@ else
        cat >> $NSISFILE << EOF
 !define MUI_FINISHPAGE_TITLE "Welcome to Ardour"
 !define MUI_FINISHPAGE_TEXT "This windows versions or Ardour is provided as-is.\$\\r\$\\nThe Ardour community currently has no expertise in supporting windows users, and there are no developers focusing on windows specific issues either.\$\\r\$\\nIf you like Ardour, please consider helping out."
-!define MUI_FINISHPAGE_LINK "Ardour on Windows"
-!define MUI_FINISHPAGE_LINK_LOCATION "http://ardour.org/windows.html"
+!define MUI_FINISHPAGE_LINK "Ardour Manual"
+!define MUI_FINISHPAGE_LINK_LOCATION "http://manual.ardour.org/"
 #this would run as admin - see http://forums.winamp.com/showthread.php?t=353366
 #!define MUI_FINISHPAGE_RUN "\$INSTDIR\\bin\\${PRODUCT_EXE}"
 !define MUI_FINISHPAGE_NOREBOOTSUPPORT
@@ -362,7 +412,7 @@ Section "${PROGRAM_NAME}${PROGRAM_VERSION} (required)" SecMainProg
   File /r share
   File /nonfatal debug.bat
   File /nonfatal /r gdb
-  WriteRegStr HKLM "Software\\${PROGRAM_NAME}\\v${PROGRAM_VERSION}\\$WARCH" "Install_Dir" "\$INSTDIR"
+  WriteRegStr HKLM "Software\\${PROGRAM_KEY}\\v${major_version}\\$WARCH" "Install_Dir" "\$INSTDIR"
   WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\${PRODUCT_ID}-${WARCH}" "DisplayName" "${PROGRAM_NAME}${PROGRAM_VERSION}"
   WriteRegStr HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\${PRODUCT_ID}-${WARCH}" "UninstallString" '"\$INSTDIR\\uninstall.exe"'
   WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\${PRODUCT_ID}-${WARCH}" "NoModify" 1
@@ -380,7 +430,7 @@ if test -z "$NOVIDEOTOOLS"; then
 
        cat >> $NSISFILE << EOF
 Section "Videotimeline Tools" SecVideo
-  WriteRegStr HKLM "Software\\${PROGRAM_NAME}\\v${PROGRAM_VERSION}\\video" "Install_Dir" "\$INSTDIR\\video"
+  WriteRegStr HKLM "Software\\${PROGRAM_KEY}\\v${major_version}\\video" "Install_Dir" "\$INSTDIR\\video"
   SetOutPath \$INSTDIR
   File /r video
 SectionEnd
@@ -397,7 +447,7 @@ EOF
 
 if test -f "$DESTDIR/debug.bat"; then
        cat >> $NSISFILE << EOF
-  CreateShortCut "\$SMPROGRAMS\\${PRODUCT_ID}${SFX}\\${PROGRAM_NAME}${PROGRAM_VERSION} GDB.lnk" "\$INSTDIR\\debug.bat" "" "\$INSTDIR\\share\\ardour_bug.ico" 0
+  CreateShortCut "\$SMPROGRAMS\\${PRODUCT_ID}${SFX}\\${PROGRAM_NAME}${PROGRAM_VERSION} GDB.lnk" "\$INSTDIR\\debug.bat" "" "\$INSTDIR\\share\\ArdourBug.ico" 0
 EOF
 fi
 
@@ -441,7 +491,7 @@ Section "Uninstall"
   SetShellVarContext all
   DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\${PRODUCT_ID}-${WARCH}"
   DeleteRegKey HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\${PRODUCT_ID}"
-  DeleteRegKey HKLM "Software\\${PROGRAM_NAME}\\v${PROGRAM_VERSION}"
+  DeleteRegKey HKLM "Software\\${PROGRAM_KEY}\\v${major_version}"
   RMDir /r "\$INSTDIR\\bin"
   RMDir /r "\$INSTDIR\\lib"
   RMDir /r "\$INSTDIR\\share"
@@ -494,7 +544,7 @@ Function .onInit
   \${If} \${AtMostWinXP}
     SectionSetFlags \${SecWASAPI} \${SF_RO}
   \${Else}
-    SectionSetFlags \${SecWASAPI} \${SF_SELECTED}
+    SectionSetFlags \${SecWASAPI} 0
   \${EndIf}
 
 FunctionEnd