#include <qtextstream.h> // Needs to come before egl.h.
#include <qcursor.h> // Needs to come before egl.h.
#include <qcoreevent.h> // Needs to come before egl.h.
+#include <qevent.h> // Needs to come before egl.h.
#include <epoxy/gl.h>
#include <epoxy/egl.h>
#include <QSurfaceFormat>
#include "context.h"
#include "mixer.h"
#include "ref_counted_gl_sync.h"
+#include "vumeter.h"
class MainWindow;
class QSurface;
static std::once_flag flag;
std::call_once(flag, [this]{
global_mixer = new Mixer(QGLFormat::toSurfaceFormat(format()));
+ global_mixer->set_audio_level_callback([this](float level_lufs, float peak_db){
+ global_vu_meter->set_level(level_lufs);
+
+ char buf[256];
+ snprintf(buf, sizeof(buf), "%.1f", peak_db);
+ global_peak_display->setText(buf);
+ });
global_mixer->start();
});
global_mixer->set_frame_ready_callback(output, [this]{