Better version of 9ccc56e1625, implicit signal disconnect
[ardour.git] / tools / update_qm-dsp.sh
index d15ddb984aac337dce5ebedd65f7a9d786b4ca24..b102db80de65f565f397d3949bfe14925b33e74a 100755 (executable)
@@ -13,9 +13,6 @@ fi
 ASRC=`pwd`
 set -e
 
-cd libs/qm-dsp
-QMFILES=`find . -type f | grep -v MSVCqm-dsp | grep -v wscript`
-
 TMP=`mktemp -d`
 test -d "$TMP"
 echo $TMP
@@ -72,4 +69,70 @@ index 714d5755d..c88641de7 100644
      {
 EOF
 
+## this applies to qm-vamp-plugins-v1.7.1-20-g4d15479
+## fix OSX 10.5 / PPC builds gcc4.2
+patch -p3 << EOF
+diff --git a/libs/qm-dsp/base/KaiserWindow.h b/libs/qm-dsp/base/KaiserWindow.h
+index f16a4b6c1..0253d6d4c 100644
+--- a/libs/qm-dsp/base/KaiserWindow.h
++++ b/libs/qm-dsp/base/KaiserWindow.h
+@@ -81,7 +81,7 @@ public:
+     }
+     const double *getWindow() const { 
+-      return m_window.data();
++      return &m_window[0];
+     }
+     void cut(double *src) const { 
+diff --git a/libs/qm-dsp/base/SincWindow.h b/libs/qm-dsp/base/SincWindow.h
+index bb35d90c2..02de92867 100644
+--- a/libs/qm-dsp/base/SincWindow.h
++++ b/libs/qm-dsp/base/SincWindow.h
+@@ -37,7 +37,7 @@ public:
+     }
+     const double *getWindow() const { 
+-      return m_window.data();
++      return &m_window[0];
+     }
+     void cut(double *src) const { 
+EOF
+
+## this applies to qm-vamp-plugins-v1.7.1-20-g4d15479
+## MSVC compatibility
+patch -p3 << EOF
+diff --git a/libs/qm-dsp/dsp/signalconditioning/Filter.cpp b/libs/qm-dsp/dsp/signalconditioning/Filter.cpp
+index e9523e229..53fb35abe 100644
+--- a/libs/qm-dsp/dsp/signalconditioning/Filter.cpp
++++ b/libs/qm-dsp/dsp/signalconditioning/Filter.cpp
+@@ -74,8 +74,8 @@ Filter::reset()
+ }
+ void
+-Filter::process(const double *const __restrict__ in,
+-              double *const __restrict__ out,
++Filter::process(const double *const __restrict in,
++              double *const __restrict out,
+               const int n)
+ {
+     for (int s = 0; s < n; ++s) {
+diff --git a/libs/qm-dsp/dsp/signalconditioning/Filter.h b/libs/qm-dsp/dsp/signalconditioning/Filter.h
+index 05f79e972..8c1aee731 100644
+--- a/libs/qm-dsp/dsp/signalconditioning/Filter.h
++++ b/libs/qm-dsp/dsp/signalconditioning/Filter.h
+@@ -42,8 +42,8 @@ public:
+      * write the resulting \arg n samples into \arg out. There must be
+      * enough room in \arg out for \arg n samples to be written.
+      */
+-    void process(const double *const __restrict__ in,
+-                 double *const __restrict__ out,
++    void process(const double *const __restrict in,
++                 double *const __restrict out,
+                  const int n);
+     int getOrder() const { return m_order; }
+EOF
+
 git add gitrev.txt base dsp ext maths