Giter VIP home page Giter VIP logo

zaps166 / qmplay2 Goto Github PK

View Code? Open in Web Editor NEW
778.0 43.0 165.0 15.69 MB

QMPlay2 is a video and audio player which can play most formats and codecs.

License: GNU Lesser General Public License v3.0

Shell 0.01% C++ 96.69% CMake 2.34% GLSL 0.65% Objective-C++ 0.21% JavaScript 0.04% Roff 0.05%
audio-player video-player hardware-acceleration c-plus-plus qt5 multiplatform ffmpeg video-filtering multimedia-keys cmake

qmplay2's People

Contributors

adem4ik avatar angrypenguinpl avatar arthurzam avatar berolinux avatar cspiegel avatar darkwav avatar fabianski7 avatar h1z1 avatar ivbauer avatar jose1711 avatar kenmays avatar kirxsheppard avatar lan72 avatar linxon avatar lks-wu avatar mailaender avatar martchus avatar martinkg avatar micrococo avatar mitya57 avatar mobilturka avatar profp30 avatar reagentoo avatar realex-fire avatar rjvb avatar usbharu avatar vistaus avatar yakushabb avatar zaps166 avatar zo-shin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qmplay2's Issues

Little bug with colors

Player not save state colors for subtitle and OSD. After restart player show again green and orange text colors.
UPD: Oh sorry, for only subtitle... OSD save text colors

Hide cursor while audio file is playing?

At the moment, QMPlay2 automatically hides the cursor while playing video files if it doesn't move after a few seconds. It would be aesthetically pleasing if it could extend this behaviour to other file types, such as audio.

PowerPC: Can't compile due to "-funsigned-char"

Distro: openSUSE Factory
Compiler: gcc6
Arch: ppc64 & ppc64le only.
Build log:
[ 127s] Rayman2.cpp: In function 'float decode(unsigned char, short int&, int&)':
[ 127s] Rayman2.cpp:23:68: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
[ 127s] static const char ima_index_table[8] = {-1, -1, -1, -1, 2, 4, 6, 8};
[ 127s] ^
[ 127s] Rayman2.cpp:23:68: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
[ 127s] Rayman2.cpp:23:68: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
[ 127s] Rayman2.cpp:23:68: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]

Further playlist options?

It would be nice if specific files present in QMPlay2's playlist could persist after closing the media player (e.g. remember a folder). That way, files are more easily accessible, with the additional benefit of having multiple playlists in QMPlay2, using the 'repeat, random in group' option to do this.

And this brings up another sort of remembering for playlists: might it be possible for QMPlay2 to remember the specific repeat option that it used in the last session? It's just a small time-saver thing.

Finally, on a slightly different tangent, could QMPlay2 have the option to display a file's name instead of its ID3 tag name? It's a very niche thing, but sometimes after downloading tons of videos, one finds it troublesome relabelling all of them, even if the metadata titles do not suit the file.

Thanks for the great media player.

Crash when selecting the 'Next' option while over a group folder

If 'Next' is pressed, either from the button in the main toolbar or going to 'Player -> Next', and the current selection is on a group folder, QMPlay2 crashes.

In the terminal, the player reports this: 'Program się wysypał (SIGFPE)', if that's of any help.

Something like this:
qmplay2-screen
Then pressing the 'Next' button causes a crash. A crash also occurs even if the group is expanded.

openSUSE:Factory — fatal error: libavutil/cpu.h: No such file or directory

openSUSE has added recently ffmpeg to official repo so QMPlay2 could be added too. However official ffmpeg packaging introduces some strange errors: "fatal error: libavutil/cpu.h: No such file or directory" etc.

Another project with similar issue: MaartenBaert/ssr#327
Package files listing: http://pkgs.org/opensuse-factory/opensuse-multimedia-libs/libavutil-devel-2.6.2-6.1.x86_64.rpm.html

PS Also it should be raised at configuring time not build one, shouldn't it?

Ability to download YouTube videos as audio files?

Currently, if one searches for a video in QMPlay2's YouTube widget, it can only be downloaded as a video. It would be nice to be able to download them as audio files as a means to save hard disk space.

Whilst this can be somewhat mitigated by attempting to search for the song on Prostopleer, some more obscure music can't be found there.

Video window gradient colour resets on startup

Going to "Options -> Settings -> Set appearance -> Gradient in video window" and changing the colour options there yields only a temporary change in appearance. Closing and re-opening QMPlay2 is sufficient for it to reset back to its regular black-purple background and white text.

17.01.08 freezes at Bauer dsp

