File ShowMIDI.spec of Package ShowMIDI
#
# spec file for package ShowMIDI
#
# 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: ShowMIDI
Version: 1.0.1
Release: 0
Summary: Multi-platform GUI application to effortlessly visualize MIDI activity
License: GPL-3.0-only
Group: Productivity/Multimedia/Sound/Midi
URL: https://github.com/gbevin/ShowMIDI
Source0: %{URL}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch0: 01-showmidi-jucer.patch
BuildRequires: JUCE7_09-Projucer
BuildRequires: JUCE7_09-source
BuildRequires: Mesa-libGL-devel
BuildRequires: gcc-c++ cmake
BuildRequires: ladspa-devel
BuildRequires: libXcursor-devel
BuildRequires: libXrandr-devel
BuildRequires: libcurl-devel
BuildRequires: libjack-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xinerama)
%description
This application fills a void in the available MIDI monitoring solutions.
Instead of wading through logs of MIDI messages to correlate relevant ones and
identify what is happening, ShowMIDI visualizes the current activity and hides
what you don't care about anymore. It provides you with a real-time glanceable
view of all MIDI activity on your computer.
%package -n vst3-%{name}
Summary: Multi-platform GUI application to effortlessly visualize MIDI activity (VST3)
%description -n vst3-%{name}
This application fills a void in the available MIDI monitoring solutions.
Instead of wading through logs of MIDI messages to correlate relevant ones and
identify what is happening, ShowMIDI visualizes the current activity and hides
what you don't care about anymore. It provides you with a real-time glanceable
view of all MIDI activity on your computer.
%package -n vst-%{name}
Summary: Multi-platform GUI application to effortlessly visualize MIDI activity (VST)
%description -n vst-%{name}
This application fills a void in the available MIDI monitoring solutions.
Instead of wading through logs of MIDI messages to correlate relevant ones and
identify what is happening, ShowMIDI visualizes the current activity and hides
what you don't care about anymore. It provides you with a real-time glanceable
view of all MIDI activity on your computer.
%package -n lv2-%{name}
Summary: Multi-platform GUI application to effortlessly visualize MIDI activity (LV2)
%description -n lv2-%{name}
This application fills a void in the available MIDI monitoring solutions.
Instead of wading through logs of MIDI messages to correlate relevant ones and
identify what is happening, ShowMIDI visualizes the current activity and hides
what you don't care about anymore. It provides you with a real-time glanceable
view of all MIDI activity on your computer.
%package -n clap-%{name}
Summary: Multi-platform GUI application to effortlessly visualize MIDI activity (CLAP)
%description -n clap-%{name}
This application fills a void in the available MIDI monitoring solutions.
Instead of wading through logs of MIDI messages to correlate relevant ones and
identify what is happening, ShowMIDI visualizes the current activity and hides
what you don't care about anymore. It provides you with a real-time glanceable
view of all MIDI activity on your computer.
%prep
%autosetup -p1
%build
Projucer --set-global-search-path linux defaultJuceModulePath %{_usrsrc}/JUCE7_09/modules
Projucer --resave showmidi.jucer
CONFIG=Release make %{?_smp_mflags} -C Builds/LinuxMakefile
export PATH_TO_JUCE=%{_usrsrc}/JUCE7_09/
cmake -BBuilds/LinuxMakefile/build/clap -DCMAKE_BUILD_TYPE=Release
cmake --build Builds/LinuxMakefile/build/clap
%install
mkdir -p %{buildroot}%{_bindir}
install Builds/LinuxMakefile/build/%{name} %{buildroot}%{_bindir}/
mkdir -p %{buildroot}%{_libdir}/vst
install Builds/LinuxMakefile/build/%{name}.so %{buildroot}%{_libdir}/vst/
mkdir -p %{buildroot}%{_libdir}/vst3
cp -r Builds/LinuxMakefile/build/*.vst3 %{buildroot}%{_libdir}/vst3/
mkdir -p %{buildroot}%{_libdir}/lv2
cp -r Builds/LinuxMakefile/build/*.lv2 %{buildroot}%{_libdir}/lv2/
mkdir -p %{buildroot}%{_libdir}/clap
cp -r Builds/LinuxMakefile/build/clap/ShowMIDI_artefacts/Release/ShowMIDI.clap %{buildroot}%{_libdir}/clap/
%files
%{_bindir}/*
%license COPYING.md
%doc README.md
%files -n vst-%{name}
%dir %{_libdir}/vst
%{_libdir}/vst/%{name}.so
%doc README.md
%license COPYING.md
%files -n vst3-%{name}
%dir %{_libdir}/vst3
%{_libdir}/vst3/*
%doc README.md
%license COPYING.md
%files -n lv2-%{name}
%dir %{_libdir}/lv2
%{_libdir}/lv2/*
%doc README.md
%license COPYING.md
%files -n clap-%{name}
%dir %{_libdir}/clap
%{_libdir}/clap/*
%doc README.md
%license COPYING.md
%changelog