Skip to main content

wavecraft_protocol/
lib.rs

1//! Protocol crate - shared parameter definitions and contracts.
2//!
3//! This crate contains the canonical definitions for all parameters,
4//! ensuring consistency between DSP, plugin, and UI layers.
5
6pub mod dev_audio_ffi;
7pub mod ipc;
8pub mod macros;
9pub mod params;
10
11pub use params::{
12    PARAM_SPECS, ParamId, ParamSet, ParamSpec, WavecraftParamId, WavecraftParams, db_to_linear,
13};
14
15// Re-export dev audio FFI types for convenience
16pub use dev_audio_ffi::{DEV_PROCESSOR_SYMBOL, DEV_PROCESSOR_VTABLE_VERSION, DevProcessorVTable};
17
18// Re-export key IPC types for convenience
19pub use ipc::{
20    ERROR_INTERNAL, ERROR_INVALID_PARAMS, ERROR_INVALID_REQUEST, ERROR_METHOD_NOT_FOUND,
21    ERROR_PARAM_NOT_FOUND, ERROR_PARAM_OUT_OF_RANGE, ERROR_PARSE, GetAllParametersResult,
22    GetMeterFrameResult, GetParameterParams, GetParameterResult, IpcError, IpcNotification,
23    IpcRequest, IpcResponse, METHOD_GET_ALL_PARAMETERS, METHOD_GET_METER_FRAME,
24    METHOD_GET_PARAMETER, METHOD_REGISTER_AUDIO, METHOD_REQUEST_RESIZE, METHOD_SET_PARAMETER,
25    MeterFrame, MeterUpdateNotification, NOTIFICATION_METER_UPDATE, NOTIFICATION_PARAMETER_CHANGED,
26    ParameterChangedNotification, ParameterInfo, ParameterType, RegisterAudioParams,
27    RegisterAudioResult, RequestId, RequestResizeParams, RequestResizeResult, SetParameterParams,
28    SetParameterResult,
29};