Skip to content

Commit

Permalink
cleanup and formatting post rebase on 2.4, compile allshader widgets …
Browse files Browse the repository at this point in the history
…also with QGLWidget and use shader based vumeters and spinnys by default
  • Loading branch information
m0dB committed May 1, 2023
1 parent dacfefe commit a7b327d
Show file tree
Hide file tree
Showing 56 changed files with 151 additions and 333 deletions.
60 changes: 30 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1106,7 +1106,26 @@ if(QT6)
else()
target_sources(mixxx-lib PRIVATE
src/mixxxmainwindow.cpp
src/shaders/endoftrackshader.cpp
src/shaders/rgbashader.cpp
src/shaders/rgbshader.cpp
src/shaders/shader.cpp
src/shaders/textureshader.cpp
src/shaders/unicolorshader.cpp
src/waveform/guitick.cpp
src/waveform/renderers/allshader/matrixforwidgetgeometry.cpp
src/waveform/renderers/allshader/waveformrenderbackground.cpp
src/waveform/renderers/allshader/waveformrenderbeat.cpp
src/waveform/renderers/allshader/waveformrenderer.cpp
src/waveform/renderers/allshader/waveformrendererendoftrack.cpp
src/waveform/renderers/allshader/waveformrendererfiltered.cpp
src/waveform/renderers/allshader/waveformrendererlrrgb.cpp
src/waveform/renderers/allshader/waveformrendererpreroll.cpp
src/waveform/renderers/allshader/waveformrendererrgb.cpp
src/waveform/renderers/allshader/waveformrenderersignalbase.cpp
src/waveform/renderers/allshader/waveformrenderersimple.cpp
src/waveform/renderers/allshader/waveformrendermark.cpp
src/waveform/renderers/allshader/waveformrendermarkrange.cpp
src/waveform/renderers/glslwaveformrenderersignal.cpp
src/waveform/renderers/glvsynctestrenderer.cpp
src/waveform/renderers/glwaveformrenderbackground.cpp
Expand Down Expand Up @@ -1137,13 +1156,18 @@ else()
src/waveform/vsyncthread.cpp
src/waveform/waveformmarklabel.cpp
src/waveform/waveformwidgetfactory.cpp
src/waveform/widgets/allshader/filteredwaveformwidget.cpp
src/waveform/widgets/allshader/lrrgbwaveformwidget.cpp
src/waveform/widgets/allshader/rgbwaveformwidget.cpp
src/waveform/widgets/allshader/simplewaveformwidget.cpp
src/waveform/widgets/allshader/waveformwidget.cpp
src/waveform/widgets/emptywaveformwidget.cpp
src/waveform/widgets/glwaveformwidgetabstract.cpp
src/waveform/widgets/glrgbwaveformwidget.cpp
src/waveform/widgets/glsimplewaveformwidget.cpp
src/waveform/widgets/glslwaveformwidget.cpp
src/waveform/widgets/glvsynctestwidget.cpp
src/waveform/widgets/glwaveformwidget.cpp
src/waveform/widgets/glwaveformwidgetabstract.cpp
src/waveform/widgets/hsvwaveformwidget.cpp
src/waveform/widgets/qthsvwaveformwidget.cpp
src/waveform/widgets/qtrgbwaveformwidget.cpp
Expand All @@ -1153,47 +1177,23 @@ else()
src/waveform/widgets/rgbwaveformwidget.cpp
src/waveform/widgets/softwarewaveformwidget.cpp
src/waveform/widgets/waveformwidgetabstract.cpp
src/widget/wglwaveformwidget.cpp
src/widget/woverview.cpp
src/widget/woverviewhsv.cpp
src/widget/woverviewlmh.cpp
src/widget/woverviewrgb.cpp
src/widget/wspinnybase.cpp
src/widget/wspinny.cpp
src/widget/wvumeterbase.cpp
src/widget/wspinnybase.cpp
src/widget/wspinnyglsl.cpp
src/widget/wvumeter.cpp
src/widget/wvumeterbase.cpp
src/widget/wvumeterglsl.cpp
src/widget/wvumeterlegacy.cpp
src/widget/wwaveformviewer.cpp
src/widget/wglwaveformwidget.cpp
)
if(QOPENGL)
target_sources(mixxx-lib PRIVATE
src/waveform/renderers/allshader/matrixforwidgetgeometry.cpp
src/shaders/endoftrackshader.cpp
src/shaders/rgbashader.cpp
src/shaders/rgbshader.cpp
src/shaders/shader.cpp
src/shaders/textureshader.cpp
src/shaders/unicolorshader.cpp
src/waveform/renderers/allshader/waveformrenderbackground.cpp
src/waveform/renderers/allshader/waveformrenderbeat.cpp
src/waveform/renderers/allshader/waveformrenderer.cpp
src/waveform/renderers/allshader/waveformrendererendoftrack.cpp
src/waveform/renderers/allshader/waveformrendererfiltered.cpp
src/waveform/renderers/allshader/waveformrendererlrrgb.cpp
src/waveform/renderers/allshader/waveformrendererpreroll.cpp
src/waveform/renderers/allshader/waveformrendererrgb.cpp
src/waveform/renderers/allshader/waveformrenderersignalbase.cpp
src/waveform/renderers/allshader/waveformrenderersimple.cpp
src/waveform/renderers/allshader/waveformrendermark.cpp
src/waveform/renderers/allshader/waveformrendermarkrange.cpp
src/waveform/widgets/allshader/filteredwaveformwidget.cpp
src/waveform/widgets/allshader/lrrgbwaveformwidget.cpp
src/waveform/widgets/allshader/rgbwaveformwidget.cpp
src/waveform/widgets/allshader/simplewaveformwidget.cpp
src/waveform/widgets/allshader/waveformwidget.cpp
src/widget/openglwindow.cpp
src/widget/wspinnyglsl.cpp
src/widget/wvumeterglsl.cpp
src/widget/tooltipqopengl.cpp
src/widget/wglwidgetqopengl.cpp
src/widget/winitialglwidget.cpp
Expand Down
117 changes: 0 additions & 117 deletions README-QOpenGL.md

This file was deleted.

10 changes: 8 additions & 2 deletions src/shaders/shader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,24 @@

using namespace mixxx;

#ifdef MIXXX_USE_QOPENGL
using GLShader = QOpenGLShader;
#else
using GLShader = QGLShader;
#endif

Shader::Shader() = default;

Shader::~Shader() = default;

void Shader::load(const QString& vertexShaderCode, const QString& fragmentShaderCode) {
VERIFY_OR_DEBUG_ASSERT(addShaderFromSourceCode(
QOpenGLShader::Vertex, vertexShaderCode)) {
GLShader::Vertex, vertexShaderCode)) {
return;
}

VERIFY_OR_DEBUG_ASSERT(addShaderFromSourceCode(
QOpenGLShader::Fragment, fragmentShaderCode)) {
GLShader::Fragment, fragmentShaderCode)) {
return;
}

