Studying this further I still have a question, hope it doesn’t get too complicated. Anyway, here it is:
the MainContent class instantiates a AudioDeviceSelectorComponent and hands over a pointer to the created AudioDeviceManager (created by the AudioAppComponent if I understand things correctly).
when updateInputsComboBox() is called the AudioDeviceManager pointer is handed to the created struct SimpleDeviceManagerInputLevelMeter
This in turn creates timer callbacks to get the input level from the AudioDeviceManager. The timerCallback() calls repaint() 20 times/sec.
However, the actual graphic meter is drawn when paint() (line 61) is called.
So where are these calls made?
(by the way how do I quote code from GitHub in the forum ?)