Comments (6)
Thanks for the feedback. I'm glad people are (somehow) finding this despite myself never advertising it.
Not sure if there is anything wrong with mps-youtube's mpris implementation.
From the traceback, it appears that mps-youtube doesn't fully implement the org.mpris.MediaPlayer2.Player
interface. PlaybackStatus
is not an optional property. Looking at the source code, it doesn't actually seem to be implementing any properties at all and only has method definitions, but I'm not familiar with the dbus
package. A quick check with QDBusViewer confirms this.
Created mps-youtube/yewtube#839 upstream.
Also, would it be possible to "disable" discordrp-mpris automatically when Spotify is running?
Added a task to #2 for config to ignore certain players. Been thinking about that for a while, but time has been short which is why I didn't do any commits recently.
I didn't know Spotify had an mpris2 interface to begin with, though, so that's perfectly understandable.
from discordrp-mpris.
Actually, I believe I need to be more aggressive with Spotify running because it's a unique sitation. Will re-open for now.
from discordrp-mpris.
Awesome, man. I will follow the upstream issue you created as well. Thank you so much for looking into this!
from discordrp-mpris.
Added a catch for mps-youtube (and similarly weird mpris players) in d36ac87 and Spotify is ignored by default now (b12f9b3). This will work reasonably well for now, as long as you set show_paused
to false. Otherwise, a paused player might still fight with a playing Spotify instance.
Let me know if this works for you.
from discordrp-mpris.
Everything is working smoothly now. No more crashes and Spotify is being ignored. Also, thank you for implementing the configuration options!
So, am I correct in assuming that mps-youtube and similarly weird players just are not compatible with discordrp-mpris? I'm not familiar with dbus, but from what I understood, hrnr said it's a dbus-python issue, right?
from discordrp-mpris.
I'm not familiar with dbus, but from what I understood, hrnr said it's a dbus-python issue, right?
Pretty much. dbus-python
doesn't seem to have an easy way to have introspectable properties, which the library I use, dbussy
, relies on. The properties are there, but dbussy
doesn't see them because they are not advertised and thus doesn't allow me to read (or set) them.
I could potentially read the values in a different way or maybe use a different dbus library myself, but I like dbussy and I haven't found a proper one for asyncio yet. It's also not really worth it imo.
So, am I correct in assuming that mps-youtube and similarly weird players just are not compatible with discordrp-mpris?
mps-youtube just won't work until the thing I mention above is addressed. I'm not aware of any other players not working with discordrp-mpris, but I will add them to the readme once I get to know some.
from discordrp-mpris.
Related Issues (20)
- Issues with async discord connection HOT 5
- Extend beyond mpris? HOT 2
- Rich Presence SDK has been deprecated in favor of "GameSDK" HOT 4
- See if setting a custom status via API is possible
- add icon for Lollypop HOT 1
- Discord Flatpak HOT 5
- Support FireFox (and Chrome?) HOT 2
- Show album art instead of player icon HOT 24
- Automatically truncate titles to 128 characters
- No config file on Arch HOT 1
- Add Pithos Pandora Player as a supported player?
- Failed to connect to Discord client HOT 2
- Broken on Python 3.10 HOT 1
- Manual installation refers to the wrong link HOT 1
- Crash with Amberol HOT 2
- Cannot use `dict` as generic typehint
- KDE Elisa icon support? HOT 1
- Unable to configure players with a space in their name HOT 3
- add "YouTube Music" player icon
- Overwrite player icon using config option HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from discordrp-mpris.