Description: Let’s hear it for MyMediaPlayer –one more mp3 player in the big, wide world of opensource. Number 4223 to be exact. MyMediaPlayer was created to provide a touchscreen mp3 player that is both easy to use and easy on the eyes. It is a play back instrument only, not meant for managing your data. Consequently, MyMediaPlayer accesses amarok’s database. Now, I don’t quite see anyone getting all excited about setting up an itx system in order to copy this – so I have tailored the source code to access the local database of amarok. This ought normally be ~/.kde/share/apps/amarok/collection.db. So you can test the player on your workstation. For those who would like to test the player please let me know of any difficulties or bugs. Enjoy!
For installing you need - libqca2-dev - qt 4.4.x - Don't use qt 4.5.x i didn't test itLast changelog:
2009-03-15: Fixing prroblems with playlists. Thanks to Klaute reporting the problem.
2009-03-26: We had some reps in random. Klaute fixed this problem with a nice patch. Thanks
2009-09-24: MyGLPlayer is the version for amarok 2 database
MyMediaPlayer on windows would be a nice idea. Based on windows mediaplayer db it would be possible. If you want do this i will you support but i dont have time doing it self. By questions send me a privat messages.
Take a look in database.cpp and database.h
CU Mike
ty.o jobs.o moc_labelPlayer.o moc_effects.o moc_database.o moc_labelGenre.o moc_myClasses.o moc_labelMusik.o moc_pictureflow.o moc_mymediaplayer.o moc_quick_dirty.o moc_jobs.o qrc_application.o -L/usr/lib -L/usr/X11R6/lib -L/usr/lib -lqca -lphonon -lQtSql -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread
database.o: In function `DataBase::md5sum(QString)':
database.cpp:(.text+0x3a): undefined reference to `QCA::Hash::Hash(QString const&, QString const&)'
database.cpp:(.text+0x85): undefined reference to `QCA::Hex::Hex(QCA::Direction)'
database.cpp:(.text+0xe2): undefined reference to `QCA::Hash::update(QByteArray const&)'
database.cpp:(.text+0x165): undefined reference to `QCA::TextFilter::arrayToString(QCA::MemoryRegion const&)'
database.cpp:(.text+0x174): undefined reference to `QCA::MemoryRegion::~MemoryRegion()'
database.cpp:(.text+0x18b): undefined reference to `QCA::MemoryRegion::~MemoryRegion()'
database.o: In function `DataBase::~DataBase()':
database.cpp:(.text+0x6b13): undefined reference to `QCA::Initializer::~Initializer()'
database.cpp:(.text+0x6b32): undefined reference to `QCA::Initializer::~Initializer()'
database.o: In function `DataBase::~DataBase()':
database.cpp:(.text+0x6bcb): undefined reference to `QCA::Initializer::~Initializer()'
database.cpp:(.text+0x6bea): undefined reference to `QCA::Initializer::~Initializer()'
database.o: In function `DataBase::~DataBase()':
database.cpp:(.text+0x6c83): undefined reference to `QCA::Initializer::~Initializer()'
database.o:database.cpp:(.text+0x6ca2): more undefined references to `QCA::Initializer::~Initializer()' follow
database.o: In function `DataBase::DataBase()':
database.cpp:(.text+0x6d39): undefined reference to `QCA::Initializer::Initializer(QCA::MemoryMode, int)'
database.cpp:(.text+0x6f1b): undefined reference to `QCA::Hash::supportedTypes(QString const&)'
database.cpp:(.text+0x6f8c): undefined reference to `QCA::Initializer::~Initializer()'
database.o: In function `DataBase::DataBase()':
database.cpp:(.text+0x6ff1): undefined reference to `QCA::Initializer::Initializer(QCA::MemoryMode, int)'
database.cpp:(.text+0x71d3): undefined reference to `QCA::Hash::supportedTypes(QString const&)'
database.cpp:(.text+0x7244): undefined reference to `QCA::Initializer::~Initializer()'
database.o: In function `QCA::TextFilter::~TextFilter()':
database.cpp:(.text._ZN3QCA10TextFilterD2Ev[QCA::TextFilter::~TextFilter()]+0x18): undefined reference to `QCA::Filter::~Filter()'
database.o: In function `QCA::Hex::~Hex()':
database.cpp:(.text._ZN3QCA3HexD1Ev[QCA::Hex::~Hex()]+0x7): undefined reference to `vtable for QCA::Hex'
database.o: In function `QCA::TextFilter::~TextFilter()':
database.cpp:(.text._ZN3QCA10TextFilterD0Ev[QCA::TextFilter::~TextFilter()]+0x18): undefined reference to `QCA::Filter::~Filter()'
database.o: In function `QCA::TextFilter::~TextFilter()':
database.cpp:(.text._ZN3QCA10TextFilterD1Ev[QCA::TextFilter::~TextFilter()]+0x18): undefined reference to `QCA::Filter::~Filter()'
database.o:(.rodata._ZTIN3QCA10TextFilterE[typeinfo for QCA::TextFilter]+0x8): undefined reference to `typeinfo for QCA::Filter'
collect2: ld returned 1 exit status
make: *** [MyMediaPlayer] Error 1
[builder@bersud MyMediaPlayer]$
[builder@bersud MyMediaPlayer]$ mc
Cannot open master side of pty: No such file or directory (2)
[builder@bersud usr]$ rpm -qa | grep qca
libqca2-devel-2.0.1-alt0.M41.1
libqca-1.0-alt3
libqca2-2.0.1-alt0.M41.1
libqca-devel-1.0-alt3
[builder@bersud usr]$ findsym QCA
[builder@bersud usr]$
@ ALL
posting errors without more information and saying it dosent work is helpful as i say on my system it works fine. To solve a problems i need more input. In future i dont answer posting without follow informations:
- Distribution
- qt version
- amarok version
@Drool,
one posting is enough!!!
On the quick i think your qca-libs are not at /usr/include/QtCrypto, maybee at /usr/local/include/QtCrypto. In this case open MyMediaPlayer.pro and edit the path at the lines by
INCLUDEPATH += /usr/include/QtCrypto
LIBS += -L/usr/lib \
CU Mike
Just follow my last post,I get the info about db on konsole is:"db offen",is it because that amarok2 use mysql?And your MediaPlayer didnt support that?
I dont know whats wrong, because you did all what I say dont do it.
-No support for amarok 2. I will have a look to amarok 2 if it released with (*)ubuntu 9.04 as standard player.
-This takes effect also for qt 4.5.
CU Mike
Hei,really excited to see a mediaplayer so shining!After compile the source,I launch the MyMediaPlayer but I just see the surface without any info about my music collections.I have amarok2-svn on my kde 4.2.67 with qt4.5.0 laptop.The collections location of amarok2 is ~/.kde/share/apps/amarok/collection.db.
BTW:It runs with qt4.5
I like the look and way things flow, in 30 seconds of playing w/ it I couldn't see how to use my amarok data (or load any data for that matter), Does amarok need to be running at same time?
Also, objects in window don't scale when window resized, window should be locked in size (less preferable) or program features should re-size.
Very nice start!
Ok, at first i forgott to say its for amarok 1.4.x. I dont run amarok 2.0 so i cant test it.
If you running amarok 1.4.x please send me the version nummer. Also its useful you send me some screenshots.
CU Mike
Ratings & Comments
11 Comments
I have take a look at your code. Any chance that this runs under Windows XP and / or Vista? Can you give me a tip what i must be change for?
MyMediaPlayer on windows would be a nice idea. Based on windows mediaplayer db it would be possible. If you want do this i will you support but i dont have time doing it self. By questions send me a privat messages. Take a look in database.cpp and database.h CU Mike
ty.o jobs.o moc_labelPlayer.o moc_effects.o moc_database.o moc_labelGenre.o moc_myClasses.o moc_labelMusik.o moc_pictureflow.o moc_mymediaplayer.o moc_quick_dirty.o moc_jobs.o qrc_application.o -L/usr/lib -L/usr/X11R6/lib -L/usr/lib -lqca -lphonon -lQtSql -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread database.o: In function `DataBase::md5sum(QString)': database.cpp:(.text+0x3a): undefined reference to `QCA::Hash::Hash(QString const&, QString const&)' database.cpp:(.text+0x85): undefined reference to `QCA::Hex::Hex(QCA::Direction)' database.cpp:(.text+0xe2): undefined reference to `QCA::Hash::update(QByteArray const&)' database.cpp:(.text+0x165): undefined reference to `QCA::TextFilter::arrayToString(QCA::MemoryRegion const&)' database.cpp:(.text+0x174): undefined reference to `QCA::MemoryRegion::~MemoryRegion()' database.cpp:(.text+0x18b): undefined reference to `QCA::MemoryRegion::~MemoryRegion()' database.o: In function `DataBase::~DataBase()': database.cpp:(.text+0x6b13): undefined reference to `QCA::Initializer::~Initializer()' database.cpp:(.text+0x6b32): undefined reference to `QCA::Initializer::~Initializer()' database.o: In function `DataBase::~DataBase()': database.cpp:(.text+0x6bcb): undefined reference to `QCA::Initializer::~Initializer()' database.cpp:(.text+0x6bea): undefined reference to `QCA::Initializer::~Initializer()' database.o: In function `DataBase::~DataBase()': database.cpp:(.text+0x6c83): undefined reference to `QCA::Initializer::~Initializer()' database.o:database.cpp:(.text+0x6ca2): more undefined references to `QCA::Initializer::~Initializer()' follow database.o: In function `DataBase::DataBase()': database.cpp:(.text+0x6d39): undefined reference to `QCA::Initializer::Initializer(QCA::MemoryMode, int)' database.cpp:(.text+0x6f1b): undefined reference to `QCA::Hash::supportedTypes(QString const&)' database.cpp:(.text+0x6f8c): undefined reference to `QCA::Initializer::~Initializer()' database.o: In function `DataBase::DataBase()': database.cpp:(.text+0x6ff1): undefined reference to `QCA::Initializer::Initializer(QCA::MemoryMode, int)' database.cpp:(.text+0x71d3): undefined reference to `QCA::Hash::supportedTypes(QString const&)' database.cpp:(.text+0x7244): undefined reference to `QCA::Initializer::~Initializer()' database.o: In function `QCA::TextFilter::~TextFilter()': database.cpp:(.text._ZN3QCA10TextFilterD2Ev[QCA::TextFilter::~TextFilter()]+0x18): undefined reference to `QCA::Filter::~Filter()' database.o: In function `QCA::Hex::~Hex()': database.cpp:(.text._ZN3QCA3HexD1Ev[QCA::Hex::~Hex()]+0x7): undefined reference to `vtable for QCA::Hex' database.o: In function `QCA::TextFilter::~TextFilter()': database.cpp:(.text._ZN3QCA10TextFilterD0Ev[QCA::TextFilter::~TextFilter()]+0x18): undefined reference to `QCA::Filter::~Filter()' database.o: In function `QCA::TextFilter::~TextFilter()': database.cpp:(.text._ZN3QCA10TextFilterD1Ev[QCA::TextFilter::~TextFilter()]+0x18): undefined reference to `QCA::Filter::~Filter()' database.o:(.rodata._ZTIN3QCA10TextFilterE[typeinfo for QCA::TextFilter]+0x8): undefined reference to `typeinfo for QCA::Filter' collect2: ld returned 1 exit status make: *** [MyMediaPlayer] Error 1 [builder@bersud MyMediaPlayer]$ [builder@bersud MyMediaPlayer]$ mc Cannot open master side of pty: No such file or directory (2) [builder@bersud usr]$ rpm -qa | grep qca libqca2-devel-2.0.1-alt0.M41.1 libqca-1.0-alt3 libqca2-2.0.1-alt0.M41.1 libqca-devel-1.0-alt3 [builder@bersud usr]$ findsym QCA [builder@bersud usr]$
@ ALL posting errors without more information and saying it dosent work is helpful as i say on my system it works fine. To solve a problems i need more input. In future i dont answer posting without follow informations: - Distribution - qt version - amarok version @Drool, one posting is enough!!! On the quick i think your qca-libs are not at /usr/include/QtCrypto, maybee at /usr/local/include/QtCrypto. In this case open MyMediaPlayer.pro and edit the path at the lines by INCLUDEPATH += /usr/include/QtCrypto LIBS += -L/usr/lib \ CU Mike
- Distribution - qt version - amarok version - ALT Linux 4.1.1 - rpm -q libqt4-devel libqt4-devel-4.4.3-alt1.M41.1 - amarok not installed into virtual building environment. I maked changes for building for ALT Linux: ================================= gendiff MyMediaPlayer .orig --- MyMediaPlayer/MyMediaPlayer.pro.orig 2009-03-02 21:14:26 +0300 +++ MyMediaPlayer/MyMediaPlayer.pro 2009-05-13 11:07:28 +0400 @@ -28,7 +28,7 @@ HEADERS += labelPlayer.h \ quick_dirty.h \ jobs.h FORMS += -INCLUDEPATH += /usr/include/QtCrypto +INCLUDEPATH += /usr/include/qt4/QtCrypto LIBS += -L/usr/lib \ -lqca RESOURCES += application.qrc --- MyMediaPlayer/labelPlayer.h.orig 2009-03-26 16:35:15 +0300 +++ MyMediaPlayer/labelPlayer.h 2009-05-13 11:20:59 +0400 @@ -26,9 +26,9 @@ #include <QPushButton> #include <QLabel> -#include <phonon/phononnamespace.h> -#include <phonon/mediaobject.h> -#include <phonon/audiooutput.h> +#include <kde4/phonon/phononnamespace.h> +#include <kde4/phonon/mediaobject.h> +#include <kde4/phonon/audiooutput.h> #include <time.h>
There are any ideas as it to correct?
Just follow my last post,I get the info about db on konsole is:"db offen",is it because that amarok2 use mysql?And your MediaPlayer didnt support that?
I dont know whats wrong, because you did all what I say dont do it. -No support for amarok 2. I will have a look to amarok 2 if it released with (*)ubuntu 9.04 as standard player. -This takes effect also for qt 4.5. CU Mike
Hei,really excited to see a mediaplayer so shining!After compile the source,I launch the MyMediaPlayer but I just see the surface without any info about my music collections.I have amarok2-svn on my kde 4.2.67 with qt4.5.0 laptop.The collections location of amarok2 is ~/.kde/share/apps/amarok/collection.db. BTW:It runs with qt4.5
I like the look and way things flow, in 30 seconds of playing w/ it I couldn't see how to use my amarok data (or load any data for that matter), Does amarok need to be running at same time? Also, objects in window don't scale when window resized, window should be locked in size (less preferable) or program features should re-size. Very nice start!
Ok, at first i forgott to say its for amarok 1.4.x. I dont run amarok 2.0 so i cant test it. If you running amarok 1.4.x please send me the version nummer. Also its useful you send me some screenshots. CU Mike