summaryrefslogtreecommitdiff
path: root/audio/amsynth
diff options
context:
space:
mode:
Diffstat (limited to 'audio/amsynth')
-rw-r--r--audio/amsynth/DESCR9
-rw-r--r--audio/amsynth/Makefile57
-rw-r--r--audio/amsynth/PLIST79
-rw-r--r--audio/amsynth/distinfo9
-rw-r--r--audio/amsynth/options.mk21
-rw-r--r--audio/amsynth/patches/patch-configure24
-rw-r--r--audio/amsynth/patches/patch-configure.ac24
-rw-r--r--audio/amsynth/patches/patch-src_amsynth__vst.cpp24
8 files changed, 247 insertions, 0 deletions
diff --git a/audio/amsynth/DESCR b/audio/amsynth/DESCR
new file mode 100644
index 00000000000..b3fa245f50a
--- /dev/null
+++ b/audio/amsynth/DESCR
@@ -0,0 +1,9 @@
+amsynth is an easy-to-use software synth with a classic subtractive
+synthesizer topology.
+
+- Dual oscillators (sine / saw / square / noise) with hard sync
+- 12/24 dB/oct resonant filter (low-pass / high-pass / band-pass / notch)
+- Mono / poly / legato keyboard modes
+- Dual ADSR envelope generators (filter & amplitude)
+- LFO which can modulate the oscillators, filter, and amplitude
+- Distortion and reverb
diff --git a/audio/amsynth/Makefile b/audio/amsynth/Makefile
new file mode 100644
index 00000000000..8d30270f9a1
--- /dev/null
+++ b/audio/amsynth/Makefile
@@ -0,0 +1,57 @@
+# $NetBSD: Makefile,v 1.1 2020/04/11 10:56:54 nia Exp $
+
+DISTNAME= amsynth-1.9.0
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_GITHUB:=amsynth/}
+GITHUB_PROJECT= amsynth
+GITHUB_RELEASE= release-${PKGVERSION_NOREV}
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= https://amsynth.github.io/
+COMMENT= Software synth with a subtractive synthesizer topology
+LICENSE= gnu-gpl-v2
+
+GNU_CONFIGURE= yes
+USE_LIBTOOL= yes
+USE_LANGUAGES= c c++
+
+TOOL_DEPENDS+= p5-XML-Parser-[0-9]*:../../textproc/p5-XML-Parser
+
+USE_TOOLS+= perl pkg-config gmake
+USE_TOOLS+= intltool msgfmt msgmerge xgettext
+
+# XXX: this should be an option.
+CONFIGURE_ARGS+= --without-pandoc
+
+.include "../../mk/oss.buildlink3.mk"
+
+.if ${OSS_TYPE} != "none"
+CONFIGURE_ARGS= --with-oss
+SUBST_CLASSES+= oss
+SUBST_STAGE.oss= pre-configure
+SUBST_MESSAGE.oss= Correcting the path to the OSS device.
+SUBST_FILES.oss+= data/rc
+SUBST_FILES.oss+= src/Configuration.cpp
+SUBST_SED.oss+= -e "s,/dev/dsp,${DEVOSSAUDIO},g"
+SUBST_SED.oss+= -e "s,/dev/midi,${DEVOSSMIDI},g"
+.else
+CONFIGURE_ARGS+= --without-oss
+.endif
+
+.if ${OPSYS} == "NetBSD"
+SUBST_CLASSES+= sr
+SUBST_STAGE.sr= pre-configure
+SUBST_MESSAGE.sr= Setting a better default sample rate.
+SUBST_FILES.sr+= data/rc
+SUBST_FILES.sr+= src/Configuration.cpp
+SUBST_SED.sr+= -e "s,44100,48000,g"
+.endif
+
+.include "options.mk"
+.include "../../audio/libsndfile/buildlink3.mk"
+.include "../../audio/lv2/buildlink3.mk"
+.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
+.include "../../sysutils/desktop-file-utils/buildlink3.mk"
+.include "../../x11/gtk2/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/audio/amsynth/PLIST b/audio/amsynth/PLIST
new file mode 100644
index 00000000000..a49b75c3745
--- /dev/null
+++ b/audio/amsynth/PLIST
@@ -0,0 +1,79 @@
+@comment $NetBSD: PLIST,v 1.1 2020/04/11 10:56:54 nia Exp $
+bin/amsynth
+lib/lv2/amsynth.lv2/BriansBank01.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank02.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank03.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank04.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank05.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank06.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank07.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank08.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank09.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank10.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank11.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank12.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank13.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank14.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank15.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank16.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank17.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank18.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank19.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/BriansBank20.amSynth.bank.ttl
+lib/lv2/amsynth.lv2/amsynth.ttl
+lib/lv2/amsynth.lv2/amsynth_factory.bank.ttl
+lib/lv2/amsynth.lv2/amsynth_lv2.so
+lib/lv2/amsynth.lv2/amsynth_lv2_gtk.so
+lib/lv2/amsynth.lv2/manifest.ttl
+lib/vst/amsynth_vst.so
+share/amsynth/banks/BriansBank01.amSynth.bank
+share/amsynth/banks/BriansBank02.amSynth.bank
+share/amsynth/banks/BriansBank03.amSynth.bank
+share/amsynth/banks/BriansBank04.amSynth.bank
+share/amsynth/banks/BriansBank05.amSynth.bank
+share/amsynth/banks/BriansBank06.amSynth.bank
+share/amsynth/banks/BriansBank07.amSynth.bank
+share/amsynth/banks/BriansBank08.amSynth.bank
+share/amsynth/banks/BriansBank09.amSynth.bank
+share/amsynth/banks/BriansBank10.amSynth.bank
+share/amsynth/banks/BriansBank11.amSynth.bank
+share/amsynth/banks/BriansBank12.amSynth.bank
+share/amsynth/banks/BriansBank13.amSynth.bank
+share/amsynth/banks/BriansBank14.amSynth.bank
+share/amsynth/banks/BriansBank15.amSynth.bank
+share/amsynth/banks/BriansBank16.amSynth.bank
+share/amsynth/banks/BriansBank17.amSynth.bank
+share/amsynth/banks/BriansBank18.amSynth.bank
+share/amsynth/banks/BriansBank19.amSynth.bank
+share/amsynth/banks/BriansBank20.amSynth.bank
+share/amsynth/banks/amsynth_factory.bank
+share/amsynth/rc
+share/amsynth/skins/default/background.png
+share/amsynth/skins/default/button_simple.png
+share/amsynth/skins/default/filter_slope.png
+share/amsynth/skins/default/filter_type.png
+share/amsynth/skins/default/keybmode.png
+share/amsynth/skins/default/knob.png
+share/amsynth/skins/default/knob_boost.png
+share/amsynth/skins/default/knob_boost_cut.png
+share/amsynth/skins/default/knob_mix.png
+share/amsynth/skins/default/knob_osc_octave.png
+share/amsynth/skins/default/knob_osc_pitch.png
+share/amsynth/skins/default/knob_spot.png
+share/amsynth/skins/default/knob_width.png
+share/amsynth/skins/default/layout.ini
+share/amsynth/skins/default/osc_select.png
+share/amsynth/skins/default/portamento_modes.png
+share/amsynth/skins/default/slider_boost_1.png
+share/amsynth/skins/default/slider_boost_2.png
+share/amsynth/skins/default/waveform_lfo.png
+share/amsynth/skins/default/waveform_pics.png
+share/appdata/amsynth.appdata.xml
+share/appdata/dssi-amsynth-plugin.metainfo.xml
+share/appdata/lv2-amsynth-plugin.metainfo.xml
+share/appdata/vst-amsynth-plugin.metainfo.xml
+share/applications/amsynth.desktop
+share/icons/hicolor/48x48/apps/amsynth.png
+share/icons/hicolor/scalable/apps/amsynth.svg
+share/locale/de/LC_MESSAGES/amsynth.mo
+share/locale/fr/LC_MESSAGES/amsynth.mo
diff --git a/audio/amsynth/distinfo b/audio/amsynth/distinfo
new file mode 100644
index 00000000000..3168fd093c3
--- /dev/null
+++ b/audio/amsynth/distinfo
@@ -0,0 +1,9 @@
+$NetBSD: distinfo,v 1.1 2020/04/11 10:56:54 nia Exp $
+
+SHA1 (amsynth-1.9.0.tar.bz2) = a0cc9377282937d79707628fcbf6611f965266fa
+RMD160 (amsynth-1.9.0.tar.bz2) = 2e8c3761d18716788ffbacb9b6f5cb295f24c1c2
+SHA512 (amsynth-1.9.0.tar.bz2) = 4600c0ca8ee2cfecdbaa272bf9a29a29386b04081fe2b75fa3d12c7d53c75a32803f30d1822c36db64009f8c38258f2e22c4e59210b882de0568d5241c623965
+Size (amsynth-1.9.0.tar.bz2) = 1145389 bytes
+SHA1 (patch-configure) = c933c8f377d29e03c3052ecc90f3f9c6a54fdb14
+SHA1 (patch-configure.ac) = 7d23744efa7f3e5a5de25d6c8e8bfb43a947ab9e
+SHA1 (patch-src_amsynth__vst.cpp) = 237bc55cb257fc61bb06a037785340e9b8f91583
diff --git a/audio/amsynth/options.mk b/audio/amsynth/options.mk
new file mode 100644
index 00000000000..dfcd48fd411
--- /dev/null
+++ b/audio/amsynth/options.mk
@@ -0,0 +1,21 @@
+# $NetBSD: options.mk,v 1.1 2020/04/11 10:56:54 nia Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.amsynth
+PKG_SUPPORTED_OPTIONS= alsa jack
+PKG_SUGGESTED_OPTIONS.Linux= alsa
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Malsa)
+CONFIGURE_ARGS+= --with-alsa
+.include "../../audio/alsa-lib/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-alsa
+.endif
+
+.if !empty(PKG_OPTIONS:Mjack)
+CONFIGURE_ARGS+= --with-jack
+.include "../../audio/jack/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-jack
+.endif
diff --git a/audio/amsynth/patches/patch-configure b/audio/amsynth/patches/patch-configure
new file mode 100644
index 00000000000..89cf68d188c
--- /dev/null
+++ b/audio/amsynth/patches/patch-configure
@@ -0,0 +1,24 @@
+$NetBSD: patch-configure,v 1.1 2020/04/11 10:56:54 nia Exp $
+
+Shell portability.
+
+--- configure.orig 2019-04-13 06:36:47.000000000 +0000
++++ configure
+@@ -16933,7 +16933,7 @@ fi
+ fi
+
+
+- if test "x$with_nsm" == "xyes"; then
++ if test "x$with_nsm" = "xyes"; then
+ BUILD_NSM_TRUE=
+ BUILD_NSM_FALSE='#'
+ else
+@@ -17522,7 +17522,7 @@ else
+ BUILD_DSSI_FALSE=
+ fi
+
+- if test "x$with_dssi_gui" == "xyes"; then
++ if test "x$with_dssi_gui" = "xyes"; then
+ BUILD_DSSI_GUI_TRUE=
+ BUILD_DSSI_GUI_FALSE='#'
+ else
diff --git a/audio/amsynth/patches/patch-configure.ac b/audio/amsynth/patches/patch-configure.ac
new file mode 100644
index 00000000000..7f4a7386391
--- /dev/null
+++ b/audio/amsynth/patches/patch-configure.ac
@@ -0,0 +1,24 @@
+$NetBSD: patch-configure.ac,v 1.1 2020/04/11 10:56:54 nia Exp $
+
+Shell portability.
+
+--- configure.ac.orig 2019-04-13 06:34:39.000000000 +0000
++++ configure.ac
+@@ -66,7 +66,7 @@ AC_CHECK_HEADER([oscpack/ip/UdpSocket.h]
+ ])
+ ])
+ ])
+-AM_CONDITIONAL([BUILD_NSM], [test "x$with_nsm" == "xyes"])
++AM_CONDITIONAL([BUILD_NSM], [test "x$with_nsm" = "xyes"])
+
+ dnl ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ dnl
+@@ -123,7 +123,7 @@ AS_IF([test "x$with_dssi" != "xno"], [
+ PKG_CHECK_MODULES([LIBLO], [liblo], [], [with_dssi_gui="no"])
+ with_dssi="yes"], [with_dssi="no"])])
+ AM_CONDITIONAL([BUILD_DSSI], [test "x$with_dssi" != "xno"])
+-AM_CONDITIONAL([BUILD_DSSI_GUI], [test "x$with_dssi_gui" == "xyes"])
++AM_CONDITIONAL([BUILD_DSSI_GUI], [test "x$with_dssi_gui" = "xyes"])
+
+ AC_ARG_WITH([lv2], [AS_HELP_STRING([--with-lv2], [build support for LV2])])
+ AS_IF([test "x$with_lv2" != "xno"], [
diff --git a/audio/amsynth/patches/patch-src_amsynth__vst.cpp b/audio/amsynth/patches/patch-src_amsynth__vst.cpp
new file mode 100644
index 00000000000..3f331fa1d8e
--- /dev/null
+++ b/audio/amsynth/patches/patch-src_amsynth__vst.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_amsynth__vst.cpp,v 1.1 2020/04/11 10:56:54 nia Exp $
+
+This code violates PaX MPROTECT and isn't portable.
+
+--- src/amsynth_vst.cpp.orig 2019-04-13 06:34:24.000000000 +0000
++++ src/amsynth_vst.cpp
+@@ -48,7 +48,7 @@
+ #ifdef WITH_GUI
+ #include "GUI/editor_pane.h"
+ #include <gdk/gdkx.h>
+-#if __x86_64__
++#if __x86_64__ && !defined(__NetBSD__)
+ #include <sys/mman.h>
+ #include <sys/user.h>
+ #endif
+@@ -132,7 +132,7 @@ static void XEventProc(XEvent *xevent)
+
+ static void setEventProc(Display *display, Window window)
+ {
+-#if __x86_64__
++#if __x86_64__ && !defined(__NetBSD__)
+ //
+ // JUCE calls XGetWindowProperty with long_length = 1 which means it only fetches the lower 32 bits of the address.
+ // Therefore we need to ensure we return an address in the lower 32-bits of address space.