cd63f95418
* Upgrade to waf 1.7.11. * Fix lv2specgen usage from command line. * atom: Fix crash in forge.h when pushing atoms to a full buffer. * ui: Add idle interface so native UIs and foreign toolkits can drive their event loops. * ui: Add ui:updateRate property. * Add metronome example plugin to demonstrate sample accurate tempo sync. * Generate book-style HTML documentation from example plugins. * lv2core: Make lv2:Parameter rdfs:subClassOf rdf:Property. * lv2core: Set range of lv2:designation to lv2:Designation. * lv2core: Add lv2:control for designating primary event-based control ports. * lv2core: Add lv2:EnvelopePlugin class. * lv2core: Reserve minor version 0 for unstable development plugins. * atom: Fix lv2_atom_sequence_end(). * atom: Remove atom:stringType in favour of owl:onDatatype so generic tools can understand and validate atom literals. * atom: Improve atom documentation. * buf-size: Fix typo in bufsz:sequenceSize label. * event: Fix incorrect return type in lv2_event_get(). * log: Add logger convenience API. * options: Set the range of opts:requiredOption and opts:supportedOption to opts:Option. * patch: Add patch:readable and patch:writable for describing available properties. * patch: Make patch:Set a compact message for setting one property. * state: Add state:loadDefaultState feature so plugins can have their default state loaded without hard-coding default state as a special case. * ui: Fix incorrect linker flag in ui:makeSONameResident documentation. OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/lv2?expand=0&rev=5
203 lines
8.3 KiB
RPMSpec
203 lines
8.3 KiB
RPMSpec
#
|
|
# spec file for package lv2
|
|
#
|
|
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# 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 http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: lv2
|
|
Version: 1.6.0
|
|
Release: 0
|
|
Summary: Portable plugin standard for audio systems
|
|
License: ISC
|
|
Group: System/Libraries
|
|
Url: http://lv2plug.in/
|
|
Source0: http://lv2plug.in/spec/lv2-%{version}.tar.bz2
|
|
Source1: lv2-rpmlintrc
|
|
BuildRequires: doxygen
|
|
BuildRequires: graphviz
|
|
BuildRequires: pkg-config
|
|
BuildRequires: python-rdflib
|
|
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
|
|
BuildRequires: pkgconfig(sndfile) >= 1.0.0
|
|
|
|
%description
|
|
LV2 is a portable plugin standard for audio systems, similar in scope to LADSPA,
|
|
VST, AU, and others. It defines a C API for code and a format for data files
|
|
which collectively describe a plugin. LV2 consists of a simple core (roughly
|
|
equivalent in power to LADSPA) which can be extended to support more advanced
|
|
functionality. This allows the interface to be "grown" to accommodate the needs
|
|
of real software as they arise.
|
|
|
|
LV2 is both a stable interface and a forward-moving project: there is a stable
|
|
set of "official" extensions in use while new functionality is actively
|
|
developed. Anyone can extend LV2, which allows developers to try out new ideas
|
|
and ensure they work in practice. Good extensions are vetted by the community
|
|
and included in the official distribution so they can be relied on to be widely
|
|
supported. This open development model means developers can always scratch their
|
|
itch without a central authority getting in the way. The current stable release
|
|
includes most functionality required by modern plugins, including:
|
|
|
|
* Audio, control, "control voltage" (audio-rate control), and event
|
|
(e.g. MIDI) input and output
|
|
* Expressive open-ended port metadata, including:
|
|
- "Meaningful" controls (e.g. gain or envelope attack) allowing intelligent
|
|
host control or UI generation
|
|
- Control units (e.g. Hz, octaves, dB)
|
|
- Multi-channel port groups (e.g. stereo, 5.1 surround, ambisonics
|
|
* Embeddable GUIs in any toolkit, with support for a full plugin/UI split
|
|
(including network transparency in capable hosts)
|
|
* Ability to bundle any files (e.g. samples or impulses) with plugins
|
|
* Presets (bundled and/or user saved)
|
|
* Plugin state saving and restoring
|
|
* Host-managed logging
|
|
* Non-realtime plugin worker methods (simple and portable host-managed
|
|
threading)
|
|
* Message-based plugin communication, allowing plugins/UIs to have advanced
|
|
interfaces without host support or specifications getting in the way
|
|
* Transport awareness, both real time and tempo time (bars, beats, etc-.)
|
|
|
|
LV2 has graceful compatibility "baked in": for example, a simple amplifier
|
|
plugin might have audio in/out with a gain control, and function in any host.
|
|
The same plugin could have a fancy GUI and transport awareness which optionally
|
|
work in hosts that support these features. Conversely, hosts know not to load
|
|
plugins that require features it does not support.
|
|
|
|
See the specification index for complete documentation. If you are a host or
|
|
plugin author and need missing functionality, please file a ticket or let us
|
|
know your requirements on the mailing list. LV2 is a community project that
|
|
depends on your feedback to improve - unknown requirements are unmet
|
|
requirements!
|
|
|
|
%package devel
|
|
Summary: Development files for LV2
|
|
Group: Development/Libraries/C and C++
|
|
Requires: %{name} = %{version}
|
|
# It actually replaces the old lv2core-devel package. But since the versioning
|
|
# went crazy (from 6.0 to 1.0.0) and nothing actually ever required it better to
|
|
# avoid the provides/obsoletes. We may want to split this and create a new
|
|
# lv2core-devel package in the future (but we need a rpm depenency extractor for
|
|
# LV2 bundles).
|
|
#Provides: lv2core-devel
|
|
#Obsoletes: lv2core-devel
|
|
|
|
%description devel
|
|
LV2 is a portable plugin standard for audio systems, similar in scope to LADSPA,
|
|
VST, AU, and others. It defines a C API for code and a format for data files
|
|
which collectively describe a plugin. LV2 consists of a simple core (roughly
|
|
equivalent in power to LADSPA) which can be extended to support more advanced
|
|
functionality. This allows the interface to be "grown" to accommodate the needs
|
|
of real software as they arise.
|
|
|
|
LV2 is both a stable interface and a forward-moving project: there is a stable
|
|
set of "official" extensions in use while new functionality is actively
|
|
developed. Anyone can extend LV2, which allows developers to try out new ideas
|
|
and ensure they work in practice. Good extensions are vetted by the community
|
|
and included in the official distribution so they can be relied on to be widely
|
|
supported. This open development model means developers can always scratch their
|
|
itch without a central authority getting in the way. The current stable release
|
|
includes most functionality required by modern plugins, including:
|
|
|
|
* Audio, control, "control voltage" (audio-rate control), and event
|
|
(e.g. MIDI) input and output
|
|
* Expressive open-ended port metadata, including:
|
|
- "Meaningful" controls (e.g. gain or envelope attack) allowing intelligent
|
|
host control or UI generation
|
|
- Control units (e.g. Hz, octaves, dB)
|
|
- Multi-channel port groups (e.g. stereo, 5.1 surround, ambisonics
|
|
* Embeddable GUIs in any toolkit, with support for a full plugin/UI split
|
|
(including network transparency in capable hosts)
|
|
* Ability to bundle any files (e.g. samples or impulses) with plugins
|
|
* Presets (bundled and/or user saved)
|
|
* Plugin state saving and restoring
|
|
* Host-managed logging
|
|
* Non-realtime plugin worker methods (simple and portable host-managed
|
|
threading)
|
|
* Message-based plugin communication, allowing plugins/UIs to have advanced
|
|
interfaces without host support or specifications getting in the way
|
|
* Transport awareness, both real time and tempo time (bars, beats, etc-.)
|
|
|
|
LV2 has graceful compatibility "baked in": for example, a simple amplifier
|
|
plugin might have audio in/out with a gain control, and function in any host.
|
|
The same plugin could have a fancy GUI and transport awareness which optionally
|
|
work in hosts that support these features. Conversely, hosts know not to load
|
|
plugins that require features it does not support.
|
|
|
|
See the specification index for complete documentation. If you are a host or
|
|
plugin author and need missing functionality, please file a ticket or let us
|
|
know your requirements on the mailing list. LV2 is a community project that
|
|
depends on your feedback to improve - unknown requirements are unmet
|
|
requirements!
|
|
|
|
%package examples
|
|
Summary: LV2 example plugins
|
|
Group: Productivity/Multimedia/Sound/Editors and Convertors
|
|
Requires: %{name} = %{version}
|
|
|
|
%description examples
|
|
LV2 example plugins.
|
|
|
|
%package docs
|
|
Summary: LV2 documentation
|
|
Group: Documentation/Other
|
|
Requires: %{name} = %{version}
|
|
|
|
%description docs
|
|
LV2 documentation.
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
export CFLAGS='%{optflags}'
|
|
export CXXFLAGS='%{optflags}'
|
|
./waf \
|
|
--prefix=%{_prefix} \
|
|
--libdir=%{_libdir} \
|
|
--docdir=%{_defaultdocdir} \
|
|
--docs \
|
|
configure
|
|
|
|
# waf only understands -j, so do not use smp_mflags
|
|
./waf -v build %{?jobs:-j%jobs}
|
|
|
|
%install
|
|
./waf install --destdir=%{buildroot}
|
|
|
|
%files
|
|
%defattr(0644,root,root,0755)
|
|
%doc COPYING NEWS README
|
|
%exclude %{_defaultdocdir}/lv2/lv2plug.in/
|
|
%{_libdir}/lv2/
|
|
%exclude %{_libdir}/lv2/eg-amp.lv2/
|
|
%exclude %{_libdir}/lv2/eg-sampler.lv2/
|
|
|
|
%files devel
|
|
%defattr(0644,root,root,0755)
|
|
%{_includedir}/lv2.h
|
|
%{_includedir}/lv2/
|
|
%{_libdir}/pkgconfig/lv2.pc
|
|
%{_libdir}/pkgconfig/lv2core.pc
|
|
|
|
%files examples
|
|
%defattr(0644,root,root,0755)
|
|
%{_libdir}/lv2/eg-amp.lv2/
|
|
%{_libdir}/lv2/eg-sampler.lv2/
|
|
|
|
%files docs
|
|
%defattr(0644,root,root,0755)
|
|
%{_defaultdocdir}/lv2/lv2plug.in/
|
|
|
|
%changelog
|