Thanks Pensive
,
Concerning the timer library, I didn't know the Timer lib you presented, but have you seen the "Software Timer" module doing oscillations in Node-Blue ? Maybe I didn't understand what you want, but it looks like it is (except it's only software and it needs a hardware version). I'll have a look a this Timer lib and use it if it's worth.
Concerning my approach to platform specific functions, my approach is to hide as much as possible the specific aspects of each hardware using specific implementation with #ifdefs, to provide optimized code for each platform, like many libraries are doing. On the other hand I'd like to provide dedicated modules when they only exists on one platform (for example like DACs that only exists on Teensys, Due, etc).
At the moment you can choose the platform with a drop-down list box, but it's not saved with the project and it should (couldn't find out how to do that yet).
I haven't looked at the midi stuff, but I would love to merge the Teensy audio library tool with my tool (it will needs a bit of work and thinking though). Eg it would be cool if one can use my tool to connect a potentiometer to the board, connect the analog result to an audio module like sound synthesis and modulate the pitch with the potentiometer.
As you say it's going to be messy having separate versions, even from a maintenance perspective to my opinion. There's going to be potentially a lot of modules added, and I think that the problem is that the interface is not designed with this in mind. I think that instead of a linear list on the left, it should be a tree so modules could be organized properly, and it would avoid having to do massive scrolling when looking for a module.