lms.el: squeezebox controller for emacs

Slim Devices was a now-defunct company who produced network music players well ahead of its time. It offered more-than-good music streaming quality and many other special features, like music synchronization with devices placed on different rooms.


The squeezebox devices are the music players, which work with a free central software server (perl-based) called Logitech Media Server (aka Squeezebox Server, aka SqueezeCenter, aka SlimServer) installable on Linux, *BSD, Windows or Mac computers or even NAS devices, and where you could store and manage your local music library or even listen to internet stations.

In 2006, company was purchased by Logitech and six years later these products were discontinued.

Anyway, it is still one of the best solutions available today for music management and local or remote music streaming. It works and active thanks to the community. And do not be fooled by appearances, it’s very simple to build, even for people without computer skills.

Server software is freely available and it gets new features and enhancements or new plugins often. Even there are many different DYI software/hardware players from the enthusiastic community. Building a player/server with a RaspberryPi, a DAC, and piCorePlayer software is funny, easy and quite cheap indeed.

If you are interested in this solution there are lots of information in internet, but the community meets mainly at http://forums.slimdevices.com/.

Well, that’s enough for the enthusiastic me and the marketing buzzwords ;-).


I own a Squeezebox Boom and a Squeezebox Radio, use a Marantz NR1504 as well (thanks to a plugin called UPnPBridge) and planning to build a couple DYI players in next months.

I control the players with a program on my linux desktop (jivelite) or from an app in my mobile phone (Orange Squeeze, is not free, but there are some others such as free & open source Squeezer).

Ok, very nice… but… hey… there isn’t an emacs package to control squeezebox!


This is an emacs frontend to interact with Squeezebox Server / Logitech Media Server. It is released under GPL version 3 license or later.

It requires emacs version 25 or higher.

Quick instructions: customize some basic parameters lms-hostname, lms-telnet-port, lms-html-port, lms-username, lms-password and run it with lms-ui. From there, you could read complete documentation after pressing h key.

Package should appear in MELPA repository soon, and the code is in BitBucket repository as well.

Some of the features:

- Display song: title, artist, album, year, cover…
- Play, pause, stop, select next / previous song
- Control players: select player, power on/off, volume, repeat and shuffle modes
- Playlist control: list, select song, delete track, clear
- Show track information and change rating

As today, July 30th, 2017, there are some missing features (like music browsing or searching), but they will be added during next weeks (read September as I will leave for holidays in a few days).

It is not aimed to be a complete controller, as it can’t - and won’t - manage external sources such us BBC, Deezer, Pandora, Spotify, or TuneIn Radio.

Of course, any ideas, suggestions and comments will be well received.

../../../_images/lms.el-ss1.jpeg ../../../_images/lms.el-ss2.jpeg ../../../_images/lms.el-ss3.jpeg ../../../_images/lms.el-ss5.jpeg ../../../_images/lms.el-ss4.jpeg