-
Notifications
You must be signed in to change notification settings - Fork 2
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
Move to RTIC and update dependencies #1
Conversation
(I think the only "controversial" potentially breaking change should be the move to
|
Just a small comment. It seems that the In any case, the |
Hi :). I don't actually have the device with me (it worked so was given to my guitarist friend to use :). However hardware wise it was just a bluepill, with switches. In fact in development I just shorted it with some leads. I'm not surprised it works well on OSX, my friend used it on a Mac laptop. Agree some of the items could do with a bit of a cleanup, the usb midi spec was a hard read, so it ended up being a large amount of trial and error and also looking at C. Most of which always implemented 2 inputs and 2 outputs, I suspect because one example was copied around/ported many times. |
I'm also very happy to collaborate on improving the usbd-midi library. I don't have a pressing need, but I love micro work. So if there is some goal or way we can manage work on improving the lib I'm happy to develop it further. |
Hi. I'm thinking about supporting midi out from the host. I haven't looked at that since my early experiments some years back, but I don't think it should be that hard. There is this Rust+USB group on Matrix (I tried to invite you but failed as the bridge did not support PMs it seems). The group discusses the audio class and other USB related stuff. As Midi is part of the Audio Class, I think we could discuss it there to start out. |
@perlindgren I did just merge a PR that should add in the midi out from the host rust-embedded-community/usbd-midi#3 Do you have some more info about the rust+usb group on matrix?. I can't find it in the embedded wg list. |
Hi btrepp (and others). A while back (a month or so) I did a survey of existing midi abstractions in Rust (not usb midi in particular but midi in general). I found that https://crates.io/crates/helgoboss-midi offered a nice abstraction (I guess you all might have seen that at some point). The problem was that this crate did not compile under I also started out on a complete re-write of Not sure how it (usb midi) will best fit into the whole Rust embedded audio ecosystem and the relation to usb-audio in general. One main blocker here is that to properly implement usb audio class devices, we need support in the Rust usb abstractions for synchronization (establishing a back channel for accurate sample rate feedback needed for high quality sound transport). Midi will be part of the equation here, so I'm considering making it modular, perhaps breaking out the descriptor generation into a separate crate, and providing a very light weight crate using that and the helgoboss-midi abstractions to form a minimal usbd-midi crate. In that scenario usdb-midi could work as a stand alone crate as well, if you don't want the full audio-class functionality. |
Hi
Cool project!
I have updated your repo to RTIC v5, and changed up the dependencies. As I don't have a "stomp" box, I cannot test that it actually stomps as intended :) It compiles, that is the only thing I checked.
So please try it before accepting the PR.
I would be happy to discuss further capabilities of the
usbd-midi
implementation. A while back I implemented a midi-fader (used for scratching) in Rust (and just the bare necessity to get midi working). I experienced some compatibility problems, it worked in Linux and Windows, but not under OSX. Comparing the behavior of USB communication using Wire shark, and found that OSX is actually assuming even an input device to accept outgoing packages. With this implemented on the target side (actually just ignoring the data) I got it working also under OSX. I used a bluepill as well by the way.Best regards.
Per