Expand Down
11 changes: 10 additions & 1 deletion src/shaders/shader.h
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
#pragma once

#ifdef MIXXX_USE_QOPENGL
#include <QOpenGLShaderProgram>
#else
#include <QGLShaderProgram>
#endif

#include "util/class.h"

namespace mixxx {
class Shader;
}

class mixxx::Shader : public QOpenGLShaderProgram {
class mixxx::Shader
#ifdef MIXXX_USE_QOPENGL
: public QOpenGLShaderProgram {
#else
: public QGLShaderProgram {
#endif
public:
Shader();
~Shader();
Expand Down
14 changes: 5 additions & 9 deletions src/skin/legacy/legacyskinparser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,8 @@
#include "widget/wslidercomposed.h"
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include "widget/wspinny.h"
#ifdef MIXXX_USE_QOPENGL
#include "widget/wspinnyglsl.h"
#endif
#endif
#include "widget/wsplitter.h"
#include "widget/wstarrating.h"
#include "widget/wstatuslight.h"
Expand All @@ -88,10 +86,8 @@
#include "widget/wtrackwidgetgroup.h"
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
#include "widget/wvumeter.h"
#include "widget/wvumeterlegacy.h"
#ifdef MIXXX_USE_QOPENGL
#include "widget/wvumeterglsl.h"
#endif
#include "widget/wvumeterlegacy.h"
#endif
#include "widget/wwaveformviewer.h"
#include "widget/wwidget.h"
Expand Down Expand Up @@ -1305,7 +1301,7 @@ QWidget* LegacySkinParser::parseSpinny(const QDomElement& node) {
// during on shutdown. This has been tested with Qt 5.12.8 and 5.15.3
WSpinnyBase* pSpinny;
if (qApp->platformName() == QLatin1String("xcb")) {
#ifdef MIXXX_USE_QOPENGL
#ifndef MIXXX_USE_QPAINTER_WSPINNY
if (pWaveformWidgetFactory->isOpenGlShaderAvailable()) {
pSpinny = new WSpinnyGLSL(nullptr, group, m_pConfig, m_pVCManager, pPlayer);
} else
Expand All @@ -1315,7 +1311,7 @@ QWidget* LegacySkinParser::parseSpinny(const QDomElement& node) {
}
pSpinny->setParent(m_pParent);
} else {
#ifdef MIXXX_USE_QOPENGL
#ifndef MIXXX_USE_QPAINTER_WSPINNY
if (pWaveformWidgetFactory->isOpenGlShaderAvailable()) {
pSpinny = new WSpinnyGLSL(m_pParent, group, m_pConfig, m_pVCManager, pPlayer);
} else
Expand Down Expand Up @@ -1393,7 +1389,7 @@ QWidget* LegacySkinParser::parseVuMeter(const QDomElement& node) {
// during on shutdown. This has been tested with Qt 5.12.8 and 5.15.3
WVuMeterBase* pVuMeterWidget;
if (qApp->platformName() == QLatin1String("xcb")) {
#ifdef MIXXX_USE_QOPENGL
#ifndef MIXXX_USE_QPAINTER_VUMETER
if (pWaveformWidgetFactory->isOpenGlShaderAvailable()) {
pVuMeterWidget = new WVuMeterGLSL();
} else
Expand All @@ -1403,7 +1399,7 @@ QWidget* LegacySkinParser::parseVuMeter(const QDomElement& node) {
}
pVuMeterWidget->setParent(m_pParent);
} else {
#ifdef MIXXX_USE_QOPENGL
#ifndef MIXXX_USE_QPAINTER_VUMETER
if (pWaveformWidgetFactory->isOpenGlShaderAvailable()) {
pVuMeterWidget = new WVuMeterGLSL(m_pParent);
} else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ void WaveformRenderBackground::setup(const QDomNode& node,
}
}

void WaveformRenderBackground::renderGL() {
void WaveformRenderBackground::paintGL() {
glClearColor(static_cast<float>(m_backgroundColor.redF()),
static_cast<float>(m_backgroundColor.greenF()),
static_cast<float>(m_backgroundColor.blueF()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class allshader::WaveformRenderBackground final : public allshader::WaveformRend
~WaveformRenderBackground() override;

void setup(const QDomNode& node, const SkinContext& context) override;
void renderGL() override;
void paintGL() override;

private:
QColor m_backgroundColor;
Expand Down
3 changes: 2 additions & 1 deletion src/waveform/renderers/allshader/waveformrenderbeat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ WaveformRenderBeat::~WaveformRenderBeat() {
}

void WaveformRenderBeat::initializeGL() {
WaveformRenderer::initializeGL();
m_shader.init();
}

Expand All @@ -28,7 +29,7 @@ void WaveformRenderBeat::setup(const QDomNode& node, const SkinContext& context)
m_color = WSkinColor::getCorrectColor(m_color).toRgb();
}

void WaveformRenderBeat::renderGL() {
void WaveformRenderBeat::paintGL() {
TrackPointer trackInfo = m_waveformRenderer->getTrackInfo();

if (!trackInfo) {
Expand Down
2 changes: 1 addition & 1 deletion src/waveform/renderers/allshader/waveformrenderbeat.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class allshader::WaveformRenderBeat final : public allshader::WaveformRenderer {
~WaveformRenderBeat() override;

void setup(const QDomNode& node, const SkinContext& context) override;
void renderGL() override;
void paintGL() override;
void initializeGL() override;

private:
Expand Down
3 changes: 2 additions & 1 deletion src/waveform/renderers/allshader/waveformrendererabstract.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,9 @@ class allshader::WaveformRendererAbstract : public QOpenGLFunctions {
/// actual WGLWidget.
virtual ~WaveformRendererAbstract() = default;
virtual void initializeGL() {
initializeOpenGLFunctions();
}
virtual void resizeGL(int w, int h) {
}
virtual void renderGL() = 0;
virtual void paintGL() = 0;
};
Loading

0 comments on commit a7b327d

Please sign in to comment.