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 ipc;
7pub mod macros;
8pub mod params;
9
10pub use params::{
11    PARAM_SPECS, ParamId, ParamSet, ParamSpec, WavecraftParamId, WavecraftParams, db_to_linear,
12};
13
14// Re-export key IPC types for convenience
15pub use ipc::{
16    ERROR_INTERNAL, ERROR_INVALID_PARAMS, ERROR_INVALID_REQUEST, ERROR_METHOD_NOT_FOUND,
17    ERROR_PARAM_NOT_FOUND, ERROR_PARAM_OUT_OF_RANGE, ERROR_PARSE, GetAllParametersResult,
18    GetMeterFrameResult, GetParameterParams, GetParameterResult, IpcError, IpcNotification,
19    IpcRequest, IpcResponse, METHOD_GET_ALL_PARAMETERS, METHOD_GET_METER_FRAME,
20    METHOD_GET_PARAMETER, METHOD_REQUEST_RESIZE, METHOD_SET_PARAMETER, MeterFrame,
21    NOTIFICATION_PARAMETER_CHANGED, ParameterChangedNotification, ParameterInfo, ParameterType,
22    RequestId, RequestResizeParams, RequestResizeResult, SetParameterParams, SetParameterResult,
23};