1
0
Fork 0
nih-plug/nih_plug_iced/src/widgets.rs

32 lines
1.4 KiB
Rust
Raw Normal View History

//! Widgets and utilities for making widgets to integrate iced with NIH-plug.
//!
//! # Note
//!
//! None of these widgets are finalized, and their sizes or looks can change at any point. Feel free
//! to copy the widgets and modify them to your personal taste.
use nih_plug::param::internals::ParamPtr;
mod param_slider;
pub use param_slider::ParamSlider;
/// A message to update a parameter value. Since NIH-plug manages the parameters, interacting with
/// parameter values with iced works a little different from updating any other state. This main
/// [`IcedEditor`][super::IcedEditor] should have a [`Message`][super::IcedEditor::Message] variant
/// containing this `ParamMessage`. When it receives one of those messages, it can pass it through
/// to [`self.handle_param_message()`][super::IcedEditor::handle_param_message].
#[derive(Debug, Clone, Copy)]
pub enum ParamMessage {
/// Begin an automation gesture for a parameter.
BeginSetParameter(ParamPtr),
/// Set a parameter to a new normalized value. This needs to be surrounded by a matching
/// `BeginSetParameter` and `EndSetParameter`.
SetParameterNormalized(ParamPtr, f32),
/// Reset a parameter to its default value. This needs to be surrounded by a matching
/// `BeginSetParameter` and `EndSetParameter`.
ResetParameter(ParamPtr),
/// End an automation gesture for a parameter.
EndSetParameter(ParamPtr),
}