Service Request: Squeezebox

Bug #1010973 reported by Kieran Hogg
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Nuvola Apps Runtime (Nuvola Player)
Fix Released
Wishlist
Steffen Coenen

Bug Description

Status
======

The fix is available as a service update package at https://nuvolaplayer.fenryxo.cz/download/service_updates.html (Logitech Media Server, version 1.0).

Fix committed to lp:nuvola-player as r809. Will be released in Nuvola Player 2.4.0.
<http://bazaar.launchpad.net/~fenryxo/nuvola-player/trunk/revision/809>

Original report
===============

I recently bought a Squeezebox and thought it'd make a great addition to Nuvola. Unfotunately, I couldn't get the bzr to run due the webkit bug so I just hacked a new service into the PPA version, files are attached.

Remaining issues:
* The code uses localhost by default as that's where most people have the squeezebox server installed but many (including me) do not, is there any way to make that a setting?
* The album art isn't working correctly despite the variable being set correctly, starting to think it might be a server bug.
* The interface displays artists sometimes in the form of $band, $songwriter and sometimes vice versa, so can sometimes pick the wrong artist to display.

If you think this is something that might be worth including, let me know and we can perhaps work on the remaining issues otherwise I'll carry on using happily myself!

Related branches

Revision history for this message
Kieran Hogg (xerosis) wrote :
Revision history for this message
Jiří Janoušek (fenryxo) wrote : Re: [Bug 1010973] [NEW] [patch] Squeezebox integration

> I recently bought a Squeezebox and thought it'd make a great addition to
> Nuvola.

New service integrations are always welcome, thanks for your work.

> Unfotunately, I couldn't get the bzr to run due the webkit bug
> so I just hacked a new service into the PPA version, files are attached.

Could you please use lp:nuvola-player/releases-1.x as a base branch
instead of lp:nuvola-player, integrate your files, upload you branch
to Launchpad and link it to this bug?

> * The code uses localhost by default as that's where most people have the squeezebox server installed but many (including me) do not, is there any way to make that a setting?

Unfortunately Nuvola Player currently does not support services with a
configurable streaming server address (bug #1011097).

> * The album art isn't working correctly despite the variable being set correctly, starting to think it might be a server bug.

It may be a bug #987464.

> * The interface displays artists sometimes in the form of $band, $songwriter and sometimes vice versa, so can sometimes pick the wrong artist to display.

I think it is not a big deal. Is it possible to contact Squeezebox
developers about this issue?

  status triaged
  importance wishlist
  tag service-integration bug-dependency
  milestone patches-welcome
  summary "Service Integration: Squeezebox"

tags: added: bug-dependency service-integration
summary: - [patch] Squeezebox integration
+ Service Integration: Squeezebox
Changed in nuvola-player:
importance: Undecided → Wishlist
milestone: none → patches-welcome
status: New → Triaged
description: updated
Revision history for this message
Jiří Janoušek (fenryxo) wrote : Re: Service Integration: Squeezebox

Currently selecting the Squeezebox service without Squeezebox installed or running on a different address would lead to error (server not found) and user might be confused. It is necessary to create local HTML page that would the tell user that this integration requires his own instance of Squezebox and provide a form to set up the address to that instance. See also bug #1011097.

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

Development version already allows to set local HTML page. However, in order to continue, Squeezebox integration has to be ported to NuvolaPlayer JavaScript API 2.0.

Kieran Hogg, could you port your integration to the API 2.0? More information at https://lists.launchpad.net/nuvola-player-devel/msg00017.html and http://nuvolaplayer.fenryxo.cz/Contribute/Development/JavaScript_API.html

Changed in nuvola-player:
status: Triaged → Incomplete
Revision history for this message
Jiří Janoušek (fenryxo) wrote :

I forgot to mention I've created a shared branch lp:~nuvola-player-devel/nuvola-player/squeezebox

If you are in a team https://launchpad.net/~nuvola-player-devel, you should have a commit access to this branch.

Changed in nuvola-player:
status: Incomplete → Triaged
summary: - Service Integration: Squeezebox
+ Service Request: Squeezebox
tags: added: service-request
removed: service-integration
Revision history for this message
Jiří Janoušek (fenryxo) wrote :

Since development of Nuvola Player has been discontinued [1], I'm closing the bug tracker. It will be reopened when a new maintainer is found. I'm sorry I wasn't able to address this issue.

[1] https://launchpad.net/nuvola-player/+announcement/11960

Revision history for this message
Steffen Coenen (tar-dingens) wrote :

I created an integration with the 2.0 api and created an option to switch the address of the server. I hope the the solution is not too ugly.

Revision history for this message
Steffen Coenen (tar-dingens) wrote :

Small fix for my integration.js

Revision history for this message
Steffen Coenen (tar-dingens) wrote :

Fix for fix

Revision history for this message
Jiří Janoušek (fenryxo) wrote : Re: [Bug 1010973] Re: Service Request: Squeezebox

Hi Steffen. I'm sorry for late reply. I am currently busy with release
2.3 and I'll take a look at your work after it.

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

Code review:

== description.html

Please wrap lines to 100 characters.

== metadata.conf

     5 sandbox_pattern = .*/nuvolaplayer/services/lms/home.html|https?://.*

This won't work if service in integration is in directory /tmp/foo/lms and Nuvola Player is run with `--services-dir=/tmp/foo`. Use `sandbox_pattern = file://.*|https?://.*`.

== integration.js

Use tabs (width 4 chars) for indentation.

74 var can_prev;
75 var can_next;

You didn't use these variables. Are previsous/next song actions always available?

== settings.js

I've rewritten this script to use host/port entries and apply/reset buttons. Please check proper functionality.

Changed in nuvola-player:
status: Triaged → In Progress
Revision history for this message
Steffen Coenen (tar-dingens) wrote :

Your solution works well, the settings look much better now. I will do the rest in the next days. Thank you for your time :)