when in settings want to tick/untick Bauer DSP and accept change app freezes and need to force-close. nothing written in a log but change is kept (włączenie/wyłączenie filtra Bauera i akceptacja zmiany zawiesza program ale zmiana zostaje zastosowana. dzwięk dalej gra)

Error on linking (maybe due to ffmpeg-git)

Error when compiling. Arch Linux x86_64 ffmpeg version N-68673-gb94e854

../../app/lib/libqmplay2.so: undefined reference to swr_free' ../../app/lib/libqmplay2.so: undefined reference toswr_init'
../../app/lib/libqmplay2.so: undefined reference to swr_convert' ../../app/lib/libqmplay2.so: undefined reference toswr_alloc_set_opts'
../../app/lib/libqmplay2.so: undefined reference to `swr_set_channel_mapping'

Volume Normalization?

It would be nice if QMPlay2 had the ability to use audio normalization (i.e. making quiet parts louder, louder parts quieter).

This would allow for listening to media files with a high variation of dynamics without having to adjust the media player's volume manually (e.g. action movies, classical music, etc.), or listening to multiple media files which all have different levels of dynamics from each other.

No translation files after 16.02.08 Qt5 build

openSUSE 13.2 x64
Qt 5.4

[ 82s] + export QT_SUFFIX=-qt5
[ 82s] + QT_SUFFIX=-qt5
[ 82s] ++ grep -o '[0-9]'
[ 82s] ++ echo -j2
[ 82s] + NOTERM=1
[ 82s] + SYSTEM_BUILD=1
[ 82s] + ./compile_unix 2
[ 82s] Could not find qmake configuration file default.
[ 82s] lrelease error: cannot process project file 'QMPlay2.pro'.
[ 82s] mv: cannot stat 'lang/
.qm': No such file or directory
[ 82s] cd src/ && ( test -e Makefile || /usr/bin/qmake-qt5 /home/abuild/rpmbuild/BUILD/QMPlay2-src-16.02.08/src/src.pro -o Makefile ) && make -f Makefile
[ 82s] make[1]: Entering directory '/home/abuild/rpmbuild/BUILD/QMPlay2-src-16.02.08/src'
[ 82s] cd qmplay2/ && ( test -e Makefile || /usr/bin/qmake-qt5 /home/abuild/rpmbuild/BUILD/QMPlay2-src-16.02.08/src/qmplay2/qmplay2.pro -o Makefile ) && make -f Makefile
[ 82s] make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/QMPlay2-src-16.02.08/src/qmplay2'

[Feature request] YouTube search options and ordering

I understand the main use for the YouTube plugin is for playing music. My use tends to be following certain users and watching latest uploads. A user/channel search and sort options (date/rating/etc) would be great to have.

[Feature Request] Madlib MP3 decoder support

Would be nice to have option to use http://www.underbit.com/products/mad/ Madlib instead of mpg123 used by default by ffmpeg. Similar approach as VLC in it's settings. ffmpeg if I'm not mistaken got it built in just need setting to pick it instead of mpg123 (chciałbym się pobawić w porównanie jakości dekodowania libmad vs mpg123. oba dekodery są w ffmpeg, brakuje tylko opcji by użyć zamiast. mógłbym użyć VLC ale QMPlay2 to mój ulubiony odtwarzacz w tej chwili i nie chcę wracać do VLC bez potzeby...)

16.08.19: Qt5 build segfaults, Qt4 one does not

(gdb) run
Starting program: /usr/bin/QMPlay2
Missing separate debuginfos, use: zypper install glibc-debuginfo-2.19-16.25.1.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffee124700 (LWP 16177)]
using qt5ct plugin
[New Thread 0x7fffdfd2d700 (LWP 16214)]
Detaching after fork from child process 16215.
[New Thread 0x7fffdd97e700 (LWP 16218)]
[New Thread 0x7fffd772c700 (LWP 16252)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd772c700 (LWP 16252)]
0x00007fffe31b8a87 in streamNotValid(AVStream*) clone .part.1 from /usr/lib64/qmplay2/modules/libFFmpeg.so
(gdb) bt full
#0 0x00007fffe31b8a87 in streamNotValid(AVStream*) clone .part.1 from /usr/lib64/qmplay2/modules/libFFmpeg.so

No symbol table info available.
#1 0x00007fffe31bc946 in FormatContext::getStreamInfo(AVStream*) const () from /usr/lib64/qmplay2/modules/libFFmpeg.so

No symbol table info available.
#2 0x00007fffe31be019 in FormatContext::open(QString const&, QString const&) ()

from /usr/lib64/qmplay2/modules/libFFmpeg.so
No symbol table info available.
#3 0x00007fffe31b385f in FFDemux::addFormatContext(QString, QString const&) ()

from /usr/lib64/qmplay2/modules/libFFmpeg.so
No symbol table info available.
#4 0x00007fffe31b3abc in FFDemux::open(QString const&) () from /usr/lib64/qmplay2/modules/libFFmpeg.so

No symbol table info available.
#5 0x00007ffff79af90d in Demuxer::create(QString const&, IOController&, Demuxer::FetchTracks*) ()

from /usr/lib64/libqmplay2.so
No symbol table info available.
#6 0x000000000046c669 in DemuxerThr::run() ()

No symbol table info available.
#7 0x00007ffff5d8dfa9 in ?? () from /usr/lib64/libQt5Core.so.5

No symbol table info available.
#8 0x00007ffff5ac90a4 in start_thread () from /lib64/libpthread.so.0

No symbol table info available.
#9 0x00007ffff51edcbd in clone () from /lib64/libc.so.6

No symbol table info available.
(gdb) quit

Youtube search not working

Its just showing one result of devicesupport
screenshot from 2015-05-08 15 48 25

It was working fine around a week ago.
I'm on Ubuntu 14.04 and have installed youtube-dl too.

The video says- YouTube is upgrading to a newer version, which is not supported by this device or app.

Inhibiting Screensaver whilst playing files?

Usually, QMPlay2 will prevent the screen from turning off whilst it is playing files (video/URL + audio). However, this is currently not the case - after the designated screen switch-off time, the screen powers off, with the video/audio still playing.

[Feature request] more than 1 tab with playlist

I could use more than 1 tab with different playlists. Proszę o dodatkową zakładke/zakładki (z mozliwościa zmiany nazwy) z playlistami. Np w jednej radia internetowe w kilku folderach, w drugiej kilka folderów z muzyką z dysku lokalnego, 3cia filmy na przykład. Internet Radios zakładka nie jest edytowalna niestety, trudno cos znaleźć w natłoku stacji, dodać jeszcze trudniej, drag&drop nie działa...

(openSUSE 13.1 + Qt5) build error: no match for 'operator>'

[ 57s] cd src/ && ( test -e Makefile || /usr/bin/qmake-qt5 /home/abuild/rpmbuild/BUILD/QMPlay2-src-15.12.06/src/src.pro -o Makefile ) && make -f Makefile
[ 57s] make[1]: Entering directory /home/abuild/rpmbuild/BUILD/QMPlay2-src-15.12.06/src' [ 57s] cd qmplay2/ && ( test -e Makefile || /usr/bin/qmake-qt5 /home/abuild/rpmbuild/BUILD/QMPlay2-src-15.12.06/src/qmplay2/qmplay2.pro -o Makefile ) && make -f Makefile [ 57s] make[2]: Entering directory/home/abuild/rpmbuild/BUILD/QMPlay2-src-15.12.06/src/qmplay2'
[ 57s] g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -D__STDC_CONSTANT_MACROS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/include -I/usr/lib64/qt5/mkspecs/linux-g++ -I. -I. -Iheaders -I/usr/include/ffmpeg -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -Ibuild/moc -o build/obj/QMPlay2Core.o QMPlay2Core.cpp
[ 57s] g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -D__STDC_CONSTANT_MACROS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/include -I/usr/lib64/qt5/mkspecs/linux-g++ -I. -I. -Iheaders -I/usr/include/ffmpeg -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -Ibuild/moc -o build/obj/Functions.o Functions.cpp
[ 57s] g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -D__STDC_CONSTANT_MACROS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/include -I/usr/lib64/qt5/mkspecs/linux-g++ -I. -I. -Iheaders -I/usr/include/ffmpeg -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/qt5 -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtCore -Ibuild/moc -o build/obj/Settings.o Settings.cpp
[ 58s] In file included from headers/Settings.hpp:4:0,
[ 58s] from Settings.cpp:1:
[ 58s] headers/QMPlay2Core.hpp: In member function 'bool QMPlay2CoreClass::isWorking()':
[ 58s] headers/QMPlay2Core.hpp:107:18: error: no match for 'operator>' (operand types are 'QAtomicInt' and 'int')
[ 58s] return working > 0;
[ 58s] ^
[ 58s] headers/QMPlay2Core.hpp:107:18: note: candidates are:
[ 58s] In file included from /usr/include/qt5/QtCore/qdatastream.h:47:0,
[ 58s] from /usr/include/qt5/QtCore/qstringlist.h:46,
[ 58s] from /usr/include/qt5/QtGui/qcolor.h:47,
[ 58s] from /usr/include/qt5/QtGui/qpixmap.h:46,
[ 58s] from /usr/include/qt5/QtGui/qicon.h:48,
[ 58s] from /usr/include/qt5/QtGui/QIcon:1,
[ 58s] from headers/QMPlay2Core.hpp:12,
[ 58s] from headers/Settings.hpp:4,
[ 58s] from Settings.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qpair.h:84:24: note: template<class T1, class T2> bool operator>(const QPair<T, U>&, const QPair<T, U>&)
[ 58s] Q_INLINE_TEMPLATE bool operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qpair.h:84:24: note: template argument deduction/substitution failed:
[ 58s] In file included from headers/Settings.hpp:4:0,
[ 58s] from Settings.cpp:1:
[ 58s] headers/QMPlay2Core.hpp:107:20: note: 'QAtomicInt' is not derived from 'const QPair<T, U>'
[ 58s] return working > 0;
[ 58s] ^
[ 58s] In file included from /usr/include/qt5/QtCore/qobject.h:49:0,
[ 58s] from /usr/include/qt5/QtCore/QObject:1,
[ 58s] from headers/QMPlay2Core.hpp:11,
[ 58s] from headers/Settings.hpp:4,
[ 58s] from Settings.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qstring.h:1331:13: note: bool operator>(const QStringRef&, const QStringRef&)
[ 58s] inline bool operator>(const QStringRef &s1, const QStringRef &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1331:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QStringRef&'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1044:32: note: bool operator>(const char_, QLatin1String)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char *s1, QLatin1String s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1044:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] /usr/include/qt5/QtCore/qstring.h:991:13: note: bool operator>(QLatin1String, QLatin1String)
[ 58s] inline bool operator>(QLatin1String s1, QLatin1String s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:991:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'QLatin1String'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1360:32: note: bool operator>(const char_, const QStringRef&)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QStringRef &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1360:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1031:32: note: bool operator>(const char_, const QString&)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QString &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1031:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] In file included from /usr/include/qt5/QtCore/qstring.h:46:0,
[ 58s] from /usr/include/qt5/QtCore/qobject.h:49,
[ 58s] from /usr/include/qt5/QtCore/QObject:1,
[ 58s] from headers/QMPlay2Core.hpp:11,
[ 58s] from headers/Settings.hpp:4,
[ 58s] from Settings.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:552:13: note: bool operator>(const char_, const QByteArray&)
[ 58s] inline bool operator>(const char *a1, const QByteArray &a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:552:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:550:13: note: bool operator>(const QByteArray&, const char_)
[ 58s] inline bool operator>(const QByteArray &a1, const char *a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:550:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QByteArray&'
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:548:13: note: bool operator>(const QByteArray&, const QByteArray&)
[ 58s] inline bool operator>(const QByteArray &a1, const QByteArray &a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:548:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QByteArray&'
[ 58s] In file included from /usr/include/qt5/QtCore/qstring.h:45:0,
[ 58s] from /usr/include/qt5/QtCore/qobject.h:49,
[ 58s] from /usr/include/qt5/QtCore/QObject:1,
[ 58s] from headers/QMPlay2Core.hpp:11,
[ 58s] from headers/Settings.hpp:4,
[ 58s] from Settings.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qchar.h:518:13: note: bool operator>(QChar, QChar)
[ 58s] inline bool operator>(QChar c1, QChar c2) { return c1.unicode() > c2.unicode(); }
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qchar.h:518:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'QChar'
[ 58s] In file included from QMPlay2Core.cpp:1:0:
[ 58s] headers/QMPlay2Core.hpp: In member function 'bool QMPlay2CoreClass::isWorking()':
[ 58s] headers/QMPlay2Core.hpp:107:18: error: no match for 'operator>' (operand types are 'QAtomicInt' and 'int')
[ 58s] return working > 0;
[ 58s] ^
[ 58s] headers/QMPlay2Core.hpp:107:18: note: candidates are:
[ 58s] In file included from /usr/include/qt5/QtCore/qdatastream.h:47:0,
[ 58s] from /usr/include/qt5/QtCore/qstringlist.h:46,
[ 58s] from /usr/include/qt5/QtGui/qcolor.h:47,
[ 58s] from /usr/include/qt5/QtGui/qpixmap.h:46,
[ 58s] from /usr/include/qt5/QtGui/qicon.h:48,
[ 58s] from /usr/include/qt5/QtGui/QIcon:1,
[ 58s] from headers/QMPlay2Core.hpp:12,
[ 58s] from QMPlay2Core.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qpair.h:84:24: note: template<class T1, class T2> bool operator>(const QPair<T, U>&, const QPair<T, U>&)
[ 58s] Q_INLINE_TEMPLATE bool operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qpair.h:84:24: note: template argument deduction/substitution failed:
[ 58s] In file included from QMPlay2Core.cpp:1:0:
[ 58s] headers/QMPlay2Core.hpp:107:20: note: 'QAtomicInt' is not derived from 'const QPair<T, U>'
[ 58s] return working > 0;
[ 58s] ^
[ 58s] In file included from /usr/include/qt5/QtCore/qobject.h:49:0,
[ 58s] from /usr/include/qt5/QtCore/QObject:1,
[ 58s] from headers/QMPlay2Core.hpp:11,
[ 58s] from QMPlay2Core.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qstring.h:1331:13: note: bool operator>(const QStringRef&, const QStringRef&)
[ 58s] inline bool operator>(const QStringRef &s1, const QStringRef &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1331:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QStringRef&'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1044:32: note: bool operator>(const char_, QLatin1String)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char s1, QLatin1String s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1044:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char
'
[ 58s] /usr/include/qt5/QtCore/qstring.h:991:13: note: bool operator>(QLatin1String, QLatin1String)
[ 58s] inline bool operator>(QLatin1String s1, QLatin1String s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:991:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'QLatin1String'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1360:32: note: bool operator>(const char_, const QStringRef&)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QStringRef &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1360:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1031:32: note: bool operator>(const char_, const QString&)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QString &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1031:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] In file included from /usr/include/qt5/QtCore/qstring.h:46:0,
[ 58s] from /usr/include/qt5/QtCore/qobject.h:49,
[ 58s] from /usr/include/qt5/QtCore/QObject:1,
[ 58s] from headers/QMPlay2Core.hpp:11,
[ 58s] from QMPlay2Core.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:552:13: note: bool operator>(const char_, const QByteArray&)
[ 58s] inline bool operator>(const char *a1, const QByteArray &a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:552:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:550:13: note: bool operator>(const QByteArray&, const char_)
[ 58s] inline bool operator>(const QByteArray &a1, const char *a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:550:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QByteArray&'
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:548:13: note: bool operator>(const QByteArray&, const QByteArray&)
[ 58s] inline bool operator>(const QByteArray &a1, const QByteArray &a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:548:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QByteArray&'
[ 58s] In file included from /usr/include/qt5/QtCore/qstring.h:45:0,
[ 58s] from /usr/include/qt5/QtCore/qobject.h:49,
[ 58s] from /usr/include/qt5/QtCore/QObject:1,
[ 58s] from headers/QMPlay2Core.hpp:11,
[ 58s] from QMPlay2Core.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qchar.h:518:13: note: bool operator>(QChar, QChar)
[ 58s] inline bool operator>(QChar c1, QChar c2) { return c1.unicode() > c2.unicode(); }
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qchar.h:518:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'QChar'
[ 58s] In file included from headers/Settings.hpp:4:0,
[ 58s] from headers/Module.hpp:8,
[ 58s] from headers/ModuleCommon.hpp:4,
[ 58s] from headers/QMPlay2Extensions.hpp:5,
[ 58s] from Functions.cpp:3:
[ 58s] headers/QMPlay2Core.hpp: In member function 'bool QMPlay2CoreClass::isWorking()':
[ 58s] headers/QMPlay2Core.hpp:107:18: error: no match for 'operator>' (operand types are 'QAtomicInt' and 'int')
[ 58s] return working > 0;
[ 58s] ^
[ 58s] headers/QMPlay2Core.hpp:107:18: note: candidates are:
[ 58s] In file included from /usr/include/qt5/QtCore/qhash.h:48:0,
[ 58s] from /usr/include/qt5/QtCore/qsharedpointer_impl.h:66,
[ 58s] from /usr/include/qt5/QtCore/qsharedpointer.h:50,
[ 58s] from /usr/include/qt5/QtCore/QSharedPointer:1,
[ 58s] from headers/IOController.hpp:13,
[ 58s] from headers/Functions.hpp:4,
[ 58s] from Functions.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qpair.h:84:24: note: template<class T1, class T2> bool operator>(const QPair<T, U>&, const QPair<T, U>&)
[ 58s] Q_INLINE_TEMPLATE bool operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qpair.h:84:24: note: template argument deduction/substitution failed:
[ 58s] In file included from headers/Settings.hpp:4:0,
[ 58s] from headers/Module.hpp:8,
[ 58s] from headers/ModuleCommon.hpp:4,
[ 58s] from headers/QMPlay2Extensions.hpp:5,
[ 58s] from Functions.cpp:3:
[ 58s] headers/QMPlay2Core.hpp:107:20: note: 'QAtomicInt' is not derived from 'const QPair<T, U>'
[ 58s] return working > 0;
[ 58s] ^
[ 58s] In file included from /usr/include/qt5/QtCore/qobject.h:49:0,
[ 58s] from /usr/include/qt5/QtCore/qsharedpointer_impl.h:65,
[ 58s] from /usr/include/qt5/QtCore/qsharedpointer.h:50,
[ 58s] from /usr/include/qt5/QtCore/QSharedPointer:1,
[ 58s] from headers/IOController.hpp:13,
[ 58s] from headers/Functions.hpp:4,
[ 58s] from Functions.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qstring.h:1331:13: note: bool operator>(const QStringRef&, const QStringRef&)
[ 58s] inline bool operator>(const QStringRef &s1, const QStringRef &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1331:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QStringRef&'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1044:32: note: bool operator>(const char_, QLatin1String)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char s1, QLatin1String s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1044:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char
'
[ 58s] /usr/include/qt5/QtCore/qstring.h:991:13: note: bool operator>(QLatin1String, QLatin1String)
[ 58s] inline bool operator>(QLatin1String s1, QLatin1String s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:991:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'QLatin1String'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1360:32: note: bool operator>(const char_, const QStringRef&)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QStringRef &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1360:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] /usr/include/qt5/QtCore/qstring.h:1031:32: note: bool operator>(const char_, const QString&)
[ 58s] inline QT_ASCII_CAST_WARN bool operator>(const char *s1, const QString &s2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qstring.h:1031:32: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] In file included from /usr/include/qt5/QtCore/qstring.h:46:0,
[ 58s] from /usr/include/qt5/QtCore/qobject.h:49,
[ 58s] from /usr/include/qt5/QtCore/qsharedpointer_impl.h:65,
[ 58s] from /usr/include/qt5/QtCore/qsharedpointer.h:50,
[ 58s] from /usr/include/qt5/QtCore/QSharedPointer:1,
[ 58s] from headers/IOController.hpp:13,
[ 58s] from headers/Functions.hpp:4,
[ 58s] from Functions.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:552:13: note: bool operator>(const char_, const QByteArray&)
[ 58s] inline bool operator>(const char *a1, const QByteArray &a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:552:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const char_'
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:550:13: note: bool operator>(const QByteArray&, const char_)
[ 58s] inline bool operator>(const QByteArray &a1, const char *a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:550:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QByteArray&'
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:548:13: note: bool operator>(const QByteArray&, const QByteArray&)
[ 58s] inline bool operator>(const QByteArray &a1, const QByteArray &a2)
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qbytearray.h:548:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'const QByteArray&'
[ 58s] In file included from /usr/include/qt5/QtCore/qstring.h:45:0,
[ 58s] from /usr/include/qt5/QtCore/qobject.h:49,
[ 58s] from /usr/include/qt5/QtCore/qsharedpointer_impl.h:65,
[ 58s] from /usr/include/qt5/QtCore/qsharedpointer.h:50,
[ 58s] from /usr/include/qt5/QtCore/QSharedPointer:1,
[ 58s] from headers/IOController.hpp:13,
[ 58s] from headers/Functions.hpp:4,
[ 58s] from Functions.cpp:1:
[ 58s] /usr/include/qt5/QtCore/qchar.h:518:13: note: bool operator>(QChar, QChar)
[ 58s] inline bool operator>(QChar c1, QChar c2) { return c1.unicode() > c2.unicode(); }
[ 58s] ^
[ 58s] /usr/include/qt5/QtCore/qchar.h:518:13: note: no known conversion for argument 1 from 'QAtomicInt' to 'QChar'
[ 58s] make[2]: *_* [build/obj/Settings.o] Error 1
[ 58s] make[2]: *** Waiting for unfinished jobs....
[ 58s] make[2]: *** [build/obj/QMPlay2Core.o] Error 1
[ 58s] make[2]: *** [build/obj/Functions.o] Error 1
[ 58s] make[2]: Leaving directory /home/abuild/rpmbuild/BUILD/QMPlay2-src-15.12.06/src/qmplay2' [ 58s] make[1]: *** [sub-qmplay2-make_first-ordered] Error 2 [ 58s] make[1]: Leaving directory/home/abuild/rpmbuild/BUILD/QMPlay2-src-15.12.06/src'
[ 58s] make: *** [sub-src-make_first] Error 2
[ 58s]
[ 58s] real 0m1.391s
[ 58s] user 0m2.676s
[ 58s] sys 0m0.248s

no video playback on intel gpu / opensuse leap 42.2

I installed the recently arrived openSUSE leap 42.2 -KDE on my old Acer Aspire S7 191 ultrabook, and when I tried for example this k-pop youtube video (using youtube-dl in the player) I only got audio and no video playback, and if downloaded the video nothing happens and it won't play it at all.
I tried many different settings and nothing helped, and I didn't see any errors when I run it in gdb


I'm using the packman (community) repo version, currently the version is 16.11.01-1.1
it also installed some QMPlay2-kde-integration pkgs?

support for CUDA and NVDEC (NVIDIA Decode) as an alternative to VDPAU

it seems MPV added this to theirs, I wondering if you could also add the NVIDIA decode support using CUDA, it was added to make up for VDPAU's current lack of HEVC Main 10 profile support. https://developer.nvidia.com/nvidia-video-codec-sdk

..unfortunately to install the nvidia-video-codec-sdk you need to have/make a nvidia dev account to even download the damn pkgs -_- ...and I think you also need CUDA 8 for it to work

more info about it from MPV's point of view, only thing that is false in there that it does support 10 bit

inode/directory

Please delete "inode/directory" of Mimetype in QMPlay2_enqueue.desktop and QMPlay2.desktop

This is an additional option and unworkable

Chiptune improvements

  • use patched GME and SIDPLAY libraries (prevent bugs in playback),
  • include them into QMPlay2 source code (no dependencies).

Is it really necessary...?

libmodplug: MixSoundBuffer size mismatch

When compiling QMPlay2 with -flto flag (I really recommend using it when building the release builds), a warning is found:

/home/arthur/dev/QMPlay2/src/modules/Modplug/libmodplug/snd_dsp.cpp:102:12: warning: type of 'MixSoundBuffer' does not match original declaration
 extern int MixSoundBuffer[MIXBUFFERSIZE*2];
            ^
/home/arthur/dev/QMPlay2/src/modules/Modplug/libmodplug/fastmix.cpp:17:5: note: previously declared here
 int MixSoundBuffer[MIXBUFFERSIZE*4];
     ^

I guess this snippet explains the problem - mismatch in size of array. I guess the best solution would be change the size to MIXBUFFERSIZE*4 in snd_dsp.cpp:102, but because I don't know what happens in libmodplug I think this is better for you to review it.

Build error

Firstly, I don't know where to report this issue. Sorry if I'm in wrong place.

So I tried compiling the source code in Kubuntu 14.04, with Qt 5.2.1.
I have tried many efforts to suppress the warning like below, but still not resolved.

../../../../src/modules/FFMpeg/FFDemux.cpp: In member function ‘StreamInfo* FFDemux::getStreamInfo(AVStream*) const’:
../../../../src/modules/FFMpeg/FFDemux.cpp:559:102: error: ‘AV_CODEC_ID_OTF’ was not declared in this scope
   ( stream->codec->codec_type == AVMEDIA_TYPE_ATTACHMENT && codecID != AV_CODEC_ID_TTF && codecID != AV_CODEC_ID_OTF )
                                                                                                      ^
../../../../src/modules/FFMpeg/FFDemux.cpp:566:69: error: ‘AV_CODEC_ID_SUBRIP’ was not declared in this scope
  streamInfo->must_decode = codecID != AV_CODEC_ID_SSA && codecID != AV_CODEC_ID_SUBRIP && codecID != AV_CODEC_ID_SRT;
                                                                     ^
../../../../src/modules/FFMpeg/FFDemux.cpp:653:10: error: ‘AV_CODEC_ID_OTF’ was not declared in this scope
     case AV_CODEC_ID_OTF:
          ^
make[3]: *** [build/obj/FFDemux.o] Error 1
make[3]: Leaving directory `/home/bedouin/Projects/qt-proj/QMPlay2/build/src/modules/FFMpeg'
make[2]: *** [sub-FFMpeg-make_first] Error 2
make[2]: Leaving directory `/home/bedouin/Projects/qt-proj/QMPlay2/build/src/modules'
make[1]: *** [sub-modules-make_first-ordered] Error 2
make[1]: Leaving directory `/home/bedouin/Projects/qt-proj/QMPlay2/build/src'
make: *** [sub-src-make_first] Error 2

