mirror of
https://github.com/schnitzeltony/meta-musicians.git
synced 2026-01-29 17:18:41 +01:00
17
LICENSE
Normal file
17
LICENSE
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
17
README
Normal file
17
README
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
OE layer containing digiatal audio workstation and plugin recipes
|
||||||
|
|
||||||
|
This layer depends on:
|
||||||
|
|
||||||
|
URI: git://git.openembedded.org/openembedded-core
|
||||||
|
branch: master
|
||||||
|
revision: HEAD
|
||||||
|
|
||||||
|
URI: git://github.com/openembedded/meta-oe.git
|
||||||
|
branch: master
|
||||||
|
revision: HEAD
|
||||||
|
|
||||||
|
URI: git://github.com/meta-qt5/meta-qt5.git
|
||||||
|
branch: master
|
||||||
|
revision: HEAD
|
||||||
|
|
||||||
|
Layer maintainer: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
53
classes/lv2-postinst-helper.bbclass
Normal file
53
classes/lv2-postinst-helper.bbclass
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# Helper class to handle ontarget-postinst creation of lv2 turtle files
|
||||||
|
|
||||||
|
# File created during compile usually. To create this file makefiles have to be
|
||||||
|
# aligned - see do_configure_prepend at zynaddsubfx or distrho-ports. The file
|
||||||
|
# is expected with the following format
|
||||||
|
# lv2-ttl-generator <path>/plugin.so
|
||||||
|
LV2-TURTLE-BUILD-DATA = "${WORKDIR}/lv2-ttl-generator-data"
|
||||||
|
|
||||||
|
# E.g zynaddsubfx needs to create dummy lv2 turtle files to keep install sane.
|
||||||
|
# To delete them automatically (see below) the contain a dummy string:
|
||||||
|
LV2-DUMMY-TURTLE-STR = "lv2-dummy-turtle-string"
|
||||||
|
|
||||||
|
# To make ontarget postinst/prerm happen, the names of all plugins with their
|
||||||
|
# paths as installed on target a stored in a file called lv2-postinst-manifest
|
||||||
|
LV2-POSTINST-MANIFEST = "${datadir}/${BPN}/lv2-postinst-manifest"
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
# remove dummy lv2-turtles again
|
||||||
|
cd ${D}/${libdir}/lv2
|
||||||
|
for tfile in `grep -rl ${LV2-DUMMY-TURTLE-STR}`; do
|
||||||
|
rm $tfile
|
||||||
|
done
|
||||||
|
|
||||||
|
# create postinst manifest
|
||||||
|
install -d ${D}`dirname ${LV2-POSTINST-MANIFEST}`
|
||||||
|
for sofile in `cat ${LV2-TURTLE-BUILD-DATA} | awk '{ print $2 }'`; do
|
||||||
|
sofile=`basename $sofile`
|
||||||
|
installed=`find ${D}${libdir}/lv2 -name $sofile | sed 's|${D}||g'`
|
||||||
|
echo $installed >> ${D}${LV2-POSTINST-MANIFEST}
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pkg_postinst_ontarget_${PN}-lv2() {
|
||||||
|
oldpath=`pwd`
|
||||||
|
for sofile in `cat ${LV2-POSTINST-MANIFEST}`; do
|
||||||
|
cd `dirname "$sofile"`
|
||||||
|
lv2-ttl-generator "$sofile"
|
||||||
|
done
|
||||||
|
cd $oldpath
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_prerm_${PN}-lv2() {
|
||||||
|
for sofile in `cat ${LV2-POSTINST-MANIFEST}`; do
|
||||||
|
path=`dirname "$sofile"`
|
||||||
|
for turtle in `find $path -name '*.ttl'`; do
|
||||||
|
rm $turtle
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN}-lv2 += "${LV2-POSTINST-MANIFEST}"
|
||||||
|
RDEPENDS_${PN}-lv2 += "lv2-ttl-generator"
|
||||||
8
classes/pack_audio_plugins.bbclass
Normal file
8
classes/pack_audio_plugins.bbclass
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Auto package audio plugins
|
||||||
|
|
||||||
|
PACKAGES =+ "${PN}-dssi ${PN}-ladspa ${PN}-lv2 ${PN}-vst"
|
||||||
|
|
||||||
|
FILES_${PN}-dssi += "${libdir}/dssi"
|
||||||
|
FILES_${PN}-ladspa += "${libdir}/ladspa"
|
||||||
|
FILES_${PN}-lv2 += "${libdir}/lv2"
|
||||||
|
FILES_${PN}-vst += "${libdir}/vst"
|
||||||
22
classes/qemu-ext.bbclass
Normal file
22
classes/qemu-ext.bbclass
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
inherit qemu
|
||||||
|
|
||||||
|
DEPENDS += "qemu-native"
|
||||||
|
|
||||||
|
# This is an extended/modified qemu.bbclass tailored four our needs:
|
||||||
|
#
|
||||||
|
# * add qemu-native to DEPENDS: we can do that because there is no
|
||||||
|
# introspection/interception delayed qemu usage here
|
||||||
|
# * The executable binary is set by absolute path: oe-core's qemu.bbclass
|
||||||
|
# expects it in sysroot. Here we usually run binaries in builddir which are
|
||||||
|
# not yet installed.
|
||||||
|
# * A recipe can set an extra library path in 'QEMU_EXTRA_LIBDIR'. This path is
|
||||||
|
# an absolute path.
|
||||||
|
|
||||||
|
def qemu_run_binary_local(data, rootfs_path, binary):
|
||||||
|
libdir = rootfs_path + data.getVar("libdir", False)
|
||||||
|
base_libdir = rootfs_path + data.getVar("base_libdir", False)
|
||||||
|
extra_libdir = data.getVar("QEMU_EXTRA_LIBDIR", False)
|
||||||
|
if extra_libdir:
|
||||||
|
return qemu_wrapper_cmdline(data, rootfs_path, [libdir, base_libdir, extra_libdir]) + binary
|
||||||
|
else:
|
||||||
|
return qemu_wrapper_cmdline(data, rootfs_path, [libdir, base_libdir]) + binary
|
||||||
37
classes/wafold.bbclass
Normal file
37
classes/wafold.bbclass
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# avoids build breaks when using no-static-libs.inc
|
||||||
|
DISABLE_STATIC = ""
|
||||||
|
|
||||||
|
EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
|
||||||
|
|
||||||
|
python waf_preconfigure() {
|
||||||
|
import subprocess
|
||||||
|
from distutils.version import StrictVersion
|
||||||
|
subsrcdir = d.getVar('S')
|
||||||
|
wafbin = os.path.join(subsrcdir, 'waf')
|
||||||
|
try:
|
||||||
|
result = subprocess.check_output([wafbin, '--version'], cwd=subsrcdir, stderr=subprocess.STDOUT)
|
||||||
|
version = result.decode('utf-8').split()[1]
|
||||||
|
if StrictVersion(version) >= StrictVersion("1.8.7"):
|
||||||
|
d.setVar("WAF_EXTRA_CONF", "--bindir=${bindir} --libdir=${libdir}")
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
bb.warn("Unable to execute waf --version, exit code %d. Assuming waf version without bindir/libdir support." % e.returncode)
|
||||||
|
except FileNotFoundError:
|
||||||
|
bb.fatal("waf does not exist in %s" % subsrcdir)
|
||||||
|
}
|
||||||
|
|
||||||
|
do_configure[prefuncs] += "waf_preconfigure"
|
||||||
|
|
||||||
|
wafold_do_configure() {
|
||||||
|
${S}/waf configure --prefix=${prefix} ${WAF_EXTRA_CONF} ${EXTRA_OECONF}
|
||||||
|
}
|
||||||
|
|
||||||
|
do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+"
|
||||||
|
wafold_do_compile() {
|
||||||
|
${S}/waf build ${@oe.utils.parallel_make_argument(d, '-j%d', limit=64)}
|
||||||
|
}
|
||||||
|
|
||||||
|
wafold_do_install() {
|
||||||
|
${S}/waf install --destdir=${D}
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPORT_FUNCTIONS do_configure do_compile do_install
|
||||||
14
conf/layer.conf
Normal file
14
conf/layer.conf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# We have a conf and classes directory, append to BBPATH
|
||||||
|
BBPATH .= ":${LAYERDIR}"
|
||||||
|
|
||||||
|
# recipes
|
||||||
|
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*/*.bb ${LAYERDIR}/recipes-*/*/*/*/*.bb"
|
||||||
|
# appends
|
||||||
|
BBFILES += "${LAYERDIR}/extends-*/*.bb ${LAYERDIR}/extends-*/*.bbappend"
|
||||||
|
|
||||||
|
BBFILE_COLLECTIONS += "meta-musicians"
|
||||||
|
BBFILE_PATTERN_meta-musicians := "^${LAYERDIR}/"
|
||||||
|
BBFILE_PRIORITY_meta-musicians = "20"
|
||||||
|
|
||||||
|
LAYERDEPENDS_meta-musicians = "core qt5-layer openembedded-layer networking-layer multimedia-layer xfce-layer"
|
||||||
|
LAYERSERIES_COMPAT_meta-musicians = "thud"
|
||||||
73
recipes-gstreamer/gstreamer-0.10/gst-meta-base_0.10.bb
Normal file
73
recipes-gstreamer/gstreamer-0.10/gst-meta-base_0.10.bb
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
SUMMARY = "GStreamer package groups"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
|
||||||
|
DEPENDS = "gstreamer gst-plugins-base gst-plugins-good"
|
||||||
|
|
||||||
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302 \
|
||||||
|
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||||
|
|
||||||
|
PR = "r13"
|
||||||
|
|
||||||
|
PACKAGES = "\
|
||||||
|
gst-meta-base \
|
||||||
|
gst-meta-x11-base \
|
||||||
|
gst-meta-audio \
|
||||||
|
gst-meta-debug \
|
||||||
|
gst-meta-video \
|
||||||
|
"
|
||||||
|
|
||||||
|
ALLOW_EMPTY_gst-meta-base = "1"
|
||||||
|
ALLOW_EMPTY_gst-meta-x11-base = "1"
|
||||||
|
ALLOW_EMPTY_gst-meta-audio = "1"
|
||||||
|
ALLOW_EMPTY_gst-meta-debug = "1"
|
||||||
|
ALLOW_EMPTY_gst-meta-video = "1"
|
||||||
|
|
||||||
|
RDEPENDS_gst-meta-base = "\
|
||||||
|
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gst-meta-x11-base', '', d)} \
|
||||||
|
gstreamer \
|
||||||
|
gst-plugins-base-playbin \
|
||||||
|
gst-plugins-base-decodebin \
|
||||||
|
gst-plugins-base-decodebin2 \
|
||||||
|
gst-plugins-base-gio \
|
||||||
|
gst-plugins-base-alsa \
|
||||||
|
gst-plugins-base-volume \
|
||||||
|
gst-plugins-base-audioconvert \
|
||||||
|
gst-plugins-base-audioresample \
|
||||||
|
gst-plugins-base-typefindfunctions \
|
||||||
|
gst-plugins-base-videoscale \
|
||||||
|
gst-plugins-base-ffmpegcolorspace \
|
||||||
|
gst-plugins-good-autodetect \
|
||||||
|
gst-plugins-good-souphttpsrc"
|
||||||
|
|
||||||
|
RRECOMMENDS_gst-meta-x11-base = "\
|
||||||
|
gst-plugins-base-ximagesink \
|
||||||
|
gst-plugins-base-xvimagesink \
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPENDS_gst-meta-audio = "\
|
||||||
|
gst-meta-base \
|
||||||
|
gst-plugins-base-vorbis \
|
||||||
|
gst-plugins-base-ogg \
|
||||||
|
gst-plugins-good-wavparse \
|
||||||
|
gst-plugins-good-flac \
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
RDEPENDS_gst-meta-debug = "\
|
||||||
|
gst-meta-base \
|
||||||
|
gst-plugins-good-debug \
|
||||||
|
gst-plugins-base-audiotestsrc \
|
||||||
|
gst-plugins-base-videotestsrc \
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
RDEPENDS_gst-meta-video = " \
|
||||||
|
gst-meta-base \
|
||||||
|
gst-plugins-good-avi \
|
||||||
|
gst-plugins-good-matroska \
|
||||||
|
gst-plugins-base-theora \
|
||||||
|
"
|
||||||
|
|
||||||
|
RRECOMMENDS_gst-meta-video = " \
|
||||||
|
gst-meta-audio \
|
||||||
|
"
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
From 5478eafecf618cd8e742cc1b96d688a2c7ce5a79 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||||
|
Date: Sun, 2 Oct 2016 21:49:33 +0200
|
||||||
|
Subject: [PATCH] gst-glib2.m4: don't do crazy things to GLIB_CFLAGS
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
we are definitely not one of those poor souls mentioned
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||||
|
---
|
||||||
|
common/m4/gst-glib2.m4 | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4
|
||||||
|
index b01f02f..4569ae5 100644
|
||||||
|
--- a/common/m4/gst-glib2.m4
|
||||||
|
+++ b/common/m4/gst-glib2.m4
|
||||||
|
@@ -69,7 +69,6 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl for the poor souls who for example have glib in /usr/local
|
||||||
|
- AS_SCRUB_INCLUDE(GLIB_CFLAGS)
|
||||||
|
|
||||||
|
AC_SUBST(GLIB_EXTRA_CFLAGS)
|
||||||
|
])
|
||||||
|
--
|
||||||
|
2.5.5
|
||||||
|
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
audioresample: Fix build on x86 if emmintrin.h is available but can't be used
|
||||||
|
|
||||||
|
On x86, EMMINTRIN is defined but not usable without SSE so check for
|
||||||
|
__SSE__ and __SSE2__ as well.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=670690
|
||||||
|
|
||||||
|
Upstream-Status: Backport
|
||||||
|
|
||||||
|
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
|
||||||
|
---
|
||||||
|
gst/audioresample/resample.c | 4 ++--
|
||||||
|
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gst/audioresample/resample.c b/gst/audioresample/resample.c
|
||||||
|
index 98d006c..481fa01 100644
|
||||||
|
--- a/gst/audioresample/resample.c
|
||||||
|
+++ b/gst/audioresample/resample.c
|
||||||
|
@@ -77,13 +77,13 @@
|
||||||
|
#define EXPORT G_GNUC_INTERNAL
|
||||||
|
|
||||||
|
#ifdef _USE_SSE
|
||||||
|
-#ifndef HAVE_XMMINTRIN_H
|
||||||
|
+#if !defined(__SSE__) || !defined(HAVE_XMMINTRIN_H)
|
||||||
|
#undef _USE_SSE
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _USE_SSE2
|
||||||
|
-#ifndef HAVE_EMMINTRIN_H
|
||||||
|
+#if !defined(__SSE2__) || !defined(HAVE_EMMINTRIN_H)
|
||||||
|
#undef _USE_SSE2
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
--
|
||||||
|
1.7.1
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
Upstream-Status: Submitted [similar patch by other author, bugzilla]
|
||||||
|
Bugtracker-URL: https://bugzilla.gnome.org/show_bug.cgi?id=663600
|
||||||
|
|
||||||
|
Prepend PKG_CONFIG_SYSROOT to includedir, so configure doesn't
|
||||||
|
search for gstconfig.h in /usr/include.
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 1901bcf..460fb0a 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -435,7 +435,7 @@ AG_GST_CHECK_PLUGIN(volume)
|
||||||
|
dnl check for gstreamer core features (subsystems)
|
||||||
|
dnl FIXME: this assumes srcdir == builddir for uninstalled setups
|
||||||
|
GST_CONFIGPATH=`$PKG_CONFIG --variable=includedir gstreamer-0.10`"/gst/gstconfig.h"
|
||||||
|
-AG_GST_PARSE_SUBSYSTEM_DISABLES($GST_CONFIGPATH)
|
||||||
|
+AG_GST_PARSE_SUBSYSTEM_DISABLES($PKG_CONFIG_SYSROOT_DIR$GST_CONFIGPATH)
|
||||||
|
AM_CONDITIONAL(USE_XML, test $GST_DISABLE_XML != "1")
|
||||||
|
|
||||||
|
dnl disable plug-ins that require libxml2's HTML support if it is not available
|
||||||
|
--
|
||||||
|
1.7.5.4
|
||||||
|
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
Remove -DTREMOR option since Tremor has dropped its internal
|
||||||
|
libogg2, and gst-plugins-base has dependency on that.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [configuration]
|
||||||
|
|
||||||
|
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
||||||
|
Signed-off-by: Shane Wang <shane.wang@intel.com>
|
||||||
|
|
||||||
|
diff -r 70065fb4e085 ext/vorbis/Makefile.am
|
||||||
|
--- a/ext/vorbis/Makefile.am Tue Mar 13 16:36:56 2012 +0800
|
||||||
|
+++ b/ext/vorbis/Makefile.am Tue Mar 13 16:38:53 2012 +0800
|
||||||
|
@@ -30,7 +30,7 @@
|
||||||
|
gstvorbisdec.c gstvorbisdeclib.c gstvorbiscommon.c
|
||||||
|
libgstivorbisdec_la_CFLAGS = \
|
||||||
|
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
|
||||||
|
- -DTREMOR $(IVORBIS_CFLAGS)
|
||||||
|
+ $(IVORBIS_CFLAGS)
|
||||||
|
libgstivorbisdec_la_LIBADD = \
|
||||||
|
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \
|
||||||
|
$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_MAJORMINOR@.la \
|
||||||
43
recipes-gstreamer/gstreamer-0.10/gst-plugins-base_0.10.36.bb
Normal file
43
recipes-gstreamer/gstreamer-0.10/gst-plugins-base_0.10.36.bb
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
require gst-plugins.inc
|
||||||
|
|
||||||
|
LICENSE = "GPLv2+ & LGPLv2+"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
|
||||||
|
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
|
||||||
|
file://COPYING.LIB;md5=55ca817ccb7d5b5b66355690e9abc605 \
|
||||||
|
file://gst/ffmpegcolorspace/utils.c;beginline=1;endline=20;md5=9c83a200b8e597b26ca29df20fc6ecd0"
|
||||||
|
|
||||||
|
DEPENDS += "alsa-lib libogg libvorbis libtheora util-linux tremor glib-2.0-native"
|
||||||
|
|
||||||
|
SRC_URI += "file://gst-plugins-base-tremor.patch \
|
||||||
|
file://configure.ac-fix-subparse-plugin.patch \
|
||||||
|
file://audioresample-Fix-build-on-x86-if-emmintrin.h-is-ava.patch \
|
||||||
|
file://0001-aclocal.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI[md5sum] = "776c73883e567f67b9c4a2847d8d041a"
|
||||||
|
SRC_URI[sha256sum] = "2cd3b0fa8e9b595db8f514ef7c2bdbcd639a0d63d154c00f8c9b609321f49976"
|
||||||
|
|
||||||
|
PR = "r8"
|
||||||
|
|
||||||
|
inherit gettext
|
||||||
|
|
||||||
|
EXTRA_OECONF += "--disable-freetypetest"
|
||||||
|
|
||||||
|
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
|
||||||
|
|
||||||
|
PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
|
||||||
|
PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango"
|
||||||
|
PACKAGECONFIG[x11] = "--enable-x --enable-xvideo,--disable-x --disable-xvideo,virtual/libx11 libxv libsm libice"
|
||||||
|
PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia"
|
||||||
|
|
||||||
|
do_configure_prepend() {
|
||||||
|
# This m4 file contains nastiness which conflicts with libtool 2.2.2
|
||||||
|
rm -f ${S}/m4/lib-link.m4
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} += "${datadir}/${BPN}"
|
||||||
|
|
||||||
|
CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
|
||||||
|
|
||||||
|
# /usr/bin/gst-visualise-0.10 is a perl script.
|
||||||
|
RDEPENDS_${PN}-apps += "perl"
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
From 12d18fe4e98e7c232d59b56d529a0521f293fe6d Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||||
|
Date: Wed, 5 Sep 2012 18:54:42 +0200
|
||||||
|
Subject: [PATCH] v4l2: fix build with recent kernels, the v4l2_buffer input
|
||||||
|
field was removed
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Backport
|
||||||
|
|
||||||
|
[1] http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||||
|
---
|
||||||
|
sys/v4l2/gstv4l2bufferpool.c | 1 -
|
||||||
|
1 files changed, 0 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
|
||||||
|
index b81c6a4..51cc0ce 100644
|
||||||
|
--- a/sys/v4l2/gstv4l2bufferpool.c
|
||||||
|
+++ b/sys/v4l2/gstv4l2bufferpool.c
|
||||||
|
@@ -181,7 +181,6 @@ gst_v4l2_buffer_new (GstV4l2BufferPool * pool, guint index, GstCaps * caps)
|
||||||
|
GST_LOG_OBJECT (pool->v4l2elem, " MMAP offset: %u",
|
||||||
|
ret->vbuffer.m.offset);
|
||||||
|
GST_LOG_OBJECT (pool->v4l2elem, " length: %u", ret->vbuffer.length);
|
||||||
|
- GST_LOG_OBJECT (pool->v4l2elem, " input: %u", ret->vbuffer.input);
|
||||||
|
|
||||||
|
data = (guint8 *) v4l2_mmap (0, ret->vbuffer.length,
|
||||||
|
PROT_READ | PROT_WRITE, MAP_SHARED, pool->video_fd,
|
||||||
|
--
|
||||||
|
1.7.6.5
|
||||||
|
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
From ccb01de8096a32d86d47b0d92ec3416c57ee4d25 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bruce Ashfield <bruce.ashfield@windriver.com>
|
||||||
|
Date: Thu, 22 Aug 2013 12:15:54 -0400
|
||||||
|
Subject: [PATCH] v4l2_calls: define V4L2_CID_HCENTER and V4L2_CID_VCENTER
|
||||||
|
|
||||||
|
kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls]
|
||||||
|
removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three
|
||||||
|
years of depreciation.
|
||||||
|
|
||||||
|
The ioctl values are still free, and the case statement which processess them
|
||||||
|
in v4l2 userspace falls through to the proper replacement. So in the short
|
||||||
|
term, we can explicitly define them using the old absolute values, and everything
|
||||||
|
will work.
|
||||||
|
|
||||||
|
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
|
||||||
|
---
|
||||||
|
sys/v4l2/v4l2_calls.c | 9 +++++++--
|
||||||
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sys/v4l2/v4l2_calls.c b/sys/v4l2/v4l2_calls.c
|
||||||
|
index 309bfb6..3c64544 100644
|
||||||
|
--- a/sys/v4l2/v4l2_calls.c
|
||||||
|
+++ b/sys/v4l2/v4l2_calls.c
|
||||||
|
@@ -54,11 +54,16 @@
|
||||||
|
#include "gst/gst-i18n-plugin.h"
|
||||||
|
|
||||||
|
/* Those are ioctl calls */
|
||||||
|
+
|
||||||
|
+/* V4L2_CID_HCENTER has been removed from the mainline kernel, but
|
||||||
|
+ the ioctl space is still present. Since these values fall through
|
||||||
|
+ to their replacement, it is safe (in the short term) to re-use the
|
||||||
|
+ old values explictily */
|
||||||
|
#ifndef V4L2_CID_HCENTER
|
||||||
|
-#define V4L2_CID_HCENTER V4L2_CID_HCENTER_DEPRECATED
|
||||||
|
+#define V4L2_CID_HCENTER V4L2_CID_BASE+22
|
||||||
|
#endif
|
||||||
|
#ifndef V4L2_CID_VCENTER
|
||||||
|
-#define V4L2_CID_VCENTER V4L2_CID_VCENTER_DEPRECATED
|
||||||
|
+#define V4L2_CID_VCENTER V4L2_CID_BASE+23
|
||||||
|
#endif
|
||||||
|
|
||||||
|
GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
|
||||||
|
--
|
||||||
|
1.7.10.4
|
||||||
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
From ce94b2c2b91b6db190c121860e12a6afafce7ae1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Roland Krikava <rkrikava@gmail.com>
|
||||||
|
Date: Fri, 2 Nov 2012 12:38:44 -0400
|
||||||
|
Subject: [PATCH 407/440] mulawdec: fix integer overrun
|
||||||
|
|
||||||
|
There might be more than 65535 samples in a chunk of data.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=687469
|
||||||
|
|
||||||
|
Commit - 3be45f70220310ec1c60d819f90b5f2ae03b5d83 in 0.10 branch
|
||||||
|
|
||||||
|
Upstream Status: Backported
|
||||||
|
|
||||||
|
Signed-off-by: Roland Krikava <rkrikava@gmail.com>
|
||||||
|
---
|
||||||
|
gst/law/mulaw-conversion.c | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gst/law/mulaw-conversion.c b/gst/law/mulaw-conversion.c
|
||||||
|
index 8afae80..190a9f5 100644
|
||||||
|
--- a/gst/law/mulaw-conversion.c
|
||||||
|
+++ b/gst/law/mulaw-conversion.c
|
||||||
|
@@ -51,9 +51,10 @@ mulaw_encode (gint16 * in, guint8 * out, gint numsamples)
|
||||||
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
|
||||||
|
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
|
||||||
|
};
|
||||||
|
- gint16 sign, exponent, mantissa, i;
|
||||||
|
+ gint16 sign, exponent, mantissa;
|
||||||
|
gint16 sample;
|
||||||
|
guint8 ulawbyte;
|
||||||
|
+ gint i;
|
||||||
|
|
||||||
|
for (i = 0; i < numsamples; i++) {
|
||||||
|
sample = in[i];
|
||||||
|
@@ -102,7 +103,8 @@ mulaw_decode (guint8 * in, gint16 * out, gint numsamples)
|
||||||
|
static gint16 exp_lut[8] = { 0, 132, 396, 924, 1980, 4092, 8316, 16764 };
|
||||||
|
gint16 sign, exponent, mantissa;
|
||||||
|
guint8 ulawbyte;
|
||||||
|
- gint16 linear, i;
|
||||||
|
+ gint16 linear;
|
||||||
|
+ gint i;
|
||||||
|
|
||||||
|
for (i = 0; i < numsamples; i++) {
|
||||||
|
ulawbyte = in[i];
|
||||||
|
--
|
||||||
|
1.7.9.5
|
||||||
|
|
||||||
47
recipes-gstreamer/gstreamer-0.10/gst-plugins-good_0.10.31.bb
Normal file
47
recipes-gstreamer/gstreamer-0.10/gst-plugins-good_0.10.31.bb
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
require gst-plugins.inc
|
||||||
|
|
||||||
|
LICENSE = "GPLv2+ & LGPLv2.1+"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
|
||||||
|
file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=622921ffad8cb18ab906c56052788a3f \
|
||||||
|
file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
|
||||||
|
|
||||||
|
PR = "r8"
|
||||||
|
|
||||||
|
PACKAGECONFIG ?= "jpeg v4l \
|
||||||
|
${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio x11', d)} \
|
||||||
|
"
|
||||||
|
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
|
||||||
|
PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
|
||||||
|
PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
|
||||||
|
PACKAGECONFIG[wavpack] = "--enable-wavpack,--disable-wavpack,wavpack"
|
||||||
|
PACKAGECONFIG[gdkpixbuf] = "--enable-gdk_pixbuf,--disable-gdk_pixbuf,gdk-pixbuf"
|
||||||
|
PACKAGECONFIG[v4l] = "--enable-gst_v4l2 --with-gudev,--disable-gst_v4l2 --without-gudev,libgudev"
|
||||||
|
# sub-feature of v4l, but control separately since libv4l is not part of oe-core
|
||||||
|
PACKAGECONFIG[libv4l] = "--with-libv4l2,--without-libv4l2,libv4l"
|
||||||
|
PACKAGECONFIG[bzip2] = "--enable-bz2,--disable-bz2,bzip2"
|
||||||
|
PACKAGECONFIG[orc] = "--enable-orc,--disable-orc,orc"
|
||||||
|
PACKAGECONFIG[x11] = "--enable-x,--disable-x,virtual/libx11 libxfixes libxdamage"
|
||||||
|
PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libiec61883 libavc1394"
|
||||||
|
|
||||||
|
DEPENDS += "gst-plugins-base gconf cairo libpng zlib libid3tag flac \
|
||||||
|
speex libsoup-2.4 libcap"
|
||||||
|
|
||||||
|
inherit gettext gconf
|
||||||
|
|
||||||
|
SRC_URI += "file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch \
|
||||||
|
file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch \
|
||||||
|
file://0407-mulawdec-fix-integer-overrun.patch \
|
||||||
|
"
|
||||||
|
EXTRA_OECONF += "--disable-aalib --disable-esd --disable-shout2 --disable-libcaca --disable-hal \
|
||||||
|
--disable-examples --disable-taglib"
|
||||||
|
|
||||||
|
do_configure_prepend() {
|
||||||
|
# This m4 file contains nastiness which conflicts with libtool 2.2.2
|
||||||
|
rm ${S}/m4/lib-link.m4 || true
|
||||||
|
}
|
||||||
|
|
||||||
|
SRC_URI[md5sum] = "24f98a294a2b521e1b29412bdadae2e6"
|
||||||
|
SRC_URI[sha256sum] = "7e27840e40a7932ef2dc032d7201f9f41afcaf0b437daf5d1d44dc96d9e35ac6"
|
||||||
|
|
||||||
|
FILES_${PN}-gconfelements += "${sysconfdir}/gconf/schemas/gstreamer-0.10.schemas"
|
||||||
|
FILES_${PN}-equalizer += "${datadir}/gstreamer-0.10/presets/*.prs"
|
||||||
29
recipes-gstreamer/gstreamer-0.10/gst-plugins.inc
Normal file
29
recipes-gstreamer/gstreamer-0.10/gst-plugins.inc
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
SUMMARY = "Plugins for the GStreamer multimedia framework"
|
||||||
|
HOMEPAGE = "http://gstreamer.freedesktop.org/"
|
||||||
|
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
|
||||||
|
SECTION = "multimedia"
|
||||||
|
DEPENDS = "gstreamer"
|
||||||
|
|
||||||
|
# gobject-introspection to get --disable-introspection into UNKNOWN_CONFIGURE_WHITELIST
|
||||||
|
inherit autotools pkgconfig gobject-introspection
|
||||||
|
|
||||||
|
SRC_URI = "http://gstreamer.freedesktop.org/src/${BPN}/${BPN}-${PV}.tar.bz2"
|
||||||
|
|
||||||
|
GSTREAMER_DEBUG ?= "--disable-debug"
|
||||||
|
EXTRA_OECONF = "--disable-valgrind ${GSTREAMER_DEBUG} --disable-examples --disable-introspection"
|
||||||
|
|
||||||
|
acpaths = "-I ${S}/common/m4 -I ${S}/m4"
|
||||||
|
|
||||||
|
LIBV = "0.10"
|
||||||
|
require recipes-multimedia/gstreamer/gst-plugins-package.inc
|
||||||
|
|
||||||
|
PACKAGES_DYNAMIC += "^${PN}-.*"
|
||||||
|
|
||||||
|
# apply gstreamer hack after Makefile.in.in in source is replaced by our version from
|
||||||
|
# ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed
|
||||||
|
# http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html
|
||||||
|
oe_runconf_prepend() {
|
||||||
|
if [ -e ${S}/po/Makefile.in.in ]; then
|
||||||
|
sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
|
||||||
|
fi
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
From ed7f4802222234eef192aa3f74bc92268f338f97 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Sebastian Droege <sebastian.droege@collabora.co.uk>
|
||||||
|
Date: Tue, 6 Mar 2012 12:28:02 +0100
|
||||||
|
Subject: [PATCH] baseparse: Fix 'self-comparison always evaluates to true'
|
||||||
|
|
||||||
|
This was really a bug.
|
||||||
|
|
||||||
|
Commit is ed7f4802222234eef192aa3f74bc92268f338f97 in 0.10 branch
|
||||||
|
|
||||||
|
Upstream Status: Backported
|
||||||
|
|
||||||
|
Signed-off-by: Sebastian Droege <sebastian.droege@collabora.co.uk>
|
||||||
|
---
|
||||||
|
libs/gst/base/gstbaseparse.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
|
||||||
|
index 851ec1d..108ee89 100644
|
||||||
|
--- a/libs/gst/base/gstbaseparse.c
|
||||||
|
+++ b/libs/gst/base/gstbaseparse.c
|
||||||
|
@@ -3899,7 +3899,7 @@ gst_base_parse_handle_seek (GstBaseParse * parse, GstEvent * event)
|
||||||
|
seek event (in bytes) to upstream. Segment / flush handling happens
|
||||||
|
in corresponding src event handlers */
|
||||||
|
GST_DEBUG_OBJECT (parse, "seek in PUSH mode");
|
||||||
|
- if (seekstop >= 0 && seekpos <= seekpos)
|
||||||
|
+ if (seekstop >= 0 && seekstop <= seekpos)
|
||||||
|
seekstop = seekpos;
|
||||||
|
new_event = gst_event_new_seek (rate, GST_FORMAT_BYTES, flags,
|
||||||
|
GST_SEEK_TYPE_SET, seekpos, stop_type, seekstop);
|
||||||
|
--
|
||||||
|
1.7.9.5
|
||||||
|
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
From 60516f4798894f958fc53b470e1283318d0f8706 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kerrick Staley <kerrick@kerrickstaley.com>
|
||||||
|
Date: Tue, 20 Aug 2013 23:59:29 -0700
|
||||||
|
Subject: [PATCH 1/2] parse: make grammar.y work with Bison 3
|
||||||
|
|
||||||
|
YYLEX_PARAM is no longer supported in Bison 3.
|
||||||
|
|
||||||
|
https://bugzilla.gnome.org/show_bug.cgi?id=706462
|
||||||
|
---
|
||||||
|
gst/parse/grammar.y | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
|
||||||
|
index 24fc87b..7f9dd16 100644
|
||||||
|
--- a/gst/parse/grammar.y
|
||||||
|
+++ b/gst/parse/grammar.y
|
||||||
|
@@ -26,7 +26,6 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define YYERROR_VERBOSE 1
|
||||||
|
-#define YYLEX_PARAM scanner
|
||||||
|
|
||||||
|
#define YYENABLE_NLS 0
|
||||||
|
|
||||||
|
@@ -648,6 +647,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
|
||||||
|
%right '.'
|
||||||
|
%left '!' '='
|
||||||
|
|
||||||
|
+%lex-param { void *scanner }
|
||||||
|
%parse-param { void *scanner }
|
||||||
|
%parse-param { graph_t *graph }
|
||||||
|
%pure-parser
|
||||||
|
--
|
||||||
|
2.7.2
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
From 4b145ceb22bbce7ba6e209c6ab61f2d5867e69f9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||||
|
Date: Tue, 1 Nov 2016 19:02:30 +0100
|
||||||
|
Subject: [PATCH] gst-glib2.m4: don't do crazy things to GLIB_CFLAGS
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
we are definitely not one of those poor souls mentioned
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||||
|
---
|
||||||
|
common/m4/gst-glib2.m4 | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4
|
||||||
|
index b01f02f..4569ae5 100644
|
||||||
|
--- a/common/m4/gst-glib2.m4
|
||||||
|
+++ b/common/m4/gst-glib2.m4
|
||||||
|
@@ -69,7 +69,6 @@ AC_DEFUN([AG_GST_GLIB_CHECK],
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl for the poor souls who for example have glib in /usr/local
|
||||||
|
- AS_SCRUB_INCLUDE(GLIB_CFLAGS)
|
||||||
|
|
||||||
|
AC_SUBST(GLIB_EXTRA_CFLAGS)
|
||||||
|
])
|
||||||
|
--
|
||||||
|
2.5.5
|
||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# gstreamer: Fix a problem with configure if check has already been built
|
||||||
|
# Richard Purdie <rpurdie@linux.intel.com>
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [configuration]
|
||||||
|
|
||||||
|
diff -urN gstreamer-0.10.29-orig/configure.ac gstreamer-0.10.29/configure.ac
|
||||||
|
--- gstreamer-0.10.29-orig/configure.ac 2010-06-26 12:49:27.774930773 +0800
|
||||||
|
+++ gstreamer-0.10.29/configure.ac 2010-06-26 12:51:12.899200233 +0800
|
||||||
|
@@ -543,8 +543,10 @@
|
||||||
|
*) BUILD_CHECK=yes ;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
+
|
||||||
|
dnl bit of a misnomer, but keep the conditional named like this so we don't
|
||||||
|
dnl have to change too much elsewhere
|
||||||
|
+HAVE_CHECK=no
|
||||||
|
AM_CONDITIONAL(HAVE_CHECK, test "x$BUILD_CHECK" = "xyes")
|
||||||
|
|
||||||
|
dnl configure the desired buffer alignment
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
# Fix crash with gst-inspect
|
||||||
|
# Chris Lord <chris@openedhand.com>
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
--- gstreamer-0.10.9/tools/gst-inspect.c.old 2006-09-12 11:56:53.000000000 +0100
|
||||||
|
+++ gstreamer-0.10.9/tools/gst-inspect.c 2006-09-12 11:57:27.000000000 +0100
|
||||||
|
@@ -1123,7 +1123,7 @@
|
||||||
|
g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
|
||||||
|
g_option_context_add_group (ctx, gst_init_get_option_group ());
|
||||||
|
if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
|
||||||
|
- g_print ("Error initializing: %s\n", err->message);
|
||||||
|
+ g_print ("Error initializing: %s\n", err ? err->message : "(null)");
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
g_option_context_free (ctx);
|
||||||
@@ -0,0 +1,487 @@
|
|||||||
|
/* GStreamer
|
||||||
|
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
|
||||||
|
* 2000 Wim Taymans <wtay@chello.be>
|
||||||
|
* 2005 David A. Schleef <ds@schleef.org>
|
||||||
|
*
|
||||||
|
* gstregistryxml.c: GstRegistry object, support routines
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it ulnder the terms of the GNU Library General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Library General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Library General Public
|
||||||
|
* License along with this library; if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <gst/gstregistrybinary.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Simple handy function to write a memory location to the registry cache file
|
||||||
|
*/
|
||||||
|
inline static gboolean
|
||||||
|
gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size)
|
||||||
|
{
|
||||||
|
if (write(registry->cache_file, mem, size) != size)
|
||||||
|
{
|
||||||
|
GST_ERROR("Failed to write binary registry element: ptr=%p size=%u error=%s\n",
|
||||||
|
mem, size, strerror(errno));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Save features GstBinary style
|
||||||
|
*/
|
||||||
|
static gboolean
|
||||||
|
gst_registry_binary_fill_feature(GList **list, GstPluginFeature *orig, GstBinaryPluginFeature *dest, const char *name)
|
||||||
|
{
|
||||||
|
GstBinaryChunck *chk;
|
||||||
|
|
||||||
|
if ((chk = calloc(1, sizeof (GstBinaryChunck))) == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
chk->data = dest;
|
||||||
|
chk->size = sizeof (GstBinaryPluginFeature);
|
||||||
|
|
||||||
|
*list = g_list_append(*list, chk);
|
||||||
|
|
||||||
|
dest->rank = orig->rank;
|
||||||
|
if (!strncpy(dest->typename, name, GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN) ||
|
||||||
|
!strncpy(dest->name, orig->name, GST_BINARY_REGISTRY_TYPENAME_NAME_LEN))
|
||||||
|
{
|
||||||
|
GST_ERROR("Failed to write binary registry feature");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (GST_IS_ELEMENT_FACTORY(orig))
|
||||||
|
{
|
||||||
|
GstElementFactory *factory = GST_ELEMENT_FACTORY(orig);
|
||||||
|
|
||||||
|
if (!strncpy(dest->longname, factory->details.longname, GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN) ||
|
||||||
|
!strncpy(dest->class, factory->details.klass, GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN) ||
|
||||||
|
!strncpy(dest->description, factory->details.description, GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN) ||
|
||||||
|
!strncpy(dest->author, factory->details.author, GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN))
|
||||||
|
{
|
||||||
|
GST_ERROR("Failed to write binary registry feature");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dest->npadtemplates = dest->ninterfaces = dest->nuritypes = 0;
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
free(chk);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Initialize the GstBinaryRegistryMagic, setting both our magic number and gstreamer major/minor version
|
||||||
|
*/
|
||||||
|
inline static gboolean
|
||||||
|
gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m)
|
||||||
|
{
|
||||||
|
if (!strncpy(m->magic, GST_MAGIC_BINARY_REGISTRY_STR, GST_MAGIC_BINARY_REGISTRY_LEN) ||
|
||||||
|
!strncpy(m->version, GST_MAJORMINOR, GST_BINARY_REGISTRY_VERSION_LEN))
|
||||||
|
{
|
||||||
|
GST_ERROR("Failed to write magic to the registry magic structure");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Check GstBinaryRegistryMagic validity.
|
||||||
|
** Return a pointer pointing right after the magic structure
|
||||||
|
*/
|
||||||
|
static gchar *
|
||||||
|
gst_registry_binary_check_magic(gchar *in)
|
||||||
|
{
|
||||||
|
GstBinaryRegistryMagic *m = (GstBinaryRegistryMagic *) in;
|
||||||
|
|
||||||
|
if (m == NULL || m->magic == NULL || m->version == NULL)
|
||||||
|
{
|
||||||
|
GST_ERROR("Binary registry magic structure is broken");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (strncmp(m->magic, GST_MAGIC_BINARY_REGISTRY_STR, GST_MAGIC_BINARY_REGISTRY_LEN) != 0)
|
||||||
|
{
|
||||||
|
GST_ERROR("Binary registry magic is different : %02x%02x%02x%02x != %02x%02x%02x%02x",
|
||||||
|
GST_MAGIC_BINARY_REGISTRY_STR[0] & 0xff, GST_MAGIC_BINARY_REGISTRY_STR[1] & 0xff,
|
||||||
|
GST_MAGIC_BINARY_REGISTRY_STR[2] & 0xff, GST_MAGIC_BINARY_REGISTRY_STR[3] & 0xff,
|
||||||
|
m->magic[0] & 0xff, m->magic[1] & 0xff, m->magic[2] & 0xff, m->magic[3] & 0xff);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (strncmp(m->version, GST_MAJORMINOR, GST_BINARY_REGISTRY_VERSION_LEN))
|
||||||
|
{
|
||||||
|
GST_ERROR("Binary registry magic version is different : %s != %s",
|
||||||
|
GST_MAJORMINOR, m->version);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return (in + sizeof (GstBinaryRegistryMagic));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Adapt a GstPlugin to our GstBinaryPluginElement structure, and write it to the
|
||||||
|
** registry file.
|
||||||
|
*/
|
||||||
|
static gboolean
|
||||||
|
gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin)
|
||||||
|
{
|
||||||
|
GstBinaryPluginElement *e;
|
||||||
|
GstBinaryChunck *chk;
|
||||||
|
GList *walk;
|
||||||
|
|
||||||
|
if ((e = calloc(1, sizeof (GstBinaryPluginElement))) == NULL ||
|
||||||
|
(chk = calloc(1, sizeof (GstBinaryChunck))) == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
chk->data = e;
|
||||||
|
chk->size = sizeof (GstBinaryPluginElement);
|
||||||
|
*list = g_list_append(*list, chk);
|
||||||
|
|
||||||
|
if (!strncpy(e->name, plugin->desc.name, GST_BINARY_REGISTRY_NAME_LEN) ||
|
||||||
|
!strncpy(e->description, plugin->desc.description, GST_BINARY_REGISTRY_DESCRIPTION_LEN) ||
|
||||||
|
!strncpy(e->filename, plugin->filename, _POSIX_PATH_MAX) ||
|
||||||
|
!strncpy(e->version, plugin->desc.version, GST_BINARY_REGISTRY_VERSION_LEN) ||
|
||||||
|
!strncpy(e->license, plugin->desc.license, GST_BINARY_REGISTRY_LICENSE_LEN) ||
|
||||||
|
!strncpy(e->source, plugin->desc.source, GST_BINARY_REGISTRY_SOURCE_LEN) ||
|
||||||
|
!strncpy(e->package, plugin->desc.package, GST_BINARY_REGISTRY_PACKAGE_LEN) ||
|
||||||
|
!strncpy(e->origin, plugin->desc.origin, GST_BINARY_REGISTRY_ORIGIN_LEN))
|
||||||
|
{
|
||||||
|
GST_DEBUG("Can't adapt GstPlugin to GstBinaryPluginElement");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
e->size = plugin->file_size;
|
||||||
|
e->m32p = plugin->file_mtime;
|
||||||
|
|
||||||
|
GList *ft_list = gst_registry_get_feature_list_by_plugin(registry, plugin->desc.name);
|
||||||
|
|
||||||
|
for (walk = ft_list; walk; walk = g_list_next(walk), e->nfeatures++)
|
||||||
|
{
|
||||||
|
GstPluginFeature *curfeat = GST_PLUGIN_FEATURE (walk->data);
|
||||||
|
GstBinaryPluginFeature *newfeat;
|
||||||
|
const char *feat_name = g_type_name(G_OBJECT_TYPE(curfeat));
|
||||||
|
|
||||||
|
if ((newfeat = calloc(1, sizeof (GstBinaryPluginFeature))) == NULL)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
if (!feat_name || !gst_registry_binary_fill_feature(list, curfeat, newfeat, feat_name))
|
||||||
|
{
|
||||||
|
GST_ERROR("Can't fill plugin feature, aborting.");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_DEBUG("Found %d features in plugin \"%s\"\n", e->nfeatures, e->name);
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
free(chk);
|
||||||
|
free(e);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Write the cache to file. Part of the code was taken from gstregistryxml.c
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
gst_registry_binary_write_cache(GstRegistry *registry, const char *location)
|
||||||
|
{
|
||||||
|
GList *walk;
|
||||||
|
char *tmp_location;
|
||||||
|
GstBinaryRegistryMagic *magic;
|
||||||
|
GstBinaryChunck *magic_chunck;
|
||||||
|
GList *to_write = NULL;
|
||||||
|
|
||||||
|
GST_INFO("Writing binary registry cache");
|
||||||
|
|
||||||
|
g_return_val_if_fail (GST_IS_REGISTRY (registry), FALSE);
|
||||||
|
tmp_location = g_strconcat (location, ".tmpXXXXXX", NULL);
|
||||||
|
registry->cache_file = g_mkstemp (tmp_location);
|
||||||
|
if (registry->cache_file == -1)
|
||||||
|
{
|
||||||
|
char *dir;
|
||||||
|
|
||||||
|
/* oops, I bet the directory doesn't exist */
|
||||||
|
dir = g_path_get_dirname (location);
|
||||||
|
g_mkdir_with_parents (dir, 0777);
|
||||||
|
g_free (dir);
|
||||||
|
|
||||||
|
registry->cache_file = g_mkstemp (tmp_location);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (registry->cache_file == -1)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
if ((magic = calloc(1, sizeof (GstBinaryRegistryMagic))) == NULL ||
|
||||||
|
!gst_registry_binary_initialize_magic(magic))
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
if ((magic_chunck = calloc(1, sizeof (GstBinaryChunck))) == NULL)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
magic_chunck->data = magic;
|
||||||
|
magic_chunck->size = sizeof (GstBinaryRegistryMagic);
|
||||||
|
to_write = g_list_append(to_write, magic_chunck);
|
||||||
|
|
||||||
|
/* Iterate trough the list of plugins in the GstRegistry and adapt them to our structures */
|
||||||
|
for (walk = g_list_last(registry->plugins); walk; walk = g_list_previous(walk))
|
||||||
|
{
|
||||||
|
GstPlugin *plugin = GST_PLUGIN(walk->data);
|
||||||
|
|
||||||
|
if (!plugin->filename)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (plugin->flags & GST_PLUGIN_FLAG_CACHED)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
struct stat statbuf;
|
||||||
|
|
||||||
|
ret = g_stat (plugin->filename, &statbuf);
|
||||||
|
if ((ret = g_stat (plugin->filename, &statbuf)) < 0 ||
|
||||||
|
plugin->file_mtime != statbuf.st_mtime ||
|
||||||
|
plugin->file_size != statbuf.st_size)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!gst_registry_binary_save_plugin(&to_write, registry, plugin))
|
||||||
|
{
|
||||||
|
GST_ERROR("Can't write binary plugin information for \"%s\"", plugin->filename);
|
||||||
|
continue; /* Try anyway */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (walk = g_list_first(to_write); walk; walk = g_list_next(walk))
|
||||||
|
{
|
||||||
|
GstBinaryChunck *cur = walk->data;
|
||||||
|
|
||||||
|
if (!gst_registry_binary_write(registry, cur->data, cur->size))
|
||||||
|
{
|
||||||
|
free(cur->data);
|
||||||
|
free(cur);
|
||||||
|
g_list_free(to_write);
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
free(cur->data);
|
||||||
|
free(cur);
|
||||||
|
}
|
||||||
|
g_list_free(to_write);
|
||||||
|
|
||||||
|
if (close(registry->cache_file) < 0)
|
||||||
|
{
|
||||||
|
GST_DEBUG("Can't close registry file : %s", strerror(errno));
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_file_test (tmp_location, G_FILE_TEST_EXISTS)) {
|
||||||
|
#ifdef WIN32
|
||||||
|
remove (location);
|
||||||
|
#endif
|
||||||
|
rename (tmp_location, location);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_free (tmp_location);
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
g_free(tmp_location);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static GstPluginFeature*
|
||||||
|
gst_registry_binary_load_feature(GstBinaryPluginFeature *in)
|
||||||
|
{
|
||||||
|
GstPluginFeature *feature;
|
||||||
|
GType type;
|
||||||
|
|
||||||
|
if (!in->typename || !*(in->typename))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* GST_INFO("Plugin feature typename : %s", in->typename);*/
|
||||||
|
|
||||||
|
if (!(type = g_type_from_name(in->typename)))
|
||||||
|
{
|
||||||
|
GST_ERROR("Unknown type from typename");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
feature = g_object_new (type, NULL);
|
||||||
|
|
||||||
|
if (!feature) {
|
||||||
|
GST_ERROR("Can't create feature from type");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!GST_IS_PLUGIN_FEATURE (feature)) {
|
||||||
|
/* don't really know what it is */
|
||||||
|
if (GST_IS_OBJECT (feature))
|
||||||
|
gst_object_unref (feature);
|
||||||
|
else
|
||||||
|
g_object_unref (feature);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
feature->name = g_strdup(in->name);
|
||||||
|
feature->rank = in->rank;
|
||||||
|
|
||||||
|
if (GST_IS_ELEMENT_FACTORY(feature))
|
||||||
|
{
|
||||||
|
GstElementFactory *factory = GST_ELEMENT_FACTORY(feature);
|
||||||
|
|
||||||
|
factory->details.longname = g_strdup(in->longname);
|
||||||
|
factory->details.klass = g_strdup(in->class);
|
||||||
|
factory->details.description = g_strdup(in->description);
|
||||||
|
factory->details.author = g_strdup(in->author);
|
||||||
|
|
||||||
|
/* GST_INFO("Element factory : %s", factory->details.longname); */
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_DEBUG("Added feature %p with name %s", feature, feature->name);
|
||||||
|
return feature;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Make a new plugin from current GstBinaryPluginElement structure
|
||||||
|
** and save it to the GstRegistry. Return an offset to the next
|
||||||
|
** GstBinaryPluginElement structure.
|
||||||
|
*/
|
||||||
|
static unsigned long
|
||||||
|
gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in)
|
||||||
|
{
|
||||||
|
GstBinaryPluginElement *p = (GstBinaryPluginElement *) in;
|
||||||
|
GstPlugin *plugin = NULL;
|
||||||
|
GList *plugin_features = NULL;
|
||||||
|
GstBinaryPluginFeature *feat;
|
||||||
|
unsigned int i;
|
||||||
|
unsigned long offset;
|
||||||
|
|
||||||
|
plugin = g_object_new (GST_TYPE_PLUGIN, NULL);
|
||||||
|
|
||||||
|
plugin->flags |= GST_PLUGIN_FLAG_CACHED;
|
||||||
|
|
||||||
|
plugin->desc.name = g_strdup(p->name);
|
||||||
|
plugin->desc.description= g_strdup(p->description);
|
||||||
|
plugin->filename = g_strdup(p->filename);
|
||||||
|
plugin->desc.version = g_strdup(p->version);
|
||||||
|
plugin->desc.license = g_strdup(p->license);
|
||||||
|
plugin->desc.source = g_strdup(p->source);
|
||||||
|
plugin->desc.package = g_strdup(p->package);
|
||||||
|
plugin->desc.origin = g_strdup(p->origin);
|
||||||
|
plugin->file_mtime = p->m32p;
|
||||||
|
plugin->file_size = p->size;
|
||||||
|
plugin->basename = g_path_get_basename (plugin->filename);
|
||||||
|
|
||||||
|
if (plugin->file_mtime < 0 || plugin->file_size < 0)
|
||||||
|
{
|
||||||
|
GST_ERROR("Plugin time or file size is not valid !");
|
||||||
|
g_free(plugin);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (p->nfeatures < 0)
|
||||||
|
{
|
||||||
|
GST_ERROR("The number of feature structure is not valid !");
|
||||||
|
gst_object_unref(plugin);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (feat = (GstBinaryPluginFeature *) (in + sizeof (GstBinaryPluginElement)), i = 0;
|
||||||
|
i < p->nfeatures; i++, feat++)
|
||||||
|
{
|
||||||
|
GstPluginFeature *gstfeat;
|
||||||
|
|
||||||
|
if ((gstfeat = gst_registry_binary_load_feature(feat)) == NULL)
|
||||||
|
{
|
||||||
|
g_list_free(plugin_features);
|
||||||
|
g_free(plugin);
|
||||||
|
GST_ERROR("Error while loading binary feature");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
gstfeat->plugin_name = g_strdup(plugin->desc.name);
|
||||||
|
plugin_features = g_list_prepend(plugin_features, gstfeat);
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_DEBUG("Added plugin \"%s\" to global registry from binary registry", plugin->desc.name);
|
||||||
|
GList *g;
|
||||||
|
|
||||||
|
gst_registry_add_plugin (registry, plugin);
|
||||||
|
for (g = plugin_features; g; g = g_list_next (g))
|
||||||
|
gst_registry_add_feature (registry, GST_PLUGIN_FEATURE (g->data));
|
||||||
|
/* g_list_free(plugin_features); */
|
||||||
|
|
||||||
|
offset = sizeof (GstBinaryPluginElement) + p->nfeatures * sizeof (GstBinaryPluginFeature);
|
||||||
|
return offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Read the cache and adapt it to fill GstRegistry
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
gst_registry_binary_read_cache(GstRegistry *registry, const char *location)
|
||||||
|
{
|
||||||
|
GMappedFile *mapped = NULL;
|
||||||
|
GTimer *timer = NULL;
|
||||||
|
gchar *contents = NULL;
|
||||||
|
gdouble seconds;
|
||||||
|
unsigned long offset, inc;
|
||||||
|
gsize size;
|
||||||
|
|
||||||
|
/* make sure these types exist */
|
||||||
|
GST_TYPE_ELEMENT_FACTORY;
|
||||||
|
GST_TYPE_TYPE_FIND_FACTORY;
|
||||||
|
GST_TYPE_INDEX_FACTORY;
|
||||||
|
|
||||||
|
timer = g_timer_new ();
|
||||||
|
|
||||||
|
if ((mapped = g_mapped_file_new(location, FALSE, NULL)) == NULL ||
|
||||||
|
(contents = g_mapped_file_get_contents(mapped)) == NULL)
|
||||||
|
{
|
||||||
|
GST_ERROR("Can't load file : %s", strerror(errno));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
if ((contents = gst_registry_binary_check_magic(contents)) == NULL)
|
||||||
|
{
|
||||||
|
GST_ERROR("Binary registry type not recognized (invalid magic)");
|
||||||
|
g_mapped_file_free(mapped);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((size = g_mapped_file_get_length(mapped)) < sizeof (GstBinaryPluginElement))
|
||||||
|
{
|
||||||
|
GST_INFO("No binary plugins structure to read");
|
||||||
|
return TRUE; /* This is not really an error */
|
||||||
|
}
|
||||||
|
|
||||||
|
for (offset = inc = 0; (offset + sizeof (GstBinaryPluginElement)) < size &&
|
||||||
|
(inc = gst_registry_binary_get_binary_plugin(registry, contents + offset)) > 0;
|
||||||
|
offset += inc)
|
||||||
|
; /* May want in the future to do something here */
|
||||||
|
if (inc < 0)
|
||||||
|
{
|
||||||
|
GST_DEBUG("Problem while reading binary registry");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_timer_stop (timer);
|
||||||
|
seconds = g_timer_elapsed (timer, NULL);
|
||||||
|
g_timer_destroy (timer);
|
||||||
|
|
||||||
|
GST_INFO ("loaded %s in %f seconds", location, seconds);
|
||||||
|
|
||||||
|
if (mapped)
|
||||||
|
g_mapped_file_free (mapped);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
@@ -0,0 +1,194 @@
|
|||||||
|
/* GStreamer
|
||||||
|
* Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
|
||||||
|
* 2000 Wim Taymans <wim.taymans@chello.be>
|
||||||
|
*
|
||||||
|
* gstregistry.h: Header for registry handling
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Library General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Library General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Library General Public
|
||||||
|
* License along with this library; if not, write to the
|
||||||
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
* Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* SUGGESTIONS AND TODO :
|
||||||
|
** ====================
|
||||||
|
** - Use a compressed registry, but would induce performance loss
|
||||||
|
** - Encrypt the registry, for security purpose, but would also reduce performances
|
||||||
|
** - Also have a non-mmap based cache reading (work with file descriptors)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __GST_REGISTRYBINARY_H__
|
||||||
|
#define __GST_REGISTRYBINARY_H__
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#ifdef HAVE_UNISTD_H
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <gst/gst_private.h>
|
||||||
|
#include <gst/gstelement.h>
|
||||||
|
#include <gst/gsttypefind.h>
|
||||||
|
#include <gst/gsttypefindfactory.h>
|
||||||
|
#include <gst/gsturi.h>
|
||||||
|
#include <gst/gstinfo.h>
|
||||||
|
#include <gst/gstenumtypes.h>
|
||||||
|
#include <gst/gstregistry.h>
|
||||||
|
#include <gst/gstpadtemplate.h>
|
||||||
|
|
||||||
|
#include "glib-compat-private.h"
|
||||||
|
#include <glib/gstdio.h>
|
||||||
|
|
||||||
|
/* A magic, written at the beginning of the file */
|
||||||
|
#define GST_MAGIC_BINARY_REGISTRY_STR "\xc0\xde\xf0\x0d"
|
||||||
|
#define GST_MAGIC_BINARY_REGISTRY_LEN (4)
|
||||||
|
#define GST_MAGIC_BINARY_VERSION_LEN (64)
|
||||||
|
|
||||||
|
typedef struct _GstBinaryRegistryMagic
|
||||||
|
{
|
||||||
|
char magic[GST_MAGIC_BINARY_REGISTRY_LEN];
|
||||||
|
char version[GST_MAGIC_BINARY_VERSION_LEN];
|
||||||
|
} GstBinaryRegistryMagic;
|
||||||
|
|
||||||
|
|
||||||
|
/* Used to store pointers to write */
|
||||||
|
typedef struct _GstBinaryChunck
|
||||||
|
{
|
||||||
|
void *data;
|
||||||
|
unsigned int size;
|
||||||
|
} GstBinaryChunck;
|
||||||
|
|
||||||
|
|
||||||
|
/* A structure containing (staticely) every information needed for a plugin
|
||||||
|
**
|
||||||
|
** Notes :
|
||||||
|
** "nfeatures" is used to say how many GstBinaryPluginFeature structures we will have
|
||||||
|
** right after the structure itself.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Various lenght defines for our GstBinaryPluginElement structure
|
||||||
|
** Note : We could eventually use smaller size
|
||||||
|
*/
|
||||||
|
#define GST_BINARY_REGISTRY_NAME_LEN (256)
|
||||||
|
#define GST_BINARY_REGISTRY_DESCRIPTION_LEN (1024)
|
||||||
|
#define GST_BINARY_REGISTRY_VERSION_LEN (64)
|
||||||
|
#define GST_BINARY_REGISTRY_LICENSE_LEN (256)
|
||||||
|
#define GST_BINARY_REGISTRY_SOURCE_LEN (256)
|
||||||
|
#define GST_BINARY_REGISTRY_PACKAGE_LEN (1024)
|
||||||
|
#define GST_BINARY_REGISTRY_ORIGIN_LEN (1024)
|
||||||
|
|
||||||
|
typedef struct _GstBinaryPluginElement
|
||||||
|
{
|
||||||
|
char name[GST_BINARY_REGISTRY_NAME_LEN];
|
||||||
|
char description[GST_BINARY_REGISTRY_DESCRIPTION_LEN];
|
||||||
|
char filename[_POSIX_PATH_MAX];
|
||||||
|
char version[GST_BINARY_REGISTRY_VERSION_LEN];
|
||||||
|
char license[GST_BINARY_REGISTRY_LICENSE_LEN];
|
||||||
|
char source[GST_BINARY_REGISTRY_SOURCE_LEN];
|
||||||
|
char package[GST_BINARY_REGISTRY_PACKAGE_LEN];
|
||||||
|
char origin[GST_BINARY_REGISTRY_ORIGIN_LEN];
|
||||||
|
unsigned long size;
|
||||||
|
unsigned long m32p;
|
||||||
|
unsigned int nfeatures;
|
||||||
|
} GstBinaryPluginElement;
|
||||||
|
|
||||||
|
|
||||||
|
/* A structure containing the plugin features
|
||||||
|
**
|
||||||
|
** Note :
|
||||||
|
** "npadtemplates" is used to store the number of GstBinaryPadTemplate structures following the structure itself.
|
||||||
|
** "ninterfaces" is used to store the number of GstBinaryInterface structures following the structure itself.
|
||||||
|
** "nuritypes" is used to store the number of GstBinaryUriType structures following the structure itself.
|
||||||
|
*/
|
||||||
|
#define GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN (256)
|
||||||
|
#define GST_BINARY_REGISTRY_TYPENAME_NAME_LEN (256)
|
||||||
|
#define GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN (1024)
|
||||||
|
#define GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN (512)
|
||||||
|
#define GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN (1024)
|
||||||
|
#define GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN (256)
|
||||||
|
|
||||||
|
typedef struct _GstBinaryPluginFeature
|
||||||
|
{
|
||||||
|
char typename[GST_BINARY_REGISTRY_TYPENAME_TYPENAME_LEN];
|
||||||
|
char name[GST_BINARY_REGISTRY_TYPENAME_NAME_LEN];
|
||||||
|
unsigned long rank;
|
||||||
|
char longname[GST_BINARY_REGISTRY_TYPENAME_LONGNAME_LEN];
|
||||||
|
char class[GST_BINARY_REGISTRY_TYPENAME_CLASS_LEN];
|
||||||
|
char description[GST_BINARY_REGISTRY_TYPENAME_DESCRIPTION_LEN];
|
||||||
|
char author[GST_BINARY_REGISTRY_TYPENAME_AUTHOR_LEN];
|
||||||
|
unsigned int npadtemplates;
|
||||||
|
unsigned int ninterfaces;
|
||||||
|
unsigned int nuritypes;
|
||||||
|
} GstBinaryPluginFeature;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
** A structure containing the static pad templates of a plugin feature
|
||||||
|
*/
|
||||||
|
#define GST_BINARY_REGISTRY_PADTEMPLATE_NAME_LEN (256)
|
||||||
|
#define GST_BINARY_REGISTRY_PADTEMPLATE_CAP_LEN (1024)
|
||||||
|
|
||||||
|
typedef struct _GstBinaryPadTemplate
|
||||||
|
{
|
||||||
|
char name[GST_BINARY_REGISTRY_PADTEMPLATE_NAME_LEN];
|
||||||
|
char cap[GST_BINARY_REGISTRY_PADTEMPLATE_CAP_LEN];
|
||||||
|
int direction; /* Either 0:"sink" or 1:"src" */
|
||||||
|
GstPadPresence presence;
|
||||||
|
} GstBinaryPadTemplate;
|
||||||
|
|
||||||
|
/*
|
||||||
|
** A very simple structure defining the plugin feature interface string
|
||||||
|
*/
|
||||||
|
#define GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN (512)
|
||||||
|
typedef struct _GstBinaryInterface
|
||||||
|
{
|
||||||
|
char interface[GST_BINARY_REGISTRY_INTERFACE_INTERFACE_LEN];
|
||||||
|
unsigned long size;
|
||||||
|
} GstBinaryInterface;
|
||||||
|
|
||||||
|
/* Uri Type */
|
||||||
|
typedef struct _GstBinaryUriType
|
||||||
|
{
|
||||||
|
GstURIType type;
|
||||||
|
unsigned long nuriprotocols;
|
||||||
|
} GstBinaryUriType;
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Function prototypes
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Local prototypes */
|
||||||
|
inline static gboolean gst_registry_binary_write(GstRegistry *registry, const void *mem, const ssize_t size);
|
||||||
|
inline static gboolean gst_registry_binary_initialize_magic(GstBinaryRegistryMagic *m);
|
||||||
|
static gboolean gst_registry_binary_fill_feature(GList **list, GstPluginFeature *, GstBinaryPluginFeature *, const char *);
|
||||||
|
static gboolean gst_registry_binary_save_plugin(GList **list, GstRegistry *registry, GstPlugin *plugin);
|
||||||
|
static gchar *gst_registry_binary_check_magic(gchar *in);
|
||||||
|
static GstPluginFeature *gst_registry_binary_load_feature(GstBinaryPluginFeature *);
|
||||||
|
static unsigned long gst_registry_binary_get_binary_plugin(GstRegistry *registry, gchar *in);
|
||||||
|
|
||||||
|
/* Exportable */
|
||||||
|
gboolean gst_registry_binary_write_cache(GstRegistry *registry, const char *location);
|
||||||
|
gboolean gst_registry_binary_read_cache(GstRegistry *registry, const char *location);
|
||||||
|
|
||||||
|
#endif /* !__GST_REGISTRYBINARY_H__ */
|
||||||
|
|
||||||
|
|
||||||
50
recipes-gstreamer/gstreamer-0.10/gstreamer_0.10.36.bb
Normal file
50
recipes-gstreamer/gstreamer-0.10/gstreamer_0.10.36.bb
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
SUMMARY = "GStreamer multimedia framework"
|
||||||
|
DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
|
||||||
|
It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime."
|
||||||
|
HOMEPAGE = "http://gstreamer.freedesktop.org/"
|
||||||
|
BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
|
||||||
|
SECTION = "multimedia"
|
||||||
|
LICENSE = "LGPLv2+"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
|
||||||
|
file://gst/gst.h;beginline=1;endline=21;md5=8e5fe5e87d33a04479fde862e238eaa4"
|
||||||
|
DEPENDS = "glib-2.0 libxml2 bison-native flex-native glib-2.0-native"
|
||||||
|
|
||||||
|
PR = "r2"
|
||||||
|
|
||||||
|
SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz2 \
|
||||||
|
file://check_fix.patch \
|
||||||
|
file://gst-inspect-check-error.patch \
|
||||||
|
file://0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch \
|
||||||
|
file://0001-parse-make-grammar.y-work-with-Bison-3.patch \
|
||||||
|
file://0002-gst-glib2.m4-don-t-do-crazy-things-to-GLIB_CFLAGS.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI[md5sum] = "a0cf7d6877f694a1a2ad2b4d1ecb890b"
|
||||||
|
SRC_URI[sha256sum] = "e556a529e0a8cf1cd0afd0cab2af5488c9524e7c3f409de29b5d82bb41ae7a30"
|
||||||
|
|
||||||
|
inherit autotools pkgconfig gettext
|
||||||
|
|
||||||
|
GSTREAMER_DEBUG ?= "--disable-debug"
|
||||||
|
EXTRA_OECONF = "--disable-docbook --disable-gtk-doc \
|
||||||
|
--disable-dependency-tracking --disable-check \
|
||||||
|
--disable-examples --disable-tests \
|
||||||
|
--disable-valgrind ${GSTREAMER_DEBUG} \
|
||||||
|
--disable-introspection \
|
||||||
|
"
|
||||||
|
|
||||||
|
CACHED_CONFIGUREVARS += "ac_cv_header_valgrind_valgrind_h=no"
|
||||||
|
|
||||||
|
# apply gstreamer hack after Makefile.in.in in source is replaced by our version from
|
||||||
|
# ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in, but before configure is executed
|
||||||
|
# http://lists.linuxtogo.org/pipermail/openembedded-core/2012-November/032233.html
|
||||||
|
oe_runconf_prepend() {
|
||||||
|
sed -i -e "1a\\" -e 'GETTEXT_PACKAGE = @GETTEXT_PACKAGE@' ${S}/po/Makefile.in.in
|
||||||
|
}
|
||||||
|
|
||||||
|
#do_compile_prepend () {
|
||||||
|
# mv ${WORKDIR}/gstregistrybinary.[ch] ${S}/gst/
|
||||||
|
#}
|
||||||
|
|
||||||
|
FILES_${PN} += " ${libdir}/gstreamer-0.10/*.so"
|
||||||
|
FILES_${PN}-dev += " ${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
|
||||||
|
FILES_${PN}-dbg += " ${libdir}/gstreamer-0.10/.debug/ ${libexecdir}/gstreamer-0.10/.debug/"
|
||||||
51
recipes-musicians/amsynth/amsynth_git.bb
Normal file
51
recipes-musicians/amsynth/amsynth_git.bb
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
SUMMARY = "Software synth with a classic subtractive synthesizer topology"
|
||||||
|
HOMEPAGE = "http://amsynth.github.io/"
|
||||||
|
LICENSE = "GPLv2"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=67b604758dd265c185ce36fcf76a889d"
|
||||||
|
|
||||||
|
inherit autotools pkgconfig gtk-icon-cache gettext pack_audio_plugins
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
gtk+ \
|
||||||
|
intltool-native \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/amsynth/amsynth.git;branch=develop"
|
||||||
|
SRCREV = "3ddbd8c44ea9ddec558c1da0d27b26f553898d4f"
|
||||||
|
PV = "1.8.0+git${SRCPV}"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
|
||||||
|
PACKAGECONFIG ??= "alsa jack sndfile lv2"
|
||||||
|
|
||||||
|
PACKAGECONFIG[oss] = "--with-oss,--without-oss"
|
||||||
|
PACKAGECONFIG[alsa] = "--with-alsa,--without-alsa,alsa-lib"
|
||||||
|
PACKAGECONFIG[dssi] = "--with-dssi,--without-dssi,dssi liblo"
|
||||||
|
PACKAGECONFIG[jack] = "--with-jack,--without-jack,jack"
|
||||||
|
PACKAGECONFIG[sndfile] = "--with-sndfile,--without-sndfile,libsndfile1"
|
||||||
|
PACKAGECONFIG[lv2] = "--with-lv2,--without-lv2,lv2"
|
||||||
|
|
||||||
|
PACKAGES =+ "${PN}-standalone"
|
||||||
|
FILES_${PN}-standalone += " \
|
||||||
|
${datadir}/appdata/amsynth.appdata.xml \
|
||||||
|
${datadir}/applications \
|
||||||
|
${datadir}/icons \
|
||||||
|
${bindir} \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN}-dssi += " \
|
||||||
|
${datadir}/appdata/dssi-amsynth-plugin.metainfo.xml \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN}-lv2 += " \
|
||||||
|
${datadir}/appdata/lv2-amsynth-plugin.metainfo.xml \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN}-vst += " \
|
||||||
|
${datadir}/appdata/vst-amsynth-plugin.metainfo.xml \
|
||||||
|
"
|
||||||
|
|
||||||
|
RDEPENDS_${PN}-standalone += "${PN}"
|
||||||
|
RDEPENDS_${PN}-dssi += "${PN}"
|
||||||
|
RDEPENDS_${PN}-lv2 += "${PN}"
|
||||||
|
RDEPENDS_${PN}-vst += "${PN}"
|
||||||
101
recipes-musicians/ardour/ardour5_git.bb
Normal file
101
recipes-musicians/ardour/ardour5_git.bb
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
SUMMARY = "Ardour is a multi-channel digital audio workstation"
|
||||||
|
HOMEPAGE = "http://ardour.org/"
|
||||||
|
LICENSE = "GPLv2"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b"
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
gettext-native \
|
||||||
|
gtk+ \
|
||||||
|
gtkmm \
|
||||||
|
cppunit \
|
||||||
|
jack \
|
||||||
|
alsa-lib \
|
||||||
|
fftw \
|
||||||
|
vamp-plugin-sdk \
|
||||||
|
aubio \
|
||||||
|
taglib \
|
||||||
|
boost \
|
||||||
|
virtual/libx11 \
|
||||||
|
dssi \
|
||||||
|
zlib \
|
||||||
|
lrdf \
|
||||||
|
rubberband \
|
||||||
|
suil \
|
||||||
|
lilv \
|
||||||
|
libarchive \
|
||||||
|
libltc \
|
||||||
|
qm-dsp \
|
||||||
|
fluidsynth \
|
||||||
|
"
|
||||||
|
|
||||||
|
inherit wafold distro_features_check gtk-icon-cache pkgconfig
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURE = "x11"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/Ardour/ardour.git \
|
||||||
|
file://0001-remove-all-build-flags-that-cause-trouble-for-cross-.patch \
|
||||||
|
file://0002-Use-ARM-NEON-intrinsics-if-available-for-mixing-func.patch \
|
||||||
|
file://0003-Prevent-excessive-meter-redraws-for-inactive-meters-.patch \
|
||||||
|
file://0004-Prevent-excessive-meter-redraws-for-inactive-meters-.patch \
|
||||||
|
file://0005-Follow-fluidsynth-s-API-changes-introduced-with-2.0..patch \
|
||||||
|
file://ardour5.desktop \
|
||||||
|
"
|
||||||
|
SRCREV = "ae0dcdc0c5d13483271065c360e378202d20170a"
|
||||||
|
PV = "5.12"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
|
||||||
|
# arch specific override - default (tested) is ARM -> no fpu-optimizations
|
||||||
|
# can be something like i686 / x86_64 see file 'wscript' in sourcepath for more details
|
||||||
|
BUILD_DIST_TARGET ??= "none"
|
||||||
|
|
||||||
|
EXTRA_OECONF = " \
|
||||||
|
--configdir=${sysconfdir} \
|
||||||
|
--libdir=${libdir} \
|
||||||
|
--optimize \
|
||||||
|
--cxx11 \
|
||||||
|
--no-phone-home \
|
||||||
|
--use-external-libs \
|
||||||
|
--qm-dsp-include=${STAGING_INCDIR}/qm-dsp \
|
||||||
|
\
|
||||||
|
--with-backends="jack,alsa" \
|
||||||
|
--dist-target=${BUILD_DIST_TARGET} \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
# install icons to freedesktop locations
|
||||||
|
for s in 16 22 32 48 256 512; do
|
||||||
|
install -d ${D}${datadir}/icons/hicolor/${s}x${s}/apps
|
||||||
|
ln -s ../../../../${BPN}/resources/Ardour-icon_${s}px.png \
|
||||||
|
${D}${datadir}/icons/hicolor/${s}x${s}/apps/${BPN}.png
|
||||||
|
done
|
||||||
|
|
||||||
|
# install .desktop
|
||||||
|
install -d ${D}${datadir}/applications
|
||||||
|
install -m 0644 ${WORKDIR}/ardour5.desktop ${D}${datadir}/applications
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${datadir}/${BPN} \
|
||||||
|
${libdir}/${BPN} \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN}-dev += " \
|
||||||
|
${libdir}/${BPN}/libardour.so \
|
||||||
|
${libdir}/${BPN}/libardouralsautil.so \
|
||||||
|
${libdir}/${BPN}/libaudiographer.so \
|
||||||
|
${libdir}/${BPN}/libcanvas.so \
|
||||||
|
${libdir}/${BPN}/libevoral.so \
|
||||||
|
${libdir}/${BPN}/libgtkmm2ext.so \
|
||||||
|
${libdir}/${BPN}/libmidipp.so \
|
||||||
|
${libdir}/${BPN}/libpbd.so \
|
||||||
|
${libdir}/${BPN}/libptformat.so \
|
||||||
|
${libdir}/${BPN}/libwaveview.so \
|
||||||
|
${libdir}/${BPN}/libwidgets.so \
|
||||||
|
${libdir}/${BPN}/vamp/*.so \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN}-staticdev += " \
|
||||||
|
${libdir}/${BPN}/*.a \
|
||||||
|
"
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
From 24b6038dc7c235780038d3fce2d9c83fada6ac8b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||||
|
Date: Mon, 6 Feb 2017 23:33:45 +0100
|
||||||
|
Subject: [PATCH] remove all build flags that cause trouble for cross
|
||||||
|
configure/build
|
||||||
|
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>
|
||||||
|
---
|
||||||
|
tools/autowaf.py | 1 +
|
||||||
|
wscript | 26 -
|
||||||
|
|
||||||
|
diff --git a/tools/autowaf.py b/tools/autowaf.py
|
||||||
|
index f82b80a..626e951 100644
|
||||||
|
--- a/tools/autowaf.py
|
||||||
|
+++ b/tools/autowaf.py
|
||||||
|
@@ -93,6 +93,7 @@ def copyfile (task):
|
||||||
|
|
||||||
|
def check_header(conf, lang, name, define='', mandatory=True):
|
||||||
|
"Check for a header"
|
||||||
|
+ return True
|
||||||
|
includes = '' # search default system include paths
|
||||||
|
if sys.platform == "darwin":
|
||||||
|
includes = '/opt/local/include'
|
||||||
|
diff --git a/wscript b/wscript
|
||||||
|
index a7dd5e2..35acc51 100644
|
||||||
|
--- a/wscript
|
||||||
|
+++ b/wscript
|
||||||
|
@@ -440,31 +440,6 @@ int main() { return 0; }''',
|
||||||
|
|
||||||
|
compiler_flags.append ("-DARCH_X86")
|
||||||
|
|
||||||
|
- if platform == 'linux' :
|
||||||
|
-
|
||||||
|
- #
|
||||||
|
- # determine processor flags via /proc/cpuinfo
|
||||||
|
- #
|
||||||
|
-
|
||||||
|
- if conf.env['build_target'] != 'i386':
|
||||||
|
-
|
||||||
|
- flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1]
|
||||||
|
- x86_flags = flag_line.split (": ")[1:][0].split ()
|
||||||
|
-
|
||||||
|
- if "mmx" in x86_flags:
|
||||||
|
- compiler_flags.append ("-mmmx")
|
||||||
|
- if "sse" in x86_flags:
|
||||||
|
- build_host_supports_sse = True
|
||||||
|
- if "3dnow" in x86_flags:
|
||||||
|
- compiler_flags.append ("-m3dnow")
|
||||||
|
-
|
||||||
|
- if cpu == "i586":
|
||||||
|
- compiler_flags.append ("-march=i586")
|
||||||
|
- elif cpu == "i686":
|
||||||
|
- compiler_flags.append ("-march=i686")
|
||||||
|
-
|
||||||
|
- if not is_clang and ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse:
|
||||||
|
- compiler_flags.extend ([ flags_dict['sse'], flags_dict['fpmath-sse'], flags_dict['xmmintrinsics'] ])
|
||||||
|
|
||||||
|
if (conf.env['build_target'] == 'mingw'):
|
||||||
|
if (re.search ("(x86_64|AMD64)", cpu) != None):
|
||||||
|
@@ -965,7 +940,6 @@ def configure(conf):
|
||||||
|
else:
|
||||||
|
conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
|
||||||
|
conf.check_cxx(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
|
||||||
|
- execute = "1",
|
||||||
|
mandatory = True,
|
||||||
|
msg = 'Checking for boost library >= 1.39',
|
||||||
|
okmsg = 'ok',
|
||||||
|
--
|
||||||
|
2.9.3
|
||||||
|
|
||||||
@@ -0,0 +1,229 @@
|
|||||||
|
From 610ce4e19b0b39d0e8391057b22163d4fdc7bdb4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||||
|
Date: Mon, 3 Jul 2017 23:24:55 +0200
|
||||||
|
Subject: [PATCH 2/2] Use ARM NEON intrinsics if available for mixing functions
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||||
|
---
|
||||||
|
libs/ardour/ardour/mix.h | 10 +++
|
||||||
|
libs/ardour/globals.cc | 13 ++++
|
||||||
|
libs/ardour/mix.cc | 157 +++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
3 files changed, 180 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libs/ardour/ardour/mix.h b/libs/ardour/ardour/mix.h
|
||||||
|
index 4676c01..55919f0 100644
|
||||||
|
--- a/libs/ardour/ardour/mix.h
|
||||||
|
+++ b/libs/ardour/ardour/mix.h
|
||||||
|
@@ -65,6 +65,16 @@ LIBARDOUR_API void veclib_mix_buffers_no_gain (ARDOUR::Sample * dst, cons
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if defined (__ARM_NEON__)
|
||||||
|
+
|
||||||
|
+LIBARDOUR_API float neon_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current);
|
||||||
|
+LIBARDOUR_API void neon_find_peaks (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float *min, float *max);
|
||||||
|
+LIBARDOUR_API void neon_apply_gain_to_buffer (ARDOUR::Sample * buf, ARDOUR::pframes_t nframes, float gain);
|
||||||
|
+LIBARDOUR_API void neon_mix_buffers_with_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes, float gain);
|
||||||
|
+LIBARDOUR_API void neon_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes);
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* non-optimized functions */
|
||||||
|
|
||||||
|
LIBARDOUR_API float default_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current);
|
||||||
|
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
|
||||||
|
index 28eb818..d562b35 100644
|
||||||
|
--- a/libs/ardour/globals.cc
|
||||||
|
+++ b/libs/ardour/globals.cc
|
||||||
|
@@ -222,6 +222,19 @@ setup_hardware_optimization (bool try_optimization)
|
||||||
|
|
||||||
|
info << "Apple VecLib H/W specific optimizations in use" << endmsg;
|
||||||
|
}
|
||||||
|
+#elif defined (__ARM_NEON__)
|
||||||
|
+ // No runtime detection
|
||||||
|
+ compute_peak = neon_compute_peak;
|
||||||
|
+ find_peaks = neon_find_peaks;
|
||||||
|
+ apply_gain_to_buffer = neon_apply_gain_to_buffer;
|
||||||
|
+ mix_buffers_with_gain = neon_mix_buffers_with_gain;
|
||||||
|
+ mix_buffers_no_gain = neon_mix_buffers_no_gain;
|
||||||
|
+ copy_vector = default_copy_vector;
|
||||||
|
+
|
||||||
|
+ generic_mix_functions = false;
|
||||||
|
+
|
||||||
|
+ info << "ARM NEON optimizations in use" << endmsg;
|
||||||
|
+
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* consider FPU denormal handling to be "h/w optimization" */
|
||||||
|
diff --git a/libs/ardour/mix.cc b/libs/ardour/mix.cc
|
||||||
|
index 96ae624..d1a46a2 100644
|
||||||
|
--- a/libs/ardour/mix.cc
|
||||||
|
+++ b/libs/ardour/mix.cc
|
||||||
|
@@ -182,4 +182,161 @@ veclib_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, pf
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if defined (__ARM_NEON__)
|
||||||
|
+#include <arm_neon.h>
|
||||||
|
+
|
||||||
|
+float
|
||||||
|
+neon_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current)
|
||||||
|
+{
|
||||||
|
+ float32x4_t v4current = vdupq_n_f32(current);
|
||||||
|
+ float32x4_t v4work;
|
||||||
|
+ float32x2_t v2current;
|
||||||
|
+
|
||||||
|
+ // unaligned lead (spread single float to vector)
|
||||||
|
+ while (((intptr_t)buf) % 16 != 0 && nsamples > 0) {
|
||||||
|
+ v4work = vdupq_n_f32(*buf);
|
||||||
|
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
|
||||||
|
+
|
||||||
|
+ buf++;
|
||||||
|
+ nsamples--;
|
||||||
|
+ }
|
||||||
|
+ // aligned
|
||||||
|
+ while (nsamples >= 4) {
|
||||||
|
+ v4work = vld1q_f32(buf);
|
||||||
|
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
|
||||||
|
+
|
||||||
|
+ buf+=4;
|
||||||
|
+ nsamples-=4;
|
||||||
|
+ }
|
||||||
|
+ // rest < 4 (spread single float to vector)
|
||||||
|
+ while (nsamples > 0) {
|
||||||
|
+ v4work = vdupq_n_f32(*buf);
|
||||||
|
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
|
||||||
|
+
|
||||||
|
+ buf++;
|
||||||
|
+ nsamples--;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // calc max in vector by pairwise max done twice
|
||||||
|
+ v2current = vpmax_f32(vget_low_f32(v4current), vget_high_f32(v4current));
|
||||||
|
+ v2current = vpmax_f32(v2current, v2current);
|
||||||
|
+ return vget_lane_f32(v2current, 0);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+neon_find_peaks (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float *min, float *max)
|
||||||
|
+{
|
||||||
|
+ float32x4_t v4min = vdupq_n_f32(*min);
|
||||||
|
+ float32x4_t v4max = vdupq_n_f32(*max);
|
||||||
|
+ float32x4_t v4work;
|
||||||
|
+ float32x2_t v2min, v2max;
|
||||||
|
+
|
||||||
|
+ // vector
|
||||||
|
+ while (nsamples >= 4) {
|
||||||
|
+ v4work = vld1q_f32(buf);
|
||||||
|
+ v4min = vminq_f32(v4min, v4work);
|
||||||
|
+ v4max = vmaxq_f32(v4max, v4work);
|
||||||
|
+
|
||||||
|
+ buf+=4;
|
||||||
|
+ nsamples-=4;
|
||||||
|
+ }
|
||||||
|
+ // rest < 4 (spread single float to vector)
|
||||||
|
+ while (nsamples > 0) {
|
||||||
|
+ v4work = vdupq_n_f32(*buf);
|
||||||
|
+ v4min = vminq_f32(v4min, v4work);
|
||||||
|
+ v4max = vmaxq_f32(v4max, v4work);
|
||||||
|
+
|
||||||
|
+ buf++;
|
||||||
|
+ nsamples--;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // calc min in vector by pairwise max done twice
|
||||||
|
+ v2min = vpmin_f32(vget_low_f32(v4min), vget_high_f32(v4min));
|
||||||
|
+ v2min = vpmax_f32(v2min, v2min);
|
||||||
|
+ *min = vget_lane_f32(v2min, 0);
|
||||||
|
+ // calc max in vector by pairwise max done twice
|
||||||
|
+ v2max = vpmax_f32(vget_low_f32(v4max), vget_high_f32(v4max));
|
||||||
|
+ v2max = vpmax_f32(v2max, v2max);
|
||||||
|
+ *max = vget_lane_f32(v2max, 0);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+neon_apply_gain_to_buffer (ARDOUR::Sample * buf, ARDOUR::pframes_t nframes, float gain)
|
||||||
|
+{
|
||||||
|
+ float32x4_t v4gain = vdupq_n_f32(gain);
|
||||||
|
+ float32x4_t v4work;
|
||||||
|
+
|
||||||
|
+ // vector
|
||||||
|
+ while (nframes >= 4) {
|
||||||
|
+ v4work = vld1q_f32(buf);
|
||||||
|
+ v4work = vmulq_f32(v4work, v4gain);
|
||||||
|
+ vst1q_f32(buf, v4work);
|
||||||
|
+
|
||||||
|
+ buf+=4;
|
||||||
|
+ nframes-=4;
|
||||||
|
+ }
|
||||||
|
+ // rest < 4
|
||||||
|
+ while (nframes > 0) {
|
||||||
|
+ *buf *= gain;
|
||||||
|
+
|
||||||
|
+ buf++;
|
||||||
|
+ nframes--;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+neon_mix_buffers_with_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes, float gain)
|
||||||
|
+{
|
||||||
|
+ float32x4_t v4gain = vdupq_n_f32(gain);
|
||||||
|
+ float32x4_t v4src, v4dst;
|
||||||
|
+
|
||||||
|
+ // vector
|
||||||
|
+ while (nframes >= 4) {
|
||||||
|
+ v4src = vld1q_f32(src);
|
||||||
|
+ v4dst = vld1q_f32(dst);
|
||||||
|
+ // v4dst = v4dst + v4src * v4gain
|
||||||
|
+ v4dst = vmlaq_f32(v4dst, v4src, v4gain);
|
||||||
|
+ vst1q_f32(dst, v4dst);
|
||||||
|
+
|
||||||
|
+ src+=4;
|
||||||
|
+ dst+=4;
|
||||||
|
+ nframes-=4;
|
||||||
|
+ }
|
||||||
|
+ // rest < 4
|
||||||
|
+ while (nframes > 0) {
|
||||||
|
+ *dst += *src * gain;
|
||||||
|
+
|
||||||
|
+ src++;
|
||||||
|
+ dst++;
|
||||||
|
+ nframes--;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+neon_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes)
|
||||||
|
+{
|
||||||
|
+ float32x4_t v4src, v4dst;
|
||||||
|
+
|
||||||
|
+ // vector
|
||||||
|
+ while (nframes >= 4) {
|
||||||
|
+ v4src = vld1q_f32(src);
|
||||||
|
+ v4dst = vld1q_f32(dst);
|
||||||
|
+ v4dst = vaddq_f32(v4dst, v4src);
|
||||||
|
+ vst1q_f32(dst, v4dst);
|
||||||
|
+
|
||||||
|
+ src+=4;
|
||||||
|
+ dst+=4;
|
||||||
|
+ nframes-=4;
|
||||||
|
+ }
|
||||||
|
+ // rest < 4
|
||||||
|
+ while (nframes > 0) {
|
||||||
|
+ *dst += *src;
|
||||||
|
+
|
||||||
|
+ src++;
|
||||||
|
+ dst++;
|
||||||
|
+ nframes--;
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.9.4
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
From be826f363522dbca96c8263d404c57c4fe9ff0e2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Robin Gareus <robin@gareus.org>
|
||||||
|
Date: Wed, 3 Oct 2018 20:54:14 +0200
|
||||||
|
Subject: [PATCH] Prevent excessive meter redraws for inactive meters at zero
|
||||||
|
|
||||||
|
Upstream-Status: Backport [1]
|
||||||
|
|
||||||
|
[1] https://github.com/Ardour/ardour/commit/be826f363522dbca96c8263d404c57c4fe9ff0e2
|
||||||
|
|
||||||
|
---
|
||||||
|
libs/widgets/fastmeter.cc | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libs/widgets/fastmeter.cc b/libs/widgets/fastmeter.cc
|
||||||
|
index cf1d9dd07..a9ecf5dad 100644
|
||||||
|
--- a/libs/widgets/fastmeter.cc
|
||||||
|
+++ b/libs/widgets/fastmeter.cc
|
||||||
|
@@ -703,7 +703,7 @@ FastMeter::set (float lvl, float peak)
|
||||||
|
if (pixwidth <= 0 || pixheight <=0) return;
|
||||||
|
|
||||||
|
if (peak == -1) {
|
||||||
|
- if (lvl >= current_peak) {
|
||||||
|
+ if (lvl >= current_peak && lvl > 0) {
|
||||||
|
current_peak = lvl;
|
||||||
|
hold_state = hold_cnt;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
From 8d5e7e9f4e4372debb9ce285336ccc1ecc0383f6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Wed, 17 Oct 2018 22:10:41 +0200
|
||||||
|
Subject: [PATCH] Prevent excessive meter redraws for inactive meters at zero
|
||||||
|
II
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Same as be826f363522dbca96c8263d404c57c4fe9ff0e2
|
||||||
|
|
||||||
|
Upstream-Status: Applied
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
libs/canvas/meter.cc | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libs/canvas/meter.cc b/libs/canvas/meter.cc
|
||||||
|
index b539a1b4a..76e31bf58 100644
|
||||||
|
--- a/libs/canvas/meter.cc
|
||||||
|
+++ b/libs/canvas/meter.cc
|
||||||
|
@@ -702,7 +702,7 @@ Meter::set (float lvl, float peak)
|
||||||
|
if (pixwidth <= 0 || pixheight <=0) return;
|
||||||
|
|
||||||
|
if (peak == -1) {
|
||||||
|
- if (lvl >= current_peak) {
|
||||||
|
+ if (lvl >= current_peak && lvl > 0) {
|
||||||
|
current_peak = lvl;
|
||||||
|
hold_state = hold_cnt;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
From ae281f2135607e55675d7cc18a9fe1a5b88464ec Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Fri, 12 Oct 2018 00:56:59 +0200
|
||||||
|
Subject: [PATCH] Follow fluidsynth's API changes introduced with 2.0.0
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [1]
|
||||||
|
|
||||||
|
[1] https://github.com/Ardour/ardour/pull/431
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
libs/ardour/fluid_synth.cc | 14 ++++++++++++++
|
||||||
|
libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc | 27 ++++++++++++++++++++++++++-
|
||||||
|
2 files changed, 40 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/libs/ardour/fluid_synth.cc b/libs/ardour/fluid_synth.cc
|
||||||
|
index 45653a9e7..c9b7b526e 100644
|
||||||
|
--- a/libs/ardour/fluid_synth.cc
|
||||||
|
+++ b/libs/ardour/fluid_synth.cc
|
||||||
|
@@ -71,6 +71,7 @@ FluidSynth::load_sf2 (const std::string& fn)
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t count;
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
fluid_preset_t preset;
|
||||||
|
|
||||||
|
sfont->iteration_start (sfont);
|
||||||
|
@@ -83,7 +84,20 @@ FluidSynth::load_sf2 (const std::string& fn)
|
||||||
|
preset.get_banknum (&preset),
|
||||||
|
preset.get_num (&preset)));
|
||||||
|
}
|
||||||
|
+#else
|
||||||
|
+ fluid_preset_t* preset;
|
||||||
|
|
||||||
|
+ fluid_sfont_iteration_start (sfont);
|
||||||
|
+ for (count = 0; (preset = fluid_sfont_iteration_next (sfont)) != 0; ++count) {
|
||||||
|
+ if (count < 16) {
|
||||||
|
+ fluid_synth_program_select (_synth, count, _synth_id, fluid_preset_get_banknum (preset), fluid_preset_get_num (preset));
|
||||||
|
+ }
|
||||||
|
+ _presets.push_back (BankProgram (
|
||||||
|
+ fluid_preset_get_name (preset),
|
||||||
|
+ fluid_preset_get_banknum (preset),
|
||||||
|
+ fluid_preset_get_num (preset)));
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
if (count == 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
diff --git a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
|
||||||
|
index e6cf1e29d..6d168d5fe 100644
|
||||||
|
--- a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
|
||||||
|
+++ b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
|
||||||
|
@@ -184,6 +184,7 @@ load_sf2 (AFluidSynth* self, const char* fn)
|
||||||
|
}
|
||||||
|
|
||||||
|
int chn;
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
fluid_preset_t preset;
|
||||||
|
sfont->iteration_start (sfont);
|
||||||
|
pthread_mutex_lock (&self->bp_lock);
|
||||||
|
@@ -192,15 +193,33 @@ load_sf2 (AFluidSynth* self, const char* fn)
|
||||||
|
fluid_synth_program_select (self->synth, chn, synth_id,
|
||||||
|
preset.get_banknum (&preset), preset.get_num (&preset));
|
||||||
|
}
|
||||||
|
+#else
|
||||||
|
+ fluid_preset_t *preset;
|
||||||
|
+ fluid_sfont_iteration_start (sfont);
|
||||||
|
+ pthread_mutex_lock (&self->bp_lock);
|
||||||
|
+ for (chn = 0; (preset = fluid_sfont_iteration_next (sfont)); ++chn) {
|
||||||
|
+ if (chn < 16) {
|
||||||
|
+ fluid_synth_program_select (self->synth, chn, synth_id,
|
||||||
|
+ fluid_preset_get_banknum (preset), fluid_preset_get_num (preset));
|
||||||
|
+ }
|
||||||
|
+#endif // FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
#ifndef LV2_EXTENDED
|
||||||
|
else { break ; }
|
||||||
|
#else
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
self->presets[preset.get_banknum (&preset)].push_back (
|
||||||
|
BankProgram (
|
||||||
|
preset.get_name (&preset),
|
||||||
|
preset.get_banknum (&preset),
|
||||||
|
preset.get_num (&preset)));
|
||||||
|
-#endif
|
||||||
|
+#else
|
||||||
|
+ self->presets[fluid_preset_get_banknum (preset)].push_back (
|
||||||
|
+ BankProgram (
|
||||||
|
+ fluid_preset_get_name (preset),
|
||||||
|
+ fluid_preset_get_banknum (preset),
|
||||||
|
+ fluid_preset_get_num (preset)));
|
||||||
|
+#endif // FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
+#endif // LV2_EXTENDED
|
||||||
|
}
|
||||||
|
pthread_mutex_unlock (&self->bp_lock);
|
||||||
|
|
||||||
|
@@ -681,9 +700,15 @@ work_response (LV2_Handle instance,
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int chn = 0; chn < 16; ++chn) {
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
unsigned int sfid = 0;
|
||||||
|
unsigned int bank = 0;
|
||||||
|
unsigned int program = -1;
|
||||||
|
+#else
|
||||||
|
+ int sfid = 0;
|
||||||
|
+ int bank = 0;
|
||||||
|
+ int program = -1;
|
||||||
|
+#endif
|
||||||
|
if (FLUID_OK == fluid_synth_get_program (self->synth, chn, &sfid, &bank, &program)) {
|
||||||
|
self->program_state[chn].bank = bank;
|
||||||
|
self->program_state[chn].program = program;
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
10
recipes-musicians/ardour/files/ardour5.desktop
Normal file
10
recipes-musicians/ardour/files/ardour5.desktop
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Ardour
|
||||||
|
Comment=Record, mix and master audio
|
||||||
|
Exec=ardour5
|
||||||
|
Icon=ardour5
|
||||||
|
Terminal=false
|
||||||
|
MimeType=application/x-ardour;
|
||||||
|
Type=Application
|
||||||
|
Categories=AudioVideo;Audio;X-Recorders;X-Multitrack;X-Jack;X-AudioEditing;
|
||||||
|
GenericName=Digital Audio Workstation
|
||||||
27
recipes-musicians/aubio/aubio_0.4.7.bb
Normal file
27
recipes-musicians/aubio/aubio_0.4.7.bb
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
SUMMARY = "aubio is designed for the extraction of annotations from audio signals"
|
||||||
|
HOMEPAGE = "https://aubio.org/"
|
||||||
|
LICENSE = "GPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||||
|
|
||||||
|
inherit waf pkgconfig
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
jack \
|
||||||
|
ffmpeg \
|
||||||
|
libsndfile1 \
|
||||||
|
libsamplerate0 \
|
||||||
|
python3-numpy \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
https://aubio.org/pub/${BPN}-${PV}.tar.bz2 \
|
||||||
|
file://0001-do-not-build-tests.patch \
|
||||||
|
"
|
||||||
|
SRC_URI[md5sum] = "1e8deb14b0e45ffadc91dcf7cfaee0c8"
|
||||||
|
SRC_URI[sha256sum] = "cbed4afec5ab3a1a6300c7e3af0a1369379aa94259f5e701a8ca905cdd9fa041"
|
||||||
|
|
||||||
|
EXTRA_OECONF = " \
|
||||||
|
--prefix=${prefix} \
|
||||||
|
--sysconfdir=${sysconfdir} \
|
||||||
|
--libdir=${libdir} \
|
||||||
|
"
|
||||||
28
recipes-musicians/aubio/files/0001-do-not-build-tests.patch
Normal file
28
recipes-musicians/aubio/files/0001-do-not-build-tests.patch
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
From e597c5c8636a269dbe5e664c706e66887479f161 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Tue, 25 Sep 2018 00:44:12 +0200
|
||||||
|
Subject: [PATCH] do not build tests
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [embedded specific]
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
wscript | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/wscript b/wscript
|
||||||
|
index c08298c..1443ae2 100644
|
||||||
|
--- a/wscript
|
||||||
|
+++ b/wscript
|
||||||
|
@@ -494,8 +494,6 @@ def build(bld):
|
||||||
|
bld.options.testcmd = 'node %s'
|
||||||
|
if bld.options.enable_examples:
|
||||||
|
bld.recurse('examples')
|
||||||
|
- if bld.options.enable_tests:
|
||||||
|
- bld.recurse('tests')
|
||||||
|
|
||||||
|
# pkg-config template
|
||||||
|
bld( source = 'aubio.pc.in' )
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
13
recipes-musicians/audio-tweaks/audio-tweaks_1.0.bb
Normal file
13
recipes-musicians/audio-tweaks/audio-tweaks_1.0.bb
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
DESCRIPTION = "Audio latency tweaks"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||||
|
|
||||||
|
SRC_URI += "file://95-audio-tweaks.conf"
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${sysconfdir}/security/limits.d
|
||||||
|
install -m 0644 ${WORKDIR}/95-audio-tweaks.conf ${D}${sysconfdir}/security/limits.d/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
RDEPENDS_${PN} = "pam-plugin-limits"
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Default limits for audio users
|
||||||
|
|
||||||
|
@audio - rtprio 90
|
||||||
|
@audio - memlock unlimited
|
||||||
|
@audio - nice -18
|
||||||
38
recipes-musicians/bristol/bristol_0.60.11.bb
Normal file
38
recipes-musicians/bristol/bristol_0.60.11.bb
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
SUMMARY = "Emulator for vintage synthesisers, electric pianos and organs"
|
||||||
|
HOMEPAGE = "https://sourceforge.net/projects/bristol/"
|
||||||
|
LICENSE = "GPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=d32239bcb673463ab874e80d47fae504"
|
||||||
|
|
||||||
|
inherit autotools pkgconfig distro_features_check
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = "x11"
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
virtual/libx11 \
|
||||||
|
alsa-lib \
|
||||||
|
jack \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/0.60/${BPN}-${PV}.tar.gz \
|
||||||
|
file://0001-Do-not-force-sse.patch \
|
||||||
|
file://0002-Do-not-include-alsa-iatomic.h.patch \
|
||||||
|
file://0003-bristoljackstats-do-not-overwrite-LDFLAGS.patch \
|
||||||
|
file://0004-Avoid-crosscompile-warnings.patch \
|
||||||
|
"
|
||||||
|
SRC_URI[md5sum] = "9ea4dacdac0dba3048156e2f6a5ee4d6"
|
||||||
|
SRC_URI[sha256sum] = "7d1f0bbd0d7d303fc77c6b9549b61708d7a83b4dc007818011b1f55d1fa922ba"
|
||||||
|
|
||||||
|
EXTRA_OECONF = " \
|
||||||
|
--disable-version-check \
|
||||||
|
--disable-oss \
|
||||||
|
--enable-jack-default-audio \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
# the tar magic makes files owned by build user
|
||||||
|
chown -R root:root ${D}${datadir}
|
||||||
|
# align data paths
|
||||||
|
mv ${D}${datadir}/bristol/bristol-${PV}/* ${D}${datadir}/bristol/
|
||||||
|
rmdir ${D}${datadir}/bristol/bristol-${PV}
|
||||||
|
}
|
||||||
30
recipes-musicians/bristol/files/0001-Do-not-force-sse.patch
Normal file
30
recipes-musicians/bristol/files/0001-Do-not-force-sse.patch
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
From f006426aac72fba8529bc85068d98e664e860584 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Thu, 5 Jul 2018 23:33:36 +0200
|
||||||
|
Subject: [PATCH 1/2] Do not force sse
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
bristol/Makefile.am | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/bristol/Makefile.am b/bristol/Makefile.am
|
||||||
|
index bbc90c9..5d12413 100755
|
||||||
|
--- a/bristol/Makefile.am
|
||||||
|
+++ b/bristol/Makefile.am
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
AUTOMAKE_OPTIONS = foreign
|
||||||
|
|
||||||
|
-AM_CFLAGS = -pthread -Wall -g -I$(srcdir)/../include/slab -I$(srcdir)/../include/bristol -I. -DBRISTOL_VOICECOUNT=@_BRISTOL_VOICES@ @BRISTOL_JACK_DEFAULT_MIDI@ @BRISTOL_JACK_DEFAULT@ @BRISTOL_JACK_MULTI_CLOSE@ @BRISTOL_SEMAPHORE@ @BRISTOL_SEM_OPEN@ @BRISTOL_BARRIER@ @BRISTOL_HAS_PA@ -DBRISTOL_RAMP_RATE=@BRR@ @BRISTOL_LIN_ATTACK@ @BRISTOL_HAS_DRAIN@ @BRISTOL_HAS_JACK@ @BRISTOL_HAS_JACK_MIDI@ @BRISTOL_HAS_JACK_SESSION@ -DBRISTOL_HAS_ALSA=@BRISTOL_HAS_ALSA@ @JACK_CFLAGS@ @ALSA_CFLAGS@ -msse -mfpmath=sse -ffast-math -fomit-frame-pointer -O2
|
||||||
|
+AM_CFLAGS = -pthread -Wall -g -I$(srcdir)/../include/slab -I$(srcdir)/../include/bristol -I. -DBRISTOL_VOICECOUNT=@_BRISTOL_VOICES@ @BRISTOL_JACK_DEFAULT_MIDI@ @BRISTOL_JACK_DEFAULT@ @BRISTOL_JACK_MULTI_CLOSE@ @BRISTOL_SEMAPHORE@ @BRISTOL_SEM_OPEN@ @BRISTOL_BARRIER@ @BRISTOL_HAS_PA@ -DBRISTOL_RAMP_RATE=@BRR@ @BRISTOL_LIN_ATTACK@ @BRISTOL_HAS_DRAIN@ @BRISTOL_HAS_JACK@ @BRISTOL_HAS_JACK_MIDI@ @BRISTOL_HAS_JACK_SESSION@ -DBRISTOL_HAS_ALSA=@BRISTOL_HAS_ALSA@ @JACK_CFLAGS@ @ALSA_CFLAGS@ -ffast-math -fomit-frame-pointer -O2
|
||||||
|
|
||||||
|
bin_PROGRAMS = bristol
|
||||||
|
#bristol_LDFLAGS = -Bdynamic -L../libbristolmidi/.libs -L../libbristolaudio/.libs -L../libbristol -L../libbristolic
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
From d7b57162ff8c279fb9ac309fce0cdd98696c327a Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Thu, 5 Jul 2018 23:34:17 +0200
|
||||||
|
Subject: [PATCH 2/2] Do not include alsa/iatomic.h
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
libbristolaudio/audioEngineJack.c | 3 ---
|
||||||
|
1 file changed, 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libbristolaudio/audioEngineJack.c b/libbristolaudio/audioEngineJack.c
|
||||||
|
index 2b8900b..94c083e 100644
|
||||||
|
--- a/libbristolaudio/audioEngineJack.c
|
||||||
|
+++ b/libbristolaudio/audioEngineJack.c
|
||||||
|
@@ -38,9 +38,6 @@
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#ifdef _BRISTOL_JACK
|
||||||
|
-#if (BRISTOL_HAS_ALSA == 1)
|
||||||
|
-#include <alsa/iatomic.h>
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Drop this atomic stuff, it comes from the ALSA library and it not present on
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
From 4269cada0a225e89c3edd3e85c21debd3f5ab958 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Sat, 4 Aug 2018 22:33:08 +0200
|
||||||
|
Subject: [PATCH] bristoljackstats: do not overwrite LDFLAGS
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
bin/Makefile.am | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/bin/Makefile.am b/bin/Makefile.am
|
||||||
|
index fed0c6b..d9957b1 100755
|
||||||
|
--- a/bin/Makefile.am
|
||||||
|
+++ b/bin/Makefile.am
|
||||||
|
@@ -1,6 +1,5 @@
|
||||||
|
AUTOMAKE_OPTIONS = foreign
|
||||||
|
|
||||||
|
-LDFLAGS = -Bdynamic -lm -lpthread `pkg-config --silence-errors --libs jack`
|
||||||
|
AM_CFLAGS = -pthread -Wall -g -I. -I$(srcdir)/../include/bristol @BRISTOL_HAS_JACK@ @BRISTOL_HAS_JACK_MIDI@ @JACK_CFLAGS@
|
||||||
|
|
||||||
|
#bin_PROGRAMS = bristoljackstats bristolnotegen bristolNRPgen
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
From f767f062beeedc014584e0d9d0aa70090b774941 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Tue, 30 Oct 2018 11:24:13 +0100
|
||||||
|
Subject: [PATCH] Avoid crosscompile warnings
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
| ld: warning: library search path "/usr/X11R6/lib" is unsafe for cross-compilation
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
brighton/Makefile.am | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/brighton/Makefile.am b/brighton/Makefile.am
|
||||||
|
index 274adc2..e900c62 100755
|
||||||
|
--- a/brighton/Makefile.am
|
||||||
|
+++ b/brighton/Makefile.am
|
||||||
|
@@ -3,7 +3,7 @@ AUTOMAKE_OPTIONS = foreign
|
||||||
|
AM_CFLAGS = -pthread -Wall -g -I$(srcdir)/../include/brighton -I$(srcdir)/../include/bristol -DBRISTOL_HAS_ALSA=@BRISTOL_HAS_ALSA@ @BRIGHTON_HAS_X11@ -DBRISTOL_VOICECOUNT=@_BRISTOL_VOICES@
|
||||||
|
|
||||||
|
bin_PROGRAMS = brighton
|
||||||
|
-brighton_LDFLAGS = -Bdynamic -L../libbrighton/ -L../libbristolmidi/.libs @BRIGHTON_LIBXLIBS@ -L/usr/X11R6/lib -L../libbvg
|
||||||
|
+brighton_LDFLAGS = -Bdynamic -L../libbrighton/ -L../libbristolmidi/.libs @BRIGHTON_LIBXLIBS@ -L../libbvg
|
||||||
|
brighton_LDADD = -lbrighton -lbvg @BRIGHTON_LIBB11@ @BRIGHTON_LIBX11@ @BRIGHTON_LIBXEXT@ -lbristolmidi @ALSA_LIBS@ -lm -lpthread
|
||||||
|
|
||||||
|
brighton_SOURCES = brightonArp2600.c brightonAxxe.c brighton.c brightonControllers.c brightonDX.c brightonExplorer.c brightonHammondB3.c brightonHammond.c brightonJuno.c brightonMemoryMoog.c brightonMini.c brightonMixer.c brightonMixerMemory.c brightonMixerMenu.c brightonMS20.c brightonOBXa.c brightonOBX.c brightonOdyssey.c brightonPoly6.c brightonPoly.c brightonProphet10.c brightonProphet52.c brightonProphet.c brightonRhodesBass.c brightonRhodes.c brightonRoutines.c brightonSAks.c brightonVox.c brightonKeyboards.h brightonKeys.h brightonMini.h brightonMixer.h brightonMixerMemory.h brightonhelp.h brightonSolina.c brightonRoadRunner.c brightonGranular.c brightonRealistic.c brightonVoxM2.c brightonJupiter.c brightonBitOne.c brightonMaster.c brightonCS80.c brightonProOne.c brightonVoyager.c brightonSonic6.c brightonTrilogy.c brightonStratus.c brightonPoly800.c brightonBME700.c brightonBassMaker.c brightonSID.c brightonSID2.c brightonSID2.h brightonreadme.h brightonCLI.c brightonVImages.h
|
||||||
|
--
|
||||||
|
2.14.5
|
||||||
|
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
From 29a3bcf1a134d9bf51afa36bf39a903cd9328a5b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Tue, 14 Nov 2017 16:44:37 +0100
|
||||||
|
Subject: [PATCH] Do store calfmakerdf-commandline for later use in qemu /
|
||||||
|
install calfmakerdf
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [embedded specific]
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
gui/Makefile.am | 2 +-
|
||||||
|
src/Makefile.am | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gui/Makefile.am b/gui/Makefile.am
|
||||||
|
index 11eb4c3..9b53a0a 100644
|
||||||
|
--- a/gui/Makefile.am
|
||||||
|
+++ b/gui/Makefile.am
|
||||||
|
@@ -4,7 +4,7 @@ STYLES = $(wildcard $(srcdir)/styles/*)
|
||||||
|
EXTRA_DIST = $(wildcard $(srcdir)/styles) $(wildcard $(srcdir)/strips) $(wildcard $(srcdir)/gui)
|
||||||
|
|
||||||
|
install-data-hook:
|
||||||
|
- $(top_builddir)/src/calfmakerdf -m gui -p $(DESTDIR)$(pkgdatadir)
|
||||||
|
+ echo "-m gui -p $(DESTDIR)$(pkgdatadir)" >> %QEMUCOMMAND%
|
||||||
|
install -d -m 755 $(DESTDIR)$(pkgdatadir)/styles/
|
||||||
|
for f in ${STYLES}; do \
|
||||||
|
sn=`basename $${f}` ; \
|
||||||
|
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||||
|
index 794e668..2b66870 100644
|
||||||
|
--- a/src/Makefile.am
|
||||||
|
+++ b/src/Makefile.am
|
||||||
|
@@ -30,7 +30,7 @@ endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
AM_CXXFLAGS += $(GLIB_DEPS_CFLAGS)
|
||||||
|
-noinst_PROGRAMS += calfmakerdf
|
||||||
|
+bin_PROGRAMS += calfmakerdf
|
||||||
|
calfmakerdf_SOURCES = makerdf.cpp
|
||||||
|
calfmakerdf_LDADD = calf.la
|
||||||
|
|
||||||
|
@@ -82,7 +82,7 @@ if USE_LV2_GUI
|
||||||
|
install -c -m 755 $(top_builddir)/src/.libs/calflv2gui.so $(DESTDIR)$(lv2dir)/calflv2gui.so
|
||||||
|
endif
|
||||||
|
rm -f $(DESTDIR)$(lv2dir)/*.ttl
|
||||||
|
- $(top_builddir)/src/calfmakerdf -m ttl -p $(DESTDIR)$(lv2dir)/ -d $(DESTDIR)$(pkgdatadir)/
|
||||||
|
+ echo "-m ttl -p $(DESTDIR)$(lv2dir)/ -d $(DESTDIR)$(pkgdatadir)/" >> %QEMUCOMMAND%
|
||||||
|
if USE_SORDI
|
||||||
|
for f in $(DESTDIR)$(lv2dir)/*.ttl; do sout=`sordi -o turtle "$$f"`; if test $$? != 0; then echo "RDF file $$f is corrupted:"; echo $$sout"<<<"; fi; done
|
||||||
|
endif
|
||||||
|
--
|
||||||
|
2.9.5
|
||||||
|
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
From 579ce205281dc47c94b0e6392decac9763397a9d Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Sun, 13 Jan 2019 12:14:52 +0100
|
||||||
|
Subject: [PATCH] fluidsynth: Activate synth.dynamic-sample-loading for
|
||||||
|
fluidsynth >=2
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This reduces soundfont load time and memory consumption significantly
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
src/fluidsynth.cpp | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/fluidsynth.cpp b/src/fluidsynth.cpp
|
||||||
|
index 54023dc8..14c018e3 100644
|
||||||
|
--- a/src/fluidsynth.cpp
|
||||||
|
+++ b/src/fluidsynth.cpp
|
||||||
|
@@ -59,6 +59,9 @@ fluid_synth_t *fluidsynth_audio_module::create_synth(int &new_sfid)
|
||||||
|
std::fill(set_presets, set_presets + 16, -1);
|
||||||
|
fluid_settings_t *new_settings = new_fluid_settings();
|
||||||
|
fluid_settings_setnum(new_settings, "synth.sample-rate", srate);
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR >= 2
|
||||||
|
+ fluid_settings_setint(new_settings, "synth.dynamic-sample-loading", 1);
|
||||||
|
+#endif
|
||||||
|
fluid_synth_t *s = new_fluid_synth(new_settings);
|
||||||
|
if (!soundfont.empty())
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
From 021850be25992b8a090182a05ad62660414c964f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Sat, 19 Jan 2019 21:48:29 +0100
|
||||||
|
Subject: [PATCH 1/2] Fix detection of LV2 for latest git
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
LV2 removed lv2-core.pc in [1]. So find lv2 and set required version to 1.1.4
|
||||||
|
which was released in September 2016 and should be avalaible on most
|
||||||
|
environments. This should be compatible to LV2 1.1.14 because from pkg-config
|
||||||
|
point of view lv2-core.pc and lv2.pc look similar.
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [2]
|
||||||
|
|
||||||
|
[1] https://github.com/drobilla/lv2/commit/4db67120efca2d4c200d2e1ba5cf3d7b97cab97e
|
||||||
|
[2] https://github.com/calf-studio-gear/calf/pull/213
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index b9c3d500..a0368773 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -79,7 +79,7 @@ if test "$JACK_FOUND" = "yes"; then
|
||||||
|
PKG_CHECK_MODULES(JACK_RENAME_PORT, jack >= 1.9.11, JACK_HAS_RENAME="yes", JACK_HAS_RENAME_DUMMY="no")
|
||||||
|
fi
|
||||||
|
|
||||||
|
-PKG_CHECK_MODULES(LV2_DEPS, lv2core >= 6, LV2_FOUND="yes", LV2_FOUND="no")
|
||||||
|
+PKG_CHECK_MODULES(LV2_DEPS, lv2 >= 1.1.14, LV2_FOUND="yes", LV2_FOUND="no")
|
||||||
|
|
||||||
|
PKG_CHECK_MODULES(LASH_DEPS, lash-1.0 >= 0.6.0,
|
||||||
|
AC_CHECK_LIB([lash], [lash_client_is_being_restored], LASH_0_6_FOUND="yes", LASH_0_6_FOUND="no"),
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
From 855cf20b9bb9fec30b72fa05a9b4cd28a1b4d35d Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Sat, 19 Jan 2019 23:00:49 +0100
|
||||||
|
Subject: [PATCH 2/2] Find headers for all versions of LV2
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [1]
|
||||||
|
|
||||||
|
[1] https://github.com/calf-studio-gear/calf/pull/213
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
src/calf/lv2_options.h | 2 +-
|
||||||
|
src/calf/lv2_ui.h | 2 +-
|
||||||
|
src/calf/lv2wrap.h | 2 +-
|
||||||
|
src/makerdf.cpp | 2 +-
|
||||||
|
4 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/calf/lv2_options.h b/src/calf/lv2_options.h
|
||||||
|
index 29568b8d..d66153da 100644
|
||||||
|
--- a/src/calf/lv2_options.h
|
||||||
|
+++ b/src/calf/lv2_options.h
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include "lv2_urid.h"
|
||||||
|
-#include "lv2.h"
|
||||||
|
+#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
|
||||||
|
|
||||||
|
#define LV2_OPTIONS_URI "http://lv2plug.in/ns/ext/options"
|
||||||
|
#define LV2_OPTIONS_PREFIX LV2_OPTIONS_URI "#"
|
||||||
|
diff --git a/src/calf/lv2_ui.h b/src/calf/lv2_ui.h
|
||||||
|
index b802ec59..c3e60822 100644
|
||||||
|
--- a/src/calf/lv2_ui.h
|
||||||
|
+++ b/src/calf/lv2_ui.h
|
||||||
|
@@ -27,7 +27,7 @@
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
-#include "lv2.h"
|
||||||
|
+#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
|
||||||
|
|
||||||
|
#define LV2_UI_URI "http://lv2plug.in/ns/extensions/ui"
|
||||||
|
#define LV2_UI_PREFIX LV2_UI_URI "#"
|
||||||
|
diff --git a/src/calf/lv2wrap.h b/src/calf/lv2wrap.h
|
||||||
|
index 8d6b13c4..d19eae7b 100644
|
||||||
|
--- a/src/calf/lv2wrap.h
|
||||||
|
+++ b/src/calf/lv2wrap.h
|
||||||
|
@@ -25,7 +25,7 @@
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
-#include <lv2.h>
|
||||||
|
+#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
|
||||||
|
#include <calf/giface.h>
|
||||||
|
#include <calf/lv2_atom.h>
|
||||||
|
#include <calf/lv2_atom_util.h>
|
||||||
|
diff --git a/src/makerdf.cpp b/src/makerdf.cpp
|
||||||
|
index 0b6cec5c..9f782534 100644
|
||||||
|
--- a/src/makerdf.cpp
|
||||||
|
+++ b/src/makerdf.cpp
|
||||||
|
@@ -22,7 +22,7 @@
|
||||||
|
#include <calf/preset.h>
|
||||||
|
#include <calf/utils.h>
|
||||||
|
#if USE_LV2
|
||||||
|
-#include <lv2.h>
|
||||||
|
+#include "lv2/lv2plug.in/ns/lv2core/lv2.h"
|
||||||
|
#include <calf/lv2_atom.h>
|
||||||
|
#include <calf/lv2_options.h>
|
||||||
|
#include <calf/lv2_state.h>
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
64
recipes-musicians/calf-studio-gear/calf_git.bb
Normal file
64
recipes-musicians/calf-studio-gear/calf_git.bb
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
SUMMARY = "High quality open source audio plugins for musicians"
|
||||||
|
HOMEPAGE = "http://calf-studio-gear.org/"
|
||||||
|
LICENSE = "GPLv2 & LGPLv2.1"
|
||||||
|
LIC_FILES_CHKSUM = " \
|
||||||
|
file://COPYING;md5=dcf3c825659e82539645da41a7908589 \
|
||||||
|
file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/calf-studio-gear/calf.git \
|
||||||
|
file://0001-Do-store-calfmakerdf-commandline-for-later-use-in-qe.patch \
|
||||||
|
file://0002-fluidsynth-Activate-synth.dynamic-sample-loading-for.patch \
|
||||||
|
file://0003-Fix-detection-of-LV2-for-latest-git.patch \
|
||||||
|
file://0004-Find-headers-for-all-versions-of-LV2.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "e5c08dc2483c444d18d24a37c395274002320f5c"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "0.90.1"
|
||||||
|
|
||||||
|
inherit autotools-brokensep pkgconfig gtk-icon-cache bash-completion qemu-ext
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
gtk+ \
|
||||||
|
jack \
|
||||||
|
fluidsynth \
|
||||||
|
liblo \
|
||||||
|
ladspa-sdk \
|
||||||
|
lv2 \
|
||||||
|
"
|
||||||
|
|
||||||
|
EXTRA_OECONF += " \
|
||||||
|
--with-lv2-dir=${libdir}/lv2 \
|
||||||
|
--enable-experimental \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_configure_prepend() {
|
||||||
|
sed -i 's:%QEMUCOMMAND%:${WORKDIR}/QemuCommands:g' `find ${S} -name Makefile.am`
|
||||||
|
}
|
||||||
|
|
||||||
|
QEMU_EXTRA_LIBDIR = "${D}${libdir}/calf"
|
||||||
|
|
||||||
|
do_install_prepend() {
|
||||||
|
# These are installed by calfmakerdf but that's moved to end of installation
|
||||||
|
install -d ${D}${libdir}/lv2
|
||||||
|
install -d ${D}${datadir}/calf
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
# build ttl-files must be done in quemu (lv2-ttl-generator-data loads
|
||||||
|
# so-files and calls functions to create ttl-files)
|
||||||
|
cat ${WORKDIR}/QemuCommands | while read calfmakerdf_param; do
|
||||||
|
${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', '${D}${bindir}/calfmakerdf')} ${calfmakerdf_param}
|
||||||
|
done
|
||||||
|
|
||||||
|
chown -R root:root ${D}${libdir}/lv2
|
||||||
|
chown root:root ${D}${datadir}/calf/*.xml
|
||||||
|
|
||||||
|
# job is done - not needed on target
|
||||||
|
rm ${D}${bindir}/calfmakerdf
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} += "${libdir}/lv2"
|
||||||
|
INSANE_SKIP_${PN} = "dev-so"
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
From 88c61efce068b4cfe6d4c175bd9d1b85def23708 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||||
|
Date: Sat, 15 Jul 2017 00:03:36 +0200
|
||||||
|
Subject: [PATCH] do not try to cross-run carla-lv2-export
|
||||||
|
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>
|
||||||
|
---
|
||||||
|
source/plugin/Makefile | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/source/plugin/Makefile b/source/plugin/Makefile
|
||||||
|
index 59b5c5d..3bcb368 100644
|
||||||
|
--- a/source/plugin/Makefile
|
||||||
|
+++ b/source/plugin/Makefile
|
||||||
|
@@ -206,7 +206,7 @@ $(BINDIR)/carla.lv2/manifest.ttl: $(OBJDIR)/carla-lv2-export.cpp.o $(LIBS)
|
||||||
|
ifeq ($(BUILDING_FOR_WINDOWS),true)
|
||||||
|
@cd $(BINDIR) && wine ./carla-lv2-export$(APP_EXT)
|
||||||
|
else
|
||||||
|
- @cd $(BINDIR) && ./carla-lv2-export$(APP_EXT)
|
||||||
|
+ @cd $(BINDIR)
|
||||||
|
endif
|
||||||
|
@cd $(BINDIR)/carla.lv2 && ln -sf ../*bridge-* ../carla-discovery-* .
|
||||||
|
|
||||||
|
--
|
||||||
|
2.9.4
|
||||||
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
From 079d1a1b34394b76d23ce7d92254cb785333d3e7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Thu, 20 Sep 2018 22:44:48 +0200
|
||||||
|
Subject: [PATCH] Do not try to find Qt5 host bins - it won't 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@gmail.com>
|
||||||
|
---
|
||||||
|
source/Makefile.mk | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/source/Makefile.mk b/source/Makefile.mk
|
||||||
|
index 688dca20..07afc7a2 100644
|
||||||
|
--- a/source/Makefile.mk
|
||||||
|
+++ b/source/Makefile.mk
|
||||||
|
@@ -253,7 +253,6 @@ endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(HAVE_QT5),true)
|
||||||
|
-QT5_HOSTBINS = $(shell pkg-config --variable=host_bins Qt5Core)
|
||||||
|
MOC_QT5 ?= $(QT5_HOSTBINS)/moc
|
||||||
|
RCC_QT5 ?= $(QT5_HOSTBINS)/rcc
|
||||||
|
UIC_QT5 ?= $(QT5_HOSTBINS)/uic
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,245 @@
|
|||||||
|
From d55575c62bd911e1edf126e1efed8219c97bb25a Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Wed, 10 Oct 2018 23:48:22 +0200
|
||||||
|
Subject: [PATCH 1/3] Fluidsynths: Ensure fluidsynth's defaults are set once
|
||||||
|
and in one place
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This makes transition fluidsynth 1.x -> 2.x a lot easier.
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [1]
|
||||||
|
|
||||||
|
[1] https://github.com/falkTX/Carla/pull/766
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
source/backend/plugin/CarlaPluginFluidSynth.cpp | 67 ++++++++++++++++++-------
|
||||||
|
1 file changed, 48 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/source/backend/plugin/CarlaPluginFluidSynth.cpp b/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
||||||
|
index be9e720a..7f6d919c 100644
|
||||||
|
--- a/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
||||||
|
+++ b/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
||||||
|
@@ -73,20 +73,22 @@ public:
|
||||||
|
fSynth = new_fluid_synth(fSettings);
|
||||||
|
CARLA_SAFE_ASSERT_RETURN(fSynth != nullptr,);
|
||||||
|
|
||||||
|
+ initializeFluidDefaultsIfNeeded();
|
||||||
|
+
|
||||||
|
fluid_synth_set_sample_rate(fSynth, (float)pData->engine->getSampleRate());
|
||||||
|
|
||||||
|
// set default values
|
||||||
|
fluid_synth_set_reverb_on(fSynth, 1);
|
||||||
|
- fluid_synth_set_reverb(fSynth, FLUID_REVERB_DEFAULT_ROOMSIZE, FLUID_REVERB_DEFAULT_DAMP, FLUID_REVERB_DEFAULT_WIDTH, FLUID_REVERB_DEFAULT_LEVEL);
|
||||||
|
+ fluid_synth_set_reverb(fSynth, sFluidDefaults[FluidSynthReverbRoomSize], sFluidDefaults[FluidSynthReverbDamp], sFluidDefaults[FluidSynthReverbWidth], sFluidDefaults[FluidSynthReverbLevel]);
|
||||||
|
|
||||||
|
fluid_synth_set_chorus_on(fSynth, 1);
|
||||||
|
- fluid_synth_set_chorus(fSynth, FLUID_CHORUS_DEFAULT_N, FLUID_CHORUS_DEFAULT_LEVEL, FLUID_CHORUS_DEFAULT_SPEED, FLUID_CHORUS_DEFAULT_DEPTH, FLUID_CHORUS_DEFAULT_TYPE);
|
||||||
|
+ fluid_synth_set_chorus(fSynth, sFluidDefaults[FluidSynthChorusNr], sFluidDefaults[FluidSynthChorusLevel], sFluidDefaults[FluidSynthChorusSpeedHz], sFluidDefaults[FluidSynthChorusDepthMs], sFluidDefaults[FluidSynthChorusType]);
|
||||||
|
|
||||||
|
fluid_synth_set_polyphony(fSynth, FLUID_DEFAULT_POLYPHONY);
|
||||||
|
fluid_synth_set_gain(fSynth, 1.0f);
|
||||||
|
|
||||||
|
for (int i=0; i < MAX_MIDI_CHANNELS; ++i)
|
||||||
|
- fluid_synth_set_interp_method(fSynth, i, FLUID_INTERP_DEFAULT);
|
||||||
|
+ fluid_synth_set_interp_method(fSynth, i, sFluidDefaults[FluidSynthInterpolation]);
|
||||||
|
}
|
||||||
|
|
||||||
|
~CarlaPluginFluidSynth() override
|
||||||
|
@@ -195,7 +197,7 @@ public:
|
||||||
|
case 1:
|
||||||
|
return FLUID_CHORUS_MOD_TRIANGLE;
|
||||||
|
default:
|
||||||
|
- return FLUID_CHORUS_DEFAULT_TYPE;
|
||||||
|
+ return sFluidDefaults[FluidSynthChorusType];
|
||||||
|
}
|
||||||
|
case FluidSynthInterpolation:
|
||||||
|
switch (scalePointId)
|
||||||
|
@@ -209,7 +211,7 @@ public:
|
||||||
|
case 3:
|
||||||
|
return FLUID_INTERP_7THORDER;
|
||||||
|
default:
|
||||||
|
- return FLUID_INTERP_DEFAULT;
|
||||||
|
+ return sFluidDefaults[FluidSynthInterpolation];
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return 0.0f;
|
||||||
|
@@ -721,7 +723,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 1.0f;
|
||||||
|
- pData->param.ranges[j].def = 1.0f;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 1.0f;
|
||||||
|
pData->param.ranges[j].stepSmall = 1.0f;
|
||||||
|
pData->param.ranges[j].stepLarge = 1.0f;
|
||||||
|
@@ -734,7 +736,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 1.2f;
|
||||||
|
- pData->param.ranges[j].def = FLUID_REVERB_DEFAULT_ROOMSIZE;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 0.01f;
|
||||||
|
pData->param.ranges[j].stepSmall = 0.0001f;
|
||||||
|
pData->param.ranges[j].stepLarge = 0.1f;
|
||||||
|
@@ -747,7 +749,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 1.0f;
|
||||||
|
- pData->param.ranges[j].def = FLUID_REVERB_DEFAULT_DAMP;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 0.01f;
|
||||||
|
pData->param.ranges[j].stepSmall = 0.0001f;
|
||||||
|
pData->param.ranges[j].stepLarge = 0.1f;
|
||||||
|
@@ -761,7 +763,7 @@ public:
|
||||||
|
pData->param.data[j].midiCC = MIDI_CONTROL_REVERB_SEND_LEVEL;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 1.0f;
|
||||||
|
- pData->param.ranges[j].def = FLUID_REVERB_DEFAULT_LEVEL;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 0.01f;
|
||||||
|
pData->param.ranges[j].stepSmall = 0.0001f;
|
||||||
|
pData->param.ranges[j].stepLarge = 0.1f;
|
||||||
|
@@ -774,7 +776,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 10.0f; // should be 100, but that sounds too much
|
||||||
|
- pData->param.ranges[j].def = FLUID_REVERB_DEFAULT_WIDTH;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 0.01f;
|
||||||
|
pData->param.ranges[j].stepSmall = 0.0001f;
|
||||||
|
pData->param.ranges[j].stepLarge = 0.1f;
|
||||||
|
@@ -787,7 +789,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 1.0f;
|
||||||
|
- pData->param.ranges[j].def = 1.0f;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 1.0f;
|
||||||
|
pData->param.ranges[j].stepSmall = 1.0f;
|
||||||
|
pData->param.ranges[j].stepLarge = 1.0f;
|
||||||
|
@@ -800,7 +802,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 99.0f;
|
||||||
|
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_N;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 1.0f;
|
||||||
|
pData->param.ranges[j].stepSmall = 1.0f;
|
||||||
|
pData->param.ranges[j].stepLarge = 10.0f;
|
||||||
|
@@ -813,7 +815,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 10.0f;
|
||||||
|
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_LEVEL;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 0.01f;
|
||||||
|
pData->param.ranges[j].stepSmall = 0.0001f;
|
||||||
|
pData->param.ranges[j].stepLarge = 0.1f;
|
||||||
|
@@ -826,7 +828,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.29f;
|
||||||
|
pData->param.ranges[j].max = 5.0f;
|
||||||
|
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_SPEED;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 0.01f;
|
||||||
|
pData->param.ranges[j].stepSmall = 0.0001f;
|
||||||
|
pData->param.ranges[j].stepLarge = 0.1f;
|
||||||
|
@@ -839,7 +841,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = float(2048.0 * 1000.0 / pData->engine->getSampleRate()); // FIXME?
|
||||||
|
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_DEPTH;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 0.01f;
|
||||||
|
pData->param.ranges[j].stepSmall = 0.0001f;
|
||||||
|
pData->param.ranges[j].stepLarge = 0.1f;
|
||||||
|
@@ -852,7 +854,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = FLUID_CHORUS_MOD_SINE;
|
||||||
|
pData->param.ranges[j].max = FLUID_CHORUS_MOD_TRIANGLE;
|
||||||
|
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_TYPE;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 1.0f;
|
||||||
|
pData->param.ranges[j].stepSmall = 1.0f;
|
||||||
|
pData->param.ranges[j].stepLarge = 1.0f;
|
||||||
|
@@ -865,7 +867,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 1.0f;
|
||||||
|
pData->param.ranges[j].max = 512.0f; // max theoric is 65535
|
||||||
|
- pData->param.ranges[j].def = (float)fluid_synth_get_polyphony(fSynth);
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 1.0f;
|
||||||
|
pData->param.ranges[j].stepSmall = 1.0f;
|
||||||
|
pData->param.ranges[j].stepLarge = 10.0f;
|
||||||
|
@@ -878,7 +880,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = FLUID_INTERP_NONE;
|
||||||
|
pData->param.ranges[j].max = FLUID_INTERP_HIGHEST;
|
||||||
|
- pData->param.ranges[j].def = FLUID_INTERP_DEFAULT;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 1.0f;
|
||||||
|
pData->param.ranges[j].stepSmall = 1.0f;
|
||||||
|
pData->param.ranges[j].stepLarge = 1.0f;
|
||||||
|
@@ -891,7 +893,7 @@ public:
|
||||||
|
pData->param.data[j].rindex = j;
|
||||||
|
pData->param.ranges[j].min = 0.0f;
|
||||||
|
pData->param.ranges[j].max = 65535.0f;
|
||||||
|
- pData->param.ranges[j].def = 0.0f;
|
||||||
|
+ pData->param.ranges[j].def = sFluidDefaults[j];
|
||||||
|
pData->param.ranges[j].step = 1.0f;
|
||||||
|
pData->param.ranges[j].stepSmall = 1.0f;
|
||||||
|
pData->param.ranges[j].stepLarge = 1.0f;
|
||||||
|
@@ -1656,6 +1658,27 @@ public:
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
+ void initializeFluidDefaultsIfNeeded()
|
||||||
|
+ {
|
||||||
|
+ if (sFluidDefaultsStored)
|
||||||
|
+ return;
|
||||||
|
+ sFluidDefaultsStored = true;
|
||||||
|
+ sFluidDefaults[FluidSynthReverbOnOff] = 1.0f;
|
||||||
|
+ sFluidDefaults[FluidSynthReverbRoomSize] = FLUID_REVERB_DEFAULT_ROOMSIZE;
|
||||||
|
+ sFluidDefaults[FluidSynthReverbDamp] = FLUID_REVERB_DEFAULT_DAMP;
|
||||||
|
+ sFluidDefaults[FluidSynthReverbLevel] = FLUID_REVERB_DEFAULT_LEVEL;
|
||||||
|
+ sFluidDefaults[FluidSynthReverbWidth] = FLUID_REVERB_DEFAULT_WIDTH;
|
||||||
|
+ sFluidDefaults[FluidSynthChorusOnOff] = 1.0f;
|
||||||
|
+ sFluidDefaults[FluidSynthChorusNr] = FLUID_CHORUS_DEFAULT_N;
|
||||||
|
+ sFluidDefaults[FluidSynthChorusLevel] = FLUID_CHORUS_DEFAULT_LEVEL;
|
||||||
|
+ sFluidDefaults[FluidSynthChorusSpeedHz] = FLUID_CHORUS_DEFAULT_SPEED;
|
||||||
|
+ sFluidDefaults[FluidSynthChorusDepthMs] = FLUID_CHORUS_DEFAULT_DEPTH;
|
||||||
|
+ sFluidDefaults[FluidSynthChorusType] = FLUID_CHORUS_DEFAULT_TYPE;
|
||||||
|
+ sFluidDefaults[FluidSynthPolyphony] = (float)fluid_synth_get_polyphony(fSynth);
|
||||||
|
+ sFluidDefaults[FluidSynthInterpolation] = FLUID_INTERP_DEFAULT;
|
||||||
|
+ sFluidDefaults[FluidSynthVoiceCount] = 0.0f;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
enum FluidSynthParameters {
|
||||||
|
FluidSynthReverbOnOff = 0,
|
||||||
|
FluidSynthReverbRoomSize = 1,
|
||||||
|
@@ -1683,6 +1706,9 @@ private:
|
||||||
|
float** fAudio16Buffers;
|
||||||
|
float fParamBuffers[FluidSynthParametersMax];
|
||||||
|
|
||||||
|
+ static bool sFluidDefaultsStored;
|
||||||
|
+ static float sFluidDefaults[FluidSynthParametersMax];
|
||||||
|
+
|
||||||
|
int32_t fCurMidiProgs[MAX_MIDI_CHANNELS];
|
||||||
|
|
||||||
|
const char* fLabel;
|
||||||
|
@@ -1690,6 +1716,9 @@ private:
|
||||||
|
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaPluginFluidSynth)
|
||||||
|
};
|
||||||
|
|
||||||
|
+bool CarlaPluginFluidSynth::sFluidDefaultsStored = false;
|
||||||
|
+float CarlaPluginFluidSynth::sFluidDefaults[FluidSynthParametersMax];
|
||||||
|
+
|
||||||
|
CARLA_BACKEND_END_NAMESPACE
|
||||||
|
|
||||||
|
#endif // HAVE_FLUIDSYNTH
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,143 @@
|
|||||||
|
From 94c96ee0d04e324122ee1a73344a44f1b21837ef Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Sat, 13 Oct 2018 15:16:20 +0200
|
||||||
|
Subject: [PATCH 2/3] Fixes for fluidsynth >= 2.0.0
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
* preset iteration and getters have changed
|
||||||
|
* constants for most defaults are no more available in public headers -
|
||||||
|
fluidsynth wants to be asked
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [1]
|
||||||
|
|
||||||
|
[1] https://github.com/falkTX/Carla/pull/766
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
source/backend/plugin/CarlaPluginFluidSynth.cpp | 62 +++++++++++++++++++++++++
|
||||||
|
source/discovery/carla-discovery.cpp | 5 ++
|
||||||
|
2 files changed, 67 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/source/backend/plugin/CarlaPluginFluidSynth.cpp b/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
||||||
|
index 7f6d919c..5645fe3c 100644
|
||||||
|
--- a/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
||||||
|
+++ b/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
||||||
|
@@ -943,6 +943,7 @@ public:
|
||||||
|
|
||||||
|
if (fluid_sfont_t* const f_sfont = fluid_synth_get_sfont_by_id(fSynth, fSynthId))
|
||||||
|
{
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
fluid_preset_t f_preset;
|
||||||
|
|
||||||
|
// initial check to know how many midi-programs we have
|
||||||
|
@@ -971,6 +972,36 @@ public:
|
||||||
|
pData->midiprog.data[i].program = (tmp >= 0) ? static_cast<uint32_t>(tmp) : 0;
|
||||||
|
|
||||||
|
pData->midiprog.data[i].name = carla_strdup(f_preset.get_name(&f_preset));
|
||||||
|
+#else
|
||||||
|
+ fluid_preset_t* f_preset;
|
||||||
|
+
|
||||||
|
+ // initial check to know how many midi-programs we have
|
||||||
|
+ fluid_sfont_iteration_start(f_sfont);
|
||||||
|
+ for (; fluid_sfont_iteration_next(f_sfont);)
|
||||||
|
+ ++count;
|
||||||
|
+
|
||||||
|
+ // sound kits must always have at least 1 midi-program
|
||||||
|
+ CARLA_SAFE_ASSERT_RETURN(count > 0,);
|
||||||
|
+
|
||||||
|
+ pData->midiprog.createNew(count);
|
||||||
|
+
|
||||||
|
+ // Update data
|
||||||
|
+ int tmp;
|
||||||
|
+ uint32_t i = 0;
|
||||||
|
+ fluid_sfont_iteration_start(f_sfont);
|
||||||
|
+
|
||||||
|
+ for (; (f_preset = fluid_sfont_iteration_next(f_sfont));)
|
||||||
|
+ {
|
||||||
|
+ CARLA_SAFE_ASSERT_BREAK(i < count);
|
||||||
|
+
|
||||||
|
+ tmp = fluid_preset_get_banknum(f_preset);
|
||||||
|
+ pData->midiprog.data[i].bank = (tmp >= 0) ? static_cast<uint32_t>(tmp) : 0;
|
||||||
|
+
|
||||||
|
+ tmp = fluid_preset_get_num(f_preset);
|
||||||
|
+ pData->midiprog.data[i].program = (tmp >= 0) ? static_cast<uint32_t>(tmp) : 0;
|
||||||
|
+
|
||||||
|
+ pData->midiprog.data[i].name = carla_strdup(fluid_preset_get_name(f_preset));
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (pData->midiprog.data[i].bank == 128 && ! hasDrums)
|
||||||
|
{
|
||||||
|
@@ -1663,17 +1694,48 @@ private:
|
||||||
|
if (sFluidDefaultsStored)
|
||||||
|
return;
|
||||||
|
sFluidDefaultsStored = true;
|
||||||
|
+ // reverb defaults
|
||||||
|
sFluidDefaults[FluidSynthReverbOnOff] = 1.0f;
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
sFluidDefaults[FluidSynthReverbRoomSize] = FLUID_REVERB_DEFAULT_ROOMSIZE;
|
||||||
|
sFluidDefaults[FluidSynthReverbDamp] = FLUID_REVERB_DEFAULT_DAMP;
|
||||||
|
sFluidDefaults[FluidSynthReverbLevel] = FLUID_REVERB_DEFAULT_LEVEL;
|
||||||
|
sFluidDefaults[FluidSynthReverbWidth] = FLUID_REVERB_DEFAULT_WIDTH;
|
||||||
|
+#else
|
||||||
|
+ double reverbVal;
|
||||||
|
+ fluid_settings_getnum_default(fSettings, "synth.reverb.room-size", &reverbVal);
|
||||||
|
+ sFluidDefaults[FluidSynthReverbRoomSize] = reverbVal;
|
||||||
|
+ fluid_settings_getnum_default(fSettings, "synth.reverb.damp", &reverbVal);
|
||||||
|
+ sFluidDefaults[FluidSynthReverbDamp] = reverbVal;
|
||||||
|
+ fluid_settings_getnum_default(fSettings, "synth.reverb.level", &reverbVal);
|
||||||
|
+ sFluidDefaults[FluidSynthReverbLevel] = reverbVal;
|
||||||
|
+ fluid_settings_getnum_default(fSettings, "synth.reverb.width", &reverbVal);
|
||||||
|
+ sFluidDefaults[FluidSynthReverbWidth] = reverbVal;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ // chorus defaults
|
||||||
|
sFluidDefaults[FluidSynthChorusOnOff] = 1.0f;
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
sFluidDefaults[FluidSynthChorusNr] = FLUID_CHORUS_DEFAULT_N;
|
||||||
|
sFluidDefaults[FluidSynthChorusLevel] = FLUID_CHORUS_DEFAULT_LEVEL;
|
||||||
|
sFluidDefaults[FluidSynthChorusSpeedHz] = FLUID_CHORUS_DEFAULT_SPEED;
|
||||||
|
sFluidDefaults[FluidSynthChorusDepthMs] = FLUID_CHORUS_DEFAULT_DEPTH;
|
||||||
|
sFluidDefaults[FluidSynthChorusType] = FLUID_CHORUS_DEFAULT_TYPE;
|
||||||
|
+#else
|
||||||
|
+ double chorusVal;
|
||||||
|
+ fluid_settings_getnum_default(fSettings, "synth.chorus.nr", &chorusVal);
|
||||||
|
+ sFluidDefaults[FluidSynthChorusNr] = chorusVal;
|
||||||
|
+ fluid_settings_getnum_default(fSettings, "synth.chorus.level", &chorusVal);
|
||||||
|
+ sFluidDefaults[FluidSynthChorusLevel] = chorusVal;
|
||||||
|
+ fluid_settings_getnum_default(fSettings, "synth.chorus.speed", &chorusVal);
|
||||||
|
+ sFluidDefaults[FluidSynthChorusSpeedHz] = chorusVal;
|
||||||
|
+ fluid_settings_getnum_default(fSettings, "synth.chorus.depth", &chorusVal);
|
||||||
|
+ sFluidDefaults[FluidSynthChorusDepthMs] = chorusVal;
|
||||||
|
+ // There is no settings for chorus default type
|
||||||
|
+ sFluidDefaults[FluidSynthChorusType] = (float)fluid_synth_get_chorus_type(fSynth);
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ // misc. defaults
|
||||||
|
sFluidDefaults[FluidSynthPolyphony] = (float)fluid_synth_get_polyphony(fSynth);
|
||||||
|
sFluidDefaults[FluidSynthInterpolation] = FLUID_INTERP_DEFAULT;
|
||||||
|
sFluidDefaults[FluidSynthVoiceCount] = 0.0f;
|
||||||
|
diff --git a/source/discovery/carla-discovery.cpp b/source/discovery/carla-discovery.cpp
|
||||||
|
index a0745e23..d2cd2931 100644
|
||||||
|
--- a/source/discovery/carla-discovery.cpp
|
||||||
|
+++ b/source/discovery/carla-discovery.cpp
|
||||||
|
@@ -1323,10 +1323,15 @@ static void do_fluidsynth_check(const char* const filename, const bool doInit)
|
||||||
|
|
||||||
|
if (fluid_sfont_t* const f_sfont = fluid_synth_get_sfont_by_id(f_synth, static_cast<uint>(f_id)))
|
||||||
|
{
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
fluid_preset_t f_preset;
|
||||||
|
|
||||||
|
f_sfont->iteration_start(f_sfont);
|
||||||
|
for (; f_sfont->iteration_next(f_sfont, &f_preset);)
|
||||||
|
+#else
|
||||||
|
+ fluid_sfont_iteration_start(f_sfont);
|
||||||
|
+ for (; fluid_sfont_iteration_next(f_sfont);)
|
||||||
|
+#endif
|
||||||
|
++programs;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
71
recipes-musicians/carla/carla_git.bb
Normal file
71
recipes-musicians/carla/carla_git.bb
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
SUMMARY = "Audio plugin host"
|
||||||
|
HOMEPAGE = "http://kxstudio.linuxaudio.org/Applications:Carla"
|
||||||
|
LICENSE = "GPLv2 & LGPLv3"
|
||||||
|
LIC_FILES_CHKSUM = " \
|
||||||
|
file://doc/GPL.txt;md5=4641e94ec96f98fabc56ff9cc48be14b \
|
||||||
|
file://doc/LGPL.txt;md5=e6a600fd5e1d9cbde2d983680233ad02 \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/falkTX/Carla.git \
|
||||||
|
file://0001-do-not-try-to-cross-run-carla-lv2-export.patch \
|
||||||
|
file://0002-Do-not-try-to-find-Qt5-host-bins-it-won-t-work.patch \
|
||||||
|
file://0003-Fluidsynths-Ensure-fluidsynth-s-defaults-are-set-onc.patch \
|
||||||
|
file://0004-Fixes-for-fluidsynth-2.0.0.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "d73c0788ccc5fb9019d224046ef1b652aa5a9bbe"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "1.9.11+git${SRCPV}"
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = "x11"
|
||||||
|
|
||||||
|
inherit qmake5_base pkgconfig qemu-ext distro_features_check mime gtk-icon-cache
|
||||||
|
|
||||||
|
B = "${S}"
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
python3-pyqt5-native \
|
||||||
|
qtbase-native \
|
||||||
|
qtbase \
|
||||||
|
gtk+ \
|
||||||
|
gtk+3 \
|
||||||
|
liblo \
|
||||||
|
pulseaudio \
|
||||||
|
fluidsynth \
|
||||||
|
libsndfile1 \
|
||||||
|
"
|
||||||
|
|
||||||
|
EXTRA_OEMAKE += " \
|
||||||
|
DEFAULT_QT=5 \
|
||||||
|
NOOPT=true \
|
||||||
|
HAVE_PYQT=true \
|
||||||
|
HAVE_PYQT4=false \
|
||||||
|
HAVE_PYQT5=true \
|
||||||
|
SKIP_STRIPPING=true \
|
||||||
|
"
|
||||||
|
|
||||||
|
export QT5_HOSTBINS="${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}"
|
||||||
|
|
||||||
|
do_configure() {
|
||||||
|
oe_runmake features
|
||||||
|
}
|
||||||
|
|
||||||
|
do_compile_append() {
|
||||||
|
cd ${S}/bin
|
||||||
|
${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', 'carla-lv2-export')}
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
oe_runmake DESTDIR=${D} PREFIX=${prefix} LIBDIR=${libdir} install
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${datadir}/icons \
|
||||||
|
${datadir}/mime \
|
||||||
|
${libdir}/lv2 \
|
||||||
|
${libdir}/vst \
|
||||||
|
"
|
||||||
|
|
||||||
|
INSANE_SKIP_${PN} = "dev-so"
|
||||||
|
|
||||||
|
RDEPENDS_${PN} += "python3-pyqt5 bash"
|
||||||
22
recipes-musicians/chromaprint/chromaprint_git.bb
Normal file
22
recipes-musicians/chromaprint/chromaprint_git.bb
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
SUMMARY = "Chromaprint is library that extracts fingerprints from audio sources"
|
||||||
|
HOMEPAGE = "https://acoustid.org/chromaprint"
|
||||||
|
LICENSE = "MIT & LGPLv2.1"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5d50f7a9fde1110fa1756b0f5faa26f2"
|
||||||
|
|
||||||
|
inherit cmake
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
fftw \
|
||||||
|
ffmpeg \
|
||||||
|
"
|
||||||
|
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/acoustid/chromaprint.git"
|
||||||
|
SRCREV = "ecd2edd73315530d4f9c1b1186aee24c63a7b6c2"
|
||||||
|
PV = "1.4.3"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
EXTRA_OECMAKE += " \
|
||||||
|
${@bb.utils.contains('TUNE_FEATURES', 'neon', '-DFFT_LIB=fftw3f', '', d)} \
|
||||||
|
-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
|
||||||
|
"
|
||||||
63
recipes-musicians/csound/csound_git.bb
Normal file
63
recipes-musicians/csound/csound_git.bb
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
SUMMARY = "A sound and music computing system"
|
||||||
|
LICENSE = "LGPLv2.1"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
|
||||||
|
|
||||||
|
inherit cmake gettext python-dir
|
||||||
|
|
||||||
|
# TBD: fltk is not propely detected
|
||||||
|
DEPENDS += " \
|
||||||
|
flex-native \
|
||||||
|
bison-native \
|
||||||
|
swig-native \
|
||||||
|
python \
|
||||||
|
alsa-lib \
|
||||||
|
libsndfile1 \
|
||||||
|
portaudio-v19 \
|
||||||
|
portmidi \
|
||||||
|
fluidsynth \
|
||||||
|
curl \
|
||||||
|
fltk \
|
||||||
|
liblo \
|
||||||
|
stk \
|
||||||
|
libvorbis \
|
||||||
|
libeigen \
|
||||||
|
libwebsockets \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/csound/csound.git \
|
||||||
|
file://0001-Do-not-set-include-path-to-usr-local-include.patch \
|
||||||
|
file://0002-Do-not-use-try_run-for-portaudio.patch \
|
||||||
|
file://0003-strict-aliasing-errors.patch \
|
||||||
|
file://0004-Engine-csound_orc_semantics.c-Fix-build-with-gcc8.patch \
|
||||||
|
file://0005-InOut-pmidi.c-Fix-build-with-gcc8.patch \
|
||||||
|
file://0006-fixed-unsafe-use-of-strncpy.patch \
|
||||||
|
file://0007-util1-csd_util-cs.c-Fix-build-with-gcc8.patch \
|
||||||
|
file://0008-Fix-build-with-fluidsynth-version-2.0.0.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "2905724262b516983e779ed8c589602da4bf3f7d"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "6.11.0"
|
||||||
|
|
||||||
|
# Where to get lua-version from?
|
||||||
|
LUA_VERSION = "5.3"
|
||||||
|
|
||||||
|
EXTRA_OECMAKE += " \
|
||||||
|
-DUSE_DOUBLE=OFF \
|
||||||
|
-DPYTHON_MODULE_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} \
|
||||||
|
-DUSE_LIB64=${@bb.utils.contains("baselib", "lib64", "ON", "OFF",d)} \
|
||||||
|
"
|
||||||
|
|
||||||
|
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
|
||||||
|
PACKAGECONFIG[pulseaudio] = "-DUSE_PULSEAUDIO=ON,-DUSE_PULSEAUDIO=OFF,pulseaudio,pulseaudio-server"
|
||||||
|
PACKAGECONFIG[luajit] = "-DLUA_MODULE_INSTALL_DIR=${libdir}/lua/${LUA_VERSION},,luajit"
|
||||||
|
|
||||||
|
PACKAGES =+ " \
|
||||||
|
${PN}-python2 \
|
||||||
|
${PN}-luajit \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN}-python2 = "${PYTHON_SITEPACKAGES_DIR}"
|
||||||
|
RDEPENDS_${PN}-python2 += "python"
|
||||||
|
|
||||||
|
FILES_${PN}-luajit = "${libdir}/lua"
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
From 1ae6204460552d524398765ca3931f73c7647472 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Sun, 20 May 2018 20:22:21 +0200
|
||||||
|
Subject: [PATCH] Do not set include path to /usr/local/include
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
InOut/CMakeLists.txt | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/InOut/CMakeLists.txt b/InOut/CMakeLists.txt
|
||||||
|
index 9422575e3..535528c83 100644
|
||||||
|
--- a/InOut/CMakeLists.txt
|
||||||
|
+++ b/InOut/CMakeLists.txt
|
||||||
|
@@ -16,8 +16,6 @@ option(USE_FLTK "Use FLTK for graphs and widget opcodes" ON)
|
||||||
|
option(BUILD_VIRTUAL_KEYBOARD "Build Virtual MIDI keyboard" ON)
|
||||||
|
option(NEED_PORTTIME "porttime library separate from portmidi" ON)
|
||||||
|
|
||||||
|
-set(CMAKE_REQUIRED_INCLUDES /usr/local/include)
|
||||||
|
-
|
||||||
|
# FIND LIBRARIES AND HEADERS
|
||||||
|
|
||||||
|
if(USE_ALSA)
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
From 70b48196f3f2eb7a8cd2b21a3c39986bdb24bff2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Sun, 20 May 2018 20:59:59 +0200
|
||||||
|
Subject: [PATCH] Do not use try_run for portaudio
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [OE specific]
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
InOut/CMakeLists.txt | 13 -------------
|
||||||
|
1 file changed, 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/InOut/CMakeLists.txt b/InOut/CMakeLists.txt
|
||||||
|
index 9422575e3..7590a8c01 100644
|
||||||
|
--- a/InOut/CMakeLists.txt
|
||||||
|
+++ b/InOut/CMakeLists.txt
|
||||||
|
@@ -27,19 +27,6 @@ endif()
|
||||||
|
if(USE_PORTAUDIO)
|
||||||
|
find_path(PORTAUDIO_INCLUDE_PATH portaudio.h)
|
||||||
|
find_library(PORTAUDIO_LIBRARY NAMES portaudio portaudio_x64)
|
||||||
|
-
|
||||||
|
- if(PORTAUDIO_INCLUDE_PATH AND PORTAUDIO_LIBRARY)
|
||||||
|
- try_run(PORTAUDIO_V19 PORTAUDIO_TEST_COMPILED
|
||||||
|
- ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/portaudio_test.c
|
||||||
|
- CMAKE_FLAGS -DLINK_LIBRARIES:STRING=${PORTAUDIO_LIBRARY}
|
||||||
|
- COMPILE_DEFINITIONS "-I${PORTAUDIO_INCLUDE_PATH}"
|
||||||
|
- COMPILE_OUTPUT_VARIABLE OUTPUT)
|
||||||
|
- if(NOT PORTAUDIO_TEST_COMPILED AND NOT WIN32)
|
||||||
|
- set(PORTAUDIO_V19 false)
|
||||||
|
- endif()
|
||||||
|
- else()
|
||||||
|
- set(PORTAUDIO_V19 false)
|
||||||
|
- endif()
|
||||||
|
endif()
|
||||||
|
if(USE_PORTMIDI)
|
||||||
|
find_path(PORTMIDI_INCLUDE_PATH portmidi.h)
|
||||||
|
@@ -117,7 +117,7 @@ endif()
|
||||||
|
if(WIN32)
|
||||||
|
check_deps(USE_PORTAUDIO PORTAUDIO_INCLUDE_PATH PORTAUDIO_LIBRARY)
|
||||||
|
else()
|
||||||
|
- check_deps(USE_PORTAUDIO PORTAUDIO_INCLUDE_PATH PORTAUDIO_LIBRARY PORTAUDIO_TEST_COMPILED)
|
||||||
|
+ check_deps(USE_PORTAUDIO PORTAUDIO_INCLUDE_PATH PORTAUDIO_LIBRARY)
|
||||||
|
endif()
|
||||||
|
if(USE_PORTAUDIO AND PORTAUDIO_V19 MATCHES 1)
|
||||||
|
message(STATUS "Building rtpa module.")
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
||||||
117
recipes-musicians/csound/files/0003-strict-aliasing-errors.patch
Normal file
117
recipes-musicians/csound/files/0003-strict-aliasing-errors.patch
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
From 7e2f3f49670166804529c6b9ff1398f38999d921 Mon Sep 17 00:00:00 2001
|
||||||
|
From: veplaini <victor.lazzarini@nuim.ie>
|
||||||
|
Date: Fri, 11 May 2018 14:05:49 +0100
|
||||||
|
Subject: [PATCH] strict aliasing errors
|
||||||
|
|
||||||
|
---
|
||||||
|
Engine/musmon.c | 2 +-
|
||||||
|
Engine/rdscor.c | 8 +++++---
|
||||||
|
OOps/schedule.c | 19 ++++++++++++++-----
|
||||||
|
3 files changed, 20 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
Upstream-Status: Backport
|
||||||
|
|
||||||
|
diff --git a/Engine/musmon.c b/Engine/musmon.c
|
||||||
|
index 440642489..8f4cc22cf 100644
|
||||||
|
--- a/Engine/musmon.c
|
||||||
|
+++ b/Engine/musmon.c
|
||||||
|
@@ -1033,7 +1033,7 @@ int sensevents(CSOUND *csound)
|
||||||
|
if (!(rdscor(csound, e))){
|
||||||
|
/* or rd nxt evt from scstr */
|
||||||
|
e->opcod = 'e';
|
||||||
|
- }
|
||||||
|
+ }
|
||||||
|
csound->currevent = e;
|
||||||
|
|
||||||
|
switch (e->opcod) {
|
||||||
|
diff --git a/Engine/rdscor.c b/Engine/rdscor.c
|
||||||
|
index f39393725..fe6488cb2 100644
|
||||||
|
--- a/Engine/rdscor.c
|
||||||
|
+++ b/Engine/rdscor.c
|
||||||
|
@@ -142,7 +142,7 @@ int rdscor(CSOUND *csound, EVTBLK *e) /* read next score-line from scorefile */
|
||||||
|
{ /* presumes good format if warped */
|
||||||
|
MYFLT *pp, *plim;
|
||||||
|
int c;
|
||||||
|
-
|
||||||
|
+
|
||||||
|
e->pinstance = NULL;
|
||||||
|
if (csound->scstr == NULL ||
|
||||||
|
csound->scstr->body[0] == '\0') { /* if no concurrent scorefile */
|
||||||
|
@@ -151,12 +151,14 @@ int rdscor(CSOUND *csound, EVTBLK *e) /* read next score-line from scorefile */
|
||||||
|
e->p[2] = FL(INF);
|
||||||
|
e->p2orig = FL(INF);
|
||||||
|
e->pcnt = 2;
|
||||||
|
+
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
+
|
||||||
|
/* else read the real score */
|
||||||
|
while ((c = corfile_getc(csound->scstr)) != '\0') {
|
||||||
|
csound->scnt = 0;
|
||||||
|
- switch (c) {
|
||||||
|
+ switch (c) {
|
||||||
|
case ' ':
|
||||||
|
case '\t':
|
||||||
|
case '\n':
|
||||||
|
@@ -193,7 +195,7 @@ int rdscor(CSOUND *csound, EVTBLK *e) /* read next score-line from scorefile */
|
||||||
|
goto setp;
|
||||||
|
case 'e':
|
||||||
|
e->opcod = c;
|
||||||
|
- e->pcnt = 0;
|
||||||
|
+ e->pcnt = 0;
|
||||||
|
return(1);
|
||||||
|
case EOF: /* necessary for cscoreGetEvent */
|
||||||
|
return(0);
|
||||||
|
diff --git a/OOps/schedule.c b/OOps/schedule.c
|
||||||
|
index b87897ec9..6dd60e94f 100644
|
||||||
|
--- a/OOps/schedule.c
|
||||||
|
+++ b/OOps/schedule.c
|
||||||
|
@@ -79,7 +79,7 @@ int32_t schedule_N(CSOUND *csound, SCHED *p)
|
||||||
|
{
|
||||||
|
int32_t i;
|
||||||
|
int32_t argno = p->INOCOUNT+1;
|
||||||
|
- char s[16384];
|
||||||
|
+ char s[16384], sf[64];
|
||||||
|
sprintf(s, "i %f %f %f", *p->which, *p->when, *p->dur);
|
||||||
|
for (i=4; i < argno ; i++) {
|
||||||
|
MYFLT *arg = p->argums[i-4];
|
||||||
|
@@ -87,8 +87,12 @@ int32_t schedule_N(CSOUND *csound, SCHED *p)
|
||||||
|
add_string_arg(s, ((STRINGDAT *)arg)->data);
|
||||||
|
//sprintf(s, "%s \"%s\" ", s, ((STRINGDAT *)arg)->data);
|
||||||
|
}
|
||||||
|
- else sprintf(s, "%s %f", s, *arg);
|
||||||
|
-
|
||||||
|
+ else {
|
||||||
|
+ sprintf(sf, " %f", *arg);
|
||||||
|
+ if(strlen(s) < 16384)
|
||||||
|
+ strncat(s, sf, 16384-strlen(s));
|
||||||
|
+ //sprintf(s, "%s %f", s, *arg);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
csoundInputMessageInternal(csound, s);
|
||||||
|
@@ -99,14 +103,19 @@ int32_t schedule_SN(CSOUND *csound, SCHED *p)
|
||||||
|
{
|
||||||
|
int32_t i;
|
||||||
|
int32_t argno = p->INOCOUNT+1;
|
||||||
|
- char s[16384];
|
||||||
|
+ char s[16384], sf[64];
|
||||||
|
sprintf(s, "i \"%s\" %f %f", ((STRINGDAT *)p->which)->data, *p->when, *p->dur);
|
||||||
|
for (i=4; i < argno ; i++) {
|
||||||
|
MYFLT *arg = p->argums[i-4];
|
||||||
|
if (csoundGetTypeForArg(arg) == &CS_VAR_TYPE_S)
|
||||||
|
//sprintf(s, "%s \"%s\" ", s, ((STRINGDAT *)arg)->data);
|
||||||
|
add_string_arg(s, ((STRINGDAT *)arg)->data);
|
||||||
|
- else sprintf(s, "%s %f", s, *arg);
|
||||||
|
+ else {
|
||||||
|
+ sprintf(sf, " %f", *arg);
|
||||||
|
+ if(strlen(s) < 16384)
|
||||||
|
+ strncat(s, sf, 16384-strlen(s));
|
||||||
|
+ //sprintf(s, "%s %f", s, *arg);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
//printf("%s\n", s);
|
||||||
|
csoundInputMessageInternal(csound, s);
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
From 9d4fef967e622faec90bbed00fb00383e85e328c Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Mon, 2 Jul 2018 00:22:14 +0200
|
||||||
|
Subject: [PATCH] Engine/csound_orc_semantics.c: Fix build with gcc8
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:73:7: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||||
|
strncpy(retVal, str, len);
|
||||||
|
^~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:69:11: note: length computed here
|
||||||
|
len = strlen(str);
|
||||||
|
^~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c: In function 'get_arg_type2':
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:450:7: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||||
|
strncpy(inArgTypes, argTypeLeft, len1);
|
||||||
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:446:14: note: length computed here
|
||||||
|
len1 = strlen(argTypeLeft);
|
||||||
|
^~~~~~~~~~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:451:7: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||||
|
strncpy(inArgTypes + len1, argTypeRight, len2);
|
||||||
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:447:14: note: length computed here
|
||||||
|
len2 = strlen(argTypeRight);
|
||||||
|
^~~~~~~~~~~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:392:9: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||||
|
strncpy(inArgTypes, argTypeLeft, len1);
|
||||||
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:388:16: note: length computed here
|
||||||
|
len1 = strlen(argTypeLeft);
|
||||||
|
^~~~~~~~~~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:393:9: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||||
|
strncpy(inArgTypes + len1, argTypeRight, len2);
|
||||||
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:389:16: note: length computed here
|
||||||
|
len2 = strlen(argTypeRight);
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
Engine/csound_orc_semantics.c | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Engine/csound_orc_semantics.c b/Engine/csound_orc_semantics.c
|
||||||
|
index 6b6255d9c..5985b2435 100644
|
||||||
|
--- a/Engine/csound_orc_semantics.c
|
||||||
|
+++ b/Engine/csound_orc_semantics.c
|
||||||
|
@@ -70,7 +70,7 @@ char* cs_strdup(CSOUND* csound, char* str) {
|
||||||
|
retVal = csound->Malloc(csound, len + 1);
|
||||||
|
|
||||||
|
if (len > 0) {
|
||||||
|
- strncpy(retVal, str, len);
|
||||||
|
+ strncpy(retVal, str, len+1);
|
||||||
|
}
|
||||||
|
retVal[len] = '\0';
|
||||||
|
|
||||||
|
@@ -389,8 +389,8 @@ char* get_arg_type2(CSOUND* csound, TREE* tree, TYPE_TABLE* typeTable)
|
||||||
|
len2 = strlen(argTypeRight);
|
||||||
|
inArgTypes = csound->Malloc(csound, len1 + len2 + 1);
|
||||||
|
|
||||||
|
- strncpy(inArgTypes, argTypeLeft, len1);
|
||||||
|
- strncpy(inArgTypes + len1, argTypeRight, len2);
|
||||||
|
+ strncpy(inArgTypes, argTypeLeft, len1+1);
|
||||||
|
+ strncpy(inArgTypes + len1, argTypeRight, len2+1);
|
||||||
|
|
||||||
|
inArgTypes[len1 + len2] = '\0';
|
||||||
|
|
||||||
|
@@ -447,8 +447,8 @@ char* get_arg_type2(CSOUND* csound, TREE* tree, TYPE_TABLE* typeTable)
|
||||||
|
len2 = strlen(argTypeRight);
|
||||||
|
inArgTypes = csound->Malloc(csound, len1 + len2 + 1);
|
||||||
|
|
||||||
|
- strncpy(inArgTypes, argTypeLeft, len1);
|
||||||
|
- strncpy(inArgTypes + len1, argTypeRight, len2);
|
||||||
|
+ strncpy(inArgTypes, argTypeLeft, len1+1);
|
||||||
|
+ strncpy(inArgTypes + len1, argTypeRight, len2+1);
|
||||||
|
|
||||||
|
inArgTypes[len1 + len2] = '\0';
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
From 599e78547a32ec3cd01ce9e007531b765f4168ee Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Mon, 2 Jul 2018 00:39:01 +0200
|
||||||
|
Subject: [PATCH] InOut/pmidi.c: Fix build with gcc8
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
InOut/pmidi.c | 8 ++++----
|
||||||
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/InOut/pmidi.c b/InOut/pmidi.c
|
||||||
|
index 8dfe0e71d..f6de618cf 100644
|
||||||
|
--- a/InOut/pmidi.c
|
||||||
|
+++ b/InOut/pmidi.c
|
||||||
|
@@ -188,14 +188,14 @@ static int listDevices(CSOUND *csound, CS_MIDIDEVICE *list, int isOutput){
|
||||||
|
for (i = 0; i < cnt; i++) {
|
||||||
|
info = portMidi_getDeviceInfo(i, isOutput);
|
||||||
|
if (info->name != NULL)
|
||||||
|
- strncpy(list[i].device_name, info->name, 63);
|
||||||
|
+ strncpy(list[i].device_name, info->name, 64);
|
||||||
|
snprintf(tmp, 64, "%d", i);
|
||||||
|
- strncpy(list[i].device_id, tmp, 63);
|
||||||
|
+ strncpy(list[i].device_id, tmp, 64);
|
||||||
|
list[i].isOutput = isOutput;
|
||||||
|
if (info->interf != NULL)
|
||||||
|
- strncpy(list[i].interface_name, info->interf, 63);
|
||||||
|
+ strncpy(list[i].interface_name, info->interf, 64);
|
||||||
|
else strcpy(list[i].interface_name, "");
|
||||||
|
- strncpy(list[i].midi_module, drv, 63);
|
||||||
|
+ strncpy(list[i].midi_module, drv, 64);
|
||||||
|
}
|
||||||
|
return cnt;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
From 3d5e27ea49f67b38a39ad831d18e8abd17b3a9bc Mon Sep 17 00:00:00 2001
|
||||||
|
From: vlazzarini <vlazzarini@mu.ie>
|
||||||
|
Date: Sun, 27 May 2018 11:18:08 +0100
|
||||||
|
Subject: [PATCH] fixed unsafe use of strncpy
|
||||||
|
|
||||||
|
Upstream-Status: Backport
|
||||||
|
|
||||||
|
---
|
||||||
|
util1/scot/scot.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/util1/scot/scot.c b/util1/scot/scot.c
|
||||||
|
index 857bb08ce..5b9a0eb96 100644
|
||||||
|
--- a/util1/scot/scot.c
|
||||||
|
+++ b/util1/scot/scot.c
|
||||||
|
@@ -684,7 +684,7 @@ void addparam(int n, /* number of param to change */
|
||||||
|
|
||||||
|
ps = findparam(n, ptop);
|
||||||
|
if (strcmp(s, "."))
|
||||||
|
- strncpy(ps, s, 1+strlen(s));
|
||||||
|
+ strncpy(ps, s, 31);
|
||||||
|
}
|
||||||
|
|
||||||
|
static /* returns pointer to */
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
From a070eaef29510f9138055896975917211d4fe61f Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Mon, 2 Jul 2018 00:55:16 +0200
|
||||||
|
Subject: [PATCH] util1/csd_util/cs.c: Fix build with gcc8
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
util1/csd_util/cs.c | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/util1/csd_util/cs.c b/util1/csd_util/cs.c
|
||||||
|
index a05ee3b43..768843fff 100644
|
||||||
|
--- a/util1/csd_util/cs.c
|
||||||
|
+++ b/util1/csd_util/cs.c
|
||||||
|
@@ -385,7 +385,7 @@ int main(int argc, char **argv)
|
||||||
|
while (--j) {
|
||||||
|
i++;
|
||||||
|
if (argv[i][0] != '-' && i < 3 && tmp[0] == '\0') {
|
||||||
|
- strncpy(tmp, argv[i],256);
|
||||||
|
+ strncpy(tmp, argv[i],255);
|
||||||
|
/* strip extension */
|
||||||
|
if (is_orc(tmp) || is_sco(tmp) || is_mid(tmp) || is_csd(tmp))
|
||||||
|
tmp[strlen(tmp) - 4] = '\0';
|
||||||
|
@@ -428,12 +428,12 @@ int main(int argc, char **argv)
|
||||||
|
/* (the last option has the highest precedence) */
|
||||||
|
s = getenv("CSOUND");
|
||||||
|
if (s != NULL) /* get default setting from CSOUND, if available */
|
||||||
|
- strncpy(tmp, s, 256);
|
||||||
|
+ strncpy(tmp, s, 255);
|
||||||
|
for (i = (int) strlen(optlst); --i >= 0; ) {
|
||||||
|
sprintf(tmp2, "CSOUND_%c", optlst[i]);
|
||||||
|
s = getenv(tmp2);
|
||||||
|
if (s != NULL) {
|
||||||
|
- strncpy(tmp, s, 256);
|
||||||
|
+ strncpy(tmp, s, 255);
|
||||||
|
if (tmp[0] != '\0') break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
From 281beca9614fa8b5c09527809a6810525faf2177 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Wed, 10 Oct 2018 20:47:04 +0200
|
||||||
|
Subject: [PATCH] Fix build with fluidsynth version >= 2.0.0
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Please not that the second change set at
|
||||||
|
|
||||||
|
Upstream-Status: Backport [1]
|
||||||
|
|
||||||
|
[1] https://github.com/csound/csound/pull/1046
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
Opcodes/fluidOpcodes/fluidOpcodes.cpp | 27 +++++++++++++++++++++++++++
|
||||||
|
1 file changed, 27 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/Opcodes/fluidOpcodes/fluidOpcodes.cpp b/Opcodes/fluidOpcodes/fluidOpcodes.cpp
|
||||||
|
index d6f4da0fd..aa2b9d4b2 100644
|
||||||
|
--- a/Opcodes/fluidOpcodes/fluidOpcodes.cpp
|
||||||
|
+++ b/Opcodes/fluidOpcodes/fluidOpcodes.cpp
|
||||||
|
@@ -208,6 +208,7 @@ public:
|
||||||
|
} else if (listPresets) {
|
||||||
|
fluid_sfont_t *fluidSoundfont =
|
||||||
|
fluid_synth_get_sfont_by_id(fluidSynth, soundFontId);
|
||||||
|
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||||
|
fluid_preset_t fluidPreset;
|
||||||
|
fluidSoundfont->iteration_start(fluidSoundfont);
|
||||||
|
OPARMS oparms;
|
||||||
|
@@ -218,6 +219,18 @@ public:
|
||||||
|
soundFontId, fluidPreset.get_banknum(&fluidPreset),
|
||||||
|
fluidPreset.get_num(&fluidPreset),
|
||||||
|
fluidPreset.get_name(&fluidPreset));
|
||||||
|
+#else
|
||||||
|
+ fluid_preset_t *fluidPreset;
|
||||||
|
+ fluid_sfont_iteration_start(fluidSoundfont);
|
||||||
|
+ OPARMS oparms;
|
||||||
|
+ csound->GetOParms(csound, &oparms);
|
||||||
|
+ if (oparms.msglevel & 0x7)
|
||||||
|
+ while ((fluidPreset = fluid_sfont_iteration_next(fluidSoundfont))) {
|
||||||
|
+ log(csound, "SoundFont: %3d Bank: %3d Preset: %3d %s\n",
|
||||||
|
+ soundFontId, fluid_preset_get_banknum(fluidPreset),
|
||||||
|
+ fluid_preset_get_num(fluidPreset),
|
||||||
|
+ fluid_preset_get_name(fluidPreset));
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=lpd8-editor
|
||||||
|
GenericName=AKAI LPD8 editor
|
||||||
|
GenericName[fr]=Utilitaire de contrôle pour les AKAI LPD8
|
||||||
|
Comment=Control AKAI LPD8
|
||||||
|
Comment[fr]=Utilitaire de contrôle pour les AKAI LPD8
|
||||||
|
Icon=lpd8-editor
|
||||||
|
Type=Application
|
||||||
|
Categories=AudioVideo;Audio;
|
||||||
|
Exec=lpd8-editor
|
||||||
|
Terminal=false
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
SUMMARY = "A linux editor for the Akai LPD8"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6dc9df5fa3108f437a4580b0aebca196"
|
||||||
|
|
||||||
|
inherit pkgconfig qmake5 gtk-icon-cache
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
qtbase \
|
||||||
|
qtsvg \
|
||||||
|
alsa-lib \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/charlesfleche/lpd8editor.git \
|
||||||
|
file://lpd8-editor.desktop \
|
||||||
|
"
|
||||||
|
SRCREV = "5ca6f2b90889893e0633b23ffe0e4a014096656a"
|
||||||
|
PV = "0.0.12"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
install -Dm 644 ${WORKDIR}/lpd8-editor.desktop ${D}/${datadir}/applications/lpd8-editor.desktop
|
||||||
|
install -Dm 644 ${S}/lpd8editor.svg ${D}/${datadir}/icons/hicolor/scalable/apps/lpd8-editor.svg
|
||||||
|
}
|
||||||
69
recipes-musicians/distrho/distrho-ports-extra.bb
Normal file
69
recipes-musicians/distrho/distrho-ports-extra.bb
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
SUMMARY = "Collection of synthesizers and plugins"
|
||||||
|
HOMEPAGE = "http://distrho.sourceforge.net/ports"
|
||||||
|
LICENSE = "GPLv2 & MIT"
|
||||||
|
LIC_FILES_CHKSUM = " \
|
||||||
|
file://ports/argotlunar/README.md;md5=81abc323be6ba481ab72864b53b3daca \
|
||||||
|
file://ports/protoplug/license.txt;md5=56b9d913eb7c3ef00ca375ab614bf02f \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/DISTRHO/DISTRHO-Ports-Extra.git \
|
||||||
|
"
|
||||||
|
# TODO:
|
||||||
|
# argolunar: no sound (presets?)
|
||||||
|
# pdpulp: segfault
|
||||||
|
# protoplug asks for files
|
||||||
|
|
||||||
|
SRCREV = "b6f25f1feb4de49136844f20d88bec6439cdfbc5"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "0.0.0+git${SRCPV}"
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = "x11 opengl"
|
||||||
|
|
||||||
|
inherit lv2-postinst-helper distro_features_check pack_audio_plugins
|
||||||
|
|
||||||
|
# distro-ports dependency for special hack script / libs
|
||||||
|
DEPENDS += " \
|
||||||
|
premake3-native \
|
||||||
|
virtual/libgl \
|
||||||
|
libx11 \
|
||||||
|
libxext \
|
||||||
|
libxcursor \
|
||||||
|
freetype \
|
||||||
|
csound \
|
||||||
|
distrho-ports \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_configure() {
|
||||||
|
# reconfigure?
|
||||||
|
if [ ! -f ${LV2-TURTLE-BUILD-DATA} ] ; then
|
||||||
|
# Seems this collection is not ready for public - copy 'shared' from distrho-ports
|
||||||
|
rm -rf ${S}/scripts
|
||||||
|
rm -rf ${S}/libs
|
||||||
|
cp -rf ${STAGING_LIBDIR}/distrho-ports-build/* ${S}/
|
||||||
|
# manipulate scripts to keep lv2_ttl_generator-calls in script for lv2-postinst-helper
|
||||||
|
sed -i 's|$GEN ./$FILE|echo "lv2-ttl-generator `pwd`/$FILE" >> ${LV2-TURTLE-BUILD-DATA}|g' `find ${S}/scripts -name *.sh`
|
||||||
|
else
|
||||||
|
rm -f ${LV2-TURTLE-BUILD-DATA}
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${S}
|
||||||
|
# platforms supporting sse2 can override NOOPTIMIZATIONS
|
||||||
|
NOOPTIMIZATIONS=1 ${S}/scripts/premake-update.sh linux
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${libdir}
|
||||||
|
cp -r ${S}/bin/* ${D}${libdir}
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${libdir}/cabbage* \
|
||||||
|
"
|
||||||
|
|
||||||
|
# for common (?) cabbage files
|
||||||
|
RDEPENDS_${PN}-lv2 += "${PN}"
|
||||||
|
RDEPENDS_${PN}-vst += "${PN}"
|
||||||
|
|
||||||
|
# Have not found what causes stripping - debugging of plugins is unlikely
|
||||||
|
INSANE_SKIP_${PN} = "already-stripped"
|
||||||
96
recipes-musicians/distrho/distrho-ports.bb
Normal file
96
recipes-musicians/distrho/distrho-ports.bb
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
SUMMARY = "Collection of synthesizers and plugins"
|
||||||
|
HOMEPAGE = "http://distrho.sourceforge.net/ports"
|
||||||
|
LICENSE = "GPLv2 & LGPLv3"
|
||||||
|
LIC_FILES_CHKSUM = " \
|
||||||
|
file://doc/GPL.txt;md5=4641e94ec96f98fabc56ff9cc48be14b \
|
||||||
|
file://doc/LGPL.txt;md5=e6a600fd5e1d9cbde2d983680233ad02 \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/DISTRHO/DISTRHO-Ports.git \
|
||||||
|
file://0001-disable-pitchedDelay-it-uses-double-precision-SSE2-b.patch \
|
||||||
|
file://0002-Refine-Plugin-do-not-include-xmmintrin.h.patch \
|
||||||
|
\
|
||||||
|
http://linuxsynths.com/ObxdPatchesDemos/ObxdPatchesBrian-01.tar.gz;name=linuxsynths-obxd-patches1;subdir=linuxsynths-obxd-patches \
|
||||||
|
\
|
||||||
|
http://linuxsynths.com/VexPatchesDemos/VexPatches01.tar.gz;name=linuxsynths-vex-patches1;subdir=linuxsynths-vex-patches \
|
||||||
|
http://linuxsynths.com/VexPatchesDemos/VexPatches02.tar.gz;name=linuxsynths-vex-patches2;subdir=linuxsynths-vex-patches \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRCREV = "a82fff059baafc03f7c0e8b9a99f383af7bfbd79"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "2018-04-16"
|
||||||
|
|
||||||
|
SRC_URI[linuxsynths-obxd-patches1.md5sum] = "32244f847a54a71ee3c25079df5c8b84"
|
||||||
|
SRC_URI[linuxsynths-obxd-patches1.sha256sum] = "246fccadd71bb9f0606a95bf7b0aee7807fd3a14f754367425423a51c31e160e"
|
||||||
|
|
||||||
|
SRC_URI[linuxsynths-vex-patches1.md5sum] = "c03f8ac9eaf3fabb3c98af5cb27a5edb"
|
||||||
|
SRC_URI[linuxsynths-vex-patches1.sha256sum] = "1a32ba4ba52d0efcd2214e52ecf9ea71885d110261c2b26e23ccdbd0960b6f60"
|
||||||
|
SRC_URI[linuxsynths-vex-patches2.md5sum] = "a3d00bf9eb7e2381ffc56f3e79e067ec"
|
||||||
|
SRC_URI[linuxsynths-vex-patches2.sha256sum] = "378cff261dab333c5f29246b6f3f557e0461e8bc230519da3a1a9049cbd437d5"
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = "x11 opengl"
|
||||||
|
|
||||||
|
inherit lv2-postinst-helper distro_features_check pack_audio_plugins
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
premake3-native \
|
||||||
|
virtual/libgl \
|
||||||
|
alsa-lib \
|
||||||
|
libx11 \
|
||||||
|
libxext \
|
||||||
|
libxcursor \
|
||||||
|
freetype \
|
||||||
|
ladspa-sdk \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_configure() {
|
||||||
|
# reconfigure?
|
||||||
|
if [ ! -f ${LV2-TURTLE-BUILD-DATA} ] ; then
|
||||||
|
# keep unmodified scripts
|
||||||
|
cp -r ${S}/scripts ${WORKDIR}
|
||||||
|
# manipulate scripts to keep lv2_ttl_generator-calls in script for lv2-postinst-helper
|
||||||
|
sed -i 's|$GEN ./$FILE|echo "lv2-ttl-generator `pwd`/$FILE" >> ${LV2-TURTLE-BUILD-DATA}|g' `find ${S}/scripts -name *.sh`
|
||||||
|
else
|
||||||
|
rm -f ${LV2-TURTLE-BUILD-DATA}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# platforms supporting sse2 can override this (NOOPTIMIZATIONS)
|
||||||
|
NOOPTIMIZATIONS=1 ${S}/scripts/premake-update.sh linux
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${libdir}
|
||||||
|
cp -r ${S}/bin/* ${D}${libdir}
|
||||||
|
|
||||||
|
# presets
|
||||||
|
install -d ${D}${libdir}/lv2
|
||||||
|
# obxd
|
||||||
|
for file in `find ${WORKDIR}/linuxsynths-obxd-patches -mindepth 1 -maxdepth 1` ; do
|
||||||
|
cp -rf $file ${D}${libdir}/lv2/
|
||||||
|
done
|
||||||
|
# vex
|
||||||
|
for file in `find ${WORKDIR}/linuxsynths-vex-patches -mindepth 1 -maxdepth 1` ; do
|
||||||
|
cp -rf $file ${D}${libdir}/lv2/
|
||||||
|
done
|
||||||
|
|
||||||
|
# install scripts for distro-ports-extra (and abuse libdir to ensure is is found in sysroot)
|
||||||
|
install -d ${D}/${libdir}/distrho-ports-build
|
||||||
|
cp -rf ${WORKDIR}/scripts ${D}${libdir}/distrho-ports-build/
|
||||||
|
cp -rf ${S}/libs ${D}${libdir}/distrho-ports-build/
|
||||||
|
rm -f ${D}${libdir}/distrho-ports-build/libs/lv2_ttl_generator
|
||||||
|
}
|
||||||
|
|
||||||
|
PACKAGES =+ "${PN}-presets"
|
||||||
|
RDEPENDS_${PN}-presets = "${PN}-lv2"
|
||||||
|
|
||||||
|
FILES_${PN}-presets = "${libdir}/lv2/*.preset.lv2"
|
||||||
|
|
||||||
|
# dummy pack scripts for distrho-ports-extra
|
||||||
|
FILES_${PN}-staticdev += " \
|
||||||
|
${libdir}/distrho-ports-build \
|
||||||
|
"
|
||||||
|
RDEPENDS_${PN}-staticdev = "bash perl"
|
||||||
|
|
||||||
|
# Have not found what causes stripping - debugging of plugins is unlikely
|
||||||
|
INSANE_SKIP_${PN} = "already-stripped"
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
From b1b48a24ed4eda34e4dc4d649a1ef030c37694ec Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||||
|
Date: Mon, 26 Jun 2017 23:12:22 +0200
|
||||||
|
Subject: [PATCH] disable pitchedDelay - it uses double precision SSE2 by
|
||||||
|
default
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Our build system should setz proper flags.
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [embedded specific]
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||||
|
---
|
||||||
|
ports/Makefile | 4 ----
|
||||||
|
1 file changed, 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ports/Makefile b/ports/Makefile
|
||||||
|
index d87da4af..521d9e1e 100644
|
||||||
|
--- a/ports/Makefile
|
||||||
|
+++ b/ports/Makefile
|
||||||
|
@@ -59,7 +59,6 @@ else
|
||||||
|
$(MAKE) -C LUFSMeter/LV2-Multi
|
||||||
|
$(MAKE) -C luftikus/LV2
|
||||||
|
$(MAKE) -C obxd/LV2
|
||||||
|
- $(MAKE) -C pitchedDelay/LV2
|
||||||
|
$(MAKE) -C refine/LV2
|
||||||
|
$(MAKE) -C stereosourceseparation/LV2
|
||||||
|
$(MAKE) -C tal-dub-3/LV2
|
||||||
|
@@ -98,7 +97,6 @@ vst: libs
|
||||||
|
$(MAKE) -C LUFSMeter/VST-Multi
|
||||||
|
$(MAKE) -C luftikus/VST
|
||||||
|
$(MAKE) -C obxd/VST
|
||||||
|
- $(MAKE) -C pitchedDelay/VST
|
||||||
|
$(MAKE) -C refine/VST
|
||||||
|
$(MAKE) -C stereosourceseparation/VST
|
||||||
|
$(MAKE) -C tal-dub-3/VST
|
||||||
|
@@ -136,7 +134,6 @@ clean:
|
||||||
|
$(MAKE) clean -C LUFSMeter/LV2-Multi
|
||||||
|
$(MAKE) clean -C luftikus/LV2
|
||||||
|
$(MAKE) clean -C obxd/LV2
|
||||||
|
- $(MAKE) clean -C pitchedDelay/LV2
|
||||||
|
$(MAKE) clean -C refine/LV2
|
||||||
|
$(MAKE) clean -C stereosourceseparation/LV2
|
||||||
|
$(MAKE) clean -C tal-dub-3/LV2
|
||||||
|
@@ -170,7 +167,6 @@ clean:
|
||||||
|
$(MAKE) clean -C LUFSMeter/VST-Multi
|
||||||
|
$(MAKE) clean -C luftikus/VST
|
||||||
|
$(MAKE) clean -C obxd/VST
|
||||||
|
- $(MAKE) clean -C pitchedDelay/VST
|
||||||
|
$(MAKE) clean -C refine/VST
|
||||||
|
$(MAKE) clean -C stereosourceseparation/VST
|
||||||
|
$(MAKE) clean -C tal-dub-3/VST
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
From 8681831fa6fc5e58a7eebfc46bb0a467c8f19dcc Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Fri, 29 Dec 2017 23:36:46 +0100
|
||||||
|
Subject: [PATCH] Refine-Plugin: do not include "xmmintrin.h"
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
ports/refine/source/PluginProcessor.cpp | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/ports/refine/source/PluginProcessor.cpp b/ports/refine/source/PluginProcessor.cpp
|
||||||
|
index 6c9e6182..ab50a6ad 100644
|
||||||
|
--- a/ports/refine/source/PluginProcessor.cpp
|
||||||
|
+++ b/ports/refine/source/PluginProcessor.cpp
|
||||||
|
@@ -1,6 +1,5 @@
|
||||||
|
#include "PluginProcessor.h"
|
||||||
|
#include "PluginEditor.h"
|
||||||
|
-#include "xmmintrin.h"
|
||||||
|
|
||||||
|
ReFinedAudioProcessor::ReFinedAudioProcessor()
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
||||||
65
recipes-musicians/distrho/dpf-plugins.bb
Normal file
65
recipes-musicians/distrho/dpf-plugins.bb
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
SUMMARY = "Collection of DPF-based plugins"
|
||||||
|
LICENSE = "ISC & GPLv2 & GPLv3 & LGPLv3 & MIT"
|
||||||
|
LIC_FILES_CHKSUM = " \
|
||||||
|
file://LICENSE;md5=ec024abddfab2ee463c8c1ad98883d12 \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/DISTRHO/DPF-Plugins.git \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRCREV = "3adff289617ed32f9d0cb679b05e430531cbf0dd"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "v1.1+git${SRCPV}"
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = "x11 opengl"
|
||||||
|
|
||||||
|
inherit qemu-ext distro_features_check pkgconfig pack_audio_plugins
|
||||||
|
|
||||||
|
# TODO standalones: DEPEND jack / install / *.desktop
|
||||||
|
DEPENDS += " \
|
||||||
|
virtual/libgl \
|
||||||
|
ladspa-sdk \
|
||||||
|
lv2 \
|
||||||
|
projectm \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_compile_prepend() {
|
||||||
|
export NOOPT=true
|
||||||
|
rm -f ${WORKDIR}/lv2_ttl_generator-data
|
||||||
|
# manipulate scripts to keep lv2_ttl_generator-calls in script for qemu
|
||||||
|
sed -i 's|"$GEN" "./$FILE"|echo `pwd`/$FILE >> ${WORKDIR}/lv2_ttl_generator-data|g' ${S}/dpf/utils/generate-ttl.sh
|
||||||
|
}
|
||||||
|
|
||||||
|
do_compile_append() {
|
||||||
|
# build ttl-files must be done in quemu
|
||||||
|
for sofile in `cat ${WORKDIR}/lv2_ttl_generator-data`; do
|
||||||
|
cd `dirname ${sofile}`
|
||||||
|
echo "QEMU lv2_ttl_generator for ${sofile}..."
|
||||||
|
${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', '${S}/dpf/utils/lv2_ttl_generator')} ${sofile} || echo "ERROR: for QEMU lv2_ttl_generator for ${sofile}!"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${libdir}/ladspa
|
||||||
|
for plugin in `find ${S}/bin/ -name *ladspa.so`; do
|
||||||
|
install -m 644 $plugin ${D}${libdir}/ladspa/
|
||||||
|
done
|
||||||
|
|
||||||
|
install -d ${D}${libdir}/lv2
|
||||||
|
for plugindir in `find ${S}/bin/ -maxdepth 1 -name *.lv2`; do
|
||||||
|
lv2dir=${D}${libdir}/lv2/`basename $plugindir`
|
||||||
|
install -d $lv2dir
|
||||||
|
for plugin in `find $plugindir -type f`; do
|
||||||
|
install -m 644 $plugin $lv2dir/
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
install -d ${D}${libdir}/vst
|
||||||
|
for plugin in `find ${S}/bin/ -name *vst.so`; do
|
||||||
|
install -m 644 $plugin ${D}${libdir}/vst/
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Have not found what causes stripping - debugging of plugins is unlikely
|
||||||
|
INSANE_SKIP_${PN} = "already-stripped"
|
||||||
22
recipes-musicians/distrho/lv2-ttl-generator.bb
Normal file
22
recipes-musicians/distrho/lv2-ttl-generator.bb
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
SUMMARY = "lv2-ttl-generator-native"
|
||||||
|
LICENSE = "ISC"
|
||||||
|
LIC_FILES_CHKSUM = " \
|
||||||
|
file://LICENSE;md5=7b4d7947003bd60e5475fc61c6d014da \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/DISTRHO/DPF.git"
|
||||||
|
SRCREV = "70cec6a9d0222b32abdcaec02cd7b01378c4d78b"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "0.0.0+git${SRCPV}"
|
||||||
|
|
||||||
|
BBCLASSEXTEND = "native"
|
||||||
|
|
||||||
|
do_compile() {
|
||||||
|
cd ${S}/utils/lv2-ttl-generator
|
||||||
|
oe_runmake
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -m 0755 ${S}/utils/lv2_ttl_generator ${D}${bindir}/lv2-ttl-generator
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
From bc0b880e8f6c352d3ad6f6af02beb4e4c9d82bcb Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Fri, 18 Jan 2019 19:15:57 +0100
|
||||||
|
Subject: [PATCH] CMake: Keep build system flags
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This fixes builds for cross/sysrooted build systems which set lots of flags to
|
||||||
|
tailor build.
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [1]
|
||||||
|
|
||||||
|
[1] https://github.com/nicklan/drmr/pull/22
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 7380842..1d0e174 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 2.6)
|
||||||
|
project (DrMr)
|
||||||
|
|
||||||
|
set(LV2_INSTALL_DIR lib/lv2 CACHE PATH "Specifies where the LV2 libraries should be installed")
|
||||||
|
-set(CMAKE_C_FLAGS "-Wall")
|
||||||
|
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
|
||||||
|
|
||||||
|
# Availble options
|
||||||
|
option(USE_NKNOB "Use custom NKnob widgets for gain/pan instead of Gtk sliders" ON)
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
29
recipes-musicians/drmr/drmr_git.bb
Normal file
29
recipes-musicians/drmr/drmr_git.bb
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
SUMMARY = "An LV2 sampler plugin that plays hydrogen drum kits "
|
||||||
|
HOMEPAGE = "https://github.com/nicklan/drmr"
|
||||||
|
LICENSE = "GPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
libsndfile1 \
|
||||||
|
libsamplerate0 \
|
||||||
|
lv2 \
|
||||||
|
expat \
|
||||||
|
gtk+ \
|
||||||
|
"
|
||||||
|
|
||||||
|
inherit cmake pkgconfig
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/nicklan/drmr.git;branch=lv2unstable \
|
||||||
|
file://0001-CMake-Keep-build-system-flags.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "f244f3b09bb290dd6a4b9c14d4abaf69e9861f9d"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "0.0.0+git${SRCPV}"
|
||||||
|
|
||||||
|
|
||||||
|
EXTRA_OECMAKE = " \
|
||||||
|
-DLV2_INSTALL_DIR:PATH=${baselib}/lv2 \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN} += "${libdir}/lv2"
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
From 36b834661ac4169db20c682bddfdcdf96df5a2f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Sat, 19 Jan 2019 00:44:13 +0100
|
||||||
|
Subject: [PATCH] Do not inject /usr/local/include to include paths
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
waflib/extras/autowaf.py | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/waflib/extras/autowaf.py b/waflib/extras/autowaf.py
|
||||||
|
index feaae3c6..119c95b5 100644
|
||||||
|
--- a/waflib/extras/autowaf.py
|
||||||
|
+++ b/waflib/extras/autowaf.py
|
||||||
|
@@ -189,8 +189,6 @@ def check_pkg(conf, name, **args):
|
||||||
|
if 'COMPILER_CXX' in conf.env:
|
||||||
|
conf.env.append_value('CXXFLAGS', ['-isystem', path])
|
||||||
|
|
||||||
|
- conf.env.append_value('CXXFLAGS', ['-isystem', '/usr/local/include'])
|
||||||
|
-
|
||||||
|
def normpath(path):
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
return os.path.normpath(path).replace('\\', '/')
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
21
recipes-musicians/drobilla/ganv_git.bb
Normal file
21
recipes-musicians/drobilla/ganv_git.bb
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
SUMMARY = "Ganv is a Gtk widget for interactive graph-like environments"
|
||||||
|
DESCRIPTION = "Ganv is a Gtk widget for interactive graph-like environments, such as modular synthesizers or finite state machines"
|
||||||
|
HOMEPAGE = "http://drobilla.net/software/ganv"
|
||||||
|
LICENSE = "GPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||||
|
|
||||||
|
inherit waf
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
glib-2.0-native \
|
||||||
|
gtk+ \
|
||||||
|
gtkmm \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://git.drobilla.net/ganv.git;protocol=http \
|
||||||
|
file://0001-Do-not-inject-usr-local-include-to-include-paths.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "ccc9b971ab206fa3dc32a432a3e76db976192f58"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "1.4.2+git${SRCPV}"
|
||||||
57
recipes-musicians/drobilla/ingen_git.bb
Normal file
57
recipes-musicians/drobilla/ingen_git.bb
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
SUMMARY = "Ingen is a modular audio processing system for Jack and LV2 based systems"
|
||||||
|
HOMEPAGE = "http://drobilla.net/software/ingen"
|
||||||
|
LICENSE = "AGPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=73f1eb20517c55bf9493b7dd6e480788"
|
||||||
|
|
||||||
|
inherit waf pkgconfig gtk-icon-cache pack_audio_plugins pythonnative
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
boost \
|
||||||
|
gtkmm \
|
||||||
|
lilv \
|
||||||
|
suil \
|
||||||
|
raul \
|
||||||
|
ganv \
|
||||||
|
portaudio-v19 \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/drobilla/ingen.git \
|
||||||
|
file://0001-Do-not-inject-usr-local-include-to-include-paths.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "cc3d7ef610e5f93086eb46406cc600ee81a23e98"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "0.5.1+git${SRCPV}"
|
||||||
|
|
||||||
|
DOCDEPENDS = " \
|
||||||
|
lv2-native \
|
||||||
|
doxygen-native \
|
||||||
|
graphviz-native \
|
||||||
|
gdk-pixbuf-native \
|
||||||
|
libpng-native \
|
||||||
|
python-rdflib-native \
|
||||||
|
python-isodate-native \
|
||||||
|
python-six-native \
|
||||||
|
"
|
||||||
|
PACKAGECONFIG[doc] = "--docs,,${DOCDEPENDS}"
|
||||||
|
|
||||||
|
PACKAGES =+ "${PN}-standalone ${PN}-python"
|
||||||
|
|
||||||
|
FILES_SOLIBSDEV = "${libdir}/libingen${SOLIBSDEV}"
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${libdir}/libingen_*.so \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN}-standalone = " \
|
||||||
|
${datadir}/applications \
|
||||||
|
${datadir}/icons \
|
||||||
|
${bindir}/ingen \
|
||||||
|
"
|
||||||
|
|
||||||
|
# pyton tools are not expected to work: we do not have rdflib yet
|
||||||
|
FILES_${PN}-python = " \
|
||||||
|
${bindir}/ingenams \
|
||||||
|
${bindir}/ingenish \
|
||||||
|
${PYTHON_SITEPACKAGES_DIR} \
|
||||||
|
"
|
||||||
32
recipes-musicians/drobilla/jalv_git.bb
Normal file
32
recipes-musicians/drobilla/jalv_git.bb
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
SUMMARY = "Jalv is a simple but fully featured LV2 host for Jack"
|
||||||
|
HOMEPAGE = "http://drobilla.net/software/jalv"
|
||||||
|
LICENSE = "ISC"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=eb60cfffc455677d4f11cf7f36c12093"
|
||||||
|
|
||||||
|
inherit waf pkgconfig gtk-icon-cache
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
qtbase-native \
|
||||||
|
lv2 \
|
||||||
|
lilv \
|
||||||
|
serd \
|
||||||
|
sord \
|
||||||
|
sratom \
|
||||||
|
suil \
|
||||||
|
jack \
|
||||||
|
gtkmm \
|
||||||
|
gtk+3 \
|
||||||
|
qtbase \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/drobilla/jalv.git \
|
||||||
|
file://0001-Do-not-inject-usr-local-include-to-include-paths.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "8311df91cc212adf3220acfcb50ab63414fe9dd6"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "1.6.0+git${SRCPV}"
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${libdir}/jack \
|
||||||
|
"
|
||||||
14
recipes-musicians/drobilla/lilv_0.24.4.bb
Normal file
14
recipes-musicians/drobilla/lilv_0.24.4.bb
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
SUMMARY = "C library providing simple use of LV2 plugins"
|
||||||
|
HOMEPAGE = "http://drobilla.net/software/lilv"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=7aceb3a3edc99517b08f5cdd557e11fb"
|
||||||
|
|
||||||
|
inherit waf bash-completion pkgconfig
|
||||||
|
|
||||||
|
DEPENDS += "lv2 serd sord sratom"
|
||||||
|
|
||||||
|
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
|
||||||
|
SRC_URI[md5sum] = "fb340958a6df5a683bf25e291493dc4d"
|
||||||
|
SRC_URI[sha256sum] = "c33b84b7a6e8e8fffb412fbcd6f69e59ca297ef3e29d829249b4ccc94f634438"
|
||||||
|
|
||||||
|
EXTRA_OECONF = "--configdir=${sysconfdir} --dyn-manifest"
|
||||||
5
recipes-musicians/drobilla/lv2-native.bb
Normal file
5
recipes-musicians/drobilla/lv2-native.bb
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
require ${BPN}.inc
|
||||||
|
|
||||||
|
inherit native
|
||||||
|
|
||||||
|
|
||||||
9
recipes-musicians/drobilla/lv2.bb
Normal file
9
recipes-musicians/drobilla/lv2.bb
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
require ${BPN}.inc
|
||||||
|
|
||||||
|
DEPENDS = "gtk+ libsndfile1"
|
||||||
|
|
||||||
|
EXTRA_OECONF = "--libdir=${libdir}"
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${datadir} \
|
||||||
|
"
|
||||||
13
recipes-musicians/drobilla/lv2.inc
Normal file
13
recipes-musicians/drobilla/lv2.inc
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
SUMMARY = "LV2 is an open standard for audio plugins"
|
||||||
|
LICENSE = "ISC"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=0383f162366b0c5a316292759a55d292"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/drobilla/lv2.git \
|
||||||
|
file://0001-Output-more-details-on-import-error-to-catch-missing.patch \
|
||||||
|
"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
SRCREV = "96a6283a5fe023c59113242631f337da5f0eb278"
|
||||||
|
PV = "1.14.0+git${SRCPV}"
|
||||||
|
|
||||||
|
inherit waf pkgconfig
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
From bc96caf97d32168abefde038e9353685a14fa64d Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Mon, 21 Jan 2019 22:38:05 +0100
|
||||||
|
Subject: [PATCH] Output more details on import error to catch missing
|
||||||
|
dependencies
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Updream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
lv2specgen/lv2docgen.py | 3 ++-
|
||||||
|
lv2specgen/lv2specgen.py | 6 ++++--
|
||||||
|
2 files changed, 6 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lv2specgen/lv2docgen.py b/lv2specgen/lv2docgen.py
|
||||||
|
index 23a239d..685f32e 100755
|
||||||
|
--- a/lv2specgen/lv2docgen.py
|
||||||
|
+++ b/lv2specgen/lv2docgen.py
|
||||||
|
@@ -28,7 +28,8 @@ __contact__ = 'devel@lists.lv2plug.in'
|
||||||
|
|
||||||
|
try:
|
||||||
|
import rdflib
|
||||||
|
-except ImportError:
|
||||||
|
+except ImportError as imperror:
|
||||||
|
+ print(imperror)
|
||||||
|
sys.exit('Error importing rdflib')
|
||||||
|
|
||||||
|
doap = rdflib.Namespace('http://usefulinc.com/ns/doap#')
|
||||||
|
diff --git a/lv2specgen/lv2specgen.py b/lv2specgen/lv2specgen.py
|
||||||
|
index ddd0ba5..c86157e 100755
|
||||||
|
--- a/lv2specgen/lv2specgen.py
|
||||||
|
+++ b/lv2specgen/lv2specgen.py
|
||||||
|
@@ -63,13 +63,15 @@ try:
|
||||||
|
from pygments.lexer import RegexLexer, include, bygroups
|
||||||
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, Literal, Punctuation
|
||||||
|
have_pygments = True
|
||||||
|
-except ImportError:
|
||||||
|
+except ImportError as imperror:
|
||||||
|
+ print(imperror)
|
||||||
|
print("Error importing pygments, syntax highlighting disabled")
|
||||||
|
have_pygments = False
|
||||||
|
|
||||||
|
try:
|
||||||
|
import rdflib
|
||||||
|
-except ImportError:
|
||||||
|
+except ImportError as imperror:
|
||||||
|
+ print(imperror)
|
||||||
|
sys.exit("Error importing rdflib")
|
||||||
|
|
||||||
|
# Global Variables
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
21
recipes-musicians/drobilla/mda-lv2_1.2.2.bb
Normal file
21
recipes-musicians/drobilla/mda-lv2_1.2.2.bb
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
SUMMARY = "MDA-LV2 is an LV2 port of the MDA plugins by Paul Kellett"
|
||||||
|
HOMEPAGE = "https://drobilla.net/software/mda-lv2"
|
||||||
|
LICENSE = "GPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||||
|
|
||||||
|
inherit waf distro_features_check pkgconfig
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = "x11"
|
||||||
|
|
||||||
|
DEPENDS = "lv2"
|
||||||
|
|
||||||
|
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
|
||||||
|
SRC_URI[md5sum] = "1962f48c54eafe52a3d2471cd3072aa8"
|
||||||
|
SRC_URI[sha256sum] = "a476c31ed9f8b009ebacc32a02d06ba9584c0d0d03f03dd62b1354d10a030442"
|
||||||
|
|
||||||
|
EXTRA_OECONF = " \
|
||||||
|
--lv2dir=${libdir}/lv2 \
|
||||||
|
"
|
||||||
|
|
||||||
|
FILES_${PN} += "${libdir}/lv2"
|
||||||
|
|
||||||
21
recipes-musicians/drobilla/patchage_git.bb
Normal file
21
recipes-musicians/drobilla/patchage_git.bb
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
SUMMARY = "Patchage is a modular patch bay for audio and MIDI systems"
|
||||||
|
DESCRIPTION = "Patchage is a modular patch bay for audio and MIDI systems based on Jack and Alsa"
|
||||||
|
HOMEPAGE = "http://drobilla.net/software/patchage"
|
||||||
|
LICENSE = "GPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||||
|
|
||||||
|
inherit waf gtk-icon-cache pkgconfig
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
boost \
|
||||||
|
jack \
|
||||||
|
ganv \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://git.drobilla.net/patchage.git;protocol=http \
|
||||||
|
file://0001-Do-not-inject-usr-local-include-to-include-paths.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "b69a38d171758c6e979d74541fc21d12b7e6abda"
|
||||||
|
PV = "1.0.0+git${SRCPV}"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
12
recipes-musicians/drobilla/raul_git.bb
Normal file
12
recipes-musicians/drobilla/raul_git.bb
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
SUMMARY = "Raul is a utility library primarily aimed at audio/musical applications"
|
||||||
|
DESCRIPTION = "Raul (Realtime Audio Utility Library) is a C++ utility library primarily aimed at audio/musical applications"
|
||||||
|
HOMEPAGE = "https://drobilla.net/software/raul"
|
||||||
|
LICENSE = "GPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
|
||||||
|
|
||||||
|
inherit waf
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/drobilla/raul.git"
|
||||||
|
SRCREV = "5eb7a555de2291f4df8c75ce261c555552725beb"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "0.8.10+git${SRCPV}"
|
||||||
10
recipes-musicians/drobilla/serd_0.30.0.bb
Normal file
10
recipes-musicians/drobilla/serd_0.30.0.bb
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
SUMMARY = "C library for RDF syntax which supports accessing Turtle and NTriples"
|
||||||
|
HOMEPAGE = "http://drobilla.net/software/serd"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=7aceb3a3edc99517b08f5cdd557e11fb"
|
||||||
|
|
||||||
|
inherit waf
|
||||||
|
|
||||||
|
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
|
||||||
|
SRC_URI[md5sum] = "82243362b8b5a47dd46dac7ae893f562"
|
||||||
|
SRC_URI[sha256sum] = "6efb0efa5c2155e6bbac941cddeeabb7ed26d70a57d24178894ff169d8f6cefb"
|
||||||
12
recipes-musicians/drobilla/sord_0.16.2.bb
Normal file
12
recipes-musicians/drobilla/sord_0.16.2.bb
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
SUMMARY = "C library for storing RDF data in memory"
|
||||||
|
HOMEPAGE = "http://drobilla.net/software/sord"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=6b8d060e6d32fbd53684f9dc0443b6a3"
|
||||||
|
|
||||||
|
inherit waf pkgconfig
|
||||||
|
|
||||||
|
DEPENDS += "libpcre serd"
|
||||||
|
|
||||||
|
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
|
||||||
|
SRC_URI[md5sum] = "eb1d1c62ffb5153d5e1f5d12a3b7279b"
|
||||||
|
SRC_URI[sha256sum] = "09f51174dd8f3efbd95f44f0bb0b165f08e066e052d40095de59de787987da8d"
|
||||||
12
recipes-musicians/drobilla/sratom_0.6.2.bb
Normal file
12
recipes-musicians/drobilla/sratom_0.6.2.bb
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
SUMMARY = "Sratom is a library for serialising LV2 atoms to and from RDF"
|
||||||
|
HOMEPAGE = "http://drobilla.net/software/sratom"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=ebc7934238811c788037421c6c548ddf"
|
||||||
|
|
||||||
|
inherit waf pkgconfig
|
||||||
|
|
||||||
|
DEPENDS += "lv2 serd sord"
|
||||||
|
|
||||||
|
SRC_URI = "http://download.drobilla.net/${BPN}-${PV}.tar.bz2"
|
||||||
|
SRC_URI[md5sum] = "aa3c540032da43cf6cf68f684983d7f5"
|
||||||
|
SRC_URI[sha256sum] = "0a514a55d6b6cb7b5d6f32d1dcb78a1e6e54537fa22fce533e4ef6adf240e853"
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
From e557abec62aa4c9c90ae50db3fe938a97e910288 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Wed, 26 Dec 2018 22:39:08 +0100
|
||||||
|
Subject: [PATCH] Do not try to build macOS cocoa
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Seems the headers are installed for unknown reason - so make sure support is
|
||||||
|
remains disabled.
|
||||||
|
|
||||||
|
Fixes:
|
||||||
|
| arm-mortsgna-linux-gnueabi-g++: error: ../suil-0.10.2/src/cocoa_in_qt5.mm: Objective-C++ compiler not installed on this system
|
||||||
|
|
||||||
|
Upstream-Status: Pending [1]
|
||||||
|
|
||||||
|
[1] https://github.com/drobilla/suil/issues/6
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
wscript | 4 ----
|
||||||
|
1 file changed, 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/wscript b/wscript
|
||||||
|
index 89ab039..352e569 100644
|
||||||
|
--- a/wscript
|
||||||
|
+++ b/wscript
|
||||||
|
@@ -91,10 +91,6 @@ def configure(conf):
|
||||||
|
if not conf.options.no_qt5:
|
||||||
|
autowaf.check_pkg(conf, 'Qt5Widgets', uselib_store='QT5',
|
||||||
|
atleast_version='5.1.0', mandatory=False)
|
||||||
|
- if conf.check_cxx(header_name = 'QMacCocoaViewContainer',
|
||||||
|
- uselib = 'QT5',
|
||||||
|
- mandatory = False):
|
||||||
|
- autowaf.define(conf, 'SUIL_WITH_COCOA_IN_QT5', 1)
|
||||||
|
|
||||||
|
conf.check_cc(define_name = 'HAVE_LIBDL',
|
||||||
|
lib = 'dl',
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
||||||
19
recipes-musicians/drobilla/suil_0.10.2.bb
Normal file
19
recipes-musicians/drobilla/suil_0.10.2.bb
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
SUMMARY = "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs"
|
||||||
|
HOMEPAGE = "https://drobilla.net/software/suil"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=83836dc85960985c534b2a881cca21c0"
|
||||||
|
|
||||||
|
inherit waf distro_features_check pkgconfig
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = "x11"
|
||||||
|
|
||||||
|
DEPENDS = "gtk+ gtk+3 qtbase lv2"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
http://download.drobilla.net/${BPN}-${PV}.tar.bz2 \
|
||||||
|
file://0001-Do-not-try-to-build-macOS-cocoa.patch \
|
||||||
|
"
|
||||||
|
SRC_URI[md5sum] = "e92d656b5faf999226642cdbe595976d"
|
||||||
|
SRC_URI[sha256sum] = "9f445910627fb30f4c182b9ee00d1030324910d8a9ce7c9654c34465411da401"
|
||||||
|
|
||||||
|
FILES_${PN} += "${libdir}/suil-0"
|
||||||
12
recipes-musicians/drumgizmo/drumgizmo-native.bb
Normal file
12
recipes-musicians/drumgizmo/drumgizmo-native.bb
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
require ${BPN}.inc
|
||||||
|
|
||||||
|
inherit native
|
||||||
|
|
||||||
|
do_compile() {
|
||||||
|
${CXX} ${CXXFLAGS} -o ${S}/drumgizmo-rcgen ${S}/plugingui/rcgen.cc $(LDFLAGS)
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -m 755 ${S}/drumgizmo-rcgen ${D}${bindir}
|
||||||
|
}
|
||||||
40
recipes-musicians/drumgizmo/drumgizmo.bb
Normal file
40
recipes-musicians/drumgizmo/drumgizmo.bb
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
require ${BPN}.inc
|
||||||
|
|
||||||
|
inherit autotools-brokensep pkgconfig distro_features_check gtk-icon-cache
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURE = "x11"
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
${BPN}-native \
|
||||||
|
libx11 \
|
||||||
|
libxext \
|
||||||
|
lv2 \
|
||||||
|
libsmf \
|
||||||
|
alsa-lib \
|
||||||
|
libsndfile1 \
|
||||||
|
zita-resampler \
|
||||||
|
jack \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI += " \
|
||||||
|
file://0001-automake-enable-subdir-objects.patch \
|
||||||
|
file://0002-Use-native-rcgen.patch \
|
||||||
|
file://drumgizmo.desktop \
|
||||||
|
"
|
||||||
|
|
||||||
|
# --disable-editor: sigh - editor requires Qt4
|
||||||
|
EXTRA_OECONF = " \
|
||||||
|
--enable-lv2 \
|
||||||
|
--without-debug \
|
||||||
|
--disable-sse \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_install_append() {
|
||||||
|
install -d ${D}${datadir}/pixmaps
|
||||||
|
install -m 0644 ${S}/plugingui/resources/logo.png ${D}${datadir}/pixmaps/drumgizmo-logo.png
|
||||||
|
|
||||||
|
install -d ${D}${datadir}/applications
|
||||||
|
install -m 0644 ${WORKDIR}/${BPN}.desktop ${D}${datadir}/applications/
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} += "${libdir}/lv2"
|
||||||
11
recipes-musicians/drumgizmo/drumgizmo.inc
Normal file
11
recipes-musicians/drumgizmo/drumgizmo.inc
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
SUMMARY = "DrumGizmo is drum plugin and stand-alone application"
|
||||||
|
HOMEPAGE = "https://www.drumgizmo.org"
|
||||||
|
LICENSE = "LGPLv3"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
http://www.drumgizmo.org/releases/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
|
||||||
|
"
|
||||||
|
SRC_URI[md5sum] = "86e4239f1eb59e8b77c7d13edc24f93b"
|
||||||
|
SRC_URI[sha256sum] = "8f76b58785186ac02337b9248003ec1a459a801d3003619fd32fde976c307947"
|
||||||
|
PV = "0.9.16"
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
From c9eec598b2f8b1435a2229dd5c49a9e15c6bc2ac Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Thu, 22 Feb 2018 00:13:04 +0100
|
||||||
|
Subject: [PATCH] automake: enable subdir-objects
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
configure.ac | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 0562059..13a7ffc 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
AC_INIT([drumgizmo], m4_esyscmd([cat version.h | cut -d'"' -f2 | xargs echo -n]))dnl"
|
||||||
|
|
||||||
|
AC_CONFIG_SRCDIR([src/drumgizmo.cc])
|
||||||
|
-AM_INIT_AUTOMAKE
|
||||||
|
+AM_INIT_AUTOMAKE(subdir-objects)
|
||||||
|
|
||||||
|
AC_PROG_CXX
|
||||||
|
AC_PROG_OBJC
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
From 766c8c4aa6f6e8743234b93a760a89480bddd7fd Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Mon, 28 May 2018 23:08:07 +0200
|
||||||
|
Subject: [PATCH] Use native rcgen
|
||||||
|
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@gmail.com>
|
||||||
|
---
|
||||||
|
plugingui/Makefile.am | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugingui/Makefile.am b/plugingui/Makefile.am
|
||||||
|
index dd36783..ca30e84 100644
|
||||||
|
--- a/plugingui/Makefile.am
|
||||||
|
+++ b/plugingui/Makefile.am
|
||||||
|
@@ -28,7 +28,7 @@ RES = \
|
||||||
|
../COPYING
|
||||||
|
|
||||||
|
resource_data.cc : rcgen $(RES)
|
||||||
|
- ./rcgen $(RES) > resource_data.cc
|
||||||
|
+ drumgizmo-rcgen $(RES) > resource_data.cc
|
||||||
|
|
||||||
|
libdggui_la_CPPFLAGS = \
|
||||||
|
$(GUI_CPPFLAGS) \
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
||||||
8
recipes-musicians/drumgizmo/files/drumgizmo.desktop
Normal file
8
recipes-musicians/drumgizmo/files/drumgizmo.desktop
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=DrumGizmo
|
||||||
|
Comment=DrumGizmo standalone application
|
||||||
|
Exec=drumgizmo
|
||||||
|
Icon=drumgizmo-logo.png
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=Application;Audio;Midi;Music
|
||||||
25
recipes-musicians/drumstick/drumstick_1.1.1.bb
Normal file
25
recipes-musicians/drumstick/drumstick_1.1.1.bb
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
SUMMARY = "C++/Qt5 wrapper around multiple MIDI interfaces"
|
||||||
|
HOMEPAGE = "http://drumstick.sourceforge.net"
|
||||||
|
LICENSE = "GPLv2"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d9d415d3d8c5523e5586ff7b785095f1"
|
||||||
|
|
||||||
|
inherit cmake_qt5 pkgconfig mime gtk-icon-cache
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
qtbase \
|
||||||
|
qtsvg \
|
||||||
|
fluidsynth \
|
||||||
|
"
|
||||||
|
SRC_URI = " \
|
||||||
|
${SOURCEFORGE_MIRROR}/project/${BPN}/${PV}/${BPN}-${PV}.tar.bz2 \
|
||||||
|
file://0001-Do-not-set-lib-suffix-oe-will-take-care.patch \
|
||||||
|
"
|
||||||
|
SRC_URI[md5sum] = "a1fd83216f65619fea766dfc0a6f5266"
|
||||||
|
SRC_URI[sha256sum] = "367743764c8f5c6e40bb19b9581f083da2881b9c9516d6b3b247e5644dee7c2b"
|
||||||
|
|
||||||
|
EXTRA_OECMAKE = "-DLIB_SUFFIX=`echo ${baselib} | sed -e s/lib//`"
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${datadir}/mime \
|
||||||
|
${datadir}/icons \
|
||||||
|
"
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
From 30166fe55c9a7c65f5db04e75e92407da4f0e88a Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||||
|
Date: Fri, 10 Aug 2018 14:00:52 +0200
|
||||||
|
Subject: [PATCH] Do not set lib-suffix - oe will take care
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Upstream-Status: Pending
|
||||||
|
|
||||||
|
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 6 +-----
|
||||||
|
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 274b6fa..6782e43 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -21,11 +21,7 @@ endif()
|
||||||
|
|
||||||
|
project(DRUMSTICK)
|
||||||
|
|
||||||
|
-if(CMAKE_SIZEOF_VOID_P MATCHES "8")
|
||||||
|
- set(_INIT_LIB_SUFFIX "64")
|
||||||
|
-else()
|
||||||
|
- set(_INIT_LIB_SUFFIX "")
|
||||||
|
-endif()
|
||||||
|
+set(_INIT_LIB_SUFFIX "")
|
||||||
|
set(LIB_SUFFIX ${_INIT_LIB_SUFFIX} CACHE STRING "optional library install directory suffix: 32, 64, none")
|
||||||
|
|
||||||
|
set(CMAKE_COLOR_MAKEFILE ON)
|
||||||
|
--
|
||||||
|
2.14.4
|
||||||
|
|
||||||
41
recipes-musicians/dssi-vst/dssi-vst_git.bb
Normal file
41
recipes-musicians/dssi-vst/dssi-vst_git.bb
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
SUMMARY = "DSSI plugin wrapper for VST plugins"
|
||||||
|
HOMEPAGE = "http://breakfastquay.com/dssi-vst/"
|
||||||
|
LICENSE = "LGPLv2"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=3523f03012c30f3347df42d632e5762c"
|
||||||
|
|
||||||
|
inherit pkgconfig
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
dssi \
|
||||||
|
ladspa-sdk \
|
||||||
|
alsa-lib \
|
||||||
|
jack \
|
||||||
|
liblo \
|
||||||
|
zlib \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/falkTX/dssi-vst.git"
|
||||||
|
SRCREV = "9462b34563af84b452795d4924d4f18af9072529"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
PV = "0.9.2+git${SRCPV}"
|
||||||
|
|
||||||
|
EXTRA_OEMAKE = 'BUILD_FLAGS="-ffast-math -fPIC -Ivestige ${CXX_FLAGS}" TARGETS="dssi-vst.so dssi-vst_gui vsthost"'
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
# Makefile wants to install wine binaries - so install manually
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
install -d ${D}${libdir}/dssi/dssi-vst
|
||||||
|
install -d ${D}${libdir}/ladspa
|
||||||
|
install -m 755 vsthost ${D}${bindir}
|
||||||
|
install -m 755 ${S}/dssi-vst.so ${D}${libdir}/dssi
|
||||||
|
# install once only
|
||||||
|
ln -s ../dssi/dssi-vst.so ${D}${libdir}/ladspa
|
||||||
|
install -m 755 ${S}/dssi-vst_gui ${D}${libdir}/dssi/dssi-vst
|
||||||
|
}
|
||||||
|
|
||||||
|
INSANE_SKIP_${PN} = "dev-so"
|
||||||
|
|
||||||
|
FILES_${PN} += " \
|
||||||
|
${libdir}/ladspa \
|
||||||
|
${libdir}/dssi \
|
||||||
|
"
|
||||||
27
recipes-musicians/dssi/dssi_1.1.1.bb
Normal file
27
recipes-musicians/dssi/dssi_1.1.1.bb
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
SUMMARY = "DSSI is an audio plugin API for soft synths and effects"
|
||||||
|
HOMEPAGE = "http://dssi.sourceforge.net"
|
||||||
|
LICENSE = "LGPLv2.1"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING;md5=9f46aa1ea6e91bb339e8fa2f11d17e4d"
|
||||||
|
|
||||||
|
inherit autotools pkgconfig
|
||||||
|
|
||||||
|
DEPENDS += " \
|
||||||
|
jack \
|
||||||
|
libsndfile1 \
|
||||||
|
libsamplerate0 \
|
||||||
|
liblo \
|
||||||
|
ladspa-sdk \
|
||||||
|
"
|
||||||
|
|
||||||
|
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
|
||||||
|
SRC_URI[md5sum] = "619ab73c883b02dc37ddb37001591f8b"
|
||||||
|
SRC_URI[sha256sum] = "f2c82b073a947c8255284249097667f9b14e660bf86186f3fcd3b3b3e087814e"
|
||||||
|
|
||||||
|
PACKAGES =+ "${PN}-examples"
|
||||||
|
FILES_${PN}-examples = " \
|
||||||
|
${bindir}/dssi_* \
|
||||||
|
${bindir}/karplong \
|
||||||
|
${bindir}/*trivial* \
|
||||||
|
\
|
||||||
|
${libdir}/dssi/*.so \
|
||||||
|
"
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user