mirror of
https://github.com/Ponce/slackbuilds
synced 2024-12-02 13:04:42 +01:00
2e89cdf8fd
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
77 lines
3.4 KiB
Text
77 lines
3.4 KiB
Text
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.
|