Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Mixxx compile even though QT_NO_OPENGL or QT_OPENGL_ES_2 is defined #2504

Merged
merged 3 commits into from
Feb 25, 2020

Conversation

daschuer
Copy link
Member

This should fix the building on Raspberry Pi
https://bugs.launchpad.net/mixxx/+bug/1863440

@@ -6,6 +6,7 @@
#include "waveform/waveformwidgetfactory.h"
#include "util/math.h"

#if !defined(QT_NO_OPENGL) && !defined(QT_OPENGL_ES_2)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, why not exclude the whole file content?

Copy link
Contributor

@uklotzde uklotzde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My remarks apply to all excluded file contents, both .h and .cpp files.

@daschuer
Copy link
Member Author

Done.

@ehendrikd
Copy link
Contributor

ehendrikd commented Feb 17, 2020

Compile fails on Raspberry Pi with the following: https://pastebin.com/nVUucQkC

@daschuer
Copy link
Member Author

This is strange it looks like glslwaveformrenderersignal.h is skipped. It is IMHO skipped under the same conditions like the whole cpp file.

I guess
#include
defines QT_NO_OPENGL or QT_OPENGL_ES_2

hoverver, even more strange is

scons: *** [lin32_build/src/waveform/renderers/glslwaveformrenderersignal.o] Error 1
In file included from src/waveform/renderers/glvsynctestrenderer.cpp:5:
src/waveform/renderers/glvsynctestrenderer.h:14:40: error: expected class-name before ‘{’ token
         protected QOpenGLFunctions_2_1 {

because there is nothing in between.

Ideas?

@daschuer
Copy link
Member Author

Did you use scons or cmake?

Please try this: catch the command line for building glslwaveformrenderersignal.cpp
With cmake and make it works with
make VERBOSE=1
Than add -E directly after g++ and redirect the output to a file for pasting here.

@daschuer
Copy link
Member Author

daschuer commented Feb 19, 2020

Please create and post the glvsynctestrenderer.i file. It is the copy file with all preprocessor detectives extracted.

This can be created by running scons again with additional verbose=1
and extract the c++ call for
glvsynctestrenderer.cpp from the output.
Copy it to a text editor and add
-save-temps
Immediately after c++
Copy it to the terminal and execute.
You will now find the *.i file in you current directory.

@daschuer
Copy link
Member Author

Please test again.

@uklotzde uklotzde added this to the 2.3.0 milestone Feb 21, 2020
@ehendrikd
Copy link
Contributor

This now compiles without errors on Raspberry Pi, thank you. Whilst running however there is continual output as reported here: https://bugs.launchpad.net/mixxx/+bug/1863368 even after increasing the RPi video memory to 128MB and 256MB. I initially temporarily stopped this by commenting out

swapBuffers();
or by hiding the spinnys.

@uklotzde
Copy link
Contributor

LGTM. All open issues should be addressed by follow-up PRs.

@uklotzde uklotzde merged commit 8c06e29 into mixxxdj:master Feb 25, 2020
@ehendrikd
Copy link
Contributor

I also just updated https://mixxx.org/wiki/doku.php/compiling_on_linux to reflect that very little is different from the Debian / Ubuntu compile process on Raspbian now, and removed the references to opengles=1.

@ehendrikd ehendrikd mentioned this pull request Oct 9, 2020
@moretocome
Copy link

Compiling fails with this error, when trying to compile with cmake in latest raspbian on a raspberry pi 4b.

@daschuer
Copy link
Member Author

It will be fixed with:
#3466
It would be nice if you can confirm it at the linked pull request, because I have no armhf hardware to test with.

@daschuer
Copy link
Member Author

Btw: wich device do you use and what is your waveforms setting?

@moretocome
Copy link

moretocome commented Dec 20, 2020

A raspberry pi 4b with 4GB ram and a freshly flashed SD with Raspbian Buster fully updated.

I tried compiling branch 2.3 again last night, but I have not been able to successfully build Mixxx with cmake in this setup, so I haven't set any waveform settings yet.

Previously I have build Mixxx 2.3 successfully using Scons in a similar device, but notably this was with Ubuntu Mate as OS instead of Raspbian.

@moretocome
Copy link

Unfortunately the build process continues to fail on armhf.

Here is the output generated:

cmake --build ~/mixxx/build --parallel `nproc`
[  0%] Built target PortAudioRingBuffer
[  3%] Built target shout_mixxx
[  3%] Built target Kaitai
[  6%] Built target QueenMaryDsp
[  6%] Built target FpClassify
[  6%] Automatic MOC for target QtScriptByteArray
[  7%] Built target MP3GuessEnc
[  7%] Built target libKeyFinder
[  8%] Built target fidlib
[  8%] Built target QtScriptByteArray_autogen
[  9%] Built target mixxx-xwax
[ 10%] Built target ReplayGain
[ 10%] Symlinking to build directory...
[ 10%] Built target mixxx-hidapi
[ 10%] Symlinking resources to build directory...
[ 10%] Built target Reverb
[ 10%] Built target mixxx-script
[ 10%] Built target mixxx-res
[ 12%] Built target SoundTouch
[ 13%] Built target mixxx-proto
[ 13%] Symlinking test data to build directory...
[ 14%] Built target mixxx-qrc
[ 16%] Built target benchmark
[ 16%] Built target gtest
[ 16%] Built target mixxx-testdata
[ 16%] Built target benchmark_main
[ 16%] Built target QtScriptByteArray
[ 16%] Built target gmock
[ 17%] Built target gtest_main
[ 17%] Automatic MOC and UIC for target mixxx-lib
[ 17%] Built target gmock_main
[ 17%] Built target mixxx-lib_autogen
[ 18%] Building CXX object CMakeFiles/mixxx-lib.dir/src/waveform/waveformwidgetfactory.cpp.o
[ 18%] Building CXX object CMakeFiles/mixxx-lib.dir/src/waveform/widgets/glrgbwaveformwidget.cpp.o
[ 18%] Building CXX object CMakeFiles/mixxx-lib.dir/src/waveform/widgets/glsimplewaveformwidget.cpp.o
[ 18%] Building CXX object CMakeFiles/mixxx-lib.dir/src/waveform/widgets/glslwaveformwidget.cpp.o
In file included from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:1:
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.h:7:61: error: expected class-name before ‘{’ token
 class GLRGBWaveformWidget : public GLWaveformWidgetAbstract {
                                                             ^
In file included from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:3:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp:66:8: error: ‘GLWaveformWidgetAbstract’ has not been declared
     { &GLWaveformWidgetAbstract::staticMetaObject, qt_meta_stringdata_GLRGBWaveformWidget.data,
        ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp: In member function ‘virtual const QMetaObject* GLRGBWaveformWidget::metaObject() const’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp:73:21: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:3:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp:73:21: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:3:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp:73:50: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:3:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp:73:50: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:3:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp: In member function ‘virtual void* GLRGBWaveformWidget::qt_metacast(const char*)’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp:81:12: error: ‘GLWaveformWidgetAbstract’ has not been declared
     return GLWaveformWidgetAbstract::qt_metacast(_clname);
            ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp: In member function ‘virtual int GLRGBWaveformWidget::qt_metacall(QMetaObject::Call, int, void**)’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glrgbwaveformwidget.cpp:86:11: error: ‘GLWaveformWidgetAbstract’ has not been declared
     _id = GLWaveformWidgetAbstract::qt_metacall(_c, _id, _a);
           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp: In constructor ‘GLRGBWaveformWidget::GLRGBWaveformWidget(const QString&, QWidget*)’:
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:16:11: error: class ‘GLRGBWaveformWidget’ does not have any field named ‘GLWaveformWidgetAbstract’
         : GLWaveformWidgetAbstract(group, parent) {
           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:18:29: error: ‘context’ was not declared in this scope
              << "Valid:" << context()->isValid()
                             ^~~~~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:18:29: note: suggested alternative: ‘center’
              << "Valid:" << context()->isValid()
                             ^~~~~~~
                             center
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:21:5: error: ‘addRenderer’ was not declared in this scope
     addRenderer<WaveformRenderBackground>();
     ^~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:21:5: note: suggested alternative: ‘QSvgRenderer’
     addRenderer<WaveformRenderBackground>();
     ^~~~~~~~~~~
     QSvgRenderer
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:21:41: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderBackground>();
                                         ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:21:43: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderBackground>();
                                           ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:22:43: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRendererEndOfTrack>();
                                           ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:22:45: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRendererEndOfTrack>();
                                             ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:23:40: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRendererPreroll>();
                                        ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:23:42: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRendererPreroll>();
                                          ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:24:40: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderMarkRange>();
                                        ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:24:42: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderMarkRange>();
                                          ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:28:35: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderBeat>();
                                   ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:28:37: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderBeat>();
                                     ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:29:35: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderMark>();
                                   ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:29:37: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderMark>();
                                     ^
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:31:5: error: ‘setAttribute’ was not declared in this scope
     setAttribute(Qt::WA_NoSystemBackground);
     ^~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:31:5: note: suggested alternative: ‘setstate’
     setAttribute(Qt::WA_NoSystemBackground);
     ^~~~~~~~~~~~
     setstate
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:34:5: error: ‘setAutoBufferSwap’ was not declared in this scope
     setAutoBufferSwap(false);
     ^~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:36:5: error: ‘m_initSuccess’ was not declared in this scope
     m_initSuccess = init();
     ^~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:36:21: error: ‘init’ was not declared in this scope
     m_initSuccess = init();
                     ^~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:36:21: note: suggested alternative: ‘int’
     m_initSuccess = init();
                     ^~~~
                     int
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp: In member function ‘virtual void GLRGBWaveformWidget::castToQWidget()’:
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:44:5: error: ‘m_widget’ was not declared in this scope
     m_widget = this;
     ^~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:44:5: note: suggested alternative: ‘QWidget’
     m_widget = this;
     ^~~~~~~~
     QWidget
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp: In member function ‘virtual mixxx::Duration GLRGBWaveformWidget::render()’:
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:58:26: error: no matching function for call to ‘QPainter::QPainter(GLRGBWaveformWidget*)’
     QPainter painter(this);
                          ^
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtGui/qpaintengine.h:47,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:47,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:125:14: note: candidate: ‘QPainter::QPainter(QPaintDevice*)’
     explicit QPainter(QPaintDevice *);
              ^~~~~~~~
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:125:14: note:   no known conversion for argument 1 from ‘GLRGBWaveformWidget*’ to ‘QPaintDevice*’
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:124:5: note: candidate: ‘QPainter::QPainter()’
     QPainter();
     ^~~~~~~~
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:124:5: note:   candidate expects 0 arguments, 1 provided
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:60:5: error: ‘draw’ was not declared in this scope
     draw(&painter, nullptr);
     ^~~~
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.cpp:60:5: note: suggested alternative: ‘drem’
     draw(&painter, nullptr);
     ^~~~
     drem
make[2]: *** [CMakeFiles/mixxx-lib.dir/build.make:6225: CMakeFiles/mixxx-lib.dir/src/waveform/widgets/glrgbwaveformwidget.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:1:
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.h:7:64: error: expected class-name before ‘{’ token
 class GLSimpleWaveformWidget : public GLWaveformWidgetAbstract {
                                                                ^
In file included from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp:66:8: error: ‘GLWaveformWidgetAbstract’ has not been declared
     { &GLWaveformWidgetAbstract::staticMetaObject, qt_meta_stringdata_GLSimpleWaveformWidget.data,
        ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp: In member function ‘virtual const QMetaObject* GLSimpleWaveformWidget::metaObject() const’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp:73:21: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp:73:21: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp:73:50: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp:73:50: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp: In member function ‘virtual void* GLSimpleWaveformWidget::qt_metacast(const char*)’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp:81:12: error: ‘GLWaveformWidgetAbstract’ has not been declared
     return GLWaveformWidgetAbstract::qt_metacast(_clname);
            ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp: In member function ‘virtual int GLSimpleWaveformWidget::qt_metacall(QMetaObject::Call, int, void**)’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glsimplewaveformwidget.cpp:86:11: error: ‘GLWaveformWidgetAbstract’ has not been declared
     _id = GLWaveformWidgetAbstract::qt_metacall(_c, _id, _a);
           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp: In constructor ‘GLSimpleWaveformWidget::GLSimpleWaveformWidget(const QString&, QWidget*)’:
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:19:11: error: class ‘GLSimpleWaveformWidget’ does not have any field named ‘GLWaveformWidgetAbstract’
         : GLWaveformWidgetAbstract(group, parent) {
           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:21:29: error: ‘context’ was not declared in this scope
              << "Valid:" << context()->isValid()
                             ^~~~~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:21:29: note: suggested alternative: ‘center’
              << "Valid:" << context()->isValid()
                             ^~~~~~~
                             center
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:24:5: error: ‘addRenderer’ was not declared in this scope
     addRenderer<WaveformRenderBackground>();
     ^~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:24:5: note: suggested alternative: ‘QSvgRenderer’
     addRenderer<WaveformRenderBackground>();
     ^~~~~~~~~~~
     QSvgRenderer
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:24:41: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderBackground>();
                                         ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:24:43: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderBackground>();
                                           ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:25:43: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRendererEndOfTrack>();
                                           ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:25:45: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRendererEndOfTrack>();
                                             ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:26:40: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRendererPreroll>();
                                        ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:26:42: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRendererPreroll>();
                                          ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:27:40: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderMarkRange>();
                                        ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:27:42: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderMarkRange>();
                                          ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:31:35: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderBeat>();
                                   ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:31:37: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderBeat>();
                                     ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:32:35: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderMark>();
                                   ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:32:37: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderMark>();
                                     ^
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:34:5: error: ‘setAttribute’ was not declared in this scope
     setAttribute(Qt::WA_NoSystemBackground);
     ^~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:34:5: note: suggested alternative: ‘setstate’
     setAttribute(Qt::WA_NoSystemBackground);
     ^~~~~~~~~~~~
     setstate
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:37:5: error: ‘setAutoBufferSwap’ was not declared in this scope
     setAutoBufferSwap(false);
     ^~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:39:5: error: ‘m_initSuccess’ was not declared in this scope
     m_initSuccess = init();
     ^~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:39:21: error: ‘init’ was not declared in this scope
     m_initSuccess = init();
                     ^~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:39:21: note: suggested alternative: ‘int’
     m_initSuccess = init();
                     ^~~~
                     int
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp: In member function ‘virtual void GLSimpleWaveformWidget::castToQWidget()’:
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:46:5: error: ‘m_widget’ was not declared in this scope
     m_widget = this;
     ^~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:46:5: note: suggested alternative: ‘QWidget’
     m_widget = this;
     ^~~~~~~~
     QWidget
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp: In member function ‘virtual mixxx::Duration GLSimpleWaveformWidget::render()’:
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:60:26: error: no matching function for call to ‘QPainter::QPainter(GLSimpleWaveformWidget*)’
     QPainter painter(this);
                          ^
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtGui/qpaintengine.h:47,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:47,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:125:14: note: candidate: ‘QPainter::QPainter(QPaintDevice*)’
     explicit QPainter(QPaintDevice *);
              ^~~~~~~~
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:125:14: note:   no known conversion for argument 1 from ‘GLSimpleWaveformWidget*’ to ‘QPaintDevice*’
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:124:5: note: candidate: ‘QPainter::QPainter()’
     QPainter();
     ^~~~~~~~
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:124:5: note:   candidate expects 0 arguments, 1 provided
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:62:5: error: ‘draw’ was not declared in this scope
     draw(&painter, nullptr);
     ^~~~
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.cpp:62:5: note: suggested alternative: ‘drem’
     draw(&painter, nullptr);
     ^~~~
     drem
make[2]: *** [CMakeFiles/mixxx-lib.dir/build.make:6238: CMakeFiles/mixxx-lib.dir/src/waveform/widgets/glsimplewaveformwidget.cpp.o] Error 1
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:9:60: error: expected class-name before ‘{’ token
 class GLSLWaveformWidget : public GLWaveformWidgetAbstract {
                                                            ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:16:5: error: ‘GLSLWaveformWidget::~GLSLWaveformWidget()’ marked ‘override’, but does not override
     ~GLSLWaveformWidget() override = default;
     ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:18:10: error: ‘void GLSLWaveformWidget::resize(int, int)’ marked ‘override’, but does not override
     void resize(int width, int height) override;
          ^~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:21:10: error: ‘void GLSLWaveformWidget::castToQWidget()’ marked ‘override’, but does not override
     void castToQWidget() override;
          ^~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:22:10: error: ‘void GLSLWaveformWidget::paintEvent(QPaintEvent*)’ marked ‘override’, but does not override
     void paintEvent(QPaintEvent* event) override;
          ^~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:23:10: error: ‘void GLSLWaveformWidget::mouseDoubleClickEvent(QMouseEvent*)’ marked ‘override’, but does not override
     void mouseDoubleClickEvent(QMouseEvent *) override;
          ^~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:24:21: error: ‘mixxx::Duration GLSLWaveformWidget::render()’ marked ‘override’, but does not override
     mixxx::Duration render() override;
                     ^~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:36:5: error: ‘GLSLFilteredWaveformWidget::~GLSLFilteredWaveformWidget()’ marked ‘override’, but does not override
     ~GLSLFilteredWaveformWidget() override = default;
     ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:38:30: error: ‘WaveformWidgetType::Type GLSLFilteredWaveformWidget::getType() const’ marked ‘override’, but does not override
     WaveformWidgetType::Type getType() const override { return WaveformWidgetType::GLSLFilteredWaveform; }
                              ^~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:51:5: error: ‘GLSLRGBWaveformWidget::~GLSLRGBWaveformWidget()’ marked ‘override’, but does not override
     ~GLSLRGBWaveformWidget() override = default;
     ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:53:30: error: ‘WaveformWidgetType::Type GLSLRGBWaveformWidget::getType() const’ marked ‘override’, but does not override
     WaveformWidgetType::Type getType() const override { return WaveformWidgetType::GLSLRGBWaveform; }
                              ^~~~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:66:8: error: ‘GLWaveformWidgetAbstract’ has not been declared
     { &GLWaveformWidgetAbstract::staticMetaObject, qt_meta_stringdata_GLSLWaveformWidget.data,
        ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp: In member function ‘virtual const QMetaObject* GLSLWaveformWidget::metaObject() const’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:73:21: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:73:21: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:73:50: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:73:50: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp: In member function ‘virtual void* GLSLWaveformWidget::qt_metacast(const char*)’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:81:12: error: ‘GLWaveformWidgetAbstract’ has not been declared
     return GLWaveformWidgetAbstract::qt_metacast(_clname);
            ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp: In member function ‘virtual int GLSLWaveformWidget::qt_metacall(QMetaObject::Call, int, void**)’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:86:11: error: ‘GLWaveformWidgetAbstract’ has not been declared
     _id = GLWaveformWidgetAbstract::qt_metacall(_c, _id, _a);
           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp: In member function ‘virtual const QMetaObject* GLSLFilteredWaveformWidget::metaObject() const’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:139:21: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:139:21: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:139:50: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:139:50: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp: In member function ‘virtual const QMetaObject* GLSLRGBWaveformWidget::metaObject() const’:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:205:21: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:205:21: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                     ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:205:50: error: ‘QScopedPointer<QObjectData> QObject::d_ptr’ is protected within this context
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared protected here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
In file included from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:6:
/home/pi/mixxx/build/mixxx-lib_autogen/include/moc_glslwaveformwidget.cpp:205:50: error: invalid use of non-static data member ‘QObject::d_ptr’
     return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
                                                  ^~~~~
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtWidgets/qwidget.h:45,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:46,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qobject.h:433:33: note: declared here
     QScopedPointer<QObjectData> d_ptr;
                                 ^~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp: In constructor ‘GLSLWaveformWidget::GLSLWaveformWidget(const QString&, QWidget*, bool)’:
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:34:11: error: class ‘GLSLWaveformWidget’ does not have any field named ‘GLWaveformWidgetAbstract’
         : GLWaveformWidgetAbstract(group, parent) {
           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:36:29: error: ‘context’ was not declared in this scope
              << "Valid:" << context()->isValid()
                             ^~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:36:29: note: suggested alternative: ‘center’
              << "Valid:" << context()->isValid()
                             ^~~~~~~
                             center
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:39:9: error: ‘makeCurrent’ was not declared in this scope
         makeCurrent();
         ^~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:42:5: error: ‘addRenderer’ was not declared in this scope
     addRenderer<WaveformRenderBackground>();
     ^~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:42:5: note: suggested alternative: ‘rgbRenderer’
     addRenderer<WaveformRenderBackground>();
     ^~~~~~~~~~~
     rgbRenderer
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:42:41: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderBackground>();
                                         ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:42:43: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderBackground>();
                                           ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:43:43: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRendererEndOfTrack>();
                                           ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:43:45: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRendererEndOfTrack>();
                                             ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:44:40: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRendererPreroll>();
                                        ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:44:42: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRendererPreroll>();
                                          ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:45:40: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderMarkRange>();
                                        ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:45:42: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderMarkRange>();
                                          ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:55:35: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderBeat>();
                                   ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:55:37: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderBeat>();
                                     ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:56:35: error: expected primary-expression before ‘>’ token
     addRenderer<WaveformRenderMark>();
                                   ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:56:37: error: expected primary-expression before ‘)’ token
     addRenderer<WaveformRenderMark>();
                                     ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:58:5: error: ‘setAttribute’ was not declared in this scope
     setAttribute(Qt::WA_NoSystemBackground);
     ^~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:58:5: note: suggested alternative: ‘setstate’
     setAttribute(Qt::WA_NoSystemBackground);
     ^~~~~~~~~~~~
     setstate
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:61:5: error: ‘setAutoBufferSwap’ was not declared in this scope
     setAutoBufferSwap(false);
     ^~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:63:5: error: ‘m_initSuccess’ was not declared in this scope
     m_initSuccess = init();
     ^~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:63:21: error: ‘init’ was not declared in this scope
     m_initSuccess = init();
                     ^~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:63:21: note: suggested alternative: ‘int’
     m_initSuccess = init();
                     ^~~~
                     int
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp: In member function ‘void GLSLWaveformWidget::castToQWidget()’:
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:67:5: error: ‘m_widget’ was not declared in this scope
     m_widget = this;
     ^~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:67:5: note: suggested alternative: ‘QWidget’
     m_widget = this;
     ^~~~~~~~
     QWidget
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp: In member function ‘mixxx::Duration GLSLWaveformWidget::render()’:
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:81:26: error: no matching function for call to ‘QPainter::QPainter(GLSLWaveformWidget*)’
     QPainter painter(this);
                          ^
In file included from /usr/include/arm-linux-gnueabihf/qt5/QtGui/qpaintengine.h:47,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/qgl.h:47,
                 from /usr/include/arm-linux-gnueabihf/qt5/QtOpenGL/QGLWidget:1,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:3,
                 from /home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:1:
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:125:14: note: candidate: ‘QPainter::QPainter(QPaintDevice*)’
     explicit QPainter(QPaintDevice *);
              ^~~~~~~~
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:125:14: note:   no known conversion for argument 1 from ‘GLSLWaveformWidget*’ to ‘QPaintDevice*’
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:124:5: note: candidate: ‘QPainter::QPainter()’
     QPainter();
     ^~~~~~~~
/usr/include/arm-linux-gnueabihf/qt5/QtGui/qpainter.h:124:5: note:   candidate expects 0 arguments, 1 provided
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:83:5: error: ‘draw’ was not declared in this scope
     draw(&painter, nullptr);
     ^~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:83:5: note: suggested alternative: ‘drem’
     draw(&painter, nullptr);
     ^~~~
     drem
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp: In member function ‘void GLSLWaveformWidget::resize(int, int)’:
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:92:5: error: ‘makeCurrent’ was not declared in this scope
     makeCurrent();
     ^~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:93:49: error: cannot call member function ‘virtual void WaveformWidgetAbstract::resize(int, int)’ without object
     WaveformWidgetAbstract::resize(width, height);
                                                 ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp: In member function ‘void GLSLWaveformWidget::mouseDoubleClickEvent(QMouseEvent*)’:
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.cpp:98:9: error: ‘makeCurrent’ was not declared in this scope
         makeCurrent();
         ^~~~~~~~~~~
make[2]: *** [CMakeFiles/mixxx-lib.dir/build.make:6251: CMakeFiles/mixxx-lib.dir/src/waveform/widgets/glslwaveformwidget.cpp.o] Error 1
In file included from /home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:24:
/home/pi/mixxx/src/waveform/widgets/glrgbwaveformwidget.h:7:61: error: expected class-name before ‘{’ token
 class GLRGBWaveformWidget : public GLWaveformWidgetAbstract {
                                                             ^
In file included from /home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:25:
/home/pi/mixxx/src/waveform/widgets/glsimplewaveformwidget.h:7:64: error: expected class-name before ‘{’ token
 class GLSimpleWaveformWidget : public GLWaveformWidgetAbstract {
                                                                ^
In file included from /home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:26:
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:9:60: error: expected class-name before ‘{’ token
 class GLSLWaveformWidget : public GLWaveformWidgetAbstract {
                                                            ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:16:5: error: ‘GLSLWaveformWidget::~GLSLWaveformWidget()’ marked ‘override’, but does not override
     ~GLSLWaveformWidget() override = default;
     ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:18:10: error: ‘void GLSLWaveformWidget::resize(int, int)’ marked ‘override’, but does not override
     void resize(int width, int height) override;
          ^~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:21:10: error: ‘void GLSLWaveformWidget::castToQWidget()’ marked ‘override’, but does not override
     void castToQWidget() override;
          ^~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:22:10: error: ‘void GLSLWaveformWidget::paintEvent(QPaintEvent*)’ marked ‘override’, but does not override
     void paintEvent(QPaintEvent* event) override;
          ^~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:23:10: error: ‘void GLSLWaveformWidget::mouseDoubleClickEvent(QMouseEvent*)’ marked ‘override’, but does not override
     void mouseDoubleClickEvent(QMouseEvent *) override;
          ^~~~~~~~~~~~~~~~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:24:21: error: ‘mixxx::Duration GLSLWaveformWidget::render()’ marked ‘override’, but does not override
     mixxx::Duration render() override;
                     ^~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:36:5: error: ‘GLSLFilteredWaveformWidget::~GLSLFilteredWaveformWidget()’ marked ‘override’, but does not override
     ~GLSLFilteredWaveformWidget() override = default;
     ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:38:30: error: ‘WaveformWidgetType::Type GLSLFilteredWaveformWidget::getType() const’ marked ‘override’, but does not override
     WaveformWidgetType::Type getType() const override { return WaveformWidgetType::GLSLFilteredWaveform; }
                              ^~~~~~~
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:51:5: error: ‘GLSLRGBWaveformWidget::~GLSLRGBWaveformWidget()’ marked ‘override’, but does not override
     ~GLSLRGBWaveformWidget() override = default;
     ^
/home/pi/mixxx/src/waveform/widgets/glslwaveformwidget.h:53:30: error: ‘WaveformWidgetType::Type GLSLRGBWaveformWidget::getType() const’ marked ‘override’, but does not override
     WaveformWidgetType::Type getType() const override { return WaveformWidgetType::GLSLRGBWaveform; }
                              ^~~~~~~
In file included from /home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:28:
/home/pi/mixxx/src/waveform/widgets/glwaveformwidget.h:7:58: error: expected class-name before ‘{’ token
 class GLWaveformWidget : public GLWaveformWidgetAbstract {
                                                          ^
/home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp: In member function ‘WaveformWidgetAbstract* WaveformWidgetFactory::createWaveformWidget(WaveformWidgetType::Type, WWaveformViewer*)’:
/home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:942:75: error: cannot convert ‘GLSimpleWaveformWidget*’ to ‘WaveformWidgetAbstract*’ in assignment
             widget = new GLSimpleWaveformWidget(viewer->getGroup(), viewer);
                                                                           ^
/home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:945:69: error: cannot convert ‘GLWaveformWidget*’ to ‘WaveformWidgetAbstract*’ in assignment
             widget = new GLWaveformWidget(viewer->getGroup(), viewer);
                                                                     ^
/home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:948:72: error: cannot convert ‘GLRGBWaveformWidget*’ to ‘WaveformWidgetAbstract*’ in assignment
             widget = new GLRGBWaveformWidget(viewer->getGroup(), viewer);
                                                                        ^
/home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:951:79: error: cannot convert ‘GLSLFilteredWaveformWidget*’ to ‘WaveformWidgetAbstract*’ in assignment
             widget = new GLSLFilteredWaveformWidget(viewer->getGroup(), viewer);
                                                                               ^
/home/pi/mixxx/src/waveform/waveformwidgetfactory.cpp:954:74: error: cannot convert ‘GLSLRGBWaveformWidget*’ to ‘WaveformWidgetAbstract*’ in assignment
             widget = new GLSLRGBWaveformWidget(viewer->getGroup(), viewer);
                                                                          ^
make[2]: *** [CMakeFiles/mixxx-lib.dir/build.make:6199: CMakeFiles/mixxx-lib.dir/src/waveform/waveformwidgetfactory.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1289: CMakeFiles/mixxx-lib.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants