diff options
Diffstat (limited to 'audio/clap')
-rw-r--r-- | audio/clap/README | 77 | ||||
-rw-r--r-- | audio/clap/clap.SlackBuild | 87 | ||||
-rw-r--r-- | audio/clap/clap.info | 10 | ||||
-rw-r--r-- | audio/clap/clap.pc | 5 | ||||
-rw-r--r-- | audio/clap/slack-desc | 19 |
5 files changed, 198 insertions, 0 deletions
diff --git a/audio/clap/README b/audio/clap/README new file mode 100644 index 000000000000..992237e19aa0 --- /dev/null +++ b/audio/clap/README @@ -0,0 +1,77 @@ +CLAP (“CLever Audio Plug-in API”) + +Developed in collaboration with experts from diverse fields in the music +software industry, CLAP is a cutting-edge plug-in standard, designed +for modern computers, software, and paradigms. CLAP caters to novel DAW +concepts, and opens up new horizons for what a plug-in can do or be. + +Here are some immediately useful advantages of CLAP: +Better Performance From Modern CPUs + +Developed with modern CPUs in mind, CLAP takes multi-thread management +to a new level, with a clear and efficient allocation of roles between +plug-in and host. Specifically, CLAP allows collaborative multicore +support between plug-in and host through a so-called “thread-pool”, +also allowing hosts to manage CPU-threading for plug-ins that provide +their own multicore support. Preliminary tests show significant +performance gains compared with current solutions. + +CLAP hosts can read plug-in metadata and help organize your plug-ins. +As CLAP hosts can retrieve information from plug-ins without having to +wait for them to initialize, plug-in scans can be much faster. + +Furthermore, we’re currently finalizing an extension which +lets plug-ins tell the host which files they need +(e.g. samples or wavetables), and the host can consolidate those in +the project file. That means you’ll never lose a sample while +transferring a project between systems! +Better Modulation + +The CLAP standard promotes new ways to create music with automation, +modulation, and expressions. Here are a few examples: + +CLAP supports per-note automation and modulation +(in accordance with the recent MIDI 2.0 specifications). + +Going one step further, CLAP’s parameter modulation concept allows for +temporary parameter offsets. Parameter modulation is non-destructive, +so as soon as the modulation has finished, the target parameter will +return to its original state. + +CLAP makes it possible for polyphonic plug-ins to have their per-voice +parameters modulated for individual notes (“MPE on steroids”). + +The KISS (keep it simple, silly) mantra belongs to CLAP. +From the C-only ABI, which allows binding to any programming language, +to the transparent client-server model between host and plug-in, +the robustness and clarity of the threading model, +and the single event queue for all kinds of parameter changes, +timing and MIDI. Despite being so comprehensive, everything in CLAP is +easy to find and easy to implement. + +A single cpp/hpp glue layer for C++ offers a quick start into the ABI, +and its built-in “proxy layer” finds common threading bugs in an +instant. Apropos C-only ABI: There are no platform specific +dependencies: In theory CLAP should also run well on embedded platforms, +game consoles or specialized supercomputers. + +Open Source & Liberal License + +CLAP is open source, released under the MIT license: +No fees, memberships or proprietary license agreements are required +before developing or distributing a CLAP capable host or plug-in, and +the license never expires. In a nutshell, there are no entry hurdles for +developers, and plenty of open source projects already benefit from +CLAP. + +MIDI Just Works! + +Inspired by MPE and MIDI 2.0, CLAP can adapt to any future MIDI +standard. Wherever a solid standard exists, we allow developers to +freely decide how to apply it. Plug-ins can receive and send any MIDI +event on multiple ports. + +Extensibility & Governance + +A simple system for extensions makes CLAP future-proof. Companies can +offer proprietary extensions if required for specific features. diff --git a/audio/clap/clap.SlackBuild b/audio/clap/clap.SlackBuild new file mode 100644 index 000000000000..24e3e961dee4 --- /dev/null +++ b/audio/clap/clap.SlackBuild @@ -0,0 +1,87 @@ +#!/bin/bash + +# Slackware build script for clap + +# Copyright Martin Bångens Sweden +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=clap +VERSION=${VERSION:-1.1.2} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} +ARCH=noarch + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p $PKG/usr/share/pkgconfig +cp $CWD/clap.pc $PKG/usr/share/pkgconfig/ +sed -i "s/VERSION/$VERSION/g" $PKG/usr/share/pkgconfig/clap.pc + +mkdir -p $PKG/usr/include +cp -a include/clap $PKG/usr/include/ + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + ChangeLog.md \ + Contributors.md \ + LICENSE \ + README.md \ + artwork \ +$PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +chmod 755 $PKG/usr/include/clap +find $PKG/usr/include/clap -type d -exec chmod 755 {} + +find $PKG/usr/include/clap -type f -exec chmod 644 {} + + +chmod 755 $PKG/usr/doc/$PRGNAM-$VERSION +find $PKG/usr/doc/$PRGNAM-$VERSION -type d -exec chmod 755 {} + +find $PKG/usr/doc/$PRGNAM-$VERSION -type f -exec chmod 644 {} + + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/audio/clap/clap.info b/audio/clap/clap.info new file mode 100644 index 000000000000..364b1c38664d --- /dev/null +++ b/audio/clap/clap.info @@ -0,0 +1,10 @@ +PRGNAM="clap" +VERSION="1.1.2" +HOMEPAGE="https://cleveraudio.org/" +DOWNLOAD="https://github.com/free-audio/clap/archive/1.1.2/clap-1.1.2.tar.gz" +MD5SUM="e647c2392f9b5277896b6e297443381e" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Martin Bångens" +EMAIL="marbangens@gmail.com" diff --git a/audio/clap/clap.pc b/audio/clap/clap.pc new file mode 100644 index 000000000000..430d26c9b682 --- /dev/null +++ b/audio/clap/clap.pc @@ -0,0 +1,5 @@ +Name: clap +Description: CLAP (“CLever Audio Plug-in API”) +Version: VERSION +Cflags: -I/usr/include/clap +Libs: diff --git a/audio/clap/slack-desc b/audio/clap/slack-desc new file mode 100644 index 000000000000..db592e8c5f30 --- /dev/null +++ b/audio/clap/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +clap: clap (Clever Audio Plugin API) +clap: +clap: CLAP stands for CLever Audio Plugin. It is an audio plugin ABI which +clap: defines a standard for Digital Audio Workstations and audio plugins +clap: (synthesizers, audio effects, ...) to work together. +clap: To work with CLAP, include clap/clap.h. +clap: The two most important objects are clap_host and clap_plugin. +clap: +clap: +clap: +clap: |