-
Notifications
You must be signed in to change notification settings - Fork 20
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
Roadmap for further development #18
Comments
I updated the list because #11 has been closed. If we recommend the user to use an external types crate, we maybe should decide what to do with the ones that are now in. Possible options:
|
I was thinking about this, it could be a good use-case for features?. This means the library is cut-down, minimal implementation, but the use can opt into a 'midi-types' feature that implements the traits from midi types. Users that wish to use external crates from note management either a) convert to/from in their own code, or b) add in a Pull request for the implementation of a new feature that allows people to 'seemlessly' use the external crate type. As far as the change, a breaking change where they are dropped seems okay. I imagine this crate isn't used in a heap of things. So the affected parties are small. Also I guess on types, everything in data is kinda 'if this type existed' we wouldn't need our own. I think the intent was always to have a more usbd-midi-data crate, with just the domain, and no real procedural logic. It just wasn't worth the effort at the time. If the data types in this crate are made into their own crate, other crates can implement the conversions aswell. |
Regarding the SysEx processing, maybe the suggestion from @x37v mentioned in the original PR could be further investigated. My initial idea here is to add an pub enum UsbMidiEvent<'a> {
Regular(&'a [u8]),
SysexStart(&'a [u8]),
SysexContinue(&'a [u8]),
SysexEnd(&'a [u8])
} Because the enum variants contain For writing SysEx to the host, maybe a solution also based on iterators is possible. Not sure about that yet. |
I like the resolution to expose the regular midi raw data and let the application decide on the further midi processing. |
I just want to put some notes here for further discussion, nothing set in stone.
usb-device
soon that removes thecontrol-buffer-256
feature in favour of passing a dedicated control buffer toUsbDeviceBuilder::new()
. That will solve the issues with large config descriptors.usb-device
0.4 is out.The text was updated successfully, but these errors were encountered: