Giter Club home page Giter Club logo

deadbeef-mpris2-plugin's People

Contributors

abihf avatar evgen231 avatar jtojnar avatar kravich avatar saivert avatar serranya avatar toadking avatar yut23 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

deadbeef-mpris2-plugin's Issues

mpris2 plugin conflict with wildmidi player plugin

I installed timidity-freepats to enable midi playback in deadbeef, however wildmidi seems to conflict with mpris plugin. when both plugin is enabled and wildmidi is configure to use the correct timidity configuration, deadbeef will crash with

GLib-GIO:ERROR:gdbusconnection.c:4188:invoke_get_property_in_idle_cb: assertion failed: (error != NULL)

I tried to debug with dbus-monitor, and this is what I get when deadbeef crashes:

method call time=1444158386.459409 sender=:1.430 -> destination=org.freedesktop.DBus serial=1 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=Hello 
method return time=1444158386.459432 sender=org.freedesktop.DBus -> destination=:1.430 serial=1 reply_serial=1 
   string ":1.430" 
signal time=1444158386.459442 sender=org.freedesktop.DBus -> destination=(null destination) serial=2697 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;  member=NameOwnerChanged 
   string ":1.430" 
   string "" 
   string ":1.430" 
signal time=1444158386.459455 sender=org.freedesktop.DBus -> destination=:1.430 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired 
   string ":1.430" 
method call time=1444158386.460495 sender=:1.430 -> destination=org.freedesktop.DBus serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
   uint32 2 
signal time=1444158386.460512 sender=org.freedesktop.DBus -> destination=(null destination) serial=2698 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;  member=NameOwnerChanged 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
   string "" 
   string ":1.430" 
signal time=1444158386.460525 sender=org.freedesktop.DBus -> destination=:1.430 serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
method return time=1444158386.460534 sender=org.freedesktop.DBus -> destination=:1.430  serial=4 reply_serial=2 
   uint32 1 
method call time=1444158386.460855 sender=:1.6 ->  destination=org.mpris.MediaPlayer2.DeaDBeeF serial=874 path=/org/mpris/MediaPlayer2;  interface=org.freedesktop.DBus.Properties; member=Get 
   string "org.mpris.MediaPlayer2" 
   string "Identity" 
method return time=1444158386.461109 sender=:1.430 -> destination=:1.6 serial=3 reply_serial=874
   variant       string "DeaDBeeF" 
method call time=1444158386.461466 sender=:1.6 ->  destination=org.mpris.MediaPlayer2.DeaDBeeF serial=875 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Properties; member=Get 
   string "org.mpris.MediaPlayer2.Player" 
   string "Volume" 
method call time=1444158386.461597 sender=:1.6 ->  destination=org.mpris.MediaPlayer2.DeaDBeeF serial=876 path=/org/mpris/MediaPlayer2;  interface=org.freedesktop.DBus.Properties; member=Get 
   string "org.mpris.MediaPlayer2.Player" 
   string "PlaybackStatus" 
signal time=1444158386.461612 sender=:1.6 -> destination=(null destination) serial=877  path=/Mixers/MPRIS2__Playback_Streams_1; interface=org.kde.KMix.Mixer; member=changed 
method return time=1444158386.461849 sender=:1.430 -> destination=:1.6 serial=4 reply_serial=875 
   variant       double 0.82 
signal time=1444158386.461999 sender=:1.6 -> destination=(null destination) serial=878  path=/Mixers/MPRIS2__Playback_Streams_1; interface=org.kde.KMix.Mixer;  member=controlChanged 
method call time=1444158386.531145 sender=:1.71 -> destination=org.freedesktop.DBus serial=75053 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;  member=GetNameOwner 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
method return time=1444158386.531175 sender=org.freedesktop.DBus -> destination=:1.71 serial=2699 reply_serial=75053 
   string ":1.430" 
method call time=1444158386.531615 sender=:1.71 -> destination=org.freedesktop.DBus serial=75054 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
   string  "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.mpris.MediaPlayer2.DeaDBeeF'" 
method call time=1444158386.531630 sender=:1.71 -> destination=org.freedesktop.DBus  serial=75055 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;  member=GetNameOwner 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
method return time=1444158386.531639 sender=org.freedesktop.DBus -> destination=:1.71  serial=2700 reply_serial=75055 
   string ":1.430" 
method call time=1444158386.531646 sender=:1.71 -> destination=org.freedesktop.DBus  serial=75056 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;  member=GetNameOwner 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
method return time=1444158386.531654 sender=org.freedesktop.DBus -> destination=:1.71  serial=2701 reply_serial=75056 
   string ":1.430" 
method call time=1444158386.531784 sender=:1.71 -> destination=org.freedesktop.DBus  serial=75057 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch 
   string "type='signal',sender='org.mpris.MediaPlayer2.DeaDBeeF',path='/org/mpris/MediaPlayer2',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'" 
method call time=1444158386.531888 sender=:1.71 -> destination=org.freedesktop.DBus  serial=75058 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;  member=GetNameOwner 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
method return time=1444158386.531902 sender=org.freedesktop.DBus -> destination=:1.71  serial=2702 reply_serial=75058 
   string ":1.430" 
method call time=1444158386.531999 sender=:1.71 -> destination=org.freedesktop.DBus  serial=75059 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch 
   string "type='signal',sender='org.mpris.MediaPlayer2.DeaDBeeF',path='/org/mpris/MediaPlayer2',interface='org.mpris.MediaPlayer2.Player',member='Seeked'" 
method call time=1444158386.532049 sender=:1.71 ->  destination=org.mpris.MediaPlayer2.DeaDBeeF serial=75060 path=/org/mpris/MediaPlayer2;  interface=org.freedesktop.DBus.Properties; member=GetAll 
   string "org.mpris.MediaPlayer2" 
method call time=1444158386.532143 sender=:1.71 ->  destination=org.mpris.MediaPlayer2.DeaDBeeF serial=75061 path=/org/mpris/MediaPlayer2;  interface=org.freedesktop.DBus.Properties; member=GetAll 
   string "org.mpris.MediaPlayer2.Player" 
