File martinheterjag-JUCE-Projects.spec of Package martinheterjag-JUCE-Projects
#
# spec file for package jucer6_template
#
# Copyright (c) 2022 SUSE LLC
#
# 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: martinheterjag-JUCE-Projects
Version: 20220531
Release: 0
Summary: Collection of plugins by Martinheterjag
License: MIT
Group: Productivity/Multimedia/Sound/Midi
URL: https://github.com/martinheterjag
Source0: %{name}-%{version}.tar.gz
Source1: generate-lv2-ttl.py
Source2: LV2.mak.in
Source3: AppConfig.h.in
BuildRequires: JUCE6-Projucer
BuildRequires: JUCE6-devel
BuildRequires: Mesa-libGL-devel
BuildRequires: gcc-c++
BuildRequires: ladspa-devel
BuildRequires: libXcursor-devel
BuildRequires: libXrandr-devel
BuildRequires: libcurl-devel
BuildRequires: libjack-devel
BuildRequires: lv2-devel
BuildRequires: pkgconfig
BuildRequires: python3
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xinerama)
%description
A collection of smaller JUCE projects.
%package -n vst3-Easyverb
Version: 1.0.0
Summary: Easyverb Plugin by Martinheterjag (VST3)
%description -n vst3-Easyverb
An easy to use reverb with only two knobs. When you crank the reverb into higher values it goes into a very long shimmering reverb and with smaller values it is a tame room or hall reverb.
The effect is very versatile and it's easy to tweak, for the anyone who wants to quickly add a reverb, find a good sound and make awesome music.
%package -n vst-Easyverb
Version: 1.0.0
Summary: Easyverb Plugin by Martinheterjag (VST)
%description -n vst-Easyverb
An easy to use reverb with only two knobs. When you crank the reverb into higher values it goes into a very long shimmering reverb and with smaller values it is a tame room or hall reverb.
The effect is very versatile and it's easy to tweak, for the anyone who wants to quickly add a reverb, find a good sound and make awesome music.
%package -n vst3-Gramophony
Version: 1.0.2
Summary: Gramophony Plugin by Martinheterjag (VST3)
%description -n vst3-Gramophony
As the name might imply, Gramophony is a Lo-Fi style effect. The effect is inspired by the sound of the band Boards of Canada who utilises vibrato,
compression and filtering to get a Lo-Fi sound on their tracks. The gramophony VST is combining mild distortion, chorus/vibrato and band pass filtering.
The goal is not to sound as an old gramphone player, but to sound cool, slightly out of tune and a little bit more dirty.
%package -n vst-Gramophony
Version: 1.0.2
Summary: Gramophony Plugin by Martinheterjag (VST)
%description -n vst-Gramophony
As the name might imply, Gramophony is a Lo-Fi style effect. The effect is inspired by the sound of the band Boards of Canada who utilises vibrato,
compression and filtering to get a Lo-Fi sound on their tracks. The gramophony VST is combining mild distortion, chorus/vibrato and band pass filtering.
The goal is not to sound as an old gramphone player, but to sound cool, slightly out of tune and a little bit more dirty.
%package -n vst3-WaveFolder
Version: 1.0.1
Summary: WaveFolder Plugin by Martinheterjag (VST3)
%description -n vst3-WaveFolder
The Wave folder is inspired by west coast modular synths like Buchla and Serge, where you instead of starting with a harsh waveform (Eg. square or saw)
and filter it like on a subtractive synth, you instead start with a sine wave or triangle and distort it to get a harsher sound. This VST is folding
a waveform in similar ways as serge or buchla modules but is not supposed to emulate them. The wave folder VST will sound harsh and digital and can be
used on smoother sounds to add texture or be used on more complex sound sources and open the gates to the realms of heavy distortion and weird noise.
%package -n vst-WaveFolder
Version: 1.0.1
Summary: WaveFolder Plugin by Martinheterjag (VST)
%description -n vst-WaveFolder
The Wave folder is inspired by west coast modular synths like Buchla and Serge, where you instead of starting with a harsh waveform (Eg. square or saw)
and filter it like on a subtractive synth, you instead start with a sine wave or triangle and distort it to get a harsher sound. This VST is folding
a waveform in similar ways as serge or buchla modules but is not supposed to emulate them. The wave folder VST will sound harsh and digital and can be
used on smoother sounds to add texture or be used on more complex sound sources and open the gates to the realms of heavy distortion and weird noise.
%prep
%setup -q
%build
for plugin in Easyverb Gramophony WaveFolder
do
cd $plugin
cp -f %{SOURCE3} JuceLibraryCode/
cp %{SOURCE2} .
cp %{SOURCE1} .
sed -i -e 's#D:\\JUCE\\projects\\JUCE-Projects\\#../../../#g' $plugin.jucer
sed -i -e 's/buildVST3/buildVST3,buildVST/' $plugin.jucer
sed -i -e /'<\/EXPORTFORMATS>/i <LINUX_MAKE targetFolder="Builds/LinuxMakefile">\ <CONFIGURATIONS>\ <CONFIGURATION isDebug="1" name="Debug"/>\ <CONFIGURATION isDebug="0" name="Release"/>\ </CONFIGURATIONS>\ <MODULEPATHS>\ </MODULEPATHS>\ </LINUX_MAKE>' $plugin.jucer
sed -i -e 's/JUCEOPTIONS/JUCEOPTIONS JUCE_JACK="1" JUCE_WEB_BROWSER="0" JUCE_USE_CURL="0"/' $plugin.jucer
#lv2uri=Martinheterjag:$plugin
#sed "s/_lv2uri_pattern_/${lv2uri//\//\\/}/g" JuceLibraryCode/AppConfig.h.in >JuceLibraryCode/AppConfig.h
#sed "s/_juce_target_/$plugin/g" LV2.mak.in >LV2.mak
%define JUCE_VERSION `ls %{_libdir}/juce/include/`
Projucer --set-global-search-path linux defaultJuceModulePath %{_libdir}/juce/include/%{JUCE_VERSION}/modules
Projucer --resave $plugin.jucer
#echo "include ../../LV2.mak" >> Builds/LinuxMakefile/Makefile
CONFIG=Release make %{?_smp_mflags} -C Builds/LinuxMakefile
cd ..
done
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_libdir}/vst
mkdir -p %{buildroot}%{_libdir}/vst3
#mkdir -p %{buildroot}%{_libdir}/lv2
for plugin in Easyverb Gramophony WaveFolder
do
cd $plugin
#install Builds/LinuxMakefile/build/$plugin %{buildroot}%{_bindir}/
install Builds/LinuxMakefile/build/$plugin.so %{buildroot}%{_libdir}/vst/
cp -r Builds/LinuxMakefile/build/*.vst3 %{buildroot}%{_libdir}/vst3/
#cp -r Builds/LinuxMakefile/build/*.lv2 %{buildroot}%{_libdir}/lv2/
cd ..
done
%files -n vst-Easyverb
%dir %{_libdir}/vst
%{_libdir}/vst/Easyverb.so
%doc README.md
%license LICENSE
%files -n vst3-Easyverb
%dir %{_libdir}/vst3
%{_libdir}/vst3/Easyverb.vst3
%doc README.md
%license LICENSE
%files -n vst-Gramophony
%dir %{_libdir}/vst
%{_libdir}/vst/Gramophony.so
%doc README.md
%license LICENSE
%files -n vst3-Gramophony
%dir %{_libdir}/vst3
%{_libdir}/vst3/Gramophony.vst3
%doc README.md
%license LICENSE
%files -n vst-WaveFolder
%dir %{_libdir}/vst
%{_libdir}/vst/WaveFolder.so
%doc README.md
%license LICENSE
%files -n vst3-WaveFolder
%dir %{_libdir}/vst3
%{_libdir}/vst3/WaveFolder.vst3
%doc README.md
%license LICENSE
%changelog