padthv1: initial add 0.8.4

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller
2017-08-23 00:08:01 +02:00
parent 1f9e3a437d
commit 4f2ab32780
3 changed files with 251 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
From f9970bc20b4ceb864c98a3d5550c27500db60520 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Sat, 26 Nov 2016 00:46:10 +0100
Subject: [PATCH] find native qt build tools by configure options - auto
detection does not work
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
configure.ac | 66 +++++++++++++++---------------------------------------------
1 file changed, 16 insertions(+), 50 deletions(-)
diff --git a/configure.ac b/configure.ac
index 05c7eb3..753908c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -258,18 +258,10 @@ done
# A common error message:
ac_errmsg="not found in current PATH. Maybe QT development environment isn't available."
-if test "x$ac_qt4" = "xyes"; then
- AC_PATH_PROG(ac_qmake, qmake-qt4, [no], $ac_path)
-else
- AC_PATH_PROG(ac_qmake, qmake-qt5, [no], $ac_path)
-fi
-if test "x$ac_qmake" = "xno"; then
- AC_PATH_PROG(ac_cv_qmake, qmake, [no], $ac_path)
- ac_qmake=$ac_cv_qmake
-fi
-if test "x$ac_qmake" = "xno"; then
- AC_MSG_ERROR([qmake $ac_errmsg])
-fi
+AC_ARG_WITH(qmake,
+ AC_HELP_STRING([--with-qmake=PATH], [use alternate qmake path]),
+ [ac_qmake="$withval"], [ac_qmake="no"])
+
# Check for proper Qt major version.
AC_CACHE_CHECK([for Qt major version], [ac_cv_qt_version_major], [
@@ -296,13 +288,6 @@ if test -d $ac_qt_install_path; then
ac_path="$ac_qt_install_path:$ac_path"
fi
-# Check it again, now with updated PATH, just in case...
-AC_PATH_PROG(ac_cv_qmake, qmake, [no], $ac_path)
-ac_qmake=$ac_cv_qmake
-if test "x$ac_qmake" = "xno"; then
- AC_MSG_ERROR([qmake $ac_errmsg])
-fi
-
AC_SUBST(ac_qmake)
AC_CACHE_CHECK([for Qt install headers], [ac_cv_qt_install_headers], [
@@ -324,56 +309,37 @@ if test -d $ac_qt_install_libs; then
ac_libs="-L$ac_qt_install_libs $ac_libs"
fi
-# Finally, check for proper Qt4/5 version.
-if test "x$ac_qt4" = "xyes"; then
- AC_CACHE_CHECK([for Qt library version >= 4.4],
- ac_cv_qtversion, [
- AC_TRY_COMPILE([#include "QtCore/qglobal.h"], [
- #if QT_VERSION < 0x040400 || QT_VERSION >= 0x050000
- #error Qt library 4.4 or greater required.
- #endif
- ], ac_cv_qtversion="yes", [
- echo "no; Qt 4.4 or greater is required"
- exit 1
- ])
- ])
-else
- AC_CACHE_CHECK([for Qt library version >= 5.1],
- ac_cv_qtversion, [
- AC_TRY_COMPILE([#include "QtCore/qglobal.h"], [
- #if QT_VERSION < 0x050100 || QT_VERSION >= 0x060000
- #error Qt library 5.1 or greater required.
- #endif
- ], ac_cv_qtversion="yes", [
- echo "no; Qt 5.1 or greater is required"
- exit 1
- ])
- ])
-fi
-
# Check for Qt moc utility.
-AC_PATH_PROG(ac_moc, moc, [no], $ac_path)
+AC_ARG_WITH(moc,
+ AC_HELP_STRING([--with-moc=PATH], [use alternate moc path]),
+ [ac_moc="$withval"], [ac_moc="no"])
if test "x$ac_moc" = "xno"; then
AC_MSG_ERROR([moc $ac_errmsg])
fi
AC_SUBST(ac_moc)
# Check for Qt uic utility.
-AC_PATH_PROG(ac_uic, uic, [no], $ac_path)
+AC_ARG_WITH(uic,
+ AC_HELP_STRING([--with-uic=PATH], [use alternate uic path]),
+ [ac_uic="$withval"], [ac_uic="no"])
if test "x$ac_uic" = "xno"; then
AC_MSG_ERROR([uic $ac_errmsg])
fi
AC_SUBST(ac_uic)
# Check for Qt lupdate utility.
-AC_PATH_PROG(ac_lupdate, lupdate, [no], $ac_path)
+AC_ARG_WITH(lupdate,
+ AC_HELP_STRING([--with-lupdate=PATH], [use alternate lupdate path]),
+ [ac_lupdate="$withval"], [ac_lupdate="no"])
if test "x$ac_lupdate" = "xno"; then
AC_MSG_ERROR([lupdate $ac_errmsg])
fi
AC_SUBST(ac_lupdate)
# Check for Qt lrelease utility.
-AC_PATH_PROG(ac_lrelease, lrelease, [no], $ac_path)
+AC_ARG_WITH(lrelease,
+ AC_HELP_STRING([--with-lrelease=PATH], [use alternate lrelease path]),
+ [ac_lrelease="$withval"], [ac_lrelease="no"])
if test "x$ac_release" = "xno"; then
AC_MSG_ERROR([lrelease $ac_errmsg])
fi
--
2.5.5

View File

@@ -0,0 +1,81 @@
From 1392b3db4d56e9c26d8e3cf4137c9cc1dd33a3cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Tue, 22 Aug 2017 23:25:24 +0200
Subject: [PATCH] Build against fftw3f - that supports NEON on ARM
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross-specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
configure.ac | 2 +-
src/padthv1_sample.cpp | 8 ++++----
src/padthv1_sample.h | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/configure.ac b/configure.ac
index e0204d8..e799555 100644
--- a/configure.ac
+++ b/configure.ac
@@ -361,7 +361,7 @@ AC_CHECK_LIB(Xext, main)
ac_cflags="-ffast-math $ac_cflags"
# Check for core FFTW3 library.
-PKG_CHECK_MODULES([FFTW3], [fftw3], [ac_fftw3="yes"], [ac_fftw3="no"])
+PKG_CHECK_MODULES([FFTW3], [fftw3f], [ac_fftw3="yes"], [ac_fftw3="no"])
if test "x$ac_fftw3" = "xyes"; then
AC_DEFINE(CONFIG_FFTW3, 1, [Define if FFTW3 library is available.])
ac_cflags="$ac_cflags $FFTW3_CFLAGS"
diff --git a/src/padthv1_sample.cpp b/src/padthv1_sample.cpp
index 67597a5..9630840 100644
--- a/src/padthv1_sample.cpp
+++ b/src/padthv1_sample.cpp
@@ -111,8 +111,8 @@ padthv1_sample::padthv1_sample ( padthv1 *pSynth, int sid, uint32_t nsize )
m_freq_cos = new float [nsize2];
// data plan
- m_fftw_data = new double [m_nsize];
- m_fftw_plan = ::fftw_plan_r2r_1d(
+ m_fftw_data = new float [m_nsize];
+ m_fftw_plan = ::fftwf_plan_r2r_1d(
m_nsize, m_fftw_data, m_fftw_data, FFTW_HC2R, FFTW_ESTIMATE);
m_sample_sched = new padthv1_sample_sched(pSynth, this);
@@ -128,7 +128,7 @@ padthv1_sample::~padthv1_sample (void)
delete m_sample_sched;
- ::fftw_destroy_plan(m_fftw_plan);
+ ::fftwf_destroy_plan(m_fftw_plan);
delete [] m_fftw_data;
@@ -384,7 +384,7 @@ void padthv1_sample::reset_table (void)
m_fftw_data[m_nsize - i] = m_freq_sin[i];
}
- ::fftw_execute(m_fftw_plan);
+ ::fftwf_execute(m_fftw_plan);
for (i = 0; i < m_nsize; ++i)
m_table[i] = m_fftw_data[i];
diff --git a/src/padthv1_sample.h b/src/padthv1_sample.h
index cb5d8f3..1d3cabf 100644
--- a/src/padthv1_sample.h
+++ b/src/padthv1_sample.h
@@ -194,8 +194,8 @@ private:
float *m_freq_amp;
float *m_freq_sin;
float *m_freq_cos;
- double *m_fftw_data;
- fftw_plan m_fftw_plan;
+ float *m_fftw_data;
+ fftwf_plan m_fftw_plan;
uint32_t m_srand;
--
2.9.4

View File

@@ -0,0 +1,41 @@
SUMMARY = "Aan old-school polyphonic additive synthesizer"
HOMEPAGE = "http://padthv1.sourceforge.net/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
DEPENDS += " \
qtbase-native \
qtbase \
jack \
lv2 \
liblo \
fftw \
"
inherit qmake5_base autotools-brokensep pkgconfig gtk-icon-cache
# fftwf is neon accelerated -> force SINGLE precision
FFTWSINGLEPATCH = "${@bb.utils.contains('TUNE_FEATURES', 'neon', 'file://0002-Build-against-fftw3f-that-supports-NEON-on-ARM.patch', '', d)}"
SRC_URI = " \
${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
file://0001-find-native-qt-build-tools-by-configure-options-auto.patch \
${FFTWSINGLEPATCH} \
"
SRC_URI[md5sum] = "62716da063ec23ccd4cc625349f6b62c"
SRC_URI[sha256sum] = "198839e774466a2ad42e48f9d56755fd00f9c78c7c53386490ef4090e073dcdc"
EXTRA_OECONF = " \
--with-qmake=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake \
--with-moc=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc \
--with-uic=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic \
--with-lupdate=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lupdate \
--with-lrelease=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/lrelease \
"
FILES_${PN} += " \
${datadir}/appdata \
${datadir}/mime \
${datadir}/icons \
${libdir}/lv2 \
"