signal time=1444158386.562451 sender=org.freedesktop.DBus -> destination=:1.430 serial=9  path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
signal time=1444158386.562474 sender=org.freedesktop.DBus -> destination=(null destination)  serial=2703 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;  member=NameOwnerChanged 
   string "org.mpris.MediaPlayer2.DeaDBeeF" 
   string ":1.430" 
   string "" 
signal time=1444158386.562783 sender=org.freedesktop.DBus -> destination=:1.430 serial=10  path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost 
   string ":1.430" 
signal time=1444158386.562798 sender=org.freedesktop.DBus -> destination=(null destination)  serial=2704 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus;  member=NameOwnerChanged 
   string ":1.430" 
   string ":1.430" 
   string "" 
error time=1444158386.562812 sender=org.freedesktop.DBus -> destination=:1.71  error_name=org.freedesktop.DBus.Error.NoReply reply_serial=75061 
   string "Message recipient disconnected from message bus without replying" 
error time=1444158386.562821 sender=org.freedesktop.DBus -> destination=:1.71  error_name=org.freedesktop.DBus.Error.NoReply reply_serial=75060 
   string "Message recipient disconnected from message bus without replying" 
error time=1444158386.562855 sender=org.freedesktop.DBus -> destination=:1.6  error_name=org.freedesktop.DBus.Error.NoReply reply_serial=876 
   string "Message recipient disconnected from message bus without replying" 
signal time=1444158386.563913 sender=:1.6 -> destination=(null destination) serial=879  path=/Mixers/MPRIS2__Playback_Streams_1; interface=org.kde.KMix.Mixer; member=changed 
method call time=1444158386.564753 sender=:1.71 -> destination=org.freedesktop.DBus  serial=75062 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch 
   string "type='signal',sender='org.mpris.MediaPlayer2.DeaDBeeF',path='/org/mpris/MediaPlayer2',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged'" 
method call time=1444158386.564777 sender=:1.71 -> destination=org.freedesktop.DBus  serial=75063 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch 
   string "type='signal',sender='org.mpris.MediaPlayer2.DeaDBeeF',path='/org/mpris/MediaPlayer2',interface='org.mpris.MediaPlayer2.Player',member='Seeked'" 
method call time=1444158386.564788 sender=:1.71 -> destination=org.freedesktop.DBus  serial=75064 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RemoveMatch
   string  "type='signal',sender='org.freedesktop.DBus',interface='org.freedesktop.DBus',member='NameOwnerChanged',arg0='org.mpris.MediaPlayer2.DeaDBeeF'"  
signal time=1444158388.146221 sender=:1.36 -> destination=(null destination) serial=101572 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewIcon 
signal time=1444158388.146282 sender=:1.36 -> destination=(null destination) serial=101573 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewToolTip 
signal time=1444158388.146300 sender=:1.36 -> destination=(null destination) serial=101574 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewIcon 
signal time=1444158388.146313 sender=:1.36 -> destination=(null destination) serial=101575 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewToolTip 
signal time=1444158388.146327 sender=:1.36 -> destination=(null destination) serial=101576 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewIcon 
signal time=1444158388.146340 sender=:1.36 -> destination=(null destination) serial=101577 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewToolTip 
signal time=1444158388.146354 sender=:1.36 -> destination=(null destination) serial=101578 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewIcon 
signal time=1444158388.146368 sender=:1.36 -> destination=(null destination) serial=101579 path=/StatusNotifierItem; interface=org.kde.StatusNotifierItem; member=NewToolTip 
method call time=1444158388.158161 sender=:1.71 -> destination=org.kde.StatusNotifierItem-2427-1 serial=75065 path=/StatusNotifierItem; interface=org.freedesktop.DBus.Properties;  member=GetAll 
   string "org.kde.StatusNotifierItem" 
method return time=1444158388.158306 sender=:1.36 -> destination=:1.71 serial=101580 reply_serial=75065  

segfault on some files (deadbeef-git)

Recently stumbled upon this plugin, thanks for implementing.
I'm using archlinux x64 and have installed deadbeef-git from AUR, as well as deadbeef-mpris2-plugin.

I'm getting the following crash on some files:

MPRIS Debug Info: get Metadata duration: 288000000
MPRIS Debug Info: get Metadata album: Complication
MPRIS Debug Info: get Metadata albumArtist: (null)
MPRIS Debug Info: get Metadata artist: ROOKiEZ is PUNK’D
MPRIS Debug Info: getting cover for album Complication
MPRIS Debug Info: cover for Complication not ready. Using default artwork
Segmentation Fault
backtrace() returned 10 addresses
deadbeef() [0x403aa1]
/usr/lib/libc.so.6(+0x33540) [0x7fe0e965f540]
/usr/lib/libc.so.6(strlen+0x2a) [0x7fe0e96ac20a]
/usr/lib/deadbeef/mpris.so(getMetadataForTrack+0x7d0) [0x7fe0cf421f30]
/usr/lib/deadbeef/mpris.so(emitMetadataChanged+0x38) [0x7fe0cf422a98]
/usr/lib/deadbeef/mpris.so(+0x1cd7) [0x7fe0cf420cd7]
deadbeef() [0x404b1f]
deadbeef() [0x404e29]
/usr/lib/libpthread.so.0(+0x7374) [0x7fe0e99d6374]
/usr/lib/libc.so.6(clone+0x6d) [0x7fe0e971427d]

Removing the plugin makes the file play fine again.

Button "show player" does not appear in Cinnamon

Here are two screenshots, first with DeadBeef without the button and with Lollypop, which has this button. I tried release and git version of DeadBeef, tried to switch GTK2/GTK3 interface and "show tray icon" option in settings, but nothing helps.

mpris2-plugin won't load.

Using deadbeef 0.6.2 static build, I cannot load this plugin to deadbeef. The console log says:

loading plugin /opt/deadbeef/lib/deadbeef/mpris.so
WARNING: plugin "MPRISv2 plugin" wants API v1.8 (got 1.7), will not be loaded
plugin not found or failed to load

How can I solve this. What API does not match at all?

Can't build the plugin, can't find deadbeef.h

