File qmidiarp.spec of Package qmidiarp

#
# spec file for package qmidiarp.spec
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2022 by Edgar Aichinger
#
# 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:           qmidiarp
Version:        0.7.0
Release:        0
Summary:        A MIDI phrase generator and controller LFO
License:        GPL-2.0-or-later
Group:          Productivity/Multimedia/Sound/Utilities
URL:            http://qmidiarp.sourceforge.net/
Source:         %{name}-%{version}.tar.bz2
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(liblo)
BuildRequires:  pkgconfig(lv2)
BuildRequires:  libdb-4_8-devel
BuildRequires:  libqt5-linguist
BuildRequires:  libqt5-qtbase-devel
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(jack)

%description
QMidiArp is an advanced MIDI arpeggiator, programmable step sequencer and LFO
for Linux. It can hold any number of arpeggiator, sequencer, or LFO modules
running in parallel.

Arpeggiator modules produce sequences depending on the notes sent to their
input port, which is typically connected to a keyboard or another sequencer.

Step sequencer modules allow you to create simple linear, monophonic and
globally transposable sequences similar to the first analog sequencers.

MIDI LFO modules independently produce MIDI controller data of adjustable
waveform, time resolution, amplitude and duration.

A Global Storage Tool can store different setups and switch between them at a
given time. It allows you to dynamically combine patterns and LFO wave forms.

For each module, an input note filter is available, and the output port and
channel can be set independently. QMidiArp works with an internal tick
resolution of 192 ticks per beat. It can be synchronized to an incoming MIDI
realtime clock or as a JACK transport client. Most of the relevant control
elements are accessible via MIDI controller through a MIDI-learn
infrastructure. QMidiArp also has a log tool displaying the history of
incoming MIDI events in colors depending on their type. It has support for
JACK MIDI and ALSA MIDI backends. QMidiArp runs on Linux and uses the Qt toolkit.

The modules are also available as LV2 MIDI plugins.

%package -n lv2-%{name}
Summary:        LV2 Plugins of QMidiArp's Arp, LFO and Seq modules
Requires:       %{name} = %{version}

%description -n lv2-%{name}
This package contains LV2 plugin versions of QMidiArp's Arp, LFO and Seq
modules.

They have full functionality as known from the standalone application except
MIDI control, which can be provided by the host.

The LFO plugin also has a LV2 control output scaled from 0 to 1.

When the 'Sync to host' option is checked, the plugins support transport LV2
atom data from hosts as well as host transport information available from
designated lv2 time ports (Qtractor, thanks Rui!).

Arp pattern presets are available in the LV2 module but cannot be written to
the .qmidiarprc file. This has to be done with the standalone application.

On hosts with small atom port capacities that do not honor the lv2
rsz:MinimumSize property, there will be issues with displaying very large LFO
waveforms.

Features of QMidiArp beyond the modules themselves (including global storage)
are not available.

%lang_package

%prep
%setup -q

%build
%configure
%make_build

%install
%if %{defined fedora}
%make_install
%else
%make_install
%endif


%files
%license COPYING
%doc AUTHORS ChangeLog NEWS README
%dir %{_datadir}/metainfo
%{_bindir}/*
%{_mandir}/man1/*.1%{?ext_man}
%{_mandir}/*/man1/*.1%{?ext_man}
%{_datadir}/%{name}/
%{_datadir}/applications/qmidiarp.desktop
%{_datadir}/icons/hicolor/
%{_datadir}/metainfo/qmidiarp.appdata.xml

%files -n lv2-%{name}
%{_libdir}/lv2/*
%doc README
%license COPYING

%changelog
openSUSE Build Service is sponsored by