Media library with playlists and cover grid view?

It may be unpractical to implement or against your design principles, but since QMPlay2 can play both A & W and since there's no such thing already, it would be awesome to have a media library management with playlists and cover grid view.

For audio there's only one such application I'm aware of and it's very intuitive, logical, brilliant: Cantata (mpd client). But mpd is its Achilles heel; all of a sudden or after some system upgrade or other it stops working. So after many years of usage I've given up Cantata. And I believe not many users choose the mpd way with all the hassle, breakage etc.

I've mentioned Cantata also as a reference for what I'm talking about, but if you'd like I would give a step by step explanation about my use case, features request.

Either way, thanks a lot for your good work and efforts.

[Feature Request] CUE Sheet support

Proszę o obsługę plików CUE które zawierają informacje o utworach audio zawartych w jednym dużym pliuku czy to flac czy ape czy innych. może by program sam szukał pliku CUE o tej samej nazwie co plik audio i żeby nie dublować pokazywał tylko poszczególne ścieżki np. z duzego flac pliku zamiast pl;iku flac? np: jak wczyta album1.flac by szukał album1.cue i tylko pokazał jego zawartość zamiast album1.flac?

[Feature Request] VIsualisation albumArt and FFT Spectrum

Visualisation that combines albumart with blurred background and FFT Spectrum. Imagine FFT Spectrum 2^10, resolution 20 , fullscreen, having instead of black background, large album art with blurred background, sort of depth effect, to show on TV.

