MycroftAI / skill-playback-control

Mycroft AI official Playback Control Skill - providing Intents for other Skills to use common playback functionality (via Common Play)
https://mycroft.ai/skills
Apache License 2.0
6 stars 25 forks source link

"Play Music" phrase not working as expected #18

Open Deukhoofd opened 5 years ago

Deukhoofd commented 5 years ago

Expected behaviour would be that the music continues playing from pause. Unfortunately current behaviour is that it searches for a song or album containing "Music".

pixelherodev commented 5 years ago

You can use "resume", or "resume music".

My question here is whether "play music" should resume - or rather, whether it should only resume. Here's my idea of how this should be implemented:

IF A SKILL IS PAUSED:
    RESUME
ELSE
    SELECT FALLBACK MUSIC SKILL, START PLAYING

For instance, I could set Pandora as my default music skill, so if I say "Play music" and nothing is already playing, it'll launch Pianobar, which - importantly - will resume from the last station unless otherwise configured.

JarbasAl commented 4 years ago

https://github.com/MycroftAI/skill-playback-control/pull/35 integrates the new CPS_track_status mechanism, which allows to know what track is supposed to be on and current playback status

"play music" with #32 becomes media type MUSIC and phrase is "" empty string

i'd argue that condition is enough for this skill to also be a common play skill, and handle that case for resuming playback

it could be used check condition above

IF STATUS == PAUSED:
    RESUME
ELSE
    ALLOW OTHER SKILL TO HANDLE QUERY

maybe we need yet another status in the Enum? (Done https://github.com/MycroftAI/mycroft-core/pull/2674)

the concept of a default music skill can be tackled after this