I tried following the instructions but I get the following error:

  CC       src/mpris_la-mpris.lo
In file included from src/mpris.c:3:0:
src/mprisServer.h:8:31: fatal error: deadbeef/deadbeef.h: No such file or directory
 #include <deadbeef/deadbeef.h>
                               ^
compilation terminated.
make: *** [src/mpris_la-mpris.lo] Error 1

I'm on Ubuntu 14.04, deadbeef installed via the deb package in the official website.

Seek doesn't work

running command
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.DeaDBeeF /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Seek int64:5000000 (or -5000000)
makes deadbeef jump to next file instead of seeking forward (or backward).
The same command with another player specified (VLC, for instance, among others) behaves as expected.

bring into foreground is broken in portable deadbeef

Currently, to bring deadbeef to foreground, plugin looks for deadbeef.desktop and launches it. This is not possible to do in case we are using portable deadbeef, which is currently THE official way of distribution. In this case deadbeef.desktop does not exist and even if we'll make one, this effectively makes the program no longer portable.

Deadbeef developer suggested that the following should be used instead:
deadbeef->sendmessage (DB_EV_ACTIVATED, 0, 0, 0);

error: unknown type name 'ddb_response_t'

  CC       src/mpris_la-mpris.lo
In file included from src/mpris.c:3:
In file included from src/mprisServer.h:11:
/usr/include/deadbeef/deadbeef.h:1851:65: error: unknown type name 'ddb_response_t'
    int (*exec_cmdline) (const char *cmdline, int cmdline_size, ddb_response_t *response);
                                                                ^
1 error generated.
make: *** [Makefile:511: src/mpris_la-mpris.lo] Error 1

Suggestion: Remove threading code

This already uses gdbus which is capable of working with the mainloop of the GTK UI plugin.
I know there are alternative GUI plugins but it is recommended to not run a separate thread for dbus especially if you use gdbus. It is not necessary.
I also resolved an issue by removing the threading code in my experimental build.

Check my branch here: https://github.com/saivert/deadbeef-mpris2-plugin/tree/remove_threading_code2
EDIT: recreated the branch to base on latest master

Fail to open deadbeef after I put mpris2.so in /usr/lib/deadbeef

The git version works, but not the plugins in DeaDBeeF download page.

starting deadbeef 0.7.2
server_start
INFO: unlink socket: 沒有此一檔案或目錄
failed to load config file
created an empty config
searching for GUI plugins in /home/laichiaheng/.local/lib64/deadbeef
searching for GUI plugins in /home/laichiaheng/.local/lib/deadbeef
searching for GUI plugins in /usr/lib/deadbeef
load_plugin_dir /usr/lib/deadbeef: scandir found 56 files
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
found gui plugin ddb_gui_GTK3.so
added GTK3 gui plugin
load gui plugin
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
loading plugins from /home/laichiaheng/.local/lib64/deadbeef
loading plugins from /home/laichiaheng/.local/lib/deadbeef
loading plugins from /usr/lib/deadbeef
load_plugin_dir /usr/lib/deadbeef: scandir found 56 files
loading plugin /usr/lib/deadbeef/aac.so
loading plugin /usr/lib/deadbeef/adplug.so
loading plugin /usr/lib/deadbeef/alac.so
loading plugin /usr/lib/deadbeef/alsa.so
loading plugin /usr/lib/deadbeef/artwork.so
loading plugin /usr/lib/deadbeef/cdda.so
loading plugin /usr/lib/deadbeef/converter.so
loading plugin /usr/lib/deadbeef/converter_gtk2.so
loading plugin /usr/lib/deadbeef/converter_gtk3.so
loading plugin /usr/lib/deadbeef/dca.so
loading plugin /usr/lib/deadbeef/ddb_ao.so
loading plugin /usr/lib/deadbeef/ddb_dumb.so
loading plugin /usr/lib/deadbeef/ddb_misc_replaygain_scan.so
loading plugin /usr/lib/deadbeef/ddb_misc_replaygain_scan_GTK2.so
loading plugin /usr/lib/deadbeef/ddb_misc_replaygain_scan_GTK3.so
loading plugin /usr/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/lib/deadbeef/ddb_shn.so
loading plugin /usr/lib/deadbeef/dsp_libsrc.so
loading plugin /usr/lib/deadbeef/ffap.so
loading plugin /usr/lib/deadbeef/ffmpeg.so
loading plugin /usr/lib/deadbeef/flac.so
loading plugin /usr/lib/deadbeef/gme.so
loading plugin /usr/lib/deadbeef/hotkeys.so
loading plugin /usr/lib/deadbeef/in_sc68.so
loading plugin /usr/lib/deadbeef/lastfm.so
loading plugin /usr/lib/deadbeef/m3u.so
loading plugin /usr/lib/deadbeef/mms.so
loading plugin /usr/lib/deadbeef/mp3.so
loading plugin /usr/lib/deadbeef/mpris.so
loading plugin /usr/lib/deadbeef/musepack.so
loading plugin /usr/lib/deadbeef/notify.so
loading plugin /usr/lib/deadbeef/nullout.so
loading plugin /usr/lib/deadbeef/oss.so
loading plugin /usr/lib/deadbeef/pltbrowser_gtk2.so
loading plugin /usr/lib/deadbeef/pltbrowser_gtk3.so
loading plugin /usr/lib/deadbeef/pulse.so
loading plugin /usr/lib/deadbeef/shellexec.so
loading plugin /usr/lib/deadbeef/shellexecui_gtk2.so
loading plugin /usr/lib/deadbeef/shellexecui_gtk3.so
loading plugin /usr/lib/deadbeef/sid.so
loading plugin /usr/lib/deadbeef/sndfile.so
loading plugin /usr/lib/deadbeef/supereq.so
loading plugin /usr/lib/deadbeef/tta.so
loading plugin /usr/lib/deadbeef/vfs_curl.so
loading plugin /usr/lib/deadbeef/vfs_zip.so
loading plugin /usr/lib/deadbeef/vorbis.so
loading plugin /usr/lib/deadbeef/vtx.so
loading plugin /usr/lib/deadbeef/wavpack.so
loading plugin /usr/lib/deadbeef/wildmidi.so
loading plugin /usr/lib/deadbeef/wma.so
selected output plugin: ALSA output plugin
convgui: gtkui plugin not found
plugin Converter GTK3 UI failed to connect to dependencies, deactivated.
rgscangui: gtkui plugin not found
plugin Replay Gain Scanner GTK3 UI failed to connect to dependencies, deactivated.
plugin Playlist browser GTK3 failed to connect to dependencies, deactivated.
shellexecui: can't find gtkui plugin
plugin Shellexec GTK3 UI failed to connect to dependencies, deactivated.
gtkui plugin compiled for gtk version: 2.24.32

