Repository navigation
embedded support via Zephyr #152
Replies: 4 comments 7 replies
|
Hello! oh that would be amazing! I have some ESP32s and raspberry pi picos on which I could try it. https://github.com/celtera/libremidi/tree/master/include/libremidi/backends The steps are: 0/ Add the necessary steps to the build system, I try to have one file per back-end here: https://github.com/celtera/libremidi/tree/master/cmake referenced here: https://github.com/celtera/libremidi/blob/master/CMakeLists.txt#L59 1/ Add an enum here: https://github.com/celtera/libremidi/blob/master/include/libremidi/api-c.h and here: https://github.com/celtera/libremidi/blob/master/bindings/python/pylibremidi.cpp#L195 2/ Add a new backend here: https://github.com/celtera/libremidi/tree/master/include/libremidi/backends I recommend starting from a copy-paste of the JACK one which is very straightforward. 3/ Add a new header like this one: https://github.com/celtera/libremidi/blob/master/include/libremidi/backends/jack.hpp which centralizes the information of the backend 4/ Add the back-end here so that the library knows about it when enumerating backends: https://github.com/celtera/libremidi/blob/master/include/libremidi/backends.hpp 5/ Add the new configuration types here: https://github.com/celtera/libremidi/blob/master/include/libremidi/configurations.hpp And you should be good to go :) |
|
Great, thank you! That seems pretty straightforward. I'm working on ESP32 and Picos as well. I haven't tried mixing C++ with Zephyr but I think with the C header it shouldn't be too difficult. I'll let you know once I get it going. |
|
Awesome! Honestly I hadn’t even looked into it yet |
|
hi, how are we doing with embedded support in general? EDIT: asking that since this MIDI 2.0 C++ Library also have some works toward embedded, and currently looking at commits I think that will be a better place for embedded baremetal developer to start on... |
Uh oh!
There was an error while loading. Please reload this page.
Hi @jcelerier, I'm really excited about the recent progress with this library! I was thinking about the possibility of getting it to work on embedded platforms, and it occurred to me that Zephyr RTOS might be a good fit, since it already has some Linux-like features built in and some MIDI support as well. Do you have any thoughts on how best to integrate new backends into libremidi?
All reactions