Audio oscilloscope widget that shows one or more channels as a waveform, a spectrum or a level. More...
| Header: | #include <UnifiedAudioScope> |
| Since: | 1.0 |
| Inherits: | QWidget |
The scope has three modes, waveform, spectrum and level, and two channel layouts: all channels in one overlay, or one cell per channel. It renders into a back-buffer image on a timer on the GUI thread and paints the last finished frame, so a resize never shows a blank frame.
Samples come from one of three sources. A caller can push raw float samples with pushSamples() or pushInterleavedSamples(), from any thread. setAudioDevice() makes the scope open its own capture stream. subscribeToTap() makes it observe an existing capture stream through a media::audio::AudioTap, so a meter can run during comms without a second stream; this closes any stream the scope opened itself.
With setPopOutEnabled(), a double click moves the scope to its own window and a second double click puts it back. renderToPixmap() draws a thumbnail.
See also LevelDetector.