4b7e3ae
# Global variables for github repository
4b7e3ae
%global commit0 4a5f5b445bfb3cd23a797c172dfbcb42e0cf114f
4b7e3ae
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
4b7e3ae
%global pname cadence
4b7e3ae
%global commitdate 20180827
4b7e3ae
4b7e3ae
Name:    Cadence
4b7e3ae
Version: 1.0.0
4b7e3ae
Release: 0.3.%{commitdate}git%{shortcommit0}%{?dist}
4b7e3ae
Summary: A set of tools useful for audio production
4b7e3ae
# The entire source code is GPLv2+ except c++/jackbridge/ which is ISC License
4b7e3ae
# Following files are licensed under LGPLv2+
4b7e3ae
# data/pulse2jack/play+rec.pa
4b7e3ae
# data/pulse2jack/play.pa
4b7e3ae
# data/pulse2loopback/play+rec.pa
4b7e3ae
# data/pulse2loopback/play.pa
4b7e3ae
License: GPLv2+
4b7e3ae
URL:     https://github.com/falkTX/Cadence
4b7e3ae
Source0: https://github.com/falkTX/%{name}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz
4b7e3ae
Patch0:  cadence_001_fedora_support.patch
4b7e3ae
Patch1:  cadence-desktop-patch
4b7e3ae
Patch2:  cadence-makefile.patch
4b7e3ae
4b7e3ae
BuildRequires: gcc gcc-c++
4b7e3ae
BuildRequires: python3-qt5-devel
4b7e3ae
BuildRequires: qt5-qtbase-devel
4b7e3ae
BuildRequires: pulseaudio-libs-devel
4b7e3ae
BuildRequires: pulseaudio-module-jack
4b7e3ae
BuildRequires: python3-dbus
4b7e3ae
BuildRequires: a2jmidid
4b7e3ae
BuildRequires: jack-audio-connection-kit-devel
4b7e3ae
BuildRequires: jack-audio-connection-kit-dbus
4b7e3ae
BuildRequires: jack_capture
4b7e3ae
BuildRequires: desktop-file-utils
4b7e3ae
4b7e3ae
Requires:      hicolor-icon-theme
4b7e3ae
Requires:      ladish
4b7e3ae
Requires:      python3-qt5
4b7e3ae
Requires:      jack_capture
4b7e3ae
Requires:      a2jmidid
4b7e3ae
4b7e3ae
%description
4b7e3ae
Here's a brief description of the main tools:
4b7e3ae
4b7e3ae
Cadence:
4b7e3ae
The main app. It performs system checks, manages JACK, calls other tools and
4b7e3ae
make system tweaks.
4b7e3ae
4b7e3ae
Cadence-JackMeter:
4b7e3ae
Digital peak meter for JACK.
4b7e3ae
It automatically connects itself to all application JACK output ports that are
4b7e3ae
also connected to the system output.
4b7e3ae
4b7e3ae
Cadence-JackSettings:
4b7e3ae
Simple and easy-to-use configure dialog for jackdbus.
4b7e3ae
It can configure JACK's driver and engine parameters, and it also supports
4b7e3ae
LADISH studios.
4b7e3ae
4b7e3ae
Cadence-Logs:
4b7e3ae
Small tool that shows JACK, A2J, LASH and LADISH logs in a multi-tab window.
4b7e3ae
The logs are viewed in a text box, making it easy to browse and extract status
4b7e3ae
messages using copy and paste commands.
4b7e3ae
4b7e3ae
Cadence-Render:
4b7e3ae
Tool to record (or 'render') a JACK project using jack-capture, controlled by
4b7e3ae
JACK Transport.
4b7e3ae
It supports a vast number of file types and can render in both realtime and
4b7e3ae
freewheel modes.
4b7e3ae
4b7e3ae
Cadence-XY Controller:
4b7e3ae
Simple XY widget that sends and receives data from Jack MIDI.
4b7e3ae
It can send data through specific channels and has a MIDI Keyboard too.
4b7e3ae
4b7e3ae
Catarina:
4b7e3ae
A Patchbay test app, created while the patchcanvas module was being developed.
4b7e3ae
It allows the user to experiment with the patchbay, without using ALSA, JACK or
4b7e3ae
LADISH. You can save & load patchbay configurations too.
4b7e3ae
4b7e3ae
Catia:
4b7e3ae
JACK Patchbay, with some neat features like A2J bridge support and JACK
4b7e3ae
Transport.
4b7e3ae
It's supposed to be as simple as possible (there's Claudia for advanced things),
4b7e3ae
so it can work nicely on Windows and Mac too.
4b7e3ae
Currently has ALSA-MIDI support in experimental stage (it doesn't automatically
4b7e3ae
refresh the canvas when changes happen externally).
4b7e3ae
4b7e3ae
Claudia:
4b7e3ae
LADISH frontend; just like Catia, but focused at session management through
4b7e3ae
LADISH.
4b7e3ae
It has a bit more features than the official LADISH GUI, with a nice preview of
4b7e3ae
the main canvas in the bottom-left.
4b7e3ae
It also implements the 'Claudia-Launcher' add-application style for LADISH.
4b7e3ae
4b7e3ae
Claudia-Launcher:
4b7e3ae
A multimedia application launcher with LADISH support.
4b7e3ae
It searches for installed packages (not binaries), and displays the respective
4b7e3ae
content as a launcher.
4b7e3ae
The content is got through an hardcoded database, created and/or modified to
4b7e3ae
suit the target distribution.
4b7e3ae
Currently supports Debian and ArchLinux based distros.
4b7e3ae
4b7e3ae
%prep
4b7e3ae
%autosetup -p 1 -n %{name}-%{commit0}
4b7e3ae
4b7e3ae
# remove windows stuff
4b7e3ae
rm -rf data/windows/
4b7e3ae
4b7e3ae
# Fix error: Empty %%files file debugsourcefiles.list
4b7e3ae
sed -i "s|-O0 -g|%{optflags}|" c++/Makefile.mk
4b7e3ae
sed -i "s|DEBUG ?= false|DEBUG ?= true|" c++/Makefile.mk
4b7e3ae
4b7e3ae
%build
4b7e3ae
%{set_build_flags}
4b7e3ae
%make_build
4b7e3ae
  
