diff --git a/media-plugins/adlplug/Manifest b/media-plugins/adlplug/Manifest new file mode 100644 index 0000000..2a17574 --- /dev/null +++ b/media-plugins/adlplug/Manifest @@ -0,0 +1 @@ +DIST ADLplug-1.0.2.tar.xz 7020056 BLAKE2B ea049a6373fdd05f6401766f077819de704748055569a67aabb27e6064d922a28f635d8322914a5c418875b09a0152efa3ac4a3ae32400b12e31ae10166ceffb SHA512 53192a622de528d4dd06dbd8411b5d1ba8346e9f181fd160fa14c2cf402a819ff354212ced59e13b11738ef6bf696cb0927a67c2e97ef94ade70acb29807f5cc diff --git a/media-plugins/adlplug/adlplug-1.0.2.ebuild b/media-plugins/adlplug/adlplug-1.0.2.ebuild new file mode 100644 index 0000000..05edd7f --- /dev/null +++ b/media-plugins/adlplug/adlplug-1.0.2.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit xdg cmake + +DESCRIPTION="FM synthesizer plugin based on OPL3 sound chip emulation" +HOMEPAGE="https://github.com/jpcima/ADLplug" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/jpcima/adlplug.git" + KEYWORDS="" +else + SRC_URI="https://github.com/jpcima/adlplug/releases/download/v${PV}/ADLplug-${PV}.tar.xz" + KEYWORDS="~amd64" + S="${WORKDIR}/ADLplug-${PV}" +fi +LICENSE="Boost-1.0 GPL-3 GPL-2 LGPL-2.1" +SLOT="0" +RESTRICT="mirror" + +IUSE="lv2 nsm standalone vst" +REQUIRED_USE=" + || ( lv2 standalone vst ) + nsm? ( standalone ) +" + +DEPEND="media-libs/alsa-lib + media-libs/freetype + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXrandr + standalone? ( virtual/jack ) + nsm? ( + media-libs/liblo + media-sound/new-session-manager + ) +" +RDEPEND="${DEPEND}" + +PATCHES="${FILESDIR}/adlplug-juce-fix-gcc9-compatibility.patch" + +src_configure() { + local mycmakeargs=( + -DADLplug_CHIP=OPL3 + -DADLplug_LV2="$(usex lv2)" + -DADLplug_VST2="$(usex vst)" + -DADLplug_Standalone="$(usex standalone)" + -DADLplug_Jack="$(usex standalone)" + ) + + cmake_src_configure +} diff --git a/media-plugins/adlplug/adlplug-9999.ebuild b/media-plugins/adlplug/adlplug-9999.ebuild new file mode 100644 index 0000000..5dabe11 --- /dev/null +++ b/media-plugins/adlplug/adlplug-9999.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit xdg cmake + +DESCRIPTION="FM synthesizer plugin based on OPL3 sound chip emulation" +HOMEPAGE="https://github.com/jpcima/ADLplug" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/jpcima/adlplug.git" + KEYWORDS="" +else + SRC_URI="https://github.com/jpcima/adlplug/releases/download/v${PV}/ADLplug-${PV}.tar.xz" + KEYWORDS="~amd64" + S="${WORKDIR}/ADLplug-${PV}" +fi +LICENSE="Boost-1.0 GPL-3 GPL-2 LGPL-2.1" +SLOT="0" +RESTRICT="mirror" + +IUSE="lv2 nsm standalone vst" +REQUIRED_USE=" + || ( lv2 standalone vst ) + nsm? ( standalone ) +" + +DEPEND="media-libs/alsa-lib + media-libs/freetype + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXrandr + standalone? ( virtual/jack ) + nsm? ( + media-libs/liblo + media-sound/new-session-manager + ) +" +RDEPEND="${DEPEND}" + +src_configure() { + local mycmakeargs=( + -DADLplug_CHIP=OPL3 + -DADLplug_LV2="$(usex lv2)" + -DADLplug_VST2="$(usex vst)" + -DADLplug_Standalone="$(usex standalone)" + -DADLplug_Jack="$(usex standalone)" + ) + + cmake_src_configure +} diff --git a/media-plugins/adlplug/files/adlplug-juce-fix-gcc9-compatibility.patch b/media-plugins/adlplug/files/adlplug-juce-fix-gcc9-compatibility.patch new file mode 100644 index 0000000..fac2694 --- /dev/null +++ b/media-plugins/adlplug/files/adlplug-juce-fix-gcc9-compatibility.patch @@ -0,0 +1,165 @@ +From e1357cd105d2a1c915128cb7263d293071959658 Mon Sep 17 00:00:00 2001 +From: Simon van der Veldt +Date: Sat, 23 Jan 2021 23:31:26 +0100 +Subject: [PATCH] GCC 9 compatibility fixes + +Applies https://github.com/WeAreROLI/JUCE/commit/4e0adb2af8b424c43d22bd431011c9a6c57d36b6 to the included JUCE sources +--- + .../juce_graphics/colour/juce_PixelFormats.h | 34 +++--------- + .../native/juce_RenderingHelpers.h | 52 ++----------------- + 2 files changed, 9 insertions(+), 77 deletions(-) + +diff --git a/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h b/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h +index 69a66e4..326d485 100644 +--- a/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h ++++ b/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h +@@ -107,22 +107,9 @@ public: + + //============================================================================== + forcedinline uint8 getAlpha() const noexcept { return components.a; } +- forcedinline uint8 getRed() const noexcept { return components.r; } ++ forcedinline uint8 getRed() const noexcept { return components.r; } + forcedinline uint8 getGreen() const noexcept { return components.g; } +- forcedinline uint8 getBlue() const noexcept { return components.b; } +- +- #if JUCE_GCC +- // NB these are here as a workaround because GCC refuses to bind to packed values. +- forcedinline uint8& getAlpha() noexcept { return comps [indexA]; } +- forcedinline uint8& getRed() noexcept { return comps [indexR]; } +- forcedinline uint8& getGreen() noexcept { return comps [indexG]; } +- forcedinline uint8& getBlue() noexcept { return comps [indexB]; } +- #else +- forcedinline uint8& getAlpha() noexcept { return components.a; } +- forcedinline uint8& getRed() noexcept { return components.r; } +- forcedinline uint8& getGreen() noexcept { return components.g; } +- forcedinline uint8& getBlue() noexcept { return components.b; } +- #endif ++ forcedinline uint8 getBlue() const noexcept { return components.b; } + + //============================================================================== + /** Copies another pixel colour over this one. +@@ -342,9 +329,6 @@ private: + { + uint32 internal; + Components components; +- #if JUCE_GCC +- uint8 comps[4]; // helper struct needed because gcc does not allow references to packed union members +- #endif + }; + } + #ifndef DOXYGEN +@@ -429,13 +413,9 @@ public: + + //============================================================================== + forcedinline uint8 getAlpha() const noexcept { return 0xff; } +- forcedinline uint8 getRed() const noexcept { return r; } ++ forcedinline uint8 getRed() const noexcept { return r; } + forcedinline uint8 getGreen() const noexcept { return g; } +- forcedinline uint8 getBlue() const noexcept { return b; } +- +- forcedinline uint8& getRed() noexcept { return r; } +- forcedinline uint8& getGreen() noexcept { return g; } +- forcedinline uint8& getBlue() noexcept { return b; } ++ forcedinline uint8 getBlue() const noexcept { return b; } + + //============================================================================== + /** Copies another pixel colour over this one. +@@ -652,11 +632,9 @@ public: + + //============================================================================== + forcedinline uint8 getAlpha() const noexcept { return a; } +- forcedinline uint8& getAlpha() noexcept { return a; } +- +- forcedinline uint8 getRed() const noexcept { return 0; } ++ forcedinline uint8 getRed() const noexcept { return 0; } + forcedinline uint8 getGreen() const noexcept { return 0; } +- forcedinline uint8 getBlue() const noexcept { return 0; } ++ forcedinline uint8 getBlue() const noexcept { return 0; } + + //============================================================================== + /** Copies another pixel colour over this one. +diff --git a/thirdparty/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h b/thirdparty/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h +index 39e46db..e5f66b4 100644 +--- a/thirdparty/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h ++++ b/thirdparty/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h +@@ -581,18 +581,10 @@ namespace EdgeTableFillers + : destData (image), sourceColour (colour) + { + if (sizeof (PixelType) == 3 && (size_t) destData.pixelStride == sizeof (PixelType)) +- { + areRGBComponentsEqual = sourceColour.getRed() == sourceColour.getGreen() + && sourceColour.getGreen() == sourceColour.getBlue(); +- filler[0].set (sourceColour); +- filler[1].set (sourceColour); +- filler[2].set (sourceColour); +- filler[3].set (sourceColour); +- } + else +- { + areRGBComponentsEqual = false; +- } + } + + forcedinline void setEdgeTableYPos (int y) noexcept +@@ -674,7 +666,6 @@ namespace EdgeTableFillers + const Image::BitmapData& destData; + PixelType* linePixels; + PixelARGB sourceColour; +- PixelRGB filler[4]; + bool areRGBComponentsEqual; + + forcedinline PixelType* getPixel (int x) const noexcept +@@ -689,47 +680,10 @@ namespace EdgeTableFillers + + forcedinline void replaceLine (PixelRGB* dest, PixelARGB colour, int width) const noexcept + { +- if ((size_t) destData.pixelStride == sizeof (*dest)) +- { +- if (areRGBComponentsEqual) // if all the component values are the same, we can cheat.. +- { +- memset ((void*) dest, colour.getRed(), (size_t) width * 3); +- } +- else +- { +- if (width >> 5) +- { +- auto intFiller = reinterpret_cast (filler); +- +- while (width > 8 && (((pointer_sized_int) dest) & 7) != 0) +- { +- dest->set (colour); +- ++dest; +- --width; +- } +- +- while (width > 4) +- { +- auto d = reinterpret_cast (dest); +- *d++ = intFiller[0]; +- *d++ = intFiller[1]; +- *d++ = intFiller[2]; +- dest = reinterpret_cast (d); +- width -= 4; +- } +- } +- +- while (--width >= 0) +- { +- dest->set (colour); +- ++dest; +- } +- } +- } ++ if ((size_t) destData.pixelStride == sizeof (*dest) && areRGBComponentsEqual) ++ memset ((void*) dest, colour.getRed(), (size_t) width * 3); // if all the component values are the same, we can cheat.. + else +- { +- JUCE_PERFORM_PIXEL_OP_LOOP (set (colour)) +- } ++ JUCE_PERFORM_PIXEL_OP_LOOP (set (colour)); + } + + forcedinline void replaceLine (PixelAlpha* dest, const PixelARGB colour, int width) const noexcept +-- +2.26.2 + diff --git a/media-plugins/adlplug/metadata.xml b/media-plugins/adlplug/metadata.xml new file mode 100644 index 0000000..5991ec4 --- /dev/null +++ b/media-plugins/adlplug/metadata.xml @@ -0,0 +1,18 @@ + + + + + Zoë Sparks + zoe@milky.flowers + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + + Enable building of LV2 plugin + Enable building of VST plugin + Enable building of standalone application + Enable New Session Manager support + + diff --git a/media-plugins/artyfx/Manifest b/media-plugins/artyfx/Manifest new file mode 100644 index 0000000..63da1ee --- /dev/null +++ b/media-plugins/artyfx/Manifest @@ -0,0 +1,2 @@ +DIST artyfx-1.3.1.tar.gz 642816 BLAKE2B cd858f64743529084130b5b4d8851ddddd8d69d8aada3a63e0634a41057390e858e5c5d7591fc45cea2c46644a6a3bd086d3ce5cac73bc61e94cd28f7046cc06 SHA512 7fe84783f460e5ac62d715990a7140259b8e2f1e0a531cf6cde63dadfb51e934abd17c81a8c280699279c0af2aa74ee05e073d32539d99fa37d83a0b1cfc0c49 +DIST artyfx-1.3.tar.gz 641089 BLAKE2B e11d54a1601ab554897d1a2bbecf39b99fd54c332c153bf42cc020a2204717a551947b98cbf6b9083caf3212296b8ea91e48d96be28981142c31dd766bb7e49d SHA512 51931d0497c91150db738ffe7199e1cd3a86d43d34b371b9719b8d0b504bebf3b9cf14e20d299081b0482f51ef7a6e825e8bf0c832b0caf3bc4a8f8221990a97 diff --git a/media-plugins/artyfx/artyfx-1.3-r1.ebuild b/media-plugins/artyfx/artyfx-1.3-r1.ebuild new file mode 100644 index 0000000..c53d11c --- /dev/null +++ b/media-plugins/artyfx/artyfx-1.3-r1.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="Plugin bundle of artistic real-time audio effects" +HOMEPAGE="http://openavproductions.com/artyfx" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openAVproductions/openAV-ArtyFX.git" + KEYWORDS="" +else + SRC_URI="https://github.com/openAVproductions/openAV-ArtyFX/archive/release-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/openAV-ArtyFX-release-${PV}" +fi +LICENSE="GPL-2" +SLOT="0" + +IUSE="+X cpu_flags_x86_sse" + +RDEPEND="media-libs/lv2 + media-libs/libsndfile + X? ( x11-libs/cairo[X] )" +DEPEND="${RDEPEND}" + +PATCHES="${FILESDIR}/${P}-lv2-compilation-fixes.patch" + +src_prepare() { + # Fix hardcoded libdir + sed -i -e "s|lib/lv2|$(get_libdir)/lv2|" CMakeLists.txt || die "sed failed" + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DRELEASE_BUILD=ON + -DBUILD_GUI="$(usex X ON OFF)" + -DBUILD_SSE="$(usex cpu_flags_x86_sse ON OFF)" + -DBUILD_BENCH=OFF + ) + cmake_src_configure +} diff --git a/media-plugins/artyfx/artyfx-1.3.1.ebuild b/media-plugins/artyfx/artyfx-1.3.1.ebuild new file mode 120000 index 0000000..df81a1f --- /dev/null +++ b/media-plugins/artyfx/artyfx-1.3.1.ebuild @@ -0,0 +1 @@ +artyfx-9999.ebuild \ No newline at end of file diff --git a/media-plugins/artyfx/artyfx-9999.ebuild b/media-plugins/artyfx/artyfx-9999.ebuild new file mode 100644 index 0000000..50676d0 --- /dev/null +++ b/media-plugins/artyfx/artyfx-9999.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="Plugin bundle of artistic real-time audio effects" +HOMEPAGE="http://openavproductions.com/artyfx" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openAVproductions/openAV-ArtyFX.git" + KEYWORDS="" +else + SRC_URI="https://github.com/openAVproductions/openAV-ArtyFX/archive/release-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/openAV-ArtyFX-release-${PV}" +fi +LICENSE="GPL-2" +SLOT="0" +RESTRICT="mirror" + +IUSE="+X cpu_flags_x86_sse" + +RDEPEND="media-libs/lv2 + media-libs/libsndfile + X? ( x11-libs/cairo[X] )" +DEPEND="${RDEPEND}" + +src_prepare() { + # Fix hardcoded libdir + sed -i -e "s|lib/lv2|$(get_libdir)/lv2|" CMakeLists.txt || die "sed failed" + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DRELEASE_BUILD=ON + -DBUILD_GUI="$(usex X ON OFF)" + -DBUILD_SSE="$(usex cpu_flags_x86_sse ON OFF)" + -DBUILD_BENCH=OFF + ) + cmake_src_configure +} diff --git a/media-plugins/artyfx/files/artyfx-1.3-lv2-compilation-fixes.patch b/media-plugins/artyfx/files/artyfx-1.3-lv2-compilation-fixes.patch new file mode 100644 index 0000000..43f9b5d --- /dev/null +++ b/media-plugins/artyfx/files/artyfx-1.3-lv2-compilation-fixes.patch @@ -0,0 +1,69 @@ +From 8c542627d936a01b1d97825e7f26a8e95633f7aa Mon Sep 17 00:00:00 2001 +From: David Runge +Date: Tue, 28 Apr 2020 21:45:29 +0200 +Subject: [PATCH 1/2] Fixing build for lv2 1.18.0 + +Replacing all instances of _LV2UI_Descriptor with LV2UI_Descriptor, +which was a breaking change introduced in lv2 1.18.0. +--- + friza/gui/ui.cxx | 2 +- + friza/gui/ui.hxx | 2 +- + src/avtk/lv2/testUi.cxx | 2 +- + src/ui/lv2_ui.cxx | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/friza/gui/ui.cxx b/friza/gui/ui.cxx +index 0768fb7..9e5763f 100644 +--- a/friza/gui/ui.cxx ++++ b/friza/gui/ui.cxx +@@ -46,7 +46,7 @@ typedef struct { + LV2UI_Controller controller; + } GUI; + +-LV2UI_Handle friza_instantiate(const struct _LV2UI_Descriptor * descriptor, ++LV2UI_Handle friza_instantiate(const struct LV2UI_Descriptor * descriptor, + const char * plugin_uri, + const char * bundle_path, + LV2UI_Write_Function write_function, +diff --git a/friza/gui/ui.hxx b/friza/gui/ui.hxx +index 9db0f5a..6c15dcc 100644 +--- a/friza/gui/ui.hxx ++++ b/friza/gui/ui.hxx +@@ -18,7 +18,7 @@ + * MA 02110-1301, USA. + */ + +-extern LV2UI_Handle friza_instantiate(const struct _LV2UI_Descriptor * descriptor, ++extern LV2UI_Handle friza_instantiate(const struct LV2UI_Descriptor * descriptor, + const char * plugin_uri, + const char * bundle_path, + LV2UI_Write_Function write_function, +diff --git a/src/avtk/lv2/testUi.cxx b/src/avtk/lv2/testUi.cxx +index 0917856..efd35e7 100644 +--- a/src/avtk/lv2/testUi.cxx ++++ b/src/avtk/lv2/testUi.cxx +@@ -10,7 +10,7 @@ + #include "../test_ui.hxx" + + +-static LV2UI_Handle avtk_instantiate(const struct _LV2UI_Descriptor * descriptor, ++static LV2UI_Handle avtk_instantiate(const struct LV2UI_Descriptor * descriptor, + const char * plugin_uri, + const char * bundle_path, + LV2UI_Write_Function write_function, +diff --git a/src/ui/lv2_ui.cxx b/src/ui/lv2_ui.cxx +index 8d74b4c..d8c8869 100644 +--- a/src/ui/lv2_ui.cxx ++++ b/src/ui/lv2_ui.cxx +@@ -33,7 +33,7 @@ + #include "whaaa.hxx" + + +-static LV2UI_Handle artyfx_instantiate(const struct _LV2UI_Descriptor * descriptor, ++static LV2UI_Handle artyfx_instantiate(const struct LV2UI_Descriptor * descriptor, + const char * plugin_uri, + const char * bundle_path, + LV2UI_Write_Function write_function, +-- +2.26.2 + diff --git a/media-plugins/artyfx/metadata.xml b/media-plugins/artyfx/metadata.xml new file mode 100644 index 0000000..c22a80e --- /dev/null +++ b/media-plugins/artyfx/metadata.xml @@ -0,0 +1,8 @@ + + + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + diff --git a/media-plugins/bitrot/bitrot-9999.ebuild b/media-plugins/bitrot/bitrot-9999.ebuild new file mode 100644 index 0000000..9fcc247 --- /dev/null +++ b/media-plugins/bitrot/bitrot-9999.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Required by waf +PYTHON_COMPAT=( python3_{6,7,8,9} ) +PYTHON_REQ_USE='threads(+)' + +inherit git-r3 python-any-r1 waf-utils + +DESCRIPTION="A set of LV2 and LADSPA plugins for glitch effects" +HOMEPAGE="https://github.com/grejppi/bitrot" +EGIT_REPO_URI="https://github.com/grejppi/bitrot.git" +KEYWORDS="" +LICENSE="Apache-2.0" +SLOT="0" + +BDEPEND="${PYTHON_DEPS}" + +src_prepare() { + # Fix hardcoded libdir + sed -i -e "s|\${{PREFIX}}/lib/|\${{PREFIX}}/$(get_libdir)/|" plugins/wscript || die "sed failed" + + default +} diff --git a/media-plugins/bitrot/metadata.xml b/media-plugins/bitrot/metadata.xml new file mode 100644 index 0000000..c22a80e --- /dev/null +++ b/media-plugins/bitrot/metadata.xml @@ -0,0 +1,8 @@ + + + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + diff --git a/media-plugins/deteriorate-lv2/Manifest b/media-plugins/deteriorate-lv2/Manifest new file mode 100644 index 0000000..4f7f731 --- /dev/null +++ b/media-plugins/deteriorate-lv2/Manifest @@ -0,0 +1 @@ +DIST deteriorate-lv2-1.0.7.tar.gz 385333 BLAKE2B 6ee4f790f143bb3756acdcbecab5f339fa53afbb1443a811c35c8ca74cd71b1bef6d43be5ef67d15d694f1a76b01c714b40e64e945f2443f769ee15abb4db8ad SHA512 dec154c7f45cb69906245993e03d5551ff06a052d50fae753d52643a1cf9ed60479c76d586bd0e9b7606cd4e5b3b866e80a791b9c21dd6cdd7415f9687ff847e diff --git a/media-plugins/deteriorate-lv2/deteriorate-lv2-1.0.7-r2.ebuild b/media-plugins/deteriorate-lv2/deteriorate-lv2-1.0.7-r2.ebuild new file mode 120000 index 0000000..578e455 --- /dev/null +++ b/media-plugins/deteriorate-lv2/deteriorate-lv2-1.0.7-r2.ebuild @@ -0,0 +1 @@ +deteriorate-lv2-9999.ebuild \ No newline at end of file diff --git a/media-plugins/deteriorate-lv2/deteriorate-lv2-9999.ebuild b/media-plugins/deteriorate-lv2/deteriorate-lv2-9999.ebuild new file mode 100644 index 0000000..3eec3cb --- /dev/null +++ b/media-plugins/deteriorate-lv2/deteriorate-lv2-9999.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Required by waf +PYTHON_COMPAT=( python3_{8,9} ) +PYTHON_REQ_USE='threads(+)' + +inherit python-any-r1 waf-utils + +DESCRIPTION="A set of plugins to deteriorate the sound quality" +HOMEPAGE="https://github.com/blablack/deteriorate-lv2" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/blablack/deteriorate-lv2.git" + KEYWORDS="" +else + SRC_URI="https://github.com/blablack/deteriorate-lv2/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi +LICENSE="GPL-3" +SLOT="0" +DOCS="" + +RDEPEND="dev-cpp/gtkmm:2.4 + x11-libs/gtk+:2 + x11-libs/cairo + media-libs/lv2 + media-libs/lvtk[gtk2]" + +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS}" + +PATCHES="${FILESDIR}/${PN}-1.0.7-wscript-fix-duplicate-manifest-install.patch" diff --git a/media-plugins/deteriorate-lv2/files/deteriorate-lv2-1.0.7-wscript-fix-duplicate-manifest-install.patch b/media-plugins/deteriorate-lv2/files/deteriorate-lv2-1.0.7-wscript-fix-duplicate-manifest-install.patch new file mode 100644 index 0000000..87b3c64 --- /dev/null +++ b/media-plugins/deteriorate-lv2/files/deteriorate-lv2-1.0.7-wscript-fix-duplicate-manifest-install.patch @@ -0,0 +1,35 @@ +From f27deec4f439dc1b188e1599274fdb8a29a65b7e Mon Sep 17 00:00:00 2001 +From: Simon van der Veldt +Date: Mon, 21 Feb 2022 21:38:29 +0100 +Subject: [PATCH] wscript: Fix duplicate manifest install + +--- + wscript | 13 +++++-------- + 1 file changed, 5 insertions(+), 8 deletions(-) + +diff --git a/wscript b/wscript +index 26781ad..cd2fe8b 100644 +--- a/wscript ++++ b/wscript +@@ -103,14 +103,11 @@ def build(bld): + tgt = task.outputs[0].abspath() + return shutil.copy(src, tgt) + +- for i in bld.path.ant_glob('deteriorate.lv2/*.ttl'): +- bld(features = 'subst', +- is_copy = True, +- source = i, +- target = 'deteriorate.lv2/%s' % i.name, +- install_path = '${LV2DIR}/deteriorate.lv2') +- +- ++ bld(features = 'subst', ++ is_copy = True, ++ source = 'deteriorate.lv2/manifest.ttl', ++ target = 'deteriorate.lv2/manifest.ttl', ++ install_path = '${LV2DIR}/deteriorate.lv2') + + plugins = ''' + downsampler_mono +-- +2.34.1 diff --git a/media-plugins/deteriorate-lv2/metadata.xml b/media-plugins/deteriorate-lv2/metadata.xml new file mode 100644 index 0000000..c22a80e --- /dev/null +++ b/media-plugins/deteriorate-lv2/metadata.xml @@ -0,0 +1,8 @@ + + + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + diff --git a/media-plugins/dragonfly-reverb/Manifest b/media-plugins/dragonfly-reverb/Manifest new file mode 100644 index 0000000..4ac8042 --- /dev/null +++ b/media-plugins/dragonfly-reverb/Manifest @@ -0,0 +1,2 @@ +DIST DragonflyReverb-Source-v3.2.1.tar.gz 22944035 BLAKE2B c198cea906f3346585139ad8cc0b6c89d617e12c8e796d32b4d93d24347a6d916f69f0460016217e35d5c1177939e0debefd5311d30846192f74a5a2694604e7 SHA512 63e0f47e8a3197aa65603085e89e4e819580f551be4a2d1c9eedaa479ec9328d9ebd3193f0f4631f06416d7af4859cc9134f23e386209e8b92f60c182203897a +DIST DragonflyReverb-Source-v3.2.3.tar.gz 22934509 BLAKE2B 43a75bc1aba4c8a6d4be6d4f01fd05024c1d58f8d4dc9421330ab5f12c46400df9803315bbca0a72fe210fed8e16bd7ee56bd14b5fcdfe5cee36bdb7b8f828d1 SHA512 04ca36db8ba5a58c264a5b885d2f84a4ea4595145a1883e103d25e638eeaa0ee85a2abdd86e37f55875c8f432bdb6671c6f455babdd55496ea8fbe4f680481aa diff --git a/media-plugins/dragonfly-reverb/dragonfly-reverb-3.2.1.ebuild b/media-plugins/dragonfly-reverb/dragonfly-reverb-3.2.1.ebuild new file mode 120000 index 0000000..0b56974 --- /dev/null +++ b/media-plugins/dragonfly-reverb/dragonfly-reverb-3.2.1.ebuild @@ -0,0 +1 @@ +dragonfly-reverb-9999.ebuild \ No newline at end of file diff --git a/media-plugins/dragonfly-reverb/dragonfly-reverb-3.2.3.ebuild b/media-plugins/dragonfly-reverb/dragonfly-reverb-3.2.3.ebuild new file mode 120000 index 0000000..0b56974 --- /dev/null +++ b/media-plugins/dragonfly-reverb/dragonfly-reverb-3.2.3.ebuild @@ -0,0 +1 @@ +dragonfly-reverb-9999.ebuild \ No newline at end of file diff --git a/media-plugins/dragonfly-reverb/dragonfly-reverb-9999.ebuild b/media-plugins/dragonfly-reverb/dragonfly-reverb-9999.ebuild new file mode 100644 index 0000000..eab366a --- /dev/null +++ b/media-plugins/dragonfly-reverb/dragonfly-reverb-9999.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="A set of free reverb effects" +HOMEPAGE="https://github.com/michaelwillis/dragonfly-reverb" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 autotools + EGIT_REPO_URI="https://github.com/michaelwillis/dragonfly-reverb.git" + KEYWORDS="" +else + SRC_URI="https://github.com/michaelwillis/dragonfly-reverb/releases/download/${PV}/DragonflyReverb-Source-v${PV}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/DragonflyReverb-Source-v${PV}" +fi +LICENSE="GPL-3" +SLOT="0" +IUSE="standalone" +RESTRICT=mirror + +RDEPEND="x11-libs/libX11 +virtual/opengl +standalone? ( virtual/jack ) +" + +DOCS=( README.md ) + +src_prepare() { + default + + # Remove automagic deps + sed -i -re '/^HAVE_(CAIRO|OPENGL|X11|JACK|LIBLO)/d' dpf/Makefile.base.mk || die 'sed failed' +} + +src_configure() { + echo "Nothing to configure" +} + +src_compile() { + # The plugin claims to support using system Freeverb3, but then goes on to + # use bundled headers instead of system headers. This is a recipe for + # ABI disaster. Since this is a reverb plugin anyway, using a separately + # versioned freeverb seems like more likely to run into compat trouble, so + # let's just stick to the bundled version. + emake \ + SYSTEM_FREEVERB3=false \ + HAVE_OPENGL=true \ + HAVE_X11=true \ + SKIP_STRIPPING=true \ + HAVE_JACK=$(usex standalone true false) +} + +src_install() { + einstalldocs + + cd "${S}/bin" + + use standalone && dobin $(ls -d Dragonfly* | grep -v '\.') + + exeinto "/usr/$(get_libdir)/vst" + doexe Dragonfly*-vst.so + + for i in Dragonfly*.lv2; do + exeinto "/usr/$(get_libdir)/lv2/${i}" + insinto "/usr/$(get_libdir)/lv2/${i}" + doexe "${i}"/*.so + doins "${i}"/*.ttl + done +} diff --git a/media-plugins/dragonfly-reverb/metadata.xml b/media-plugins/dragonfly-reverb/metadata.xml new file mode 100644 index 0000000..aac4ee7 --- /dev/null +++ b/media-plugins/dragonfly-reverb/metadata.xml @@ -0,0 +1,11 @@ + + + + + marcan@marcan.st + Hector Martin + + + Enable building of standalone application + + diff --git a/media-plugins/fabla/Manifest b/media-plugins/fabla/Manifest new file mode 100644 index 0000000..f8f0215 --- /dev/null +++ b/media-plugins/fabla/Manifest @@ -0,0 +1 @@ +DIST fabla-1.3.2.tar.gz 1622603 BLAKE2B 1eb4739acbaaa882fa05487219f8986f7133117d8f5d934620d70a804bf96abf7934271e20d804d14224edc7224183a513191b95b9b663071a412f5871e05799 SHA512 009aa11b50743fe3a8f401657b0c67eb9e8b757f35d713d07e763a23f5e3e5be398858a766e6b116be85fae11969baddafd5d98623858cf0ebedc2a8e3b02f66 diff --git a/media-plugins/fabla/fabla-1.3.2-r1.ebuild b/media-plugins/fabla/fabla-1.3.2-r1.ebuild new file mode 100644 index 0000000..c8644da --- /dev/null +++ b/media-plugins/fabla/fabla-1.3.2-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="LV2 drum sampler plugin" +HOMEPAGE="http://openavproductions.com/fabla" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openAVproductions/openAV-Fabla.git" + KEYWORDS="" +else + SRC_URI="https://github.com/openAVproductions/openAV-Fabla/archive/release-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/openAV-Fabla-release-${PV}" + RESTRICT="mirror" +fi +LICENSE="GPL-2" +SLOT="1" + +IUSE="" + +RDEPEND="media-libs/lv2 + media-libs/libsndfile + >=x11-libs/ntk-1.3.1000 + media-libs/mesa" +DEPEND="${RDEPEND}" + +PATCHES="${FILESDIR}/${PN}-1-gcc-9-remove-leading-underscore.patch" + +src_prepare() { + # Fix hardcoded libdir + sed -i -e "s|lib/lv2|$(get_libdir)/lv2|" CMakeLists.txt || die "sed failed" + + cmake_src_prepare +} diff --git a/media-plugins/fabla/fabla-1.9999.ebuild b/media-plugins/fabla/fabla-1.9999.ebuild new file mode 100644 index 0000000..afcb219 --- /dev/null +++ b/media-plugins/fabla/fabla-1.9999.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="LV2 drum sampler plugin" +HOMEPAGE="http://openavproductions.com/fabla" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openAVproductions/openAV-Fabla.git" + KEYWORDS="" +else + SRC_URI="https://github.com/openAVproductions/openAV-Fabla/archive/release-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/openAV-Fabla-release-${PV}" + RESTRICT="mirror" +fi +LICENSE="GPL-2" +SLOT="1" + +IUSE="" + +RDEPEND="media-libs/lv2 + media-libs/libsndfile + >=x11-libs/ntk-1.3.1000 + media-libs/mesa" +DEPEND="${RDEPEND}" + +src_prepare() { + # Fix hardcoded libdir + sed -i -e "s|lib/lv2|$(get_libdir)/lv2|" CMakeLists.txt || die "sed failed" + + cmake_src_prepare +} diff --git a/media-plugins/fabla/fabla-2.9999.ebuild b/media-plugins/fabla/fabla-2.9999.ebuild new file mode 100644 index 0000000..7fc7f9e --- /dev/null +++ b/media-plugins/fabla/fabla-2.9999.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake git-r3 + +DESCRIPTION="LV2 drum sampler plugin" +HOMEPAGE="http://openavproductions.com/fabla2" +EGIT_REPO_URI="https://github.com/openAVproductions/openAV-Fabla2.git" +KEYWORDS="" +LICENSE="GPL-2" +SLOT="2" + +IUSE="+X" + +RDEPEND="media-libs/lv2 + media-libs/libsndfile + media-libs/libsamplerate + X? ( x11-libs/cairo[X] )" +DEPEND="${RDEPEND}" + +src_prepare() { + # Fix hardcoded libdir + sed -i -e "s|lib/lv2|$(get_libdir)/lv2|" CMakeLists.txt || die "sed failed" + + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DBUILD_GUI="$(usex X ON OFF)" + ) + cmake_src_configure +} diff --git a/media-plugins/fabla/files/fabla-1-gcc-9-remove-leading-underscore.patch b/media-plugins/fabla/files/fabla-1-gcc-9-remove-leading-underscore.patch new file mode 100644 index 0000000..d8e9f33 --- /dev/null +++ b/media-plugins/fabla/files/fabla-1-gcc-9-remove-leading-underscore.patch @@ -0,0 +1,25 @@ +From 34426a0e13a2e09d915a74000b95d0278fe15ba4 Mon Sep 17 00:00:00 2001 +From: Simon van der Veldt +Date: Mon, 17 Aug 2020 23:25:52 +0200 +Subject: [PATCH] Remove leading underscore to fix compilation with gcc-9.3.0 + +--- + gui/fabla_ui.cxx | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gui/fabla_ui.cxx b/gui/fabla_ui.cxx +index a722d98..2e721f3 100644 +--- a/gui/fabla_ui.cxx ++++ b/gui/fabla_ui.cxx +@@ -52,7 +52,7 @@ extern void initForge(Fabla*); + extern void writeUpdateUiPaths(Fabla*); + extern void writeLoadSample(Fabla* self, int pad, const char* filename, size_t filename_len); + +-static LV2UI_Handle instantiate(const struct _LV2UI_Descriptor * descriptor, ++static LV2UI_Handle instantiate(const struct LV2UI_Descriptor * descriptor, + const char * plugin_uri, + const char * bundle_path, + LV2UI_Write_Function write_function, +-- +2.26.2 + diff --git a/media-plugins/fabla/metadata.xml b/media-plugins/fabla/metadata.xml new file mode 100644 index 0000000..c22a80e --- /dev/null +++ b/media-plugins/fabla/metadata.xml @@ -0,0 +1,8 @@ + + + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + diff --git a/media-plugins/mverb/files/mverb-allow-configuring-which-plugin-types-to-build.patch b/media-plugins/mverb/files/mverb-allow-configuring-which-plugin-types-to-build.patch new file mode 100644 index 0000000..cffca57 --- /dev/null +++ b/media-plugins/mverb/files/mverb-allow-configuring-which-plugin-types-to-build.patch @@ -0,0 +1,50 @@ +From 695b79a231ed7edf9a3cddebc8c7f430983f316b Mon Sep 17 00:00:00 2001 +From: Simon van der Veldt +Date: Sun, 30 Apr 2017 10:56:40 +0200 +Subject: [PATCH] Allow configuring which plugin types to build + +--- + plugins/MVerb/Makefile | 19 ++++++++++++++++++- + 1 file changed, 18 insertions(+), 1 deletion(-) + +diff --git a/plugins/MVerb/Makefile b/plugins/MVerb/Makefile +index 337780b..c318a7c 100644 +--- a/plugins/MVerb/Makefile ++++ b/plugins/MVerb/Makefile +@@ -28,15 +28,32 @@ include ../../dpf/Makefile.plugins.mk + # -------------------------------------------------------------- + # Enable all possible plugin types + ++ifeq ($(HAVE_JACK),true) + TARGETS += jack ++endif ++ ++ifeq ($(BUILD_LADSPA),true) + TARGETS += ladspa ++endif ++ ++ifeq ($(BUILD_LV2),true) ++TARGETS += lv2_dsp ++ifeq ($(HAVE_DGL),true) + TARGETS += lv2_sep ++endif ++endif ++ ++ifeq ($(BUILD_VST),true) + TARGETS += vst2 + TARGETS += vst3 ++endif + ++ifeq ($(BUILD_DSSI),true) ++TARGETS += dssi_dsp + ifeq ($(HAVE_DGL),true) + ifeq ($(HAVE_LIBLO),true) +-TARGETS += dssi ++TARGETS += dssi_ui ++endif + endif + endif + +-- +2.34.1 + diff --git a/media-plugins/mverb/metadata.xml b/media-plugins/mverb/metadata.xml new file mode 100644 index 0000000..12dc654 --- /dev/null +++ b/media-plugins/mverb/metadata.xml @@ -0,0 +1,15 @@ + + + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + + Enable building of DSSI plugin + Enable building of LADSPA plugin + Enable building of LV2 plugin + Enable building of standalone application + Enable building of VST plugin + + diff --git a/media-plugins/mverb/mverb-9999.ebuild b/media-plugins/mverb/mverb-9999.ebuild new file mode 100644 index 0000000..f5aa137 --- /dev/null +++ b/media-plugins/mverb/mverb-9999.ebuild @@ -0,0 +1,67 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit git-r3 desktop + +DESCRIPTION="Studio quality, open-source reverb" +HOMEPAGE="https://distrho.sourceforge.io/ports.php" +EGIT_REPO_URI="https://github.com/DISTRHO/MVerb.git" +KEYWORDS="" +LICENSE="GPL-3" +SLOT="0" + +IUSE="dssi ladspa +lv2 standalone vst" + +REQUIRED_USE="|| ( dssi ladspa lv2 vst standalone )" + +RDEPEND="media-libs/mesa + x11-libs/libX11 + standalone? ( virtual/jack ) + dssi? ( media-libs/liblo )" +DEPEND="${RDEPEND}" + +PATCHES="${FILESDIR}/${PN}-allow-configuring-which-plugin-types-to-build.patch" + +src_compile() { + myemakeargs=( + SKIP_STRIPPING=true + HAVE_JACK=$(usex standalone true false) + HAVE_LIBLO=$(usex dssi true false) + BUILD_DSSI=$(usex dssi true false) + BUILD_LADSPA=$(usex ladspa true false) + BUILD_LV2=$(usex lv2 true false) + BUILD_VST=$(usex vst true false) + ) + + emake "${myemakeargs[@]}" +} + +src_install() { + if use standalone; then + dobin bin/MVerb + make_desktop_entry MVerb MVerb ${PN} "AudioVideo;AudioVideoEditing" + fi + if use dssi; then + insopts -m0755 + insinto /usr/$(get_libdir)/dssi + doins bin/MVerb-dssi.so + doins -r bin/MVerb-dssi + fi + if use ladspa; then + insopts -m0755 + insinto /usr/$(get_libdir)/ladspa + doins bin/MVerb-ladspa.so + fi + if use lv2; then + insopts -m0755 + insinto /usr/$(get_libdir)/lv2 + doins -r bin/MVerb.lv2 + fi + if use vst; then + insopts -m0755 + insinto /usr/$(get_libdir)/vst + doins bin/MVerb-vst.so + fi +} diff --git a/media-plugins/nekobi/files/nekobi-allow-configuring-which-plugin-types-to-build.patch b/media-plugins/nekobi/files/nekobi-allow-configuring-which-plugin-types-to-build.patch new file mode 100644 index 0000000..8295d3b --- /dev/null +++ b/media-plugins/nekobi/files/nekobi-allow-configuring-which-plugin-types-to-build.patch @@ -0,0 +1,71 @@ +From a63a5a9dd856c79e7e5067d6e528cfed51c4536d Mon Sep 17 00:00:00 2001 +From: Simon van der Veldt +Date: Fri, 28 Apr 2017 12:46:09 +0200 +Subject: [PATCH] Allow configuring which plugin types to build + +--- + Makefile | 4 ++++ + plugins/Nekobi/Makefile | 10 +++++++++- + 2 files changed, 13 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index e63a9bf..8969833 100644 +--- a/Makefile ++++ b/Makefile +@@ -19,6 +19,7 @@ plugins: dgl + $(MAKE) all -C plugins/Nekobi + + ifneq ($(CROSS_COMPILING),true) ++ifeq ($(BUILD_LV2),true) + gen: plugins dpf/utils/lv2_ttl_generator + @$(CURDIR)/dpf/utils/generate-ttl.sh + +@@ -27,6 +28,9 @@ dpf/utils/lv2_ttl_generator: + else + gen: + endif ++else ++gen: ++endif + + # -------------------------------------------------------------- + +diff --git a/plugins/Nekobi/Makefile b/plugins/Nekobi/Makefile +index 98b5f94..18a77c4 100644 +--- a/plugins/Nekobi/Makefile ++++ b/plugins/Nekobi/Makefile +@@ -35,23 +35,31 @@ LINK_FLAGS += -pthread + # -------------------------------------------------------------- + # Enable all possible plugin types + ++ifeq ($(HAVE_JACK),true) + TARGETS += jack +-TARGETS += dssi_dsp ++endif + ++ifeq ($(BUILD_DSSI),true) ++TARGETS += dssi_dsp + ifeq ($(HAVE_CAIRO_OR_OPENGL),true) + ifeq ($(HAVE_LIBLO),true) + TARGETS += dssi_ui + endif + endif ++endif + ++ifeq ($(BUILD_LV2),true) + ifeq ($(HAVE_CAIRO_OR_OPENGL),true) + TARGETS += lv2_sep + else + TARGETS += lv2_dsp + endif ++endif + ++ifeq ($(BUILD_VST),true) + TARGETS += vst2 + TARGETS += vst3 ++endif + + all: $(TARGETS) + +-- +2.34.1 diff --git a/media-plugins/nekobi/metadata.xml b/media-plugins/nekobi/metadata.xml new file mode 100644 index 0000000..be2c047 --- /dev/null +++ b/media-plugins/nekobi/metadata.xml @@ -0,0 +1,14 @@ + + + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + + Enable building of DSSI plugin + Enable building of LV2 plugin + Enable building of VST plugin + Enable building of standalone application + + diff --git a/media-plugins/nekobi/nekobi-9999.ebuild b/media-plugins/nekobi/nekobi-9999.ebuild new file mode 100644 index 0000000..abc6393 --- /dev/null +++ b/media-plugins/nekobi/nekobi-9999.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit git-r3 desktop + +DESCRIPTION="Simple single-oscillator synth based on the Roland TB-303" +HOMEPAGE="https://distrho.sourceforge.io/plugins.php" +EGIT_REPO_URI="https://github.com/DISTRHO/Nekobi.git" +KEYWORDS="" +LICENSE="GPL-2" +SLOT="0" + +IUSE="dssi +lv2 standalone vst" + +REQUIRED_USE="|| ( dssi lv2 vst standalone )" + +RDEPEND="media-libs/mesa + x11-libs/libX11 + standalone? ( virtual/jack ) + dssi? ( media-libs/liblo )" +DEPEND="${RDEPEND}" + +PATCHES="${FILESDIR}/${PN}-allow-configuring-which-plugin-types-to-build.patch" + +src_compile() { + myemakeargs=( + SKIP_STRIPPING=true + HAVE_JACK=$(usex standalone true false) + HAVE_LIBLO=$(usex dssi true false) + BUILD_DSSI=$(usex dssi true false) + BUILD_LV2=$(usex lv2 true false) + BUILD_VST=$(usex vst true false) + ) + + emake "${myemakeargs[@]}" +} + +src_install() { + if use standalone; then + dobin bin/Nekobi + newicon plugins/Nekobi/artwork/tail.png ${PN}.png + make_desktop_entry Nekobi Nekobi ${PN} "AudioVideo;AudioVideoEditing" + fi + if use dssi; then + insopts -m0755 + insinto /usr/$(get_libdir)/dssi + doins bin/Nekobi-dssi.so + doins -r bin/Nekobi-dssi + fi + if use lv2; then + insopts -m0755 + insinto /usr/$(get_libdir)/lv2 + doins -r bin/Nekobi.lv2 + fi + if use vst; then + insopts -m0755 + insinto /usr/$(get_libdir)/vst + doins bin/Nekobi-vst.so + fi +} diff --git a/media-plugins/opnplug/Manifest b/media-plugins/opnplug/Manifest new file mode 100644 index 0000000..2a17574 --- /dev/null +++ b/media-plugins/opnplug/Manifest @@ -0,0 +1 @@ +DIST ADLplug-1.0.2.tar.xz 7020056 BLAKE2B ea049a6373fdd05f6401766f077819de704748055569a67aabb27e6064d922a28f635d8322914a5c418875b09a0152efa3ac4a3ae32400b12e31ae10166ceffb SHA512 53192a622de528d4dd06dbd8411b5d1ba8346e9f181fd160fa14c2cf402a819ff354212ced59e13b11738ef6bf696cb0927a67c2e97ef94ade70acb29807f5cc diff --git a/media-plugins/opnplug/files/adlplug-juce-fix-gcc9-compatibility.patch b/media-plugins/opnplug/files/adlplug-juce-fix-gcc9-compatibility.patch new file mode 100644 index 0000000..fac2694 --- /dev/null +++ b/media-plugins/opnplug/files/adlplug-juce-fix-gcc9-compatibility.patch @@ -0,0 +1,165 @@ +From e1357cd105d2a1c915128cb7263d293071959658 Mon Sep 17 00:00:00 2001 +From: Simon van der Veldt +Date: Sat, 23 Jan 2021 23:31:26 +0100 +Subject: [PATCH] GCC 9 compatibility fixes + +Applies https://github.com/WeAreROLI/JUCE/commit/4e0adb2af8b424c43d22bd431011c9a6c57d36b6 to the included JUCE sources +--- + .../juce_graphics/colour/juce_PixelFormats.h | 34 +++--------- + .../native/juce_RenderingHelpers.h | 52 ++----------------- + 2 files changed, 9 insertions(+), 77 deletions(-) + +diff --git a/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h b/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h +index 69a66e4..326d485 100644 +--- a/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h ++++ b/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h +@@ -107,22 +107,9 @@ public: + + //============================================================================== + forcedinline uint8 getAlpha() const noexcept { return components.a; } +- forcedinline uint8 getRed() const noexcept { return components.r; } ++ forcedinline uint8 getRed() const noexcept { return components.r; } + forcedinline uint8 getGreen() const noexcept { return components.g; } +- forcedinline uint8 getBlue() const noexcept { return components.b; } +- +- #if JUCE_GCC +- // NB these are here as a workaround because GCC refuses to bind to packed values. +- forcedinline uint8& getAlpha() noexcept { return comps [indexA]; } +- forcedinline uint8& getRed() noexcept { return comps [indexR]; } +- forcedinline uint8& getGreen() noexcept { return comps [indexG]; } +- forcedinline uint8& getBlue() noexcept { return comps [indexB]; } +- #else +- forcedinline uint8& getAlpha() noexcept { return components.a; } +- forcedinline uint8& getRed() noexcept { return components.r; } +- forcedinline uint8& getGreen() noexcept { return components.g; } +- forcedinline uint8& getBlue() noexcept { return components.b; } +- #endif ++ forcedinline uint8 getBlue() const noexcept { return components.b; } + + //============================================================================== + /** Copies another pixel colour over this one. +@@ -342,9 +329,6 @@ private: + { + uint32 internal; + Components components; +- #if JUCE_GCC +- uint8 comps[4]; // helper struct needed because gcc does not allow references to packed union members +- #endif + }; + } + #ifndef DOXYGEN +@@ -429,13 +413,9 @@ public: + + //============================================================================== + forcedinline uint8 getAlpha() const noexcept { return 0xff; } +- forcedinline uint8 getRed() const noexcept { return r; } ++ forcedinline uint8 getRed() const noexcept { return r; } + forcedinline uint8 getGreen() const noexcept { return g; } +- forcedinline uint8 getBlue() const noexcept { return b; } +- +- forcedinline uint8& getRed() noexcept { return r; } +- forcedinline uint8& getGreen() noexcept { return g; } +- forcedinline uint8& getBlue() noexcept { return b; } ++ forcedinline uint8 getBlue() const noexcept { return b; } + + //============================================================================== + /** Copies another pixel colour over this one. +@@ -652,11 +632,9 @@ public: + + //============================================================================== + forcedinline uint8 getAlpha() const noexcept { return a; } +- forcedinline uint8& getAlpha() noexcept { return a; } +- +- forcedinline uint8 getRed() const noexcept { return 0; } ++ forcedinline uint8 getRed() const noexcept { return 0; } + forcedinline uint8 getGreen() const noexcept { return 0; } +- forcedinline uint8 getBlue() const noexcept { return 0; } ++ forcedinline uint8 getBlue() const noexcept { return 0; } + + //============================================================================== + /** Copies another pixel colour over this one. +diff --git a/thirdparty/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h b/thirdparty/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h +index 39e46db..e5f66b4 100644 +--- a/thirdparty/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h ++++ b/thirdparty/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h +@@ -581,18 +581,10 @@ namespace EdgeTableFillers + : destData (image), sourceColour (colour) + { + if (sizeof (PixelType) == 3 && (size_t) destData.pixelStride == sizeof (PixelType)) +- { + areRGBComponentsEqual = sourceColour.getRed() == sourceColour.getGreen() + && sourceColour.getGreen() == sourceColour.getBlue(); +- filler[0].set (sourceColour); +- filler[1].set (sourceColour); +- filler[2].set (sourceColour); +- filler[3].set (sourceColour); +- } + else +- { + areRGBComponentsEqual = false; +- } + } + + forcedinline void setEdgeTableYPos (int y) noexcept +@@ -674,7 +666,6 @@ namespace EdgeTableFillers + const Image::BitmapData& destData; + PixelType* linePixels; + PixelARGB sourceColour; +- PixelRGB filler[4]; + bool areRGBComponentsEqual; + + forcedinline PixelType* getPixel (int x) const noexcept +@@ -689,47 +680,10 @@ namespace EdgeTableFillers + + forcedinline void replaceLine (PixelRGB* dest, PixelARGB colour, int width) const noexcept + { +- if ((size_t) destData.pixelStride == sizeof (*dest)) +- { +- if (areRGBComponentsEqual) // if all the component values are the same, we can cheat.. +- { +- memset ((void*) dest, colour.getRed(), (size_t) width * 3); +- } +- else +- { +- if (width >> 5) +- { +- auto intFiller = reinterpret_cast (filler); +- +- while (width > 8 && (((pointer_sized_int) dest) & 7) != 0) +- { +- dest->set (colour); +- ++dest; +- --width; +- } +- +- while (width > 4) +- { +- auto d = reinterpret_cast (dest); +- *d++ = intFiller[0]; +- *d++ = intFiller[1]; +- *d++ = intFiller[2]; +- dest = reinterpret_cast (d); +- width -= 4; +- } +- } +- +- while (--width >= 0) +- { +- dest->set (colour); +- ++dest; +- } +- } +- } ++ if ((size_t) destData.pixelStride == sizeof (*dest) && areRGBComponentsEqual) ++ memset ((void*) dest, colour.getRed(), (size_t) width * 3); // if all the component values are the same, we can cheat.. + else +- { +- JUCE_PERFORM_PIXEL_OP_LOOP (set (colour)) +- } ++ JUCE_PERFORM_PIXEL_OP_LOOP (set (colour)); + } + + forcedinline void replaceLine (PixelAlpha* dest, const PixelARGB colour, int width) const noexcept +-- +2.26.2 + diff --git a/media-plugins/opnplug/metadata.xml b/media-plugins/opnplug/metadata.xml new file mode 100644 index 0000000..5991ec4 --- /dev/null +++ b/media-plugins/opnplug/metadata.xml @@ -0,0 +1,18 @@ + + + + + Zoë Sparks + zoe@milky.flowers + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + + Enable building of LV2 plugin + Enable building of VST plugin + Enable building of standalone application + Enable New Session Manager support + + diff --git a/media-plugins/opnplug/opnplug-1.0.2.ebuild b/media-plugins/opnplug/opnplug-1.0.2.ebuild new file mode 100644 index 0000000..fe851a3 --- /dev/null +++ b/media-plugins/opnplug/opnplug-1.0.2.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit xdg cmake + +DESCRIPTION="FM synthesizer plugin based on OPN2 sound chip emulation" +HOMEPAGE="https://github.com/jpcima/ADLplug" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/jpcima/adlplug.git" + KEYWORDS="" +else + SRC_URI="https://github.com/jpcima/adlplug/releases/download/v${PV}/ADLplug-${PV}.tar.xz" + KEYWORDS="~amd64" + S="${WORKDIR}/ADLplug-${PV}" +fi +LICENSE="Boost-1.0 GPL-3 GPL-2 LGPL-2.1" +SLOT="0" +RESTRICT="mirror" + +IUSE="lv2 nsm standalone vst" +REQUIRED_USE=" + || ( lv2 standalone vst ) + nsm? ( standalone ) +" + +DEPEND="media-libs/alsa-lib + media-libs/freetype + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXrandr + standalone? ( virtual/jack ) + nsm? ( + media-libs/liblo + media-sound/new-session-manager + ) +" +RDEPEND="${DEPEND}" + +PATCHES="${FILESDIR}/adlplug-juce-fix-gcc9-compatibility.patch" + +src_configure() { + local mycmakeargs=( + -DADLplug_CHIP=OPN2 + -DADLplug_LV2="$(usex lv2)" + -DADLplug_VST2="$(usex vst)" + -DADLplug_Standalone="$(usex standalone)" + -DADLplug_Jack="$(usex standalone)" + ) + + cmake_src_configure +} diff --git a/media-plugins/opnplug/opnplug-9999.ebuild b/media-plugins/opnplug/opnplug-9999.ebuild new file mode 100644 index 0000000..bea88aa --- /dev/null +++ b/media-plugins/opnplug/opnplug-9999.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit xdg cmake + +DESCRIPTION="FM synthesizer plugin based on OPN2 sound chip emulation" +HOMEPAGE="https://github.com/jpcima/ADLplug" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/jpcima/adlplug.git" + KEYWORDS="" +else + SRC_URI="https://github.com/jpcima/adlplug/releases/download/v${PV}/ADLplug-${PV}.tar.xz" + KEYWORDS="~amd64" + S="${WORKDIR}/ADLplug-${PV}" +fi +LICENSE="Boost-1.0 GPL-3 GPL-2 LGPL-2.1" +SLOT="0" +RESTRICT="mirror" + +IUSE="lv2 nsm standalone vst" +REQUIRED_USE=" + || ( lv2 standalone vst ) + nsm? ( standalone ) +" + +DEPEND="media-libs/alsa-lib + media-libs/freetype + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXinerama + x11-libs/libXrandr + standalone? ( virtual/jack ) + nsm? ( + media-libs/liblo + media-sound/new-session-manager + ) +" +RDEPEND="${DEPEND}" + +src_configure() { + local mycmakeargs=( + -DADLplug_CHIP=OPN2 + -DADLplug_LV2="$(usex lv2)" + -DADLplug_VST2="$(usex vst)" + -DADLplug_Standalone="$(usex standalone)" + -DADLplug_Jack="$(usex standalone)" + ) + + cmake_src_configure +} diff --git a/media-plugins/sorcer/Manifest b/media-plugins/sorcer/Manifest new file mode 100644 index 0000000..48feb38 --- /dev/null +++ b/media-plugins/sorcer/Manifest @@ -0,0 +1 @@ +DIST sorcer-1.1.3.tar.gz 158961 BLAKE2B 917f5595343f62126470c47b2c0e89912437871c9bdbccbbeb72b962a32b9a864506dc0c329e0fa4e7b754a529a2cbd4ac704ea175eb8435bf364c06cf28c9de SHA512 d03db6b7d62e785c0428636a0d0f77cbbfd6991f994bccb120317a96a9866e978fae66e6dd0c6a6cd2763147f427bb7ba20f01cd06356797042ff42caaa1eab0 diff --git a/media-plugins/sorcer/files/sorcer-gcc-9-remove-leading-underscore.patch b/media-plugins/sorcer/files/sorcer-gcc-9-remove-leading-underscore.patch new file mode 100644 index 0000000..7ad1e58 --- /dev/null +++ b/media-plugins/sorcer/files/sorcer-gcc-9-remove-leading-underscore.patch @@ -0,0 +1,34 @@ +From 872c11e1f289b43a50a7aa1eed550fac59a8957c Mon Sep 17 00:00:00 2001 +From: Simon van der Veldt +Date: Tue, 18 Aug 2020 17:43:03 +0200 +Subject: [PATCH] Remove leading underscore to fix compilation with gcc-9.3.0 + +--- + gui/sorcer_ui.cxx | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gui/sorcer_ui.cxx b/gui/sorcer_ui.cxx +index 60edbe4..f0afd06 100644 +--- a/gui/sorcer_ui.cxx ++++ b/gui/sorcer_ui.cxx +@@ -37,14 +37,14 @@ using namespace std; + + typedef struct { + SorcerUI* widget; +- ++ + float sidechainAmp; +- ++ + LV2UI_Write_Function write_function; + LV2UI_Controller controller; + } SorcerGUI; + +-static LV2UI_Handle instantiate(const struct _LV2UI_Descriptor * descriptor, ++static LV2UI_Handle instantiate(const struct LV2UI_Descriptor * descriptor, + const char * plugin_uri, + const char * bundle_path, + LV2UI_Write_Function write_function, +-- +2.26.2 + diff --git a/media-plugins/sorcer/metadata.xml b/media-plugins/sorcer/metadata.xml new file mode 100644 index 0000000..c22a80e --- /dev/null +++ b/media-plugins/sorcer/metadata.xml @@ -0,0 +1,8 @@ + + + + + simon.vanderveldt+audio-overlay@gmail.com + Simon van der Veldt + + diff --git a/media-plugins/sorcer/sorcer-1.1.3-r1.ebuild b/media-plugins/sorcer/sorcer-1.1.3-r1.ebuild new file mode 100644 index 0000000..b0de846 --- /dev/null +++ b/media-plugins/sorcer/sorcer-1.1.3-r1.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="Polyphonic wavetable synth LV2 plugin" +HOMEPAGE="http://openavproductions.com/sorcer" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openAVproductions/openAV-Sorcer.git" + KEYWORDS="" +else + SRC_URI="https://github.com/openAVproductions/openAV-Sorcer/archive/release-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/openAV-Sorcer-release-${PV}" +fi +LICENSE="GPL-2" +SLOT="0" + +IUSE="" +REQUIRED_USE="" + +RDEPEND="media-libs/lv2 + dev-libs/boost + >=x11-libs/ntk-1.3.1000" +DEPEND="${RDEPEND}" + +PATCHES="${FILESDIR}/${PN}-gcc-9-remove-leading-underscore.patch" + +src_prepare() { + # Fix hardcoded libdir + sed -i -e "s|lib/lv2|$(get_libdir)/lv2|" CMakeLists.txt || die "sed failed" + + cmake_src_prepare +} diff --git a/media-plugins/sorcer/sorcer-9999.ebuild b/media-plugins/sorcer/sorcer-9999.ebuild new file mode 100644 index 0000000..d9367d3 --- /dev/null +++ b/media-plugins/sorcer/sorcer-9999.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="Polyphonic wavetable synth LV2 plugin" +HOMEPAGE="http://openavproductions.com/sorcer" +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/openAVproductions/openAV-Sorcer.git" + KEYWORDS="" +else + SRC_URI="https://github.com/openAVproductions/openAV-Sorcer/archive/release-${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/openAV-Sorcer-release-${PV}" +fi +LICENSE="GPL-2" +SLOT="0" + +IUSE="" +REQUIRED_USE="" + +RDEPEND="media-libs/lv2 + dev-libs/boost + >=x11-libs/ntk-1.3.1000" +DEPEND="${RDEPEND}" + +src_prepare() { + # Fix hardcoded libdir + sed -i -e "s|lib/lv2|$(get_libdir)/lv2|" CMakeLists.txt || die "sed failed" + + cmake_src_prepare +}