@dox and I created a few MIDI nodes. Use “Add Library” to get them: awgrover/midi
We’d love to see them used, get feedback, and fix any problems. They’ve only been tested lightly.
Right now, you are limited to the default MIDI serial port (Serial on most Arduino’s, Serial1 on Leonardo, Due). I’m not sure how to expose multiple serial-ports. Also, I’m pretty sure “thru” doesn’t work.
control-change has in the line 37-39 (inside the node) old, not declared variables (just naming syntax) , the compiler goes wild at this point ::
37: auto channel = getValue<input_channel>(ctx); /// should be:: input_Ch
38: auto controller_number = getValue<input_controller_number>(ctx); // should be :: input_CC
39: auto control_value = getValue<input_control_value>(ctx); //// should be :: input_Val
and the debug section is recomend to comment out , it gives lot of data in the midi channel…
i edited the nodes code for myself , but you could update this one globally.
How do you actually hook the arduino up with a daw? I i make a midicontroller usign your nodes, hwo do i get the DAW to reckognise the arduino as a midi device etc?
Thanks:)
Happy new year to you and thanks for your work.
In your XOD midi library, I can’t see any way to read input midi data so I tried to create a XOD midi read node (based on the Midi.h library) but I didn’t succeed yet. It seems that Callbacks are not handled correctly by XOD. May be you had the same issue one year ago.
But may be one year later, you have new ideas to manage a midi read node for XOD. It would be really cool !! Please let me know if you have a trick to do that !!
It’s been a while since I worked on the midi-library. I don’t remember why I didn’t do a read node.
I haven’t tried to deal with callbacks in XOD yet. @bradzilla84 is thinking about them for the Picaso-Serial-Arduino-Library. Contact him and see what he has thought of.
I think it might be safe to have the callback cause a pulse to be emitted: as if the read node did it. Possibly including the callback function with the read function’s .cpp would give you lexical access to the correct ctx. Setting a flag and then polling for it on “every clock pulse” is another possibility. I’d be curious about @bradzilla84’s thoughts.
If you want to add to the library, I’m very glad to have you do so. Looks like the library is currently in https://github.com/awgrover/xod_lib, I’d be happy to break it out into a separate repository so you could fork/collaborate/etc.
I realize that I didn’t thank you for your answer. Sorry for that. Must be the XOD fever
I worked on the MIDI library and I just posted this :
I will be happy to have your feedback on this and how to improve it.
I’m also working on a more complex MIDI library in order to handle multiple MIDI IN and OUT ports and stuff like merging, splitting, morphing MIDI data.
Please take whatever is useful from my library. I made the library for someone else, so the library is not based on my own use/experience. If you think you’ve covered the functionality, I can mark my library deprecated and refer them to yours.
Thanks for your reply and for your state of mind. It’s great to see people like you !
I think my library covers the basic functionalities. I use it almost every day. I think it’s pretty much stable but may be it needs to be tested a little more (with other boards for exemple).