RustAudio / rust-lv2

A safe, fast, and modular framework to create LV2 plugins, written in Rust
Apache License 2.0
171 stars 23 forks source link

Remove/deprecate inPlaceBroken port types? #94

Open prokopyl opened 3 years ago

prokopyl commented 3 years ago

I am making this issue to separate the conversation about the implementation in #93, and the following questions that were raised:

There was already a rather large conversation and many points that were stated in the discussion thread in #93 which I won't reproduce here.

Considering this change, if implemented, would not be done until after the next major release (since it would be breaking), discussing it can wait, while restoring compatibility with hosts that do not allow inPlaceBroken (see #89) is more pressing. :slightly_smiling_face:

PieterPenninckx commented 3 years ago

Should the in-place-compatible port types be the default?

I think it's best to not have a "default" that can be overridden, but to just always "ask to choose". The documentation should promote the in-place-compatible port types, in my opinion (otherwise there will be too many questions about non-supported hosts).

Should in-place-broken processing be supported at all?

I don't think there are that many use cases for it. I would replace it by something more low-level and unsafe (i.e.: exposing the raw pointers).