Some things that come to mind:
- Extensive over use of mutex locks needs addressing, but will require a large redesign.
- Lack of support for high res/retina screen across Windows/Mac (though some work on Mac done), more of an issue as retina displays become standard.
- Would be great to move iPlug away from reliance on WDL code towards modern C++11 and STL
- Remove legacy code, and improve formatting to aid readability.
- The parameter system could do with overhauling
- SWELL possibly too complex and arcane for what is needed. I have a stripped down version of iPlug working with Cairo and a simple native view wrapper based on Pugl:
https://drobilla.net/software/pugl, you start to see how lean the code base could be.