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    AudioDiagnostic, AudioDiagnosticCode, AudioRuntimePhase, AudioRuntimeStatus, ERROR_INTERNAL,
21    ERROR_INVALID_PARAMS, ERROR_INVALID_REQUEST, ERROR_METHOD_NOT_FOUND, ERROR_PARAM_NOT_FOUND,
22    ERROR_PARAM_OUT_OF_RANGE, ERROR_PARSE, GetAllParametersResult, GetAudioStatusResult,
23    GetMeterFrameResult, GetOscilloscopeFrameResult, GetParameterParams, GetParameterResult,
24    IpcError, IpcNotification, IpcRequest, IpcResponse, METHOD_GET_ALL_PARAMETERS,
25    METHOD_GET_AUDIO_STATUS, METHOD_GET_METER_FRAME, METHOD_GET_OSCILLOSCOPE_FRAME,
26    METHOD_GET_PARAMETER, METHOD_REGISTER_AUDIO, METHOD_REQUEST_RESIZE, METHOD_SET_PARAMETER,
27    MeterFrame, MeterUpdateNotification, NOTIFICATION_AUDIO_STATUS_CHANGED,
28    NOTIFICATION_METER_UPDATE, NOTIFICATION_PARAMETER_CHANGED, OscilloscopeChannelView,
29    OscilloscopeFrame, OscilloscopeTriggerMode, ParameterChangedNotification, ParameterInfo,
30    ParameterType, ProcessorInfo, RegisterAudioParams, RegisterAudioResult, RequestId,
31    RequestResizeParams, RequestResizeResult, SetParameterParams, SetParameterResult,
32};