Amarok Player Integration For Mycroft
ClosedPublic

Authored by Aiix on Mar 31 2017, 7:24 PM.

Details

Summary

Ref T5797
Amarok Player via Voice Commands, Play, Pause, Next, Previous Song Integration for Mycroft.

Test Plan

Play media via voice query play music, pause music, next song, previous song

Diff Detail

Repository
R846 Mycroft Plasma integration
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
Aiix created this revision.Mar 31 2017, 7:24 PM
Restricted Application added a project: Plasma. · View Herald TranscriptMar 31 2017, 7:24 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
This revision was automatically updated to reflect the committed changes.

Just wondering: why dedicated to amarok instead of interacting with mpris? That would allow to control any media player instead of just amarok.

Aiix added a comment.Mar 31 2017, 8:33 PM

Just wondering: why dedicated to amarok instead of interacting with mpris? That would allow to control any media player instead of just amarok

Amarok is the first implementation of interacting over the default mpris dbus interface where other players over the mpris dbus interface will be added, The limitation seems to be on the side of how I can integrate with Mycroft Skills via Dbus and intent management. There are two points to this. 1. It seems currently i cannot implement a blocking dbus loop on a mycroft skill where i cannot directly query the media player in use by the system in default this will break user interaction with other skills if i run the skill in a dbus main loop so only single method calls work without having the ability to implement dbus signals and replies. 2. Intent handling for example user say's simply "Play Music / Pause Music / Next Song / Previous Song" how to determine the media player to use by default as every user has an individual preference unless it is being defined by the system where there is a dbus method call to a default system player available. Here the solution as per my implementation seems to segregate the media player the user wants to play his media by where any media player for example "Babe Qt", "Rhythmbox" "Deepin Media Player" or "VLC" that makes use of mpris dbus interface will have individual intent calls like "Hey Mycroft, Deepin Play Song" or "Hey Mycroft, Rhythmbox Play Song" etc.