File Uhhyou-Plugins.spec of Package vst3-Uhhyou-Plugins
#
# spec file for package Uhhyou-Plugins
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2023 Konstantin Voinov konstantin.voinov@gmail.com
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: Uhhyou-Plugins
Version: 0.66.0
Release: 0
Summary: Audio Plugins by ryukau (VST3)
License: GPL-3.0-only
URL: https://github.com/ryukau/VSTPlugins
Source0: %{name}-%{version}.tar.xz
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: pkgconfig
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(gtkmm-3.0)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(liblo)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcb-cursor)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xcb-util)
BuildRequires: pkgconfig(xcb-xkb)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbcommon-x11)
%if 0%{?suse_version} < 1600
BuildRequires: gcc12-c++
%else
BuildRequires: gcc-c++
%endif
%description
https://ryukau.github.io/VSTPlugins/
LightPadSynth - lighter version of CubicPadSynth.
WaveShaper Pack - 4 stereo waveshapers. Waveshaping algorithms are naive, but all provides option for 16x oversampling.
EnvelopedSine - another additive synthesizer which computes 64 sine waves per note.
IterativeSinCluster - an additive synthesizer.
TrapezoidSynth - monophonic synthesizer equipped with trapezoid oscillator which is made from 5th order PTR ramp function.
FDNCymbal - another attempt to make cymbal sounds.
WaveCymbal - banded wave-guide synthesizer.
SyncSawSynth - synthesizer with up to 10th order PTR sawtooth oscillator.
SevenDelay - 7th order lagrange fractional delay.
EsPhaser - phaser with up to 4096 stages of order 2 Thiran all-pass filters.
CubicPadSynth - wavetable synthesizer which uses PADsynth algorithm to generate oscillator tables.
CollidingCombSynth - experimental synthesizer which sounds like bowed string.
FDN64Reverb - reverb equipped with a feedback delay network (FDN).
BasicLimiter - basic single band limiter.
L4Reverb - extended version of LatticeReverb.
LatticeReverb - reverb using lattice structure.
MembraneSynth - synthesizer that resembles sound of percussions with membrane, like bass drum or tom tom.
UltraSynth - ordinary synthesizer except 64-fold oversampling that is the same one used in UltrasonicRingMod.
UltrasonicRingMod - ring modulator with 64-fold oversampling.
ClangSynth - synthesizer suitable for percussion sounds.
MiniCliffEQ - linear phase FIR filter with 2^15 = 32768 taps.
PitchShiftDelay - time domain pitch shifter based on usual delay.
ParallelComb - comb filter which has 4 different delay time and 1 shared buffer.
GenericDrum - generic drum synthesizer using delays.
GlitchSprinkler - synthesizer specialized to play fast arpeggios.
DoubleLoopCymbal - synthesizer that produces a sound somewhere between hi-hat and triangle.
%package -n vst3-%{name}
Summary: Audio Plugins by ryukau (VST3)
Obsoletes: vst3-%{name} <= 20220604
%description -n vst3-%{name}
https://ryukau.github.io/VSTPlugins/
CubicPadSynth - wavetable synthesizer which uses PADsynth algorithm to generate oscillator tables.
EnvelopedSine - another additive synthesizer which computes 64 sine waves per note.
EsPhaser - phaser with up to 4096 stages of order 2 Thiran all-pass filters.
FDNCymbal - another attempt to make cymbal sounds.
IterativeSinCluster - an additive synthesizer.
L4Reverb - extended version of LatticeReverb. This time, lattice structure has 4 * 4 * 4 * 4 = 256 sections per channel.
LatticeReverb - reverb using lattice structure. Equipped with 16 delays per channel.
LightPadSynth - lighter version of CubicPadSynth.
SevenDelay - 7th order lagrange fractional delay.
SyncSawSynth - synthesizer with up to 10th order PTR sawtooth oscillator.
TrapezoidSynth - monophonic synthesizer equipped with trapezoid oscillator which is made from 5th order PTR ramp function.
WaveCymbal - banded wave-guide synthesizer.
WaveShaper Pack - 4 stereo waveshapers. Waveshaping algorithms are naive, but all provides option for 16x oversampling.
CollidingCombSynth - experimental synthesizer which sounds like bowed string.
FDN64Reverb - reverb equipped with a feedback delay network (FDN).
BasicLimiter - basic single band limiter.
L4Reverb - extended version of LatticeReverb.
LatticeReverb - reverb using lattice structure.
MembraneSynth - synthesizer that resembles sound of percussions with membrane, like bass drum or tom tom.
UltraSynth - ordinary synthesizer except 64-fold oversampling that is the same one used in UltrasonicRingMod.
UltrasonicRingMod - ring modulator with 64-fold oversampling.
ClangSynth - synthesizer suitable for percussion sounds.
MiniCliffEQ - linear phase FIR filter with 2^15 = 32768 taps.
PitchShiftDelay - time domain pitch shifter based on usual delay.
ParallelComb - comb filter which has 4 different delay time and 1 shared buffer.
GenericDrum - generic drum synthesizer using delays.
GlitchSprinkler - synthesizer specialized to play fast arpeggios.
DoubleLoopCymbal - synthesizer that produces a sound somewhere between hi-hat and triangle.
%package -n vst3-%{name}-presets
Summary: Presets for the VST3 version Plugins by ryukau
Requires: vst3-%{name}
BuildArch: noarch
%description -n vst3-%{name}-presets
Presets for the VST3 version Plugins by ryukau.
%package -n Uhhyou-Plugins-doc
Summary: Documentation for Plugins by ryukau
BuildArch: noarch
%description -n Uhhyou-Plugins-doc
Documentation for the Plugins by ryukau.
%prep
%setup -q
patch -p1 -d lib/vst3sdk/vstgui4 ci/linux_patch/cairographicscontext.patch
%build
export CPATH=/usr/include:/usr/include/X11:/usr/include/libxkbcommon
%cmake -DCMAKE_BUILD_TYPE=Release \
-DSMTG_RUN_VST_VALIDATOR=0 \
-DSMTG_CREATE_PLUGIN_LINK=0 \
%if 0%{?suse_version} < 1600
-DCMAKE_CXX_COMPILER=g++-12
%endif
%cmake_build
%install
mkdir -p %{buildroot}%{_datadir}/vst3/presets
cp -r presets/Uhhyou %{buildroot}%{_datadir}/vst3/presets/
mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}
cp -r docs/* %{buildroot}/%{_defaultdocdir}/%{name}
mkdir -p %{buildroot}%{_libdir}/vst3
cp -r build/VST3/Release/*.vst3 %{buildroot}%{_libdir}/vst3/
mkdir -p %{buildroot}%{_datadir}/Uhhyou
cp -r package/style %{buildroot}%{_datadir}/Uhhyou/
%fdupes -s %{buildroot}%{_datadir}
%fdupes -s %{buildroot}%{_libdir}
%files -n vst3-%{name}
%license License/README.md
%doc README.md
%dir %{_libdir}/vst3
%{_libdir}/vst3/*
%dir %{_datadir}/Uhhyou/
%{_datadir}/Uhhyou/
%files -n vst3-%{name}-presets
%dir %{_datadir}/vst3
%dir %{_datadir}/vst3/presets
%{_datadir}/vst3/presets/Uhhyou
%files -n Uhhyou-Plugins-doc
%exclude %{_defaultdocdir}/%{name}/build.py
%dir %{_defaultdocdir}/%{name}
%{_defaultdocdir}/%{name}
%changelog