README 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. CLAP (“CLever Audio Plug-in API”)
  2. Developed in collaboration with experts from diverse fields in the music
  3. software industry, CLAP is a cutting-edge plug-in standard, designed
  4. for modern computers, software, and paradigms. CLAP caters to novel DAW
  5. concepts, and opens up new horizons for what a plug-in can do or be.
  6. Here are some immediately useful advantages of CLAP:
  7. Better Performance From Modern CPUs
  8. Developed with modern CPUs in mind, CLAP takes multi-thread management
  9. to a new level, with a clear and efficient allocation of roles between
  10. plug-in and host. Specifically, CLAP allows collaborative multicore
  11. support between plug-in and host through a so-called “thread-pool”,
  12. also allowing hosts to manage CPU-threading for plug-ins that provide
  13. their own multicore support. Preliminary tests show significant
  14. performance gains compared with current solutions.
  15. CLAP hosts can read plug-in metadata and help organize your plug-ins.
  16. As CLAP hosts can retrieve information from plug-ins without having to
  17. wait for them to initialize, plug-in scans can be much faster.
  18. Furthermore, we’re currently finalizing an extension which
  19. lets plug-ins tell the host which files they need
  20. (e.g. samples or wavetables), and the host can consolidate those in
  21. the project file. That means you’ll never lose a sample while
  22. transferring a project between systems!
  23. Better Modulation
  24. The CLAP standard promotes new ways to create music with automation,
  25. modulation, and expressions. Here are a few examples:
  26. CLAP supports per-note automation and modulation
  27. (in accordance with the recent MIDI 2.0 specifications).
  28. Going one step further, CLAP’s parameter modulation concept allows for
  29. temporary parameter offsets. Parameter modulation is non-destructive,
  30. so as soon as the modulation has finished, the target parameter will
  31. return to its original state.
  32. CLAP makes it possible for polyphonic plug-ins to have their per-voice
  33. parameters modulated for individual notes (“MPE on steroids”).
  34. The KISS (keep it simple, silly) mantra belongs to CLAP.
  35. From the C-only ABI, which allows binding to any programming language,
  36. to the transparent client-server model between host and plug-in,
  37. the robustness and clarity of the threading model,
  38. and the single event queue for all kinds of parameter changes,
  39. timing and MIDI. Despite being so comprehensive, everything in CLAP is
  40. easy to find and easy to implement.
  41. A single cpp/hpp glue layer for C++ offers a quick start into the ABI,
  42. and its built-in “proxy layer” finds common threading bugs in an
  43. instant. Apropos C-only ABI: There are no platform specific
  44. dependencies: In theory CLAP should also run well on embedded platforms,
  45. game consoles or specialized supercomputers.
  46. Open Source & Liberal License
  47. CLAP is open source, released under the MIT license:
  48. No fees, memberships or proprietary license agreements are required
  49. before developing or distributing a CLAP capable host or plug-in, and
  50. the license never expires. In a nutshell, there are no entry hurdles for
  51. developers, and plenty of open source projects already benefit from
  52. CLAP.
  53. MIDI Just Works!
  54. Inspired by MPE and MIDI 2.0, CLAP can adapt to any future MIDI
  55. standard. Wherever a solid standard exists, we allow developers to
  56. freely decide how to apply it. Plug-ins can receive and send any MIDI
  57. event on multiple ports.
  58. Extensibility & Governance
  59. A simple system for extensions makes CLAP future-proof. Companies can
  60. offer proprietary extensions if required for specific features.