- params.h: document how persisting parameter values between sessions should be implemented
- state.h: add basic documentation regarding what state should be saved and how plugins should interact with buffers
- various documentation fixes (essentially typos)
- extensible-audio-ports.h: new extension which lets the host add ports to a plugin
- configurable-audio-ports.h: new extension allowing the host to push an audio ports configuration request, resulting in a simpler workflow for surround host and plugins
- surround.h:
- remove
get_preferred_channel_map()
in favor of the push approach via configurable-audio-ports.h - remove
config_id
argument fromget_info()
- remove
- ambisonic.h: remove
config_id
argument fromget_info()
- preset-load.h: use a location_kind + location approach instead of URI
- preset-discovery.h:
- use a location_kind + location approach instead of URI
- document which descriptor fields are optional
- allow optional preset names in the metadata for non-container presets
- Add a factory folder for better organization and move our factories there
- params.h: fix typos
- CMake: disable C17 targets for CMake < 3.21
- plugin-features.h: adds
note-detector
category for plugins which converts audio to notes
- context-menu.h: add "title" menu entry
- preset-load.h: load from URI instead of path, making the extension more powerful
- remote-controls.h: distinguish between device pages and preset pages
- audio-ports-activation.h:
set_active()
now returns bool instead of void, this helps catching problems earlier especially with invalid arguments - audio-ports-config.h: add new draft extension:
clap_plugin_audio_ports_config_info
which lets the host query detailed port information in a given configuration. - surround.h: add
config_id
parameter when fetching port info - ambisonic.h: add
config_id
parameter when fetching port info
- preset-discovery.h: new factory which allows the host to index the plugin presets which are stored on disk.
- version.h
CLAP_VERSION_LT
was backwards (comparing current with arg vs arg with current). Correct and enhance tests.
- plugin.h: clarify plugin state after init()
- plugin.h: clarify when it is allowed to call get_extension()
- plugin.h: advice for plugin id and version strings
- host.h: clarify when it is allowed to call get_extension()
- CMakeLists.txt: the target
clap-test
now includesclap-plugin-template
- Remove UTF-8 BOM from a few files
- plugin-template.c: add state impl and some comments
- audio-ports-activation.h: improved documentation
- version.h:
- Add a CLAP_VERSION_GE(maj,min,rev), _EQ and _LT macro.
- Remove the uint32_t cast from CLAP_VERSION_MAJOR, _MINOR, and _REVISION macro, and introduce it to the CLAP_VERSION_INIT macro.
- If you rely on these macros being a uint32_t or parse this header using external software, this may be a breaking change.
- CMake: update some targets to link against
clap
instead ofclap-core
- params.h: clarify parameter range change, fix documentation typos, add missing items
- plugin.h: clarify data lifetime in
process()
- audio-ports-config.h: clarify
select()
: if succeed, the host should rescan the audio ports
- audio-ports-activation.h: new draft extension which allows a host to inform a plugin whether an audio port is an active port in the host audio context, and allow the host to respond accordingly
- context-menu.h: new draft extension which let the host and plugin exchange context menu entries and popup the menu
- param-indication.h: new draft extension which let the host inform the plugin that a parameter is currently mapped to a physical controller
- remote-controls.h: new draft extension which replaces
quick-controls.h
- resource-directory.h: new draft extension which lets the plugin save resources in a directory provided by the host
- triggers.h: new draft extension which exposes triggers to the host, triggers are data-less events
- track-info: refine the draft extension
file-reference.h
: removed in favor of resource-directory.hquick-controls.h
: removed in favor of remote-controls.h
- CMake: generate CMake and pkg-config package files on install
- CMake:
clap-core
target is now deprecated, useclap
target instead - plugin.h: make feature list on clap_plugin_descriptor_t const
- entry.h: fix bad location on windows: replaced
%CommonFilesFolder%/CLAP/
by%COMMONPROGRAMFILES%\CLAP
- macros.h: add
CLAP_ABI
which defines the calling convention and use it everywhere - events.h: clarify
clap_input_events.size()
- check-for-update.h: fix typedef
- file-reference.h: improve documentation
- params.h: clarify how the cookie works and add some notes about
flush()
- process.h: clarify how the audio buffer mapping works
- gui.h: clarify
clap_plugin_gui.get_preferred_api()
- plugin-factory.h: mention
clap_plugin_invalidation_factory
which can be use to invalidate cached entries
- clap.h: missing include for state-context.h.
- state-context.h: save/load state for duplicate or preset.
- std.h: fix compatibility with C++98.
- note-name.h: missing typedef
clap_plugin_note_name_t
. - params.h: clarify
request_flush()
documentation. - thread-check.h: clarify documentation.
- voice-info.h: promote
voice-info
out of draft.
- plugin.h: fix an inconsistency in
clap_plugin->destroy()
documentation: it is now required to deactivate the plugin before destroying it. - params.h: improve documentation for
clap_host_params->request_flush()
. - entry.h: improve documentation regarding
init()
,deinit()
and CLAP search path. - gui.h: fix typo
clap_gui_resize_hints.preserve_aspect_ratio
- plugin-template: missing impl of plugin destroy.
- various documentation improvements
- CMake: add
CLAP_BUILD_TESTS
which enables the tests. - Fixes compilation for Visual Studio 2019 and GCC9.
- gui.h: fix doc: set_scale must be provided
- events.h: remove
clap_event_type
which was never used - draft/transport-control.h: rename from
CLAP_EXT_CV
toCLAP_EXT_TRANSPORT_CONTROL
- draft/tuning.h: rename
clap_client_tuning
toclap_plugin_tuning
- macros.h: fix compatibility with C17