4b7e3ae
%install
4b7e3ae
%make_install PREFIX=%{_prefix}
4b7e3ae
4b7e3ae
# E: non-executable-script /usr/share/cadence/pulse2loopback/play+rec.pa 644 /usr/bin/pulseaudio -nF
4b7e3ae
chmod a+x %{buildroot}%{_datadir}/%{pname}/pulse2*/{play+rec,play,play+rec}.pa
4b7e3ae
4b7e3ae
%check
4b7e3ae
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
4b7e3ae
4b7e3ae
%files
4b7e3ae
%doc README.md
4b7e3ae
%license COPYING
4b7e3ae
%{_bindir}/%{pname}
4b7e3ae
%{_bindir}/%{pname}-aloop-daemon
4b7e3ae
%{_bindir}/%{pname}-jackmeter
4b7e3ae
%{_bindir}/%{pname}-jacksettings
4b7e3ae
%{_bindir}/%{pname}-logs
4b7e3ae
%{_bindir}/%{pname}-pulse2jack
4b7e3ae
%{_bindir}/%{pname}-pulse2loopback
4b7e3ae
%{_bindir}/%{pname}-render
4b7e3ae
%{_bindir}/%{pname}-session-start
4b7e3ae
%{_bindir}/%{pname}-xycontroller
4b7e3ae
%{_bindir}/catarina
4b7e3ae
%{_bindir}/catia
4b7e3ae
%{_bindir}/claudia
4b7e3ae
%{_bindir}/claudia-launcher
4b7e3ae
%{_datadir}/applications/*.desktop
4b7e3ae
%dir %{_datadir}/%{pname}/
4b7e3ae
%{_datadir}/%{pname}/icons/claudia-hicolor/*/apps/*.png
4b7e3ae
%{_datadir}/%{pname}/icons/claudia-hicolor/index.theme
4b7e3ae
%{_datadir}/icons/hicolor/*/apps/*.png
4b7e3ae
%{_datadir}/icons/hicolor/scalable/apps/*.svg
4b7e3ae
%{_datadir}/%{pname}/pulse2*/*.pa
4b7e3ae
%{_datadir}/%{pname}/templates/*
4b7e3ae
%{_datadir}/%{pname}/src/*
4b7e3ae
%config(noreplace) %{_sysconfdir}/X11/Xsession.d/61cadence-session-inject
4b7e3ae
%config(noreplace) %{_sysconfdir}/xdg/autostart/cadence-session-start.desktop
4b7e3ae
4b7e3ae
%changelog
4b7e3ae
* Thu Dec 13 2018 Martin Gansser <martinkg@fedoraproject.org> - 1.0.0-0.3.20180827git4a5f5b4
4b7e3ae
- Add RR hicolor-icon-theme
4b7e3ae
- Add comment which files are licensed under LGPLv2+
4b7e3ae
- Take ownership of dirs
4b7e3ae
4b7e3ae
* Thu Dec 13 2018 Martin Gansser <martinkg@fedoraproject.org> - 1.0.0-0.2.20180827git4a5f5b4
4b7e3ae
- Use correct link for sources
4b7e3ae
- Use %%autosetup macro
4b7e3ae
- Use %%{set_build_flags}
4b7e3ae
- Use %%make_install PREFIX=%%{_prefix}
4b7e3ae
- List all files 
4b7e3ae
4b7e3ae
* Thu Dec 13 2018 Martin Gansser <martinkg@fedoraproject.org> - 1.0.0-0.1.20180827git4a5f5b4
4b7e3ae
- Initial build