Skip to content
Snippets Groups Projects
Commit 20e74727 authored by Per Lindgren's avatar Per Lindgren
Browse files

ADSR with a viev (padding experiment), fixed redundant value in src/dial

parent 1d245cc5
No related branches found
No related tags found
No related merge requests found
...@@ -25,14 +25,14 @@ struct DialLabel { ...@@ -25,14 +25,14 @@ struct DialLabel {
} }
impl DialLabel { impl DialLabel {
fn new(text: &str, value: f64) -> impl Widget<DialLabel> { fn new(text: &str) -> impl Widget<DialLabel> {
let text = text.to_string(); let text = text.to_string();
let label = let label =
Label::new(move |data: &DialLabel, _env: &_| format!("{} {:.3}", text, data.value)); Label::new(move |data: &DialLabel, _env: &_| format!("{} {:.3}", text, data.value));
let solid = Color::rgb8(0x3a, 0x3a, 0x3a); let solid = Color::rgb8(0x3a, 0x3a, 0x3a);
let mut col = Flex::column(); let mut col = Flex::column();
col.add_child( col.add_child(
Dial::new(value, Size::new(100.0, 100.0)) Dial::new(Size::new(100.0, 100.0))
.lens(DialLabel::value) .lens(DialLabel::value)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
...@@ -55,28 +55,28 @@ impl Envelope { ...@@ -55,28 +55,28 @@ impl Envelope {
let solid = Color::rgb8(0x3a, 0x3a, 0x3a); let solid = Color::rgb8(0x3a, 0x3a, 0x3a);
Flex::row() Flex::row()
.with_child( .with_child(
DialLabel::new("Attack", 0.0) DialLabel::new("Attack")
.lens(Envelope::attack) .lens(Envelope::attack)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
0.0, 0.0,
) )
.with_child( .with_child(
DialLabel::new("Decay", 0.0) DialLabel::new("Decay")
.lens(Envelope::decay) .lens(Envelope::decay)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
0.0, 0.0,
) )
.with_child( .with_child(
DialLabel::new("Sustain", 0.0) DialLabel::new("Sustain")
.lens(Envelope::sustain) .lens(Envelope::sustain)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
0.0, 0.0,
) )
.with_child( .with_child(
DialLabel::new("Release", 0.0) DialLabel::new("Release")
.lens(Envelope::release) .lens(Envelope::release)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
......
...@@ -30,14 +30,14 @@ struct DialLabel { ...@@ -30,14 +30,14 @@ struct DialLabel {
} }
impl DialLabel { impl DialLabel {
fn new(text: &str, value: f64) -> impl Widget<DialLabel> { fn new(text: &str) -> impl Widget<DialLabel> {
let text = text.to_string(); let text = text.to_string();
let label = let label =
Label::new(move |data: &DialLabel, _env: &_| format!("{} {:.3}", text, data.value)); Label::new(move |data: &DialLabel, _env: &_| format!("{} {:.3}", text, data.value));
let solid = Color::rgb8(0x3a, 0x3a, 0x3a); let solid = Color::rgb8(0x3a, 0x3a, 0x3a);
let mut col = Flex::column(); let mut col = Flex::column();
col.add_child( col.add_child(
Dial::new(value, Size::new(100.0, 100.0)) Dial::new(Size::new(100.0, 100.0))
.lens(DialLabel::value) .lens(DialLabel::value)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
...@@ -61,28 +61,28 @@ impl Envelope { ...@@ -61,28 +61,28 @@ impl Envelope {
let solid = Color::rgb8(0x3a, 0x3a, 0x3a); let solid = Color::rgb8(0x3a, 0x3a, 0x3a);
Flex::row() Flex::row()
.with_child( .with_child(
DialLabel::new("Attack", 0.0) DialLabel::new("Attack")
.lens(Envelope::attack) .lens(Envelope::attack)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
0.0, 0.0,
) )
.with_child( .with_child(
DialLabel::new("Decay", 0.0) DialLabel::new("Decay")
.lens(Envelope::decay) .lens(Envelope::decay)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
0.0, 0.0,
) )
.with_child( .with_child(
DialLabel::new("Sustain", 0.0) DialLabel::new("Sustain")
.lens(Envelope::sustain) .lens(Envelope::sustain)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
0.0, 0.0,
) )
.with_child( .with_child(
DialLabel::new("Release", 0.0) DialLabel::new("Release")
.lens(Envelope::release) .lens(Envelope::release)
.background(solid.clone()) .background(solid.clone())
.padding(5.0), .padding(5.0),
......
...@@ -8,13 +8,12 @@ use druid::{ ...@@ -8,13 +8,12 @@ use druid::{
#[derive(Debug, Clone, Default)] #[derive(Debug, Clone, Default)]
pub struct Dial { pub struct Dial {
// properties for the Dial // properties for the Dial
value: f64,
size: Size, size: Size,
} }
impl Dial { impl Dial {
pub fn new(value: f64, size: Size) -> impl Widget<f64> { pub fn new(size: Size) -> impl Widget<f64> {
Self { value, size } Self { size }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment