Im trying to use iced for the gui in an audio plug in I’m building, but I keep seeing discrepancies in how to accomplish this.

On the iced github page, it says that to implement the Sandbox trait, you use this signature: fn view(&self), yet in the documentation it says to use view(&mut self). When I try to use the non-mut version, I get an error saying that it expects self to be mutable.

I also stumbled across iced-pure, which seems like a better idea. But I need to use a NumberInput widget from the iced-aw crate. Unfortunately, these widgets are not pure.

So how do I go about creating a gui using NumberInput? Do I need to create the widgets myself to make them pure? I’d like to use other widgets from the iced-aw crate too, so that wouldn’t be ideal

Or do i have to use the mutable version of view? If so, why does github say to use non mutable? Is this specific to certain versions of iced? If the newer version of iced uses a non mutable view function, does that mean it’s pure? Have the iced-pure changes been merged into iced?

  • teri
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Have no experience with iced but interesting. Can you share a minimal example of what you’d like to do? At least the source code of Sandbox reads fn view(&self).

    • Barbacamanitu@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I don’t have a minimal example yet because I haven’t been able to get it working. The framework I’m using (nih-plug) uses a specific version of iced though, so I’m going to try to just model mine off their example. I don’t think it uses the pure version.

      • teri
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Starting from a working example is always a good idea :) then once things start breaking you might have a clue why.