Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iced rewrite #6

Open
3 of 4 tasks
Azorlogh opened this issue Dec 30, 2020 · 4 comments
Open
3 of 4 tasks

Iced rewrite #6

Azorlogh opened this issue Dec 30, 2020 · 4 comments

Comments

@Azorlogh
Copy link
Owner

Azorlogh commented Dec 30, 2020

Remaining milestones for the iced rewrite :

  • Clipboard
  • Undo / Redo
  • Project saving
  • MPE backend
@Woyten
Copy link

Woyten commented May 29, 2021

@Azorlogh Could you explain why you plan to move from from Druid to Iced? I am considering moving https://crates.io/crates/microwave from Nannou to Druid.

@Azorlogh
Copy link
Owner Author

Azorlogh commented May 30, 2021

The main reason is that I want to eventually turn it into a VST, and AFAIK druid's architecture doesn't make it possible.

I think someone recently managed to fork druid and make a VST prototype with it but with some problems like not being able to open two windows at the same time.

If your project doesn't need VST then I think Druid is a good choice. In my very limited experience I would say:
Druid pros:

  • good animation support
  • easy to write widgets & the drawing library piet is nice
  • very fast & efficient
    Druid cons:
  • no overlay support (so it's hard to make dropdowns)
  • command logic can get messy (but that could be my own fault)
  • rigidity (no VSTs, no 3D)
  • you have to implement a special trait for all the structs in your state

Iced pros:

  • modularity (you can replace a component if it doesn't fit your needs, which is why VSTs are possible)
  • overlay support
  • clean elm-like architecture which I like
    Iced cons:
  • modularity (have to use lots of generics)
  • no animation
  • less efficient than druid since the widget tree has to be rebuilt for every event

Take this with a grain of salt though! These libraries move fast

@Woyten
Copy link

Woyten commented May 31, 2021

@Azorlogh Thanks for your explanation. By the way, I put your project on my microtonal-rust list: https://github.com/Woyten/microtonal-rust

Hope that's okay for you. Please share. 😉

@Azorlogh
Copy link
Owner Author

Oh that's great, thank you as well. I hope rust gets a thriving future in the microtonal world!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants