f1u77y / wmc-mpris Goto Github PK
View Code? Open in Web Editor NEWMPRIS proxy for usage with Web Media Controller on GNU/Linux
License: The Unlicense
MPRIS proxy for usage with Web Media Controller on GNU/Linux
License: The Unlicense
I am not sure whether this is bug in browser extension or system binary. I use Firefox with https://github.com/f1u77y/web-media-controller and with web-media-controller-mpris-git
AUR package. When I start Firefox and youtube/spotify, extension works but after some time it crashes. This is log from browser console (Ctrl+Shift+J):
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.418: g_variant_new_object_path: assertion 'g_variant_is_object_path (object_path)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.420: g_variant_new_variant: assertion 'value != NULL' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.420: g_variant_get_type: assertion 'value != NULL' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.421: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.421: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_of_type (value, GVSB(builder)->expected_type)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.421: g_variant_builder_end: assertion 'GVSB(builder)->offset >= GVSB(builder)->min_items' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.421: g_variant_get_type: assertion 'value != NULL' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.421: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:14.421: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_of_type (value, GVSB(builder)->expected_type)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_new_object_path: assertion 'g_variant_is_object_path (object_path)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_new_variant: assertion 'value != NULL' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_get_type: assertion 'value != NULL' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_of_type (value, GVSB(builder)->expected_type)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_builder_end: assertion 'GVSB(builder)->offset >= GVSB(builder)->min_items' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_get_type: assertion 'value != NULL' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_type_is_subtype_of: assertion 'g_variant_type_check (type)' failed
stderr output from native app me.f1u77y.web_media_controller:
stderr output from native app me.f1u77y.web_media_controller: (process:9157): GLib-CRITICAL **: 14:41:18.866: g_variant_builder_add_value: assertion '!GVSB(builder)->expected_type || g_variant_is_of_type (value, GVSB(builder)->expected_type)' failed
Hello,
I've encountered this project via the AUR package when looking for a way to control media players in the browser via mpris. I've managed to compile it successfully but I don't know what to do next.
Should I put the file me.f1u77y.web_media_controller.firefox.json
somewhere inside my ~/.mozilla/*.default
directory?
Does this work only with certain websites?
So I have installed the web extension via Mozilla's Add-on store, got wmc-mpris installed via my distro's package manager. And it seems to work, with playerctl
listing web-media-controller.
$ playerctl --list-all
mpd.instance28978
web-media-controller.pid27534
chromium.instance13752
But using playerctl <cmd>
, doesn't to do anything. Following the advise here, I looked at the properties and found that it seems like web-media-controller does not get any information from Firefox/the web-media-controller.
$ dbus-send --print-reply --type=method_call --dest=org.mpris.MediaPlayer2.web-media-controller.pid27534 /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.GetAll string:'org.mpris.MediaPlayer2.Player'
method return time=1572478987.936083 sender=:1.321 -> destination=:1.335 serial=7 reply_serial=2
array [
dict entry(
string "PlaybackStatus"
variant string ""
)
dict entry(
string "LoopStatus"
variant string ""
)
dict entry(
string "Rate"
variant double 1
)
dict entry(
string "Shuffle"
variant boolean false
)
dict entry(
string "Metadata"
variant array [
]
)
dict entry(
string "Volume"
variant double 0
)
dict entry(
string "Position"
variant int64 0
)
dict entry(
string "MinimumRate"
variant double 1
)
dict entry(
string "MaximumRate"
variant double 1
)
dict entry(
string "CanGoNext"
variant boolean false
)
dict entry(
string "CanGoPrevious"
variant boolean false
)
dict entry(
string "CanPlay"
variant boolean false
)
dict entry(
string "CanPause"
variant boolean false
)
dict entry(
string "CanSeek"
variant boolean false
)
dict entry(
string "CanControl"
variant boolean false
)
]
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.