OpenGL2 is unusable on some drivers

Tested on Linux, nVidia proprietary 340.xx, GF9600GT. On full screen OpenGL context sometimes can be replaced by a new context and then the entire screen is white or black.
Also crashes on Windows and old Intel GPUs/drivers.

CMake Build System

Firstly I want to thank you for this excellent application.
I wanted to ask your thoughts on adding CMake building script to this project. I think it will make it easier to manage cross-platform building. The *.pro files can still remain (it is a little easier to work with them while using QtCreator).
Another advantage for this approach is easier packaging and building for the various Linux Distributions (for Windows and Mac it won't be a big difference).
If you support this idea, I can help by writing the CMake files and send a pull request.

CMake improvements

Task for PR #32 (DONE):

  • Support for static linking for cross-compilation for Windows

Task for PR #31 (DONE):

  • CMake support for cross-compilation for Windows

Task for commit 2b9e1aa (DONE):

  • CMake support for OS X

Task for commit 4e30dc4 (DONE):

  • detect OpenGL|ES for Qt4 and set compiler macros for it

Task for PR #28 (DONE):

  • show Solid actions in summary
  • review scripts and do small cleanup
  • use pkg-config for X11 in XVideo
  • detect OpenGL|ES 1.0, stop CMake and show error
  • option to keep RPATH after install (for QMPlay2 executable to libqmplay2.so)

Task list for PR #24 (DONE):

  • some modules should be optional (enabled by default only when the dependency exists):
    • GME (libgme; on *Ubuntu pkg-config doesn't exists for this, so detect it like in *.pro file)
    • SID (libsidplayfp)
    • PulseAudio (libpulse-simple)
    • AudioCD (libcdio and libcddb)
    • XVideo (libX11 and libxv)
    • VA-API (libX11 and libva and libva-x11)
    • VDPAU (libX11 libvdpau)
  • show warning when above modules will be disabled due to missing dependencies
  • show summary which modules will be built (needed for the previous point)
  • fallback to Qt4 if Qt5 doesn't exists
  • fallback to Qt4 if Qt5 is older than 5.6.1 instead of warning (if packager wants to use Qt5 < 5.6.1, then he/she can just enable it from command line -DUSE_QT5=Yes)
  • do something with MAN page for FreeBSD (it is installed to incorrect directory in /usr/local)
  • install the license
  • install ChangeLog, TODO, README.md
  • make uninstall should remove empty directories
  • detect the FFmpeg version (FFmpeg 2.2.0 or newer is needed)
  • install QMPlay2-opencda.desktop into proper directory (see e8d60d9)
  • allow to disable ProstoPleer via CMake (enabled by default, see 9aac5d1)
  • remove QX11Extras dependency from CMake
  • use CMake 2.8.11 for compatibility
  • add C++11 (-std=c++11) flags for CMake < 3.1.0 and GCC and Clang (also for GCC 6, no need to detect compiler version) and Qt 5.7.0
  • detect OpenGL|ES 2.0 for Qt5 and set compiler macros for it

Not use system icon theme for app icon

On Plasma 5 with widget task manager QMPlay2 use its icon (when player run):
screenshot_20160622_003127
But if player close - use system app icon theme:
screenshot_20160622_003105

I'm add option StartupWMClass="QMPlay2", "QMPlay2" on desktop file, but this not working :(

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.