Hi all - I previously posted a message about trying to get a realtime oscilloscope class that I’m using able to paint fast enough in JUCE to look smooth.
I’m starting to suspect that part of the problem might be with the class, which is third party code. Does anyone know of any oscilloscope classes that exist which are open source or legal for me to use? This is, for now, a non-commercial app, just something I’m messing around with. It just has to be the sort of thing that’s halfway decently optimized to repaint really quickly and see a smooth oscilloscope trace across the screen as the waveform comes in.
The JUCE demo came with one, right…? Does anyone know if that’s able to handle that sort of repainting? Or perhaps another solution?
Do you just need to display some incoming sample data or need hold-triggering like a proper oscilloscope? The LiveInputDisplay in the JUCE demo which shows the peak sample in a block and draws a line between the positive and minimum of them or if you need a slightly more accurate version you could take a look at the AudioOscilloscope class in the dRowAudio module I posted a few days a go. It finds the min and max of a block of samples and draws a line between them and uses an Image internally to buffer so will probably be a bit more efficient (haven’t actually clocked them though).
It’s at the top of the FFT demo, or just download the module and bung it in your project like any other JUCE module. Bear in mind that the demo does a lot of other stuff behind the scenes so may compromise the overall performance of the scope, best to try it on its own to see if it suits your purposes. Just add blocks of data with the processBlock() method. You can get it form here.
Was looking for an oscilloscope and spectrum analyzer and your module was perfect! It looks glorious and works great. Thank you so much!!