Hi there. I'm new to the Axoloti, and have been trying to pick up the basics for coding my own objects. The Creating AXO Objects post (https://sebiik.github.io/community.axoloti.com.backup/t/creating-axo-objects/481) has been especially helpful, so many thanks to @alex for posting it!
However, for the life of me I can't find much documentation on what the point of the code.midihandler and helpPatch blocks in an object are, and how they work together with the other blocks. I've done a few forum searches here and haven't turned up much, but I feel like I must be missing something that's already on the forum. If that's the case, I'm more than happy to close/delete this post once I can find a link to those posts.
If that isn't the case, it'll probably help this post if I outline the assumptions I've been making, so we have something more concrete to start talking about.
For the code.midihandler block, I'm assuming you use it (1) to receive data from the midi in port and pass it onto your k-/s-rate code, and (2) to take data from your k-/s-rate code and send it to the midi out port. Is that on the right track? I've also poked around in some of the factory .axo files and the axoloti-runtime/firmware folder, and it looks like the midi_usb.c, midi_usb.h, midi.c, and midi.h files in the firmware folder hold some of the constants and functions that get used in the midihandler block. Is this right? And are there any other files that add more functionality to the midihandler block?
As for the helpPatch block, I'm assuming it gets used to include .axh files in your object, but beyond that I'm lost. I've poked around in some of the .axh files too, but haven't been able to wrap my head around what they are doing.
Any thoughts you could share with me would be a huge help.