summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-10-05 18:11:11 +0200
committerRobin Gareus <robin@gareus.org>2014-10-05 18:11:11 +0200
commit94e7015c70a22c8834ce082f954160f79cbaed94 (patch)
treeba57e10fd7b4062dbbb812dd4bc85b23a524a116
parent114296d9586c957070c1d3ee940e4de8101e3e33 (diff)
64bit windows VSTs
-rw-r--r--libs/ardour/session_vst.cc4
-rw-r--r--libs/ardour/vst_info_file.cc9
-rw-r--r--libs/ardour/windows_vst_plugin.cc2
-rw-r--r--libs/fst/scanner.cc4
-rwxr-xr-xtools/x-mingw.sh13
5 files changed, 24 insertions, 8 deletions
diff --git a/libs/ardour/session_vst.cc b/libs/ardour/session_vst.cc
index 95d47afe88..e3aa91b491 100644
--- a/libs/ardour/session_vst.cc
+++ b/libs/ardour/session_vst.cc
@@ -80,7 +80,7 @@ intptr_t Session::vst_callback (
plug = (VSTPlugin *) (effect->user);
session = &plug->session();
#ifdef PLATFORM_WINDOWS
- SHOW_CALLBACK ("am callback 0x%x, opcode = %d, plugin = \"%s\" ", (int) pthread_self().p, opcode, plug->name());
+ SHOW_CALLBACK ("am callback 0x%p, opcode = %d, plugin = \"%s\" ", pthread_self().p, opcode, plug->name());
#else
SHOW_CALLBACK ("am callback 0x%x, opcode = %d, plugin = \"%s\" ", (int) pthread_self(), opcode, plug->name());
#endif
@@ -88,7 +88,7 @@ intptr_t Session::vst_callback (
plug = 0;
session = 0;
#ifdef PLATFORM_WINDOWS
- SHOW_CALLBACK ("am callback 0x%x, opcode = %d", (int) pthread_self().p, opcode);
+ SHOW_CALLBACK ("am callback 0x%p, opcode = %d", pthread_self().p, opcode);
#else
SHOW_CALLBACK ("am callback 0x%x, opcode = %d", (int) pthread_self(), opcode);
#endif
diff --git a/libs/ardour/vst_info_file.cc b/libs/ardour/vst_info_file.cc
index a723f55d8b..3cfbad1297 100644
--- a/libs/ardour/vst_info_file.cc
+++ b/libs/ardour/vst_info_file.cc
@@ -384,8 +384,14 @@ vstfx_blacklist_file (const char *dllpath)
{
FILE *f;
if ((f = fopen (vstfx_blacklist_path (dllpath, 0).c_str(), "wb"))) {
+#ifndef NDEBUG
+ PBD::info << "Blacklisted VST: '" << vstfx_blacklist_path (dllpath, 0) << "'" << endmsg;
+#endif
return f;
}
+#ifndef NDEBUG
+ PBD::info << "Blacklisted VST: '" << vstfx_blacklist_path (dllpath, 1) << "'" << endmsg;
+#endif
return fopen (vstfx_blacklist_path (dllpath, 1).c_str(), "wb");
}
@@ -486,6 +492,9 @@ vstfx_infofile_create (const char* dllpath, int personal)
}
string const path = vstfx_infofile_path (dllpath, personal);
+#ifndef NDEBUG
+ PBD::info << "Creating VST cache file " << path << endmsg;
+#endif
return fopen (path.c_str(), "wb");
}
diff --git a/libs/ardour/windows_vst_plugin.cc b/libs/ardour/windows_vst_plugin.cc
index 03170e0d04..823b96cffe 100644
--- a/libs/ardour/windows_vst_plugin.cc
+++ b/libs/ardour/windows_vst_plugin.cc
@@ -71,7 +71,7 @@ WindowsVSTPluginInfo::load (Session& session)
handle = fst_load(path.c_str());
- if ((int) handle == -1) {
+ if (!handle) {
error << string_compose(_("VST: cannot load module from \"%1\""), path) << endmsg;
} else {
plugin.reset (new WindowsVSTPlugin (session.engine(), session, handle, PBD::atoi(unique_id)));
diff --git a/libs/fst/scanner.cc b/libs/fst/scanner.cc
index b2041d6031..c7cbd897db 100644
--- a/libs/fst/scanner.cc
+++ b/libs/fst/scanner.cc
@@ -7,6 +7,10 @@
#include "pbd/transmitter.h"
#include "pbd/receiver.h"
+#ifdef __MINGW64__
+#define NO_OLDNAMES // no backwards compat _pid_t, conflict with w64 pthread/sched
+#endif
+
#include "ardour/filesystem_paths.h"
#ifdef LXVST_SUPPORT
#include "ardour/linux_vst_support.h"
diff --git a/tools/x-mingw.sh b/tools/x-mingw.sh
index 082110f37a..5813b23bde 100755
--- a/tools/x-mingw.sh
+++ b/tools/x-mingw.sh
@@ -43,7 +43,7 @@
: ${SRCDIR=/tmp/winsrc} # source-code tgz are cached here
: ${MAKEFLAGS=-j4}
-: ${ARDOURCFG=--with-dummy}
+: ${ARDOURCFG=--with-dummy --windows-vst}
: ${STACKCFLAGS="-O2 -g"}
: ${NOSTACK=} # set to skip building the build-stack
@@ -523,9 +523,6 @@ fi # $NOSTACK
if test -n "$ASIO"; then
ARDOURCFG="$ARDOURCFG --with-wavesbackend"
fi
-if test "$WARCH" = "w32"; then
- ARDOURCFG="$ARDOURCFG --windows-vst"
-fi
################################################################################
@@ -537,6 +534,9 @@ if test ! -d ${SRCDIR}/ardour.git.reference; then
fi
git clone --reference ${SRCDIR}/ardour.git.reference -b cairocanvas git://git.ardour.org/ardour/ardour.git $ARDOURSRC || true
cd ${ARDOURSRC}
+#if git diff-files --quiet --ignore-submodules -- && git diff-index --cached --quiet HEAD --ignore-submodules --; then
+# git pull
+#fi
export CC=${XPREFIX}-gcc
export CXX=${XPREFIX}-g++
@@ -684,7 +684,8 @@ InstallDirRegKey HKLM "Software\\Ardour\\ardour3\\$WARCH" "Install_Dir"
!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 Manual"
!define MUI_FINISHPAGE_LINK_LOCATION "http://manual.ardour.org"
-!define MUI_FINISHPAGE_RUN "\$INSTDIR\\bin\\ardour.exe"
+#this would run as admin - see http://forums.winamp.com/showthread.php?t=353366
+#!define MUI_FINISHPAGE_RUN "\$INSTDIR\\bin\\ardour.exe"
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
!define MUI_ABORTWARNING
@@ -711,6 +712,7 @@ Section "Ardour3 (required)" SecArdour
WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\ardour3" "NoModify" 1
WriteRegDWORD HKLM "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\ardour3" "NoRepair" 1
WriteUninstaller "\$INSTDIR\uninstall.exe"
+ CreateShortCut "\$INSTDIR\\Ardour3.lnk" "\$INSTDIR\\bin\\ardour.exe" "" "\$INSTDIR\\bin\\ardour.exe" 0
SectionEnd
Section "Start Menu Shortcuts" SecMenu
SetShellVarContext all
@@ -734,6 +736,7 @@ Section "Uninstall"
RMDir /r "\$INSTDIR\\gdb"
Delete "\$INSTDIR\\ardbg.bat"
Delete "\$INSTDIR\\uninstall.exe"
+ Delete "\$INSTDIR\\Ardour3.lnk"
RMDir "\$INSTDIR"
Delete "\$SMPROGRAMS\\ardour3\\*.*"
RMDir "\$SMPROGRAMS\\ardour3"