Skip to content

johanpalmqvist/skill-squeezebox

Repository files navigation

logitech media server skill

A skill for controlling logitech media server and connected clients

Description

This module controls streaming of content from a Logitech Media Server

Examples

  • "play electronic music"
  • "play artist covenant"
  • "play favorite slay radio"
  • "pause music playback"
  • "identify musical composition"
  • "stop playback"

Credits

Johan Palmqvist johan.palmqvist-mycroft@kenkon.net

Configuring

Install this skill, then go to https://home.mycroft.ai and enter your Logitech Media Server details under Skills->Logitech Media Server Skill

Current state

Working features:

  • play <content>
  • play <content> on <player_name>
  • play artist <content>
  • play favorite <content>
  • play genre <content>
  • play <content> music
  • play playlist <content>
  • play podcast <content>
  • play radio <content>
  • identify musical composition
  • stop music
  • pause music
  • resume music
  • next track
  • previous track
  • increase volume
  • decrease volume
  • maximum volume
  • mute volume
  • unmute volume
  • power off <player_name>
  • power on <player_name>

<content> can be:

  • <song>
  • <song> by <artist>
  • <album>
  • <album> by <artist>
  • <artist>
  • <genre>
  • <favorite>
  • <playlist>
  • <podcast>
  • <radio>

<player_name> can be the valid name of a destination client. You generally only need:

  • <name of squeeze client>

Sound Effects:

To use sound effects as feedback add WAVE files to the skill sounds/ directory using the following names:

  • cachenotupdated.wav
  • cacheupdated.wav
  • nexttrack.wav
  • pause.wav
  • playernotfound.wav
  • playingcontent.wav
  • poweroff.wav
  • poweron.wav
  • previoustrack.wav
  • resume.wav
  • stop.wav
  • volumedown.wav
  • volumemute.wav
  • volumeset.wav
  • volumeunmute.wav
  • volumeup.wav

Known issues:

  • If you have a large library it can take minutes to initialise, and then another chunk of time (tens of seconds) to determine what you specified as <content>. This can be mitigated to some degree by local caching of formatted content and verbally specifying source type when requesting playback of <content>.
  • Running the skill on devices with limited resources may cause out of memory issues if the library is too large (YMMV).
  • If the skill takes too long to respond the CommonPlay system skips the results. This is intermittent even with identical queries.
  • No default set of WAVE files included for sound effects (as alternative to spoken dialogue).
  • Pause/Resume/Next/Previous currently only works on default player

TODO/IDEAS

  • fix bugs
  • better random selection
  • better playlist/radio/podcast handling (radio is currently handled as favorites, which actually seems to work quite well)
  • memory usage optimizations

Action / Logic

When <content> computation matches:

  • song: a single song is played
  • artist: all of the music by the artist is put on randomly
  • album: the album is played in order (unless random mode is specified)
  • genre: all of the music tagged with that genre is put on randomly

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages