rust-lv2 icon indicating copy to clipboard operation
rust-lv2 copied to clipboard

WIP: Implement Options and BufSize extensions

Open prokopyl opened this issue 4 years ago • 7 comments

This PR implements the Options spec, alongside the BufSize spec for a simple example of an use case.

This is still very much a WIP, as some APIs are not fully implemented or cleaned up, and it still needs some documentation. In the meantime however, you can take a look at options/tests/optionable.rs for a simple example on how to use this. 🙂

Things still on my to-do list before I can mark this as ready for review:

  • [ ] Implement the "to atom value" side of OptionType
  • [ ] Finish implementing the OptionError conversions
  • [ ] Document all of the items

prokopyl avatar Aug 09 '21 10:08 prokopyl

@Janonard @PieterPenninckx , if you wanna take a look on this, your feedback is welcome! 🙂

prokopyl avatar Aug 09 '21 10:08 prokopyl

FYI: there's also this branch; it may serve as inspiration. Edit: this PR seems to be much more complete.

PieterPenninckx avatar Aug 10 '21 07:08 PieterPenninckx

This is actually the first more-than-superficial review I'm doing for this crate. I've found some things that are unrelated to this PR, I'm fixing these in my fork.

PieterPenninckx avatar Aug 10 '21 08:08 PieterPenninckx

This is actually the first more-than-superficial review I'm doing for this crate. I've found some things that are unrelated to this PR, I'm fixing these in my fork.

Yes, I've found a few things too while working on this. I've put fixes and reworks on the atom-soundness branch, however it's very WIP, and I'm still experimenting on some things I'm not quite sure how to approach yet, that's why I haven't made a PR yet.

prokopyl avatar Aug 11 '21 12:08 prokopyl

I've put fixes and reworks on the atom-soundness branch.

It looks like you've found much more than I have. I'll just document issues in my fork without an effort to actually fix things, so I can avoid duplicate work.

PieterPenninckx avatar Aug 13 '21 08:08 PieterPenninckx

I had hoped to add support for LV2 in rsynth this week, which would give me enough background knowledge to review this PR, but alas... I'm afraid I won't be able to review this properly in the upcoming months. Looking at the BackAsSpace trait, I have the gut feeling that the "Space" mechanism for Atoms may need to be reviewed (simplified) in the light of this feature, but I may be wrong.

PieterPenninckx avatar Aug 20 '21 15:08 PieterPenninckx

I had hoped to add support for LV2 in rsynth this week, which would give me enough background knowledge to review this PR, but alas... I'm afraid I won't be able to review this properly in the upcoming months. Looking at the BackAsSpace trait, I have the gut feeling that the "Space" mechanism for Atoms may need to be reviewed (simplified) in the light of this feature, but I may be wrong.

@PieterPenninckx Indeed! It took quite a lot of time, but I made many changes, improvements, clarifications and simplifications in the Space APIs in #100 . :slightly_smiling_face:

I will rebase this branch on it, and will remove the Draft tag on this PR when #100 is merged.

prokopyl avatar Sep 26 '21 15:09 prokopyl