kernelhcy / DeaDBeeF-MPRIS-plugin

The MPRIS plugin for DeaDBeeF music player.
http://kernelhcy.github.com/DeaDBeeF-MPRIS-plugin
GNU General Public License v3.0
25 stars 7 forks source link

need a patch otherwise won't work with deadbeef>=v0.5.5 #14

Open ipchu opened 10 years ago

ipchu commented 10 years ago

Probably the same issue as in https://github.com/kernelhcy/DeaDBeeF-MPRIS-plugin/issues/8

I recently installed deadbeef v0.6.1 and googled a bit about MPRIS plugin. Then I ran into an article http://ihacklog.com/post/perfect-lyric-displaying-with-deadbeef-0-5-6-deadbeef-mpris-plugin-and-osd-lyrics.html which presented a patch to this so-called "glib-dbus threadsafe" issue.

I thought that the patch must have already been applied to this github repository, if not I still wouldn't have a chance because I wasn't able to rewrite all the codes myself from "glib-dbus" to "GDBus lib".

Apparently I was wrong. On two things: 1) the patch ( http://git.ihacklog.com/repo/DeaDBeeF-MPRIS-plugin.git/commit/?id=2f29d50d68e1c4a1be8e4e8d694817991edb71b8 ) wasn't applied here yet!!! 2) the original code did use GDBus lib from the very beginning. "glib-dbus" was the same thing as GDBus (which is a part of glib/gio). There is an obsolete and thread-unsafe lib called dbus-glib (as a part of dbus lib), but it was never used here. BTW the real issue in mpris.c was that one should use GLib mutual exclusive thread instead of GLib mainloop.

Finally, I downloaded the master branch snapshot and manually modified mpris.c. After adding -I/opt/deadbeef/include to Makefile.am ./autogen.sh ./configure --prefix=/opt/deadbeef make sudo make install deadbeef &

Then it worked perfectly.

OS: ubuntu 13.10 Saucy Salamander with kubuntu-desktop installed kernel Linux 3.11.0-19-generic x86_64 gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 glib 2.38.1

AlexLuya commented 10 years ago

Does this problem solved or not?

greatquux commented 10 years ago

I don't think so. I tried using ihacklog's fork (https://github.com/ihacklog/DeaDBeeF-MPRIS-plugin) which has the patch applied, and while deadbeef doesn't hang anymore and does sort of talk to the MPRIS2 server, it doesn't really update the server when the track changes. For example, if I start a track playing it will still say "stopped" but if I restart the MRPIS server (eg GNOME desktop) it will have the current track but not update anymore. The stop/play button works though. So I've gone back to using Audacious for now.

AlexLuya commented 10 years ago

Thanks,it seems that author doesn't maintain this any more

Serranya commented 9 years ago

If you only need MPRISv2 and an dependency on glibc >= 2.32 does not bother you, you can take a look at my version of this Plugin https://github.com/Serranya/deadbeef-mpris2-plugin

AlexLuya commented 9 years ago

Thanks. On 11/22/2014 11:56 PM, Peter Lamby wrote:

If you only need MPRISv2 and an dependency on glibc >= 2.32 does not bother you, you can take a look at my version of this Plugin https://github.com/Serranya/deadbeef-mpris2-plugin

— Reply to this email directly or view it on GitHub https://github.com/kernelhcy/DeaDBeeF-MPRIS-plugin/issues/14#issuecomment-64084635.