File din.spec of Package din

#
# spec file for package din
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2022 Edgar Aichinger <edogawa@aon.at>
#
# 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:           din
Version:        59
Release:        0
Summary:        A synth of a 3rd kind
Summary(de):    Ein Synthesizer der dritten Art
License:        GPL-2.0-or-later
Group:          Productivity/Multimedia/Sound/Midi
URL:            http://www.dinisnoise.org/
Source:         %{name}-%{version}.tar.gz
Source1:        %{name}.png
# for running autoreconf as recommended by the author:
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  boost-devel
BuildRequires:  gcc-c++
BuildRequires:  libircclient-devel
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(fftw3)
BuildRequires:  pkgconfig(liblo)
BuildRequires:  pkgconfig(tcl)
%if %{defined fedora}
BuildRequires:  SDL-devel
BuildRequires:  alsa-lib-devel
BuildRequires:  jack-audio-connection-kit-devel
%else
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(jack)
BuildRequires:  pkgconfig(sdl)
%endif
%if 0%{?suse_version}
BuildRequires:  update-desktop-files
%endif

%description
If Puredata and Supercollider are two synths, din is a synth of a 3rd kind.
It forgets history, to not repeat it. It doesnt hide analog music hardware,
in digital music software.

You had pulse, sine, triangle and sawtooth, and went forth and made electronic
music. Now there is just the Bezier curve. Go make your pulse, sine, triangle
and sawtooths. Or something else.

This is nothing new. Some old men did it in the 60s! Punched numbers into
cards. Now you edit waveforms in a GUI, and watch the sound change before your
very ears.

Has it got ADSR? Its got DADSARSADS.
Filters? Infinite length delay lines. With Bezier envelope for feedback and
volume.
Modulation? Bezier on Carrier and Modulator. Eat that Chowning.
Notes? Notes! Notes! Notes! Infinite microtones between two tones.
Livecoding? In Tcl. Like LISP, but no ((((:-))))
Collaboration? MIDI. OSC. IRC.

I want two!
Get it while its free.

%prep
%setup -q

%build
export CXXFLAGS="%{optflags} -D__UNIX_JACK__"
export CFLAGS="%{optflags}"
export LIBS=-ljack
autoreconf -fi
%configure --datarootdir=%{_datadir} --prefix=%{_prefix} --localstatedir=%{_datadir}
%make_build

%install
%make_install
# remove executable bit on docs
chmod -x AUTHORS BUGS CHANGELOG NEWS README TODO

cat > %{name}.desktop << EOF
[Desktop Entry]
Type=Application
GenericName=din
Name=din is noise
Comment=A synth of a 3rd kind
Exec=din
Icon=%{name}
Terminal=false
EOF

%if 0%{?suse_version}
%suse_update_desktop_file -i %{name} AudioVideo Music
%endif

%files
%license COPYING
%doc AUTHORS BUGS CHANGELOG NEWS README TODO
%{_bindir}/*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/*
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/scalable
%dir %{_datadir}/icons/hicolor/scalable/apps
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg

%changelog
openSUSE Build Service is sponsored by