Changed in nuvola-player:
milestone: future → 2.4.0
assignee: nobody → Steffen Coenen (tar-dingens)
Revision history for this message
Steffen Coenen (tar-dingens) wrote :

Forgot to upload. Sorry. Works quite well now and prev/next can be handled as always avaible.

Changed in nuvola-player:
status: In Progress → Triaged
Revision history for this message
Jiří Janoušek (fenryxo) wrote :

I've made following changes. Do you agree with them?

=== modified file 'data/nuvolaplayer/services/lms/integration.js'
--- data/nuvolaplayer/services/lms/integration.js 2014-02-25 16:35:27 +0000
+++ data/nuvolaplayer/services/lms/integration.js 2014-02-25 16:36:27 +0000
@@ -55,8 +55,8 @@

   /* Let's run */
   this.state = Nuvola.STATE_NONE;
- this.can_prev = true;
- this.can_next = true;
+ Nuvola.updateAction(Nuvola.ACTION_PREV_SONG, true);
+ Nuvola.updateAction(Nuvola.ACTION_NEXT_SONG, true);
   this.update();
  };

@@ -70,8 +70,6 @@
   var album_art = null;
   var artist = null;
   var song = null;
- var can_prev;
- var can_next;

   try{
    var album_object = document.getElementById('ctrlCurrentArt').children[0];

Changed in nuvola-player:
status: Triaged → Incomplete
Revision history for this message
Steffen Coenen (tar-dingens) wrote :

Yes, thanks for your patience. It all works well now.

Revision history for this message
Jiří Janoušek (fenryxo) wrote :

> Yes, thanks for your patience.

No problem, you are helping to make Nuvola Player better.

> It all works well now.

Great, I'm ready to accept and publish your service integration as soon as you are subscribed to the Nuvola Player Development mailing list at [1]. It has low traffic. Please notify me when you are subscribed.

[1] https://launchpad.net/~nuvola-player-devel

Changed in nuvola-player:
status: Incomplete → In Progress
Revision history for this message
Steffen Coenen (tar-dingens) wrote :

I have subcribed to the mailing list now.

Changed in nuvola-player:
status: In Progress → Invalid
status: Invalid → In Progress
description: updated
Changed in nuvola-player:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.