Parametric EQ
I had the opportunity to help develop this proof-of-concept Parametric EQ. I was brought in to simplify the codebase and improve CPU performance. The code was written in an object oriented style, which in this case had led to a situation where there were too many layers of inheritance in some of the UI components to be able to make sense of the overall system. This led to a situation where several parts of the EQ controls, in the interest of encapsulation, would repaint themselves when they were moved. This would lead to a situation where each user input would trigger several repaints on top of the repaint JUCE itself would trigger. On top of that, the dots were listening for parameter changes via a timer callback, and not directly through listener events. Changing both of these and simplifying the OOP structure by removing any child class that had less than 30 lines of code inside of it removed about a third of the code and increased UI performance significantly.