[WIP] script.squeezeinfo - shows what's playing on your Logitech Media Server
#1
I suspect the number of people who will be interested in this will be very few but I thought I'd share anyway...

I have Logitech Media Server/Squeezelite running on my HTPC. It outputs audio via an amp unlike Kodi which is through HDMI to the TV. This means I can play music without my TV on. However, there are times when I'd like to let people know what's playing. I've therefore created this script to give a "Now Playing" type view through Kodi.

I've got a first version running. Here are some screenshots:

1. Minimal now playing
Image

2 Basic playlist control
Image

3. Changing player
Image

4. Notifications
Image
Image

5. Menus
Image
Image
Image

6. Player controls
Image

Video:
https://youtu.be/Eo_NGbQqu4w

To use, you need to set the server settings (IP address and ports) and then run the script.

Pressing 0 displays the playlist.
Pressing 9 displays player menu (access to apps, library search etc.)
Pressing 8 displays player controls
Left and Right to select a squeezeplayer.

If you want to try it, the code is on github: https://github.com/elParaguayo/script.squeezeinfo NB Krypton only

Bugs (and there will be bugs) can be posted here or on the issues page on github.

Please note:
- I work long hours on my job and have a lot going on in my life in the moment so development will happen when I'm ready and able!
- The fonts are dependent on whatever skin you're using so it may look different/ugly. The screenshots are based on Estuary.

There's already an excellent squeezeplayer addon available xsqueeze which is far more functional/comprehensive than mine so I won't be offended if people would rather use that one.

I've enjoyed writing this and if I'm the only one who uses it then that's fine with me!
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply
#2
Well, I can't test it but I can say it looks great and can be really usefull! Please consider to submit to the repo once finished
Reply
#3
That's pretty slick. I have 4 squeeze boxes in my family. Thanks for this.
first_time_user (wiki) | free content (wiki) | forum rules (wiki) | PVR (wiki) | Debug Log (wiki)

IMPORTANT:
The official Kodi version does not contain any content what so ever. This means that you should provide your own content from a local or remote storage location, DVD, Blu-Ray or any other media carrier that you own. Additionally Kodi allows you to install third-party plugins that may provide access to content that is freely available on the official content provider website. The watching or listening of illegal or pirated content which would otherwise need to be paid for is not endorsed or approved by Team Kodi.
Reply
#4
I'll test asap, also owner of multiple squeezeboxes.
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#5
Nice!

Worth noting XSqueeze can also be used in a controller only way (i.e. XSqueeze is not just a player, if you want to monitor any other squeeze player on your network, you can...) - it gives a full screen Now Playing view with upcoming tracks, song info etc, and artist bio/images. It's a bit more 'take over your box' than this looks, though.

Add-on:XSqueeze (wiki)

I'm not really developing Xqueeze anymore, to be honest. I never really used it myself, it was just something I wrote for Python practise. It's on github, feel free to pinch/fork/take it over Smile

I do still use squeezeboxes, but I mainly control them by a PC or remote really....and I have eye on Nativ & Roon for the future....
Sorry, no help w/out a *full debug log*
Reply
#6
Comments:

1. Cannot put server in by name, only IP address.

2. Would be great be able to choose tracks, control synch, all the usual control stuff. Maybe this is my chance to improve my programming skill Smile

Nothing else Smile

EDIT: when I say "nothing else" I forgot to say thanks and great work!!
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#7
(2017-02-24, 06:48)nickr Wrote: Comments:

1. Cannot put server in by name, only IP address.

2. Would be great be able to choose tracks, control synch, all the usual control stuff. Maybe this is my chance to improve my programming skill Smile

Nothing else Smile

EDIT: when I say "nothing else" I forgot to say thanks and great work!!
1. I can look at fixing this.
2. Yes, ultimately I'd look to implement the whole menu but that's a pretty big job!
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply
#8
(2017-02-24, 06:32)bossanova808 Wrote: Nice!

Worth noting XSqueeze can also be used in a controller only way (i.e. XSqueeze is not just a player, if you want to monitor any other squeeze player on your network, you can...) - it gives a full screen Now Playing view with upcoming tracks, song info etc, and artist bio/images. It's a bit more 'take over your box' than this looks, though.

Add-on:XSqueeze (wiki)

I'm not really developing Xqueeze anymore, to be honest. I never really used it myself, it was just something I wrote for Python practise. It's on github, feel free to pinch/fork/take it over Smile

I do still use squeezeboxes, but I mainly control them by a PC or remote really....and I have eye on Nativ & Roon for the future....
The "taking over the box" bit was the main bit on my mind. I really just wanted something minimal that i could start and leave. Like you, I do most of the controlling with a remote.

Also, I'll admit I also wrote it to practice my python. I often write for the fun of developing rather than for the end product!
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply
#9
(2017-02-24, 08:44)el_Paraguayo Wrote:
(2017-02-24, 06:48)nickr Wrote: Comments:

1. Cannot put server in by name, only IP address.

2. Would be great be able to choose tracks, control synch, all the usual control stuff. Maybe this is my chance to improve my programming skill Smile

Nothing else Smile

EDIT: when I say "nothing else" I forgot to say thanks and great work!!
1. I can look at fixing this.
2. Yes, ultimately I'd look to implement the whole menu but that's a pretty big job!

It is, and frankly I'd rather use orangesqueeze on my phone/tablet to control my squeeze clients. Saves turning the TV on, I have no need for a 'fullscreen' artwork.

So I would see your addon as an occasional adjunct to my other methods of controlling/viewing squeeze. I also have home-assistant which gives a view of what is playing, some basic control, and some automation.

Others of course will want to use a TV interface to control their squeeze clients, and have it always on. Using your addon will give such people convergence with the rest of their media experience, one remote to rule them all!

Horse for courses, and I usually look at any software related to squeeze, in fact I was playing with pylms from the commandline just last night, so your release is timely.

<end random thought processing>
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#10
That's how i see it too but there may be some people who would want the extra functionality so I'm happy to try.

This script uses pylms to a certain extent however I've rewritten parts of it. It used the telnet interface for the commands but I'm updating it to use the JSON interface instead. At the moment I've just done it for the commands I need but I'll probably end up replicating what's in pylms.

I've also created a modified version of the server class (which does use the telnet interface) which runs in a background thread and triggers callbacks depending on the notifications it receives.

Eventually, I'll put all of these bits into a package because I use the code on a few projects.
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply
#11
I've rebuilt the logitech menu in python before so I should be able to adapt that code, rather than start from scratch!
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply
#12
I do think that the json approach is the 'modern' way compared to a telnet interface. But of course, you're the author, entirely up to you.
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#13
Exactly. What I meant was, if you're going to look at pylms, you may want to look at the SimpleLMS module in my code.
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply
#14
Quick update: Looks like I should be able to integrate the player menu ok...

Image

Image

Image

Code's not on github yet - quite a bit of tweaks/tidying up to do (plus I'm away with work for a bit soon) but I'll upload as soon as I can.
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply
#15
I've added some controls and menus to the script.

Here's a video showing the script in action: https://youtu.be/Eo_NGbQqu4w
BBC Live Football Scores: Football scores notifications service.
script.squeezeinfo: shows what's playing on your Logitech Media Server
Reply
 
Thread Rating:
  • 1 Vote(s) - 5 Average



Logout Mark Read Team Forum Stats Members Help
[WIP] script.squeezeinfo - shows what's playing on your Logitech Media Server51