(deadbeef:30723): GLib-GIO-CRITICAL **: 15:16:02.307: g_dbus_connection_emit_signal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed

(deadbeef:30723): GLib-GIO-CRITICAL **: 15:16:02.309: g_dbus_connection_emit_signal: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
deadbeef: playlist.c:319:plt_unref: 假設『plt->refc > 0』失敗。
已經終止 (核心已傾印)

Incorrect plugin directory

Hi!

After a compilation, the 'make intall' tries to install the plugin into the /usr/lib/deadbeef-mpris2-plugin folder instead of /usr/lib/deadbeef

As is see all of this came from the AC_INIT variable from configure.ac

Failed to build

For developers:

kevin335200@kevin335200:~/tmp/deadbeef-mpris2-plugin$ autoreconf --install
aclocal: warning: couldn't open directory 'm4': No such file or directory
configure.ac:18: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

kevin335200@kevin335200:~/tmp/deadbeef-mpris2-plugin$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... none needed
checking for ar... ar
checking the archiver (ar) interface... ar
./configure: line 3890: AC_PROG_LIBTOOL: command not found
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
./configure: line 4012: LT_INIT: command not found
checking for GLIB_DEPS... yes
checking for GIO_DEPS... yes
checking for GIOUNIX_DEPS... yes
checking for GTHREAD_DEPS... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: error: cannot find input file: `Makefile.in'
make: No rule to make target 'install'. Stop.

For Users:
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for gcc option to accept ISO C99... none needed
checking for ar... ar
checking the archiver (ar) interface... ar
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/x86_64-linux-gnu-ld
checking if the linker (/usr/bin/x86_64-linux-gnu-ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/x86_64-linux-gnu-ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @file support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/x86_64-linux-gnu-ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLIB_DEPS... yes
checking for GIO_DEPS... yes
checking for GIOUNIX_DEPS... yes
checking for GTHREAD_DEPS... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
config.status: executing libtool commands
kevin335200@kevin335200:~/tmp/deadbeef-1.11$ make install
CC src/mpris_la-mpris.lo
In file included from src/mpris.c:3:0:
src/mprisServer.h:9:10: fatal error: deadbeef/deadbeef.h: No such file or directory
#include <deadbeef/deadbeef.h>
^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:497: recipe for target 'src/mpris_la-mpris.lo' failed
make: *** [src/mpris_la-mpris.lo] Error 1

can't make in LM 17.3

./configure works but created a few errors like

configure: error: in/home/nnn/Downloads/deadbeef-1.8':`

configure: error: C compiler cannot create executables

once I hit make I get
Error "make: *** No rule to make targetinstall'. Stop."`

Any idea?

Segfault on Arch64

Console messages:
loading plugin /usr/lib/deadbeef/mpris.so
MPRIS Debug Info: Loading...
loading plugin /usr/lib/deadbeef/musepack.so
loading plugin /usr/lib/deadbeef/notify.so
loading plugin /usr/lib/deadbeef/nullout.so
loading plugin /usr/lib/deadbeef/oss.so
loading plugin /usr/lib/deadbeef/pltbrowser_gtk2.so
loading plugin /usr/lib/deadbeef/pltbrowser_gtk3.so
loading plugin /usr/lib/deadbeef/pulse.so
loading plugin /usr/lib/deadbeef/shellexec.so
loading plugin /usr/lib/deadbeef/shellexecui_gtk2.so
loading plugin /usr/lib/deadbeef/shellexecui_gtk3.so
loading plugin /usr/lib/deadbeef/sid.so
loading plugin /usr/lib/deadbeef/sndfile.so
loading plugin /usr/lib/deadbeef/supereq.so
loading plugin /usr/lib/deadbeef/tta.so
loading plugin /usr/lib/deadbeef/vfs_curl.so
loading plugin /usr/lib/deadbeef/vfs_zip.so
loading plugin /usr/lib/deadbeef/vorbis.so
loading plugin /usr/lib/deadbeef/vtx.so
loading plugin /usr/lib/deadbeef/wavpack.so
loading plugin /usr/lib/deadbeef/wildmidi.so
loading plugin /usr/lib/deadbeef/wma.so
MPRIS Debug Info: Bus accquired
MPRIS Debug Info: name accquired: org.mpris.MediaPlayer2.DeaDBeeF
MPRIS Debug Info: Registering/org/mpris/MediaPlayer2object...
MPRIS Debug Info: Get property call on Player interface. sender: :1.5, propertyName: PlaybackStatus
Segmentation Fault
backtrace() returned 11 addresses
deadbeef() [0x403aa1]
/usr/lib/libc.so.6(+0x33b20) [0x7f5763b46b20]
/usr/lib/deadbeef/mpris.so(+0x2c83) [0x7f574bac6c83]
/usr/lib/libgio-2.0.so.0(+0xcbee8) [0x7f5761e96ee8]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x15d) [0x7f5760d6b91d]
/usr/lib/libglib-2.0.so.0(+0x49cf8) [0x7f5760d6bcf8]
/usr/lib/libglib-2.0.so.0(g_main_loop_run+0xc2) [0x7f5760d6c022]
/usr/lib/deadbeef/mpris.so(startServer+0x7e) [0x7f574bac711e]
/usr/lib/libglib-2.0.so.0(+0x705f5) [0x7f5760d925f5]
/usr/lib/libpthread.so.0(+0x7314) [0x7f5763ebd314]
/usr/lib/libc.so.6(clone+0x6d) [0x7f5763bfb5bd]


GDB output:
[[myusername]@[myhost] deadbeef-mpris2-plugin]$ gdb deadbeef
GNU gdb (GDB) 7.8.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from deadbeef...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/deadbeef
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
starting deadbeef 0.6.2
server_start
searching for GUI plugins in /home/[myusername]/.local/lib64/deadbeef
searching for GUI plugins in /home/[myusername]/.local/lib/deadbeef
searching for GUI plugins in /usr/lib/deadbeef
plug_load_all: scandir found 54 files
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
found gui plugin ddb_gui_GTK3.so
added GTK3 gui plugin
load gui plugin
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /usr/lib/deadbeef/ddb_gui_GTK2.so
loading plugins from /home/[myusername]/.local/lib64/deadbeef
loading plugins from /home/[myusername]/.local/lib/deadbeef
loading plugins from /usr/lib/deadbeef
plug_load_all: scandir found 54 files
loading plugin /usr/lib/deadbeef/aac.so
loading plugin /usr/lib/deadbeef/adplug.so
loading plugin /usr/lib/deadbeef/alac.so
loading plugin /usr/lib/deadbeef/alsa.so
loading plugin /usr/lib/deadbeef/artwork.so
loading plugin /usr/lib/deadbeef/cdda.so
loading plugin /usr/lib/deadbeef/converter.so
loading plugin /usr/lib/deadbeef/converter_gtk2.so
loading plugin /usr/lib/deadbeef/converter_gtk3.so
loading plugin /usr/lib/deadbeef/dca.so
loading plugin /usr/lib/deadbeef/ddb_ao.so
loading plugin /usr/lib/deadbeef/ddb_archive_reader.so
loading plugin /usr/lib/deadbeef/ddb_dumb.so
loading plugin /usr/lib/deadbeef/ddb_mono2stereo.so
loading plugin /usr/lib/deadbeef/ddb_shn.so
loading plugin /usr/lib/deadbeef/dsp_libsrc.so
loading plugin /usr/lib/deadbeef/ffap.so
loading plugin /usr/lib/deadbeef/ffmpeg.so
loading plugin /usr/lib/deadbeef/flac.so
loading plugin /usr/lib/deadbeef/gme.so
loading plugin /usr/lib/deadbeef/hotkeys.so
loading plugin /usr/lib/deadbeef/jack.so
loading plugin /usr/lib/deadbeef/lastfm.so
loading plugin /usr/lib/deadbeef/m3u.so
loading plugin /usr/lib/deadbeef/mms.so
loading plugin /usr/lib/deadbeef/mpgmad.so
loading plugin /usr/lib/deadbeef/mpris.so
MPRIS Debug Info: Loading...
loading plugin /usr/lib/deadbeef/musepack.so
loading plugin /usr/lib/deadbeef/notify.so
loading plugin /usr/lib/deadbeef/nullout.so
loading plugin /usr/lib/deadbeef/oss.so
loading plugin /usr/lib/deadbeef/pltbrowser_gtk2.so
loading plugin /usr/lib/deadbeef/pltbrowser_gtk3.so
loading plugin /usr/lib/deadbeef/pulse.so
loading plugin /usr/lib/deadbeef/shellexec.so
loading plugin /usr/lib/deadbeef/shellexecui_gtk2.so
loading plugin /usr/lib/deadbeef/shellexecui_gtk3.so
loading plugin /usr/lib/deadbeef/sid.so
loading plugin /usr/lib/deadbeef/sndfile.so
loading plugin /usr/lib/deadbeef/supereq.so
loading plugin /usr/lib/deadbeef/tta.so
loading plugin /usr/lib/deadbeef/vfs_curl.so
loading plugin /usr/lib/deadbeef/vfs_zip.so
loading plugin /usr/lib/deadbeef/vorbis.so
loading plugin /usr/lib/deadbeef/vtx.so
loading plugin /usr/lib/deadbeef/wavpack.so
loading plugin /usr/lib/deadbeef/wildmidi.so
loading plugin /usr/lib/deadbeef/wma.so
[New Thread 0x7fffdab06700 (LWP 14168)]
[New Thread 0x7fffda305700 (LWP 14169)]
[New Thread 0x7fffd9b04700 (LWP 14170)]
[New Thread 0x7fffd9303700 (LWP 14171)]
[New Thread 0x7fffd8b02700 (LWP 14172)]
[New Thread 0x7fffd3fff700 (LWP 14173)]
MPRIS Debug Info: Bus accquired
MPRIS Debug Info: name accquired: org.mpris.MediaPlayer2.DeaDBeeF
MPRIS Debug Info: Registering/org/mpris/MediaPlayer2object...
MPRIS Debug Info: Get property call on Player interface. sender: :1.5, propertyName: PlaybackStatus

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd9303700 (LWP 14171)]
onPlayerGetPropertyHandler (connection=, sender=, objectPath=, interfaceName=,
propertyName=, error=, userData=0x6334c0) at src/mprisServer.c:315
315 switch (output->state()) {
(gdb) backtrace
#0 onPlayerGetPropertyHandler (connection=, sender=, objectPath=, interfaceName=,

propertyName=<optimized out>, error=<optimized out>, userData=0x6334c0) at src/mprisServer.c:315

#1 0x00007ffff5696ee8 in ?? () from /usr/lib/libgio-2.0.so.0
#2 0x00007ffff456b91d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#3 0x00007ffff456bcf8 in ?? () from /usr/lib/libglib-2.0.so.0
#4 0x00007ffff456c022 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#5 0x00007fffdf2c711e in startServer (data=) at src/mprisServer.c:523
#6 0x00007ffff45925f5 in ?? () from /usr/lib/libglib-2.0.so.0
#7 0x00007ffff76bd314 in start_thread () from /usr/lib/libpthread.so.0
#8 0x00007ffff73fb5bd in clone () from /usr/lib/libc.so.6

(gdb)

Need LICENSE file

Please add LICENSE file contiining text of license for deadbeef-mpris2-plugin code.

deadbeef: playlist.c:319: plt_unref: Assertion `plt->refc > 0' failed.

