zhanghai / deadbeef-gnome-mmkeys Goto Github PK
View Code? Open in Web Editor NEWAdd GNOME multimedia keys support in DeadBeef player using DBus
Add GNOME multimedia keys support in DeadBeef player using DBus
DeaDBeeF player GNOME (via DBus) multimedia keys plugin Author Ruslan Khusnullin <[email protected]> Updates by Bartlomiej Bułat <[email protected]> Updates by Hai Zhang <[email protected]> This plugin adds support for GNOME (via DBus) multimedia keys to DeaDBeeF player. To get sources: * You will need git $ git clone https://github.com/zhanghai/deadbeef-gnome-mmkeys.git To build: $ cd deadbeef-gnome-mmkeys $ make To install: $ sudo make install (copies ddb_gnome_mmkeys.so file to /usr/lib/deadbeef/) To clean: $ make clean Original project: https://code.google.com/p/deadbeef-gnome-mmkeys/ Arch Linux package: https://aur.archlinux.org/packages/deadbeef-gnome-mmkeys-git/
i've been using this plugin for deadbeef and everything works ok, but after update to gnome 42.1 stop working
After cloning an entering the directory, 'make' gives this fatal error:
ddb_gnome_mmkeys.c:44:31: fatal error: deadbeef/deadbeef.h: No such file or directory
The full output is:
~/git/deadbeef-gnome-mmkeys$ make
gcc -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -fPIC -shared -o ddb_gnome_mmkeys.so ddb_gnome_mmkeys.c -lgio-2.0 -lgobject-2.0 -lglib-2.0
ddb_gnome_mmkeys.c:44:31: fatal error: deadbeef/deadbeef.h: No such file or directory
compilation terminated.
Makefile:14: recipe for target 'ddb_gnome_mmkeys.so' failed
make: *** [ddb_gnome_mmkeys.so] Error 1
I'm using Ubuntu 16.04 LTS with Gnome 3
It requires g_bus_get_sync, which is 2.26+, but we build plugins using older version for compatibility reasons. The build server has GLib 2.19.7
After upgrading to Gnome 3.26 on Arch Linux, I noticed that the plugin was not working. I launched dbus-monitor --session
to see what was getting called, and found that path=/org/gnome/Shell; interface=org.gnome.Shell; member=AcceleratorActivated
showed whenever I pressed a multimedia key.
uint32 173 is for pause
uint32 174 is for next
uint32 174 is for previous
Not sure what stop is, my laptop has no stop key.
I've tried this plugin on Arch Linux with
cinnamon 4.0.8-1
deadbeef 0.7.2-4
and it doesn't seem to work. The mpris2-plugin does however
Dunno if this would be helpful for other people. But after these steps, I was able to successfully use this plugin!
sudo apt-get install libglib2.0-dev #
sudo add-apt-repository ppa:starws-box/deadbeef-player
sudo apt-get update
sudo apt-get install -y deadbeef-plugins-dev
make install
sudo make install
Make sure you don't have ubuntu's default deadbeef installed (or you will have two copies installed).
Don't think there are any specific action items, just wanting to be helpful on the steps I needed, so going to be closing.
dbus-monitor shows this:
signal time=1537726570.034798 sender=:1.12 -> destination=:1.38 serial=4841 path=/org/gnome/Shell; interface=org.gnome.Shell; member=AcceleratorActivated
uint32 149
array [
dict entry(
string "device-id"
variant uint32 3
)
dict entry(
string "timestamp"
variant uint32 26469074
)
dict entry(
string "action-mode"
variant uint32 1
)
]
method call time=1537726570.035154 sender=:1.38 -> destination=org.mpris.MediaPlayer2.vlc.instance12045 serial=283 path=/org/mpris/MediaPlayer2; interface=org.mpris.MediaPlayer2.Player; member=Previous
error time=1537726570.035161 sender=org.freedesktop.DBus -> destination=:1.38 error_name=org.freedesktop.DBus.Error.ServiceUnknown reply_serial=283
string "The name org.mpris.MediaPlayer2.vlc.instance12045 was not provided by any .service files"
Is this gnome error or plugin error?
Hi.
You forgot to tell people (the not so experienced ones), they have to use the deadbeef.h from the players source. Maybe you want to add it to the Readme.
thanks
regards
In your README you say to clone [email protected]:barthez/deadbeef-gnome-mmkeys.git which is your SSH link. That'll work for you but nobody else. You should change that to say https://github.com/barthez/deadbeef-gnome-mmkeys.git instead.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.