With the V1 API stabilized, I’m going through the codebase and taking notes on it. (I doubt I’m the only one…)
Without a lot of additional effort, I could turn those notes into a quick, unofficial, high-level tour of the code as it currently exists. It wouldn’t be comprehensive but hopefully (with some community support) it would be basically correct. I would try to time it so that it would be published, in draft form, before the V1 release. Obviously, I can’t guarantee that it would stay updated, but if it proves useful I would try to track at least big changes.
Now, it may be that everyone who would be interested in this already has enough C++ that they don’t need it, in which case I’ll keep my notes to myself. But if nobody thinks this is a bad idea, I’ll post Stop 1 (the
main() function) below in a day or two to give a sense of what I have in mind.
My preliminary idea is go to through the
App singleton and its members next, then
window and GUI/event interactions, and then the plugin/module system. I don’t plan on talking about MIDI, Bridge (which is on its way out anyway), the fine GLFW/OpenGL details, the web API, or the multithreading implementation in any detail, since I don’t think knowing those subsystems is that helpful to plugin authors or people who want to mod the code. (One of the reasons I’m doing this is that I’m updating my module-hiding fork to V1, and I’m thinking about putting in a few other little things that will help my own QOL; to do that kind of tinkering without breaking anything, it’s really helpful to know where things are).