Need help installing the YouTube plug-in for qmmp

Hi guys,

I am new to the Level one tech forums!

I installed Pop-os recently and I am quite happy with it.

However, I have been looking for a player that is similar to Foobar2000 for windows. I quite like qmmp and is about the closest one to all the features I would like, the only downside it does not allow me to play any youtube videos. But there is a plugin but requires me to download python-qt, qjson and youtube-dl.

But I am not sure exactly how to install all of those and to compile it into the plugin for qmmp.

Any help would be much appreciated.

2 Likes

Hey! Welcome to the forum.

So, I’m not sure the specifics on the first two, but this worked for me on POP!_OS

sudo apt install python-qt4 libqjson-dev youtube-dl

When in doubt, you can use the package manager to search for a keyword.

apt search python-qt

It’ll point you at a few packages. I picked the one that looked the most relevant. Hopefully this will get you a start in the right direction.

1 Like

Thanks for that!

Now when running the make -j4 command in the directory for the youtube plugin for qmmp. I seem to be getting these errors, which most seem to come down to not finding the directories.

Preformatted textcd youtube/ && /usr/lib/x86_64-linux-gnu/qt4/bin/qmake /home/rossq/Downloads/qmmp-plugin-youtube-master/youtube/youtube.pro -o Makefile cd youtubeui/ && /usr/lib/x86_64-linux-gnu/qt4/bin/qmake /home/rossq/Downloads/qmmp-plugin-youtube-master/youtubeui/youtubeui.pro -o Makefile cd youtube/ && make -f Makefile cd youtubeui/ && make -f Makefile make[1]: Entering directory '/home/rossq/Downloads/qmmp-plugin-youtube-master/youtube' g++ -c -m64 -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/python3.6m -I. -o youtubefactory.o youtubefactory.cpp g++ -c -m64 -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/python3.6m -I. -o youtubeinputsource.o youtubeinputsource.cpp g++ -c -m64 -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/python3.6m -I. -o youtubestreamreader.o youtubestreamreader.cpp make[1]: Entering directory '/home/rossq/Downloads/qmmp-plugin-youtube-master/youtubeui' /usr/lib/x86_64-linux-gnu/qt4/bin/uic youtubewindow.ui -o ui_youtubewindow.h /usr/lib/x86_64-linux-gnu/qt4/bin/uic youtubepreferences.ui -o ui_youtubepreferences.h g++ -c -m64 -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o youtubewindow.o youtubewindow.cpp In file included from youtubeinputsource.cpp:24: youtubestreamreader.h:30:10: fatal error: curl/curl.h: No such file or directory #include <curl/curl.h> ^~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:273: youtubeinputsource.o] Error 1 make[1]: *** Waiting for unfinished jobs.... g++ -c -m64 -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o youtubepreferences.o youtubepreferences.cpp In file included from youtubeinputsource.h:30, from youtubestreamreader.cpp:33: youtubedl.h:26:10: fatal error: PythonQt/PythonQt.h: No such file or directory #include <PythonQt/PythonQt.h> ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:278: youtubestreamreader.o] Error 1 g++ -c -m64 -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o youtubeapi.o youtubeapi.cpp In file included from youtubeinputsource.h:30, from youtubefactory.cpp:33: youtubedl.h:26:10: fatal error: PythonQt/PythonQt.h: No such file or directory #include <PythonQt/PythonQt.h> ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:267: youtubefactory.o] Error 1 make[1]: Leaving directory '/home/rossq/Downloads/qmmp-plugin-youtube-master/youtube' make: *** [Makefile:40: sub-youtube-make_default] Error 2 make: *** Waiting for unfinished jobs.... g++ -c -m64 -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o qurlimage.o qurlimage.cpp youtubewindow.cpp:38:10: fatal error: QJsonObject: No such file or directory #include <QJsonObject> ^~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:287: youtubewindow.o] Error 1 make[1]: *** Waiting for unfinished jobs.... youtubeapi.cpp:24:10: fatal error: QUrlQuery: No such file or directory #include <QUrlQuery> ^~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:294: youtubeapi.o] Error 1 youtubepreferences.cpp:25:10: fatal error: QStandardPaths: No such file or directory #include <QStandardPaths> ^~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:291: youtubepreferences.o] Error 1 qurlimage.cpp: In member function ‘void QUrlImage::fetchUrl(QUrl)’: qurlimage.cpp:56:53: error: ‘void QNetworkAccessManager::finished(QNetworkReply*)’ is protected within this context connect(networkManager, &QNetworkAccessManager::finished, this, &QUrlImage::requestFinished); ^~~~~~~~ In file included from /usr/include/qt4/QtNetwork/QNetworkAccessManager:1, from qurlimage.cpp:25: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h:143:10: note: declared protected here void finished(QNetworkReply *reply); ^~~~~~~~ qurlimage.cpp:56:96: error: no matching function for call to ‘QUrlImage::connect(QNetworkAccessManager*&, void (QNetworkAccessManager::*)(QNetworkReply*), QUrlImage*, void (QUrlImage::*)(QNetworkReply*))’ connect(networkManager, &QNetworkAccessManager::finished, this, &QUrlImage::requestFinished); ^ In file included from /usr/include/qt4/QtCore/qiodevice.h:46, from /usr/include/qt4/QtCore/qdatastream.h:46, from /usr/include/qt4/QtCore/qpair.h:45, from /usr/include/qt4/QtCore/qurl.h:47, from /usr/include/qt4/QtCore/QUrl:1, from qurlimage.cpp:21: /usr/include/qt4/QtCore/qobject.h:204:17: note: candidate: ‘static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)’ static bool connect(const QObject *sender, const char *signal, ^~~~~~~ /usr/include/qt4/QtCore/qobject.h:204:17: note: no known conversion for argument 2 from ‘void (QNetworkAccessManager::*)(QNetworkReply*)’ to ‘const char*’ /usr/include/qt4/QtCore/qobject.h:217:17: note: candidate: ‘static bool QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)’ static bool connect(const QObject *sender, const QMetaMethod &signal, ^~~~~~~ /usr/include/qt4/QtCore/qobject.h:217:17: note: no known conversion for argument 2 from ‘void (QNetworkAccessManager::*)(QNetworkReply*)’ to ‘const QMetaMethod&’ /usr/include/qt4/QtCore/qobject.h:337:13: note: candidate: ‘bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const’ inline bool QObject::connect(const QObject *asender, const char *asignal, ^~~~~~~ /usr/include/qt4/QtCore/qobject.h:337:13: note: no known conversion for argument 2 from ‘void (QNetworkAccessManager::*)(QNetworkReply*)’ to ‘const char*’ make[1]: *** [Makefile:297: qurlimage.o] Error 1 make[1]: Leaving directory '/home/rossq/Downloads/qmmp-plugin-youtube-master/youtubeui' make: *** [Makefile:62: sub-youtubeui-make_default] Error 2