I have installed DeaDBeeF 0.7.2 on Ubuntu 18.10 using the deb package. When I add mpris.so (revision 0d4dc8f) to ~/.local/lib/deadbeef, DeaDBeeF crashes on start up. I have removed ~/.config/deadbeef and all other plugins from the ~/.local/lib/deadbeef.

$ /opt/deadbeef/bin/deadbeef
starting deadbeef 0.7.2 [static]
server_start
INFO: unlink socket: No such file or directory
failed to load config file
created an empty config
searching for GUI plugins in /home/jtojnar/.local/lib64/deadbeef
searching for GUI plugins in /home/jtojnar/.local/lib/deadbeef
load_plugin_dir /home/jtojnar/.local/lib/deadbeef: scandir found 4 files
searching for GUI plugins in /opt/deadbeef/lib/deadbeef
load_plugin_dir /opt/deadbeef/lib/deadbeef: scandir found 53 files
found gui plugin ddb_gui_GTK2.so
added GTK2 gui plugin
found gui plugin ddb_gui_GTK3.so
added GTK3 gui plugin
load gui plugin
checking GUI plugin: GTK2
found selected GUI plugin: GTK2
loading plugin /opt/deadbeef/lib/deadbeef/ddb_gui_GTK2.so
loading plugins from /home/jtojnar/.local/lib64/deadbeef
loading plugins from /home/jtojnar/.local/lib/deadbeef
load_plugin_dir /home/jtojnar/.local/lib/deadbeef: scandir found 4 files
loading plugin /home/jtojnar/.local/lib/deadbeef/mpris.so
loading plugins from /opt/deadbeef/lib/deadbeef
load_plugin_dir /opt/deadbeef/lib/deadbeef: scandir found 53 files
loading plugin /opt/deadbeef/lib/deadbeef/aac.so
loading plugin /opt/deadbeef/lib/deadbeef/adplug.so
loading plugin /opt/deadbeef/lib/deadbeef/alac.so
loading plugin /opt/deadbeef/lib/deadbeef/alsa.so
loading plugin /opt/deadbeef/lib/deadbeef/artwork.so
loading plugin /opt/deadbeef/lib/deadbeef/cdda.so
loading plugin /opt/deadbeef/lib/deadbeef/converter.so
loading plugin /opt/deadbeef/lib/deadbeef/converter_gtk2.so
loading plugin /opt/deadbeef/lib/deadbeef/converter_gtk3.so
loading plugin /opt/deadbeef/lib/deadbeef/dca.so
loading plugin /opt/deadbeef/lib/deadbeef/ddb_ao.so
loading plugin /opt/deadbeef/lib/deadbeef/ddb_dumb.so
loading plugin /opt/deadbeef/lib/deadbeef/ddb_mono2stereo.so
loading plugin /opt/deadbeef/lib/deadbeef/ddb_shn.so
loading plugin /opt/deadbeef/lib/deadbeef/dsp_libsrc.so
loading plugin /opt/deadbeef/lib/deadbeef/ffap.so
loading plugin /opt/deadbeef/lib/deadbeef/ffmpeg.so
loading plugin /opt/deadbeef/lib/deadbeef/flac.so
loading plugin /opt/deadbeef/lib/deadbeef/gme.so
loading plugin /opt/deadbeef/lib/deadbeef/hotkeys.so
loading plugin /opt/deadbeef/lib/deadbeef/in_sc68.so
loading plugin /opt/deadbeef/lib/deadbeef/lastfm.so
loading plugin /opt/deadbeef/lib/deadbeef/m3u.so
loading plugin /opt/deadbeef/lib/deadbeef/mms.so
loading plugin /opt/deadbeef/lib/deadbeef/mp3.so
loading plugin /opt/deadbeef/lib/deadbeef/musepack.so
loading plugin /opt/deadbeef/lib/deadbeef/notify.so
loading plugin /opt/deadbeef/lib/deadbeef/nullout.so
loading plugin /opt/deadbeef/lib/deadbeef/oss.so
loading plugin /opt/deadbeef/lib/deadbeef/pltbrowser_gtk2.so
loading plugin /opt/deadbeef/lib/deadbeef/pltbrowser_gtk3.so
loading plugin /opt/deadbeef/lib/deadbeef/pulse.so
loading plugin /opt/deadbeef/lib/deadbeef/shellexec.so
loading plugin /opt/deadbeef/lib/deadbeef/shellexecui_gtk2.so
loading plugin /opt/deadbeef/lib/deadbeef/shellexecui_gtk3.so
loading plugin /opt/deadbeef/lib/deadbeef/sid.so
loading plugin /opt/deadbeef/lib/deadbeef/sndfile.so
loading plugin /opt/deadbeef/lib/deadbeef/supereq.so
loading plugin /opt/deadbeef/lib/deadbeef/tta.so
loading plugin /opt/deadbeef/lib/deadbeef/vfs_curl.so
loading plugin /opt/deadbeef/lib/deadbeef/vfs_zip.so
loading plugin /opt/deadbeef/lib/deadbeef/vorbis.so
loading plugin /opt/deadbeef/lib/deadbeef/vtx.so
loading plugin /opt/deadbeef/lib/deadbeef/wavpack.so
loading plugin /opt/deadbeef/lib/deadbeef/wildmidi.so
loading plugin /opt/deadbeef/lib/deadbeef/wma.so
deadbeef: playlist.c:319: plt_unref: Assertion `plt->refc > 0' failed.
fish: “/opt/deadbeef/bin/deadbeef” terminated by signal SIGABRT (Abort)

This is the stack trace:

$ coredumpctl gdb
           PID: 5617 (deadbeef-main)
           UID: 1000 (jtojnar)
           GID: 1000 (jtojnar)
        Signal: 6 (ABRT)
     Timestamp: Thu 2018-10-25 20:23:31 CEST (32min ago)
  Command Line: /opt/deadbeef/bin/deadbeef
    Executable: /opt/deadbeef/bin/deadbeef
 Control Group: /user.slice/user-1000.slice/[email protected]/gnome-terminal-server.service
          Unit: [email protected]
     User Unit: gnome-terminal-server.service
         Slice: user-1000.slice
     Owner UID: 1000 (jtojnar)
       Boot ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Machine ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      Hostname: jtojnar
       Storage: /var/lib/systemd/coredump/core.deadbeef-main.1000.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.5617.1540491811000000.lz4
       Message: Process 5617 (deadbeef-main) of user 1000 dumped core.
                
                Stack trace of thread 5618:
                #0  0x00007f6a2c807077 __GI_raise (libc.so.6)
                #1  0x00007f6a2c7e8535 __GI_abort (libc.so.6)
                #2  0x00007f6a2c7e840f __assert_fail_base (libc.so.6)
                #3  0x00007f6a2c7f8142 __GI___assert_fail (libc.so.6)
                #4  0x0000000000402bea n/a (deadbeef)
                #5  0x000000000040905a n/a (deadbeef)
                #6  0x00007f6a273ca1c5 n/a (/home/jtojnar/.local/lib/deadbeef/mpris.so)
                #7  0x00007f6a273cbb07 n/a (/home/jtojnar/.local/lib/deadbeef/mpris.so)
                #8  0x00007f6a2a905469 n/a (libgio-2.0.so.0)
                #9  0x00007f6a2b254ae8 g_main_context_dispatch (libglib-2.0.so.0)
                #10 0x00007f6a2b254ed8 n/a (libglib-2.0.so.0)
                #11 0x00007f6a2b2551d2 g_main_loop_run (libglib-2.0.so.0)
                #12 0x00007f6a273cc92d n/a (/home/jtojnar/.local/lib/deadbeef/mpris.so)
                #13 0x00007f6a2b27d135 n/a (libglib-2.0.so.0)
                #14 0x00007f6a2c9b8164 start_thread (libpthread.so.0)
                #15 0x00007f6a2c8e0def __clone (libc.so.6)
                
                Stack trace of thread 5619:
                #0  0x00007f6a2c9be2eb futex_wait_cancelable (libpthread.so.0)
                #1  0x00007f6a262dcba9 n/a (artwork.so)
                #2  0x00007f6a2c9b8164 start_thread (libpthread.so.0)
                #3  0x00007f6a2c8e0def __clone (libc.so.6)
                
                Stack trace of thread 5620:
                #0  0x00007f6a2c8a46a0 __GI___nanosleep (libc.so.6)
                #1  0x00007f6a2c8d77d4 usleep (libc.so.6)
                #2  0x00007f6a262dd0e2 n/a (artwork.so)
                #3  0x00007f6a2c9b8164 start_thread (libpthread.so.0)
                #4  0x00007f6a2c8e0def __clone (libc.so.6)
                
                Stack trace of thread 5622:
                #0  0x00007f6a2c8d46d9 __GI___poll (libc.so.6)
                #1  0x00007f6a2b254e46 n/a (libglib-2.0.so.0)
                #2  0x00007f6a2b254f6c g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f6a2b254fb1 n/a (libglib-2.0.so.0)
                #4  0x00007f6a2b27d135 n/a (libglib-2.0.so.0)
                #5  0x00007f6a2c9b8164 start_thread (libpthread.so.0)
                #6  0x00007f6a2c8e0def __clone (libc.so.6)
                
                Stack trace of thread 5624:
                #0  0x00007f6a2c8d46d9 __GI___poll (libc.so.6)
                #1  0x00007f6a2b254e46 n/a (libglib-2.0.so.0)
                #2  0x00007f6a2b2551d2 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007f6a2a9147b6 n/a (libgio-2.0.so.0)
                #4  0x00007f6a2b27d135 n/a (libglib-2.0.so.0)
                #5  0x00007f6a2c9b8164 start_thread (libpthread.so.0)
                #6  0x00007f6a2c8e0def __clone (libc.so.6)
                
                Stack trace of thread 5623:
                #0  0x00007f6a2c8da219 syscall (libc.so.6)
                #1  0x00007f6a2b29b75a g_cond_wait_until (libglib-2.0.so.0)
                #2  0x00007f6a2b227061 n/a (libglib-2.0.so.0)
                #3  0x00007f6a2b27dc12 n/a (libglib-2.0.so.0)
                #4  0x00007f6a2b27d135 n/a (libglib-2.0.so.0)
                #5  0x00007f6a2c9b8164 start_thread (libpthread.so.0)
                #6  0x00007f6a2c8e0def __clone (libc.so.6)
                
                Stack trace of thread 5617:
                #0  0x00007f6a2c8d46d9 __GI___poll (libc.so.6)
                #1  0x00007f6a29f609b7 n/a (libxcb.so.1)
                #2  0x00007f6a29f5e751 xcb_connect_to_fd (libxcb.so.1)
                #3  0x00007f6a29f625a4 xcb_connect_to_display_with_auth_info (libxcb.so.1)
                #4  0x00007f6a2affacd2 _XConnectXCB (libX11.so.6)
                #5  0x00007f6a2afeb892 XOpenDisplay (libX11.so.6)
                #6  0x00007f6a23657081 n/a (hotkeys.so)
                #7  0x0000000000406ac4 n/a (deadbeef)
                #8  0x000000000040346d n/a (deadbeef)
                #9  0x00007f6a2c7ea09b __libc_start_main (libc.so.6)
                #10 0x0000000000403985 n/a (deadbeef)

GNU gdb (Ubuntu 8.2-0ubuntu1) 8.2
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /opt/deadbeef/bin/deadbeef...(no debugging symbols found)...done.

warning: core file may not match specified executable file.
[New LWP 5618]
[New LWP 5619]
[New LWP 5620]
[New LWP 5622]
[New LWP 5624]
[New LWP 5623]
[New LWP 5617]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/opt/deadbeef/bin/deadbeef'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f6a1ecc8700 (LWP 5618))]
(gdb) bt
#0  0x00007f6a2c807077 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f6a2c7e8535 in __GI_abort () at abort.c:79
#2  0x00007f6a2c7e840f in __assert_fail_base
    (fmt=0x7f6a2c974858 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x433013 "plt->refc > 0", file=0x433008 "playlist.c", line=319, function=<optimized out>) at assert.c:92
#3  0x00007f6a2c7f8142 in __GI___assert_fail
    (assertion=0x433013 "plt->refc > 0", file=0x433008 "playlist.c", line=319, function=0x43358c "plt_unref") at assert.c:101
#4  0x0000000000402bea in  ()
#5  0x000000000040905a in  ()
#6  0x00007f6a273ca1c5 in getMetadataForTrack () at /home/jtojnar/.local/lib/deadbeef/mpris.so
#7  0x00007f6a273cbb07 in onPlayerGetPropertyHandler () at /home/jtojnar/.local/lib/deadbeef/mpris.so
#8  0x00007f6a2a905469 in invoke_get_all_properties_in_idle_cb (_data=0x7f6a04009750)
    at ../../../../gio/gdbusconnection.c:4485
#9  0x00007f6a2b254ae8 in g_main_dispatch (context=0x7f6a10001c00) at ../../../../glib/gmain.c:3182
#10 0x00007f6a2b254ae8 in g_main_context_dispatch (context=context@entry=0x7f6a10001c00)
    at ../../../../glib/gmain.c:3847
#11 0x00007f6a2b254ed8 in g_main_context_iterate
    (context=0x7f6a10001c00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../../../../glib/gmain.c:3920
#12 0x00007f6a2b2551d2 in g_main_loop_run (loop=0x7f6a10019f00) at ../../../../glib/gmain.c:4116
#13 0x00007f6a273cc92d in startServer () at /home/jtojnar/.local/lib/deadbeef/mpris.so
#14 0x00007f6a2b27d135 in g_thread_proxy (data=0x82f050) at ../../../../glib/gthread.c:784
#15 0x00007f6a2c9b8164 in start_thread (arg=<optimized out>) at pthread_create.c:486
#16 0x00007f6a2c8e0def in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) quit

Metadata not properly showing on Gnome Media Player Extension

I was about to post this issue on extension's page but I've tested the extension against other players (Rhytmbox, Clementine, VLC) and it's working nicely. So, I assumed that mpris2 needs an update.

I've installed the mpris plugin straight from source (not the tarball), and the gnome media player extension straight from the official Gnome extensions site. However, when I open DeadBeef this is what's being shown (no metadata) [PIC HERE]

However, if I lock my session, and re-login, the metadata appears! But it's static, it doesn't get updated at all (Current song is not Warriors). [PIC HERE]

I don't know if it's a problem with your extension, gnome media player's or my OS. Please, any help would be appreciated.

I'm using Ubuntu Gnome 16.04.02, with Gnome 3.18.5.

[Fedora] "configure: error: glibc-2 is required for this package"

checking for GLIB_DEPS... no
configure: error: glibc-2 is required for this package
Package glibc-2.32-6.fc33.x86_64 is already installed.
Package glibc-2.32-6.fc33.i686 is already installed.

It seems as if it doesn't like the fedora version of glibc but with that said I'm stupid so please forgive me if I have completely the wrong idea :)

Fails to start on Arch

I'm on Arch Linux 64-bit with glib2 2.48 and DeaDBeeF 0.7.2 installed, and DeaDBeeF fails to start with this plugin (latest version, 1.9) installed. DeaDBeeF spits out the following in terminal:

(deadbeef:9117): GLib-GObject-WARNING **: cannot register existing type 'GtkBuildable'

(deadbeef:9117): GLib-GObject-CRITICAL **: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(deadbeef:9117): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(deadbeef:9117): GLib-GObject-WARNING **: cannot register existing type 'GtkWidget'

(deadbeef:9117): GLib-GObject-WARNING **: cannot add class private field to invalid type '<invalid>'

(deadbeef:9117): GLib-GObject-WARNING **: cannot add private field to invalid (non-instantiatable) type '<invalid>'

I used the following PKGBUILD to build and install the plugin: https://aur.archlinux.org/packages/deadbeef-mpris2-plugin/

Not working on Ubuntu 15.04

DeaDBeeF 0.6.2
deadbeef-mpris2-plugin 1.8
LOG:
GLib-GIO:ERROR:/build/buildd/glib2.0-2.44.1/./gio/gdbusconnection.c:4188:invoke_get_property_in_idle_cb: assertion failed: (error != NULL)

client seek bar is not updated after seek occured via mpris

Take a look at this progress-bar: https://i.imgur.com/m4QjyMe.png
While it works perfectly, if you want to change the position inside of the playing track, it may take up to 8 seconds for the progress bar to refresh its state after a mouse click was performed on a different position. Before the update happens it gets reset to the beginning of the track and keeps "ticking" each second (without affecting the actual playback).
Is there a way to improve that somehow? It feels that mpris plugin should report current playback state more often than it currently does or perhaps if an action is detected - immediately trigger some kind of "refresh".

Edit: just tested. if for example we will look at the progressbar at 50% and change playing position in the player, it takes about the same time for it to update. So mpris definitely should update more often. I would say make it at least within 3 seconds... if there are some performance concerns. But ideally - every second.

Status Returns only Stop

Whenever I use Deadbeef, the playerctl status output always prints "Stopped" even when the music is playing.
But playerctl metadata seems to be working fine.

Proposed PKGBUILD for Arch Linux

Contributor: Peter Lamby <email [at] host [dot] com>

Contributor: HuangCongyu <huangcongyu2006 [at] gmail [dot] com>

Maintainer.:

pkgname=deadbeef-plugin-mpris2-git
prjname=deadbeef-mpris2-plugin
pkgver=2.1.5
pkgrel=1
pkgdesc="MPRIS plugin for DeaDBeeF music player"
arch=("i686" "x86_64")
license=('GPL')
url="https://github.com/Serranya/deadbeef-mpris2-plugin"
depends=('deadbeef')
source=('git+https://github.com/Serranya/deadbeef-mpris2-plugin.git')
md5sums=("SKIP")

pkgver() {
cd "$srcdir/$prjname"
echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)
}

build() {
cd "${srcdir}/${prjname}"
autoreconf --install
./configure --prefix=/usr
make
}

package () {
cd "${srcdir}/${prjname}"
make DESTDIR="${pkgdir}" install
}

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.