diff options
author | ultima <ultima@FreeBSD.org> | 2017-08-21 15:02:57 +0800 |
---|---|---|
committer | ultima <ultima@FreeBSD.org> | 2017-08-21 15:02:57 +0800 |
commit | 869c0314348746e80d5d721b03e64dbba6ec1b3b (patch) | |
tree | 48c367789fac5c68d85f7b8e53b114ad4dc6d7b0 /audio | |
parent | 33f61d7ab525383c5da3c9e262b243b7c02cd413 (diff) | |
download | freebsd-ports-gnome-869c0314348746e80d5d721b03e64dbba6ec1b3b.tar.gz freebsd-ports-gnome-869c0314348746e80d5d721b03e64dbba6ec1b3b.tar.zst freebsd-ports-gnome-869c0314348746e80d5d721b03e64dbba6ec1b3b.zip |
Synthpod is an LV2 host. It can be run as a standalone app and be used as a
tool for live performances or general audio and event filtering.
It was conceptualized to fill the gap between pure textual (e.g. SuperCollider)
and pure visual flow (e.g. Pure Data) audio programming paradigms.
Potential fields of application may include:
* Live audio synthesis
* Real-time event scripting
* Non-linear signal routing
* Advanced control automation
* Advanced event filtering
* Live mixing
* Live coding
* Algorithmic composition
* Interfacing to expressive controllers
WWW: https://open-music-kontrollers.ch/lv2/synthpod
PR: 221319
Submitted by: Yuri Victorovich (maintainer)
Reviewed by: matthew (mentor)
Approved by: matthew (mentor)
Differential Revision: https://reviews.freebsd.org/D12094
Diffstat (limited to 'audio')
-rw-r--r-- | audio/Makefile | 1 | ||||
-rw-r--r-- | audio/synthpod-lv2/Makefile | 82 | ||||
-rw-r--r-- | audio/synthpod-lv2/distinfo | 3 | ||||
-rw-r--r-- | audio/synthpod-lv2/files/patch-CMakeLists.txt | 39 | ||||
-rw-r--r-- | audio/synthpod-lv2/pkg-descr | 18 | ||||
-rw-r--r-- | audio/synthpod-lv2/pkg-message | 16 | ||||
-rw-r--r-- | audio/synthpod-lv2/pkg-plist | 47 |
7 files changed, 206 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile index 93cd1570a3d2..6083759a291a 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -770,6 +770,7 @@ SUBDIR += sweep SUBDIR += swh-lv2 SUBDIR += swhplugins + SUBDIR += synthpod-lv2 SUBDIR += taglib SUBDIR += taglib-extras SUBDIR += taglib-sharp diff --git a/audio/synthpod-lv2/Makefile b/audio/synthpod-lv2/Makefile new file mode 100644 index 000000000000..4d25533b5903 --- /dev/null +++ b/audio/synthpod-lv2/Makefile @@ -0,0 +1,82 @@ +# Created by: Yuri Victorovich <yuri@rawbw.com> +# $FreeBSD$ + +PORTNAME= synthpod +PORTVERSION= g20170810 +CATEGORIES= audio +PKGNAMESUFFIX= -lv2 + +MAINTAINER= yuri@rawbw.com +COMMENT= Lightweight Nonlinear LV2 Plugin Container + +LICENSE= ART20 +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= lv2>0:audio/lv2 +LIB_DEPENDS= liblilv-0.so:audio/lilv \ + libserd-0.so:devel/serd \ + libsord-0.so:devel/sord \ + libsratom-0.so:audio/sratom + +USES= cmake compiler:c++11-lib pkgconfig localbase +USE_GITHUB= yes +GH_ACCOUNT= OpenMusicKontrollers +GH_TAGNAME= 07cae54 +USE_CXXSTD= c++11 + +CMAKE_ARGS= -DBUILD_ALSA="OFF" + +OPTIONS_DEFINE= JACK DUMMY DOT +OPTIONS_DEFAULT=JACK X11 SHOW KX +OPTIONS_GROUP= UI +OPTIONS_GROUP_UI= X11 GTK2 GTK3 QT4 QT5 SHOW KX +OPTIONS_SUB= yes + +DUMMY_DESC= Build DUMMY standalone host +DOT_DESC= Build Dot exporter +KX_DESC= Build external-ui sandbox +JACK_DESC= Build JACK standalone host +X11_DESC= Build X11 sandbox +GTK2_DESC= Build GTK-2 sandbox +GTK3_DESC= Build GTK-3 sandbox +QT4_DESC= Build Qt-4 sandbox +QT5_DESC= Build Qt-5 sandbox +SHOW_DESC= Build show-iface sandbox + +DOT_CMAKE_ON= -DBUILD_DOT="ON" +DUMMY_CMAKE_ON= -DBUILD_DUMMY="ON" +DUMMY_LIB_DEPENDS= libuv.so:devel/libuv +GTK2_CMAKE_ON= -DBUILD_UI="ON" -DBUILD_SANDBOX_GTK2="ON" +GTK2_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 +GTK2_USE= XORG=x11,xcb,xext GL=gl,glu GNOME=glib20,gtk20,gdkpixbuf2,atk,cairo,pango gettext-runtime +GTK3_CMAKE_ON= -DBUILD_UI="ON" -DBUILD_SANDBOX_GTK3="ON" +GTK3_USE= XORG=x11,xcb,xext GL=glu GNOME=glib20,gtk30,gdkpixbuf2,atk,cairo,pango gettext-runtime +JACK_LIB_DEPENDS= libjack.so:audio/jack \ + libuv.so:devel/libuv +JACK_CMAKE_OFF= -DBUILD_JACK="OFF" +KX_CMAKE_ON= -DBUILD_UI="ON" -DBUILD_SANDBOX_KX="ON" +KX_USE= XORG=x11,xcb,xext GL=glu +QT4_CMAKE_ON= -DBUILD_UI="ON" -DBUILD_SANDBOX_QT4="ON" +QT4_USE= XORG=x11,xcb,xext GL=glu QT4=corelib,gui +QT5_BROKEN= Build fails: https://github.com/OpenMusicKontrollers/synthpod/issues/10 +QT5_CMAKE_ON= -DBUILD_UI="ON" -DBUILD_SANDBOX_QT5="ON" +QT5_USE= XORG=x11,xcb,xext GL=glu QT5=core,gui +SHOW_USE= XORG=x11,xcb,xext GL=glu +SHOW_CMAKE_ON= -DBUILD_UI="ON" -DBUILD_SANDBOX_SHOW="ON" +X11_CMAKE_ON= -DBUILD_UI="ON" -DBUILD_SANDBOX_X11="ON" +X11_LIB_DEPENDS= libxcb-icccm.so:x11/xcb-util-wm +X11_USE= XORG=x11,xcb,xext GL=gl,glu + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MX11} || ${PORT_OPTIONS:MGTK2} || ${PORT_OPTIONS:MGTK3} || ${PORT_OPTIONS:MQT4} || ${PORT_OPTIONS:MQT5} || ${PORT_OPTIONS:MSHOW} || ${PORT_OPTIONS:MKX} +PLIST_SUB+= UI="" +.else +PLIST_SUB+= UI="@comment " +.endif + +post-patch: + @${REINPLACE_CMD} -e 's|share/man|man|' ${WRKSRC}/bin/CMakeLists.txt + +.include <bsd.port.mk> diff --git a/audio/synthpod-lv2/distinfo b/audio/synthpod-lv2/distinfo new file mode 100644 index 000000000000..ea65f202295f --- /dev/null +++ b/audio/synthpod-lv2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1503280076 +SHA256 (OpenMusicKontrollers-synthpod-g20170810-07cae54_GH0.tar.gz) = 319dc6ababcf867cd7ae628931b1c99fba842d634245675ac600d611a4df362d +SIZE (OpenMusicKontrollers-synthpod-g20170810-07cae54_GH0.tar.gz) = 2336518 diff --git a/audio/synthpod-lv2/files/patch-CMakeLists.txt b/audio/synthpod-lv2/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..a3efaee39e34 --- /dev/null +++ b/audio/synthpod-lv2/files/patch-CMakeLists.txt @@ -0,0 +1,39 @@ +--- CMakeLists.txt.orig 2017-08-06 12:24:04 UTC ++++ CMakeLists.txt +@@ -34,6 +34,15 @@ include_directories(${PROJECT_SOURCE_DIR + include_directories(${PROJECT_SOURCE_DIR}/zero_worker.lv2) + include_directories(${PROJECT_SOURCE_DIR}/zero_writer.lv2) + ++# FreeBSD: clock_nanosleep was missing and was added to 11-STABLE in r317618 ++CHECK_FUNCTION_EXISTS(clock_nanosleep HAVE_CLOCK_NANOSLEEP_FUNCTION) ++if(${HAVE_CLOCK_NANOSLEEP_FUNCTION}) ++ MESSAGE("-- FreeBSD: clock_nanosleep exists") ++else() ++ MESSAGE("-- FreeBSD: clock_nanosleep DOES NOT EXIST and will be replaced with nanosleep") ++ execute_process(COMMAND sed -i'.bak' -E "s|clock_nanosleep\\\(CLOCK_[A-Z]+, TIMER_ABSTIME, |nanosleep\\\(|" bin/synthpod_dummy.c bin/synthpod_sandbox_show.c bin/synthpod_sandbox_kx.c) ++endif() ++ + set(SYNTHPOD_BIN_DIR "bin") + add_definitions("-DSYNTHPOD_BIN_DIR=\"${CMAKE_INSTALL_PREFIX}/${SYNTHPOD_BIN_DIR}/\"") + +@@ -92,16 +101,16 @@ option(BUILD_DUMMY "Build DUMMY standalo + + option(BUILD_DOT "Build Dot exporter" OFF) + +-option(BUILD_UI "Build graphical user interface(s)" ON) ++option(BUILD_UI "Build graphical user interface(s)" OFF) + + include(CMakeDependentOption) +-cmake_dependent_option(BUILD_SANDBOX_X11 "Build X11 sandbox" ON "BUILD_UI" OFF) ++cmake_dependent_option(BUILD_SANDBOX_X11 "Build X11 sandbox" OFF "BUILD_UI" OFF) + cmake_dependent_option(BUILD_SANDBOX_GTK2 "Build GTK-2 sandbox" OFF "BUILD_UI" OFF) + cmake_dependent_option(BUILD_SANDBOX_GTK3 "Build GTK-3 sandbox" OFF "BUILD_UI" OFF) + cmake_dependent_option(BUILD_SANDBOX_QT4 "Build Qt-4 sandbox" OFF "BUILD_UI" OFF) + cmake_dependent_option(BUILD_SANDBOX_QT5 "Build Qt-5 sandbox" OFF "BUILD_UI" OFF) +-cmake_dependent_option(BUILD_SANDBOX_SHOW "Build show-iface sandbox" ON "BUILD_UI" OFF) +-cmake_dependent_option(BUILD_SANDBOX_KX "Build external-ui sandbox" ON "BUILD_UI" OFF) ++cmake_dependent_option(BUILD_SANDBOX_SHOW "Build show-iface sandbox" OFF "BUILD_UI" OFF) ++cmake_dependent_option(BUILD_SANDBOX_KX "Build external-ui sandbox" OFF "BUILD_UI" OFF) + + if(BUILD_SANDBOX_X11) + add_definitions("-DSANDBOX_X11") diff --git a/audio/synthpod-lv2/pkg-descr b/audio/synthpod-lv2/pkg-descr new file mode 100644 index 000000000000..59c8b40ffc48 --- /dev/null +++ b/audio/synthpod-lv2/pkg-descr @@ -0,0 +1,18 @@ +Synthpod is an LV2 host. It can be run as a standalone app and be used as a +tool for live performances or general audio and event filtering. + +It was conceptualized to fill the gap between pure textual (e.g. SuperCollider) +and pure visual flow (e.g. Pure Data) audio programming paradigms. + +Potential fields of application may include: +* Live audio synthesis +* Real-time event scripting +* Non-linear signal routing +* Advanced control automation +* Advanced event filtering +* Live mixing +* Live coding +* Algorithmic composition +* Interfacing to expressive controllers + +WWW: https://open-music-kontrollers.ch/lv2/synthpod diff --git a/audio/synthpod-lv2/pkg-message b/audio/synthpod-lv2/pkg-message new file mode 100644 index 000000000000..ec941a7a4644 --- /dev/null +++ b/audio/synthpod-lv2/pkg-message @@ -0,0 +1,16 @@ +====================================================================== +You installed SynthPod: Lightweight Nonlinear LV2 Plugin Container + +The major way to run it is to plug the LV2 plugin container to the +Jack sound server: + +$ synthpod_jack -g + +This shows you the design window where you can arrange plugins to +achieve the topology you like. + +Please don't forget to connect SynthPod input and output in Jack. You +can normally do this with the UI command qjackctl from audio/qjackctl. + +SynthPod is currently in alpha stage. +====================================================================== diff --git a/audio/synthpod-lv2/pkg-plist b/audio/synthpod-lv2/pkg-plist new file mode 100644 index 000000000000..e4f7a51624a2 --- /dev/null +++ b/audio/synthpod-lv2/pkg-plist @@ -0,0 +1,47 @@ +%%DUMMY%%bin/synthpod_dummy +%%DOT%%bin/synthpod_dot +%%JACK%%bin/synthpod_jack +%%X11%%bin/synthpod_sandbox_x11 +%%GTK2%%bin/synthpod_sandbox_gtk2 +%%GTK3%%bin/synthpod_sandbox_gtk3 +%%QT4%%bin/synthpod_sandbox_qt4 +%%QT5%%bin/synthpod_sandbox_qt5 +%%SHOW%%bin/synthpod_sandbox_show +%%KX%%bin/synthpod_sandbox_kx +%%X11%%bin/synthpod_ui +%%UI%%lib/lv2/synthpod.lv2/Abel-Regular.ttf +%%UI%%lib/lv2/synthpod.lv2/synthpod_nk.so +lib/lv2/synthpod.lv2/manifest.ttl +lib/lv2/synthpod.lv2/synthpod.so +lib/lv2/synthpod.lv2/synthpod.ttl +lib/lv2/synthpod.lv2/synthpod_ui.ttl +lib/synthpod/lv2/manifest.ttl +lib/synthpod/lv2/synthpod_bundle.so +lib/synthpod/lv2/synthpod_bundle.ttl +%%DUMMY%%share/applications/synthpod_dummy.desktop +%%JACK%%share/applications/synthpod_jack.desktop +%%JACK%%share/icons/hicolor/256x256/apps/synthpod.png +%%DUMMY%%man/man1/synthpod_dummy.1.gz +%%JACK%%man/man1/synthpod_jack.1.gz +%%X11%%man/man1/synthpod_sandbox.1.gz +%%DATADIR%%/atom.png +%%DATADIR%%/atom_inverted.png +%%DATADIR%%/audio.png +%%DATADIR%%/automaton.png +%%DATADIR%%/cancel.png +%%DATADIR%%/control.png +%%DATADIR%%/cv.png +%%DATADIR%%/download.png +%%DATADIR%%/event.png +%%DATADIR%%/event_inverted.png +%%DATADIR%%/house.png +%%DATADIR%%/layers.png +%%DATADIR%%/menu.png +%%DATADIR%%/midi.png +%%DATADIR%%/osc.png +%%DATADIR%%/patch.png +%%DATADIR%%/plus.png +%%DATADIR%%/settings.png +%%DATADIR%%/time.png +%%DATADIR%%/user.png +%%DATADIR%%/xpress.png |