Bug 7091 - Player settings are overridden by sync group settings
: Player settings are overridden by sync group settings
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Web Interface
: unspecified
: PC Windows Server 2003
: P3 normal (vote)
: 7.x
Assigned To: Alan Young
: new_streaming
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-02-12 01:04 UTC by andre strebel
Modified: 2009-09-08 09:24 UTC (History)
4 users (show)

See Also:
Category: ---


Attachments
Document explaining How and Where the error happens for me. (37.50 KB, application/msword)
2008-02-13 15:58 UTC, James Richardson
Details
Server log as requested (712.87 KB, application/octet-stream)
2008-02-14 10:06 UTC, James Richardson
Details
Server prefs log (45.66 KB, application/octet-stream)
2008-02-14 10:21 UTC, James Richardson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description andre strebel 2008-02-12 01:04:56 UTC
if i change the settings Player / Audio / Power on Resume, the new settings will not save.

André
Comment 1 Michael Herger 2008-02-12 08:30:47 UTC
Is this only happening for the Power on Resume or any setting?

What SC revision and browser are you using?
Comment 2 James Richardson 2008-02-12 15:28:59 UTC
Andre:

I was unable to reproduce this bug using the latest dayly build (SqueezeCenter Version: 7.0 - 17424 - Windows XP - EN - cp1252)

I have not tried Server 2003 yet, but will do that later tonite.

Can you verify that you are clicking on the APPLY button at the bottom of the page when you are making your changes?

Also, could you provide me with the following: 
1) version string you are using -- Settings >  Status > SqueezeCenter Information
2) SB device you are using
3) Browser version you are using
Comment 3 James Richardson 2008-02-12 16:01:45 UTC
I have been able to reproduce this bug using the SB Reciver (ray) only.

Using the SBC or Transporter I was unable to reproduce this bug.
Comment 4 Michael Herger 2008-02-12 16:20:39 UTC
So what you're saying is that you can't reproduce the issue in the web interface, but only (well, still) with the controller?
Comment 5 Ross Levine 2008-02-12 18:21:14 UTC
I hope I'm paraphrasing accurately: on the way out James told me he saw this bug with Ray but not SB3 or Transporter. I think it has nothing to do with Jive. 

Does SBC=SqueezeBox Controller (aka Jive), or SqueezeBox Classic (aka SB3)? 
Comment 6 Michael Herger 2008-02-13 08:37:32 UTC
I can't reproduce this issue. I've tested a SBR's settings in the Default skin and everything was saved as expected.
Comment 7 Blackketter Dean 2008-02-13 13:58:47 UTC
Andre:  what web browser are you using?
Comment 8 James Richardson 2008-02-13 15:58:15 UTC
Created attachment 2876 [details]
Document explaining How and Where the error happens for me.
Comment 9 James Richardson 2008-02-13 16:10:54 UTC
Setting > Players > Audio > Power On Resume error conditions

Ray Information:
Name: RoscoRay
Model: receiver
Firmware: 22
The IP address for this player is: 172.19.120.56:54582
The ethernet MAC address for this player is: 00:04:20:16:02:7a
Wireless Signal Strength: 95

Name: RayPuppy
Model: receiver
Firmware: 22
The IP address for this player is: 172.19.120.254:43325
The ethernet MAC address for this player is: 00:04:20:16:02:7f
Wireless Signal Strength: 78

SqueezeCenter Host Information:
SqueezeCenter Version: 7.0 - 17491 - Windows XP - EN - cp1252
Server IP address: 172.19.120.239
Perl Version: 5.8.8 MSWin32-x86-multi-thread
MySQL Version: 5.0.22-community-nt 
Platform Architecture: 586
Hostname: NB-JRICHARDSONT61
Server Port Number: 9000
Total Players Recognized: 6
Cache Folder: C:\Documents and Settings\All Users\Application Data\SqueezeCenter\Cache
Plugin Folders: C:\PROGRA~1\SQUEEZ~1\server\Slim\Plugin, C:\PROGRA~1\SQUEEZ~1\server\Plugins

SqueezeCenter Version: 7.0 - 17491 - Windows XP - EN - cp1252
Server IP address: 172.19.120.239
Perl Version: 5.8.8 MSWin32-x86-multi-thread
MySQL Version: 5.0.22-community-nt 
Platform Architecture: 586
Hostname: QA-XP-Pro
Server Port Number: 9000
Total Players Recognized: 6
Cache Folder: C:\Documents and Settings\All Users\Application Data\SqueezeCenter\Cache
Plugin Folders: C:\PROGRA~1\SQUEEZ~1\server\Slim\Plugin, C:\PROGRA~1\SQUEEZ~1\server\Plugins

SqueezeCenter Version: 7.0 - 17491 - Mac OS X 10.4.11 (8S2167) - EN - utf8
Server IP address: 172.19.120.76
Perl Version: 5.8.6 darwin-thread-multi-2level
MySQL Version: 5.0.22-standard 
Platform Architecture: x86
Hostname: QA-Mac-mini.local
Server Port Number: 9000
Total Players Recognized: 1
Cache Folder: /Users/qatest/Library/Caches/SlimServer
Plugin Folders: /Users/qatest/Library/PreferencePanes/SqueezeCenter.prefPane/Contents/server/Slim/Plugin, /Users/qatest/Library/Application Support/SqueezeCenter/Plugins, /Library/Application Support/SqueezeCenter/Plugins, /Users/qatest/Library/PreferencePanes/SqueezeCenter.prefPane/Contents/server/Plugins

Browser(s):
Internet Exporer 6.x
FireFox 2.x
Safari 3.0.4

System:
The system host that was controlling the Ray / SC Host combo during the test

Results:
Did the combination of -- Ray > SC7 Host > Browser > System = Pass or Fail

Results:
RAY	        SC Host	                Browser Version	        System	        Result
======================================================================================
RayPuppy	NB-JRICHARDSONT61	I.E. 6.x / FF 2.x	JRICHARDSONT61	Fail
RayPuppy	NB-JRICHARDSONT61	FireFox 2.x	        QA-Mac-mini	Fail
--------------------------------------------------------------------------------------
RayPuppy	QA-Mac-mini.local	I.E. 6.x	        JRICHARDSONT61	Pass
RayPuppy	QA-Mac-mini.local	Safari 3.0.4 (from mac)	QA-Mac-mini	Pass
RoscoRay	NB-JRICHARDSONT61	I.E. 6.x / FF 2.x	JRICHARDSONT61	Pass
RoscoRay	QA-XP-Pro	        FireFox 2.x	        JRICHARDSONT61	Pass
RoscoRay	NB-JRICHARDSONT61	I.E. 6.x / FF 2.x	QA-XP-Pro	Pass

Conclusion:  Only the combination of MY RAY & MY SC7 cause the failure.  Attaching MY RAY to another SC7 OR another RAY to my SC7 does not have an error.  It would appear that there is something wrong with the way my ray is communicating with my SC7 instance.
Comment 10 Blackketter Dean 2008-02-13 16:57:26 UTC
James is going to upload his prefs files.  Also, do we know if the setting actually works on Ray?   

Michael: any idea here?
Comment 11 Michael Herger 2008-02-14 00:46:20 UTC
James - that's interesting. And it's repeatable?

Please upload server.prefs which you should find below C:\Documents and Settings\All Users\Application Data\SqueezeCenter\. I wonder whether the configuration file is corrupted. But then the prefs are kept in memory in a hash, and only written out later. Thus at least the in-memory copy should be updateable.
Comment 12 James Richardson 2008-02-14 10:06:21 UTC
Created attachment 2880 [details]
Server log as requested
Comment 13 James Richardson 2008-02-14 10:15:18 UTC
Uploaded log file as requested
Comment 14 Michael Herger 2008-02-14 10:17:43 UTC
Could you please upload the server.prefs, too?
Comment 15 James Richardson 2008-02-14 10:21:43 UTC
Created attachment 2881 [details]
Server prefs log
Comment 16 Michael Herger 2008-02-15 09:03:39 UTC
Andre & James - have you been synching your player in question with some other player? The only thing I can't explain (yet) in your configuration file is the initial section like:

20050048-Sync: 
  powerOnResume: PauseOff-NoneOn

Comment 17 andre strebel 2008-02-15 09:50:54 UTC
(In reply to comment #16)
> Andre & James - have you been synching your player in question with some other
> player? The only thing I can't explain (yet) in your configuration file is the
> initial section like:
> 
> 20050048-Sync: 
>   powerOnResume: PauseOff-NoneOn
> 

yes, i sync 2 player groups with 4 and five players .. with v6.4 i have no problems with this, this option is running well.

Comment 18 Michael Herger 2008-02-15 10:29:28 UTC
> > 20050048-Sync: 
> >   powerOnResume: PauseOff-NoneOn
> 
> yes, i sync 2 player groups with 4 and five players .. with v6.4 i have no
> problems with this, this option is running well.

Thanks for the feedback. Synchronization changed a lot in SC7. Thus I'm not sure whether what you see is a bug or not.

Alan, do you have an idea?
Comment 19 Alan Young 2008-02-15 11:20:22 UTC
Well it used to be that Ray was not able to (logically) power-off at all. Maybe there are some other changes that assume that that is still the case.
Comment 20 Michael Herger 2008-02-15 23:12:47 UTC
> Well it used to be that Ray was not able to (logically) power-off at all. Maybe
> there are some other changes that assume that that is still the case.

Can you elaborate a bit? Is the behaviour the customer is seeing to be expected? Is it a bug?
Comment 21 andre strebel 2008-02-17 10:26:27 UTC
(In reply to comment #20)
> > Well it used to be that Ray was not able to (logically) power-off at all. Maybe
> > there are some other changes that assume that that is still the case.
> 
> Can you elaborate a bit? Is the behaviour the customer is seeing to be
> expected? Is it a bug?
> 

- i have install today the newest windows version from youre server
- same problem
- i go to the settings from the 5 players, audio, synchronize, no synchronisation
- i change the Power On Resume on every player to Stop at power off / Restart song at power on
- i set the synchronisation for every player
- this workaround is running well

andré
Comment 22 Michael Herger 2008-02-18 12:35:14 UTC
Alan - is there anything we should do in the settings code?
Comment 23 Blackketter Dean 2008-02-19 09:22:09 UTC
Ping, Alan!
Comment 24 Michael Herger 2008-02-21 02:02:02 UTC
Alan answering: 

"I am not sure that I have any useful info. All I meant by my previous comment was that maybe there were additional changes made with the original decision that Rays cannot power-off, related to the settings connected to actions on power-on-off. Now that we have decided that Rays can indeed power off, maybe I missed undoing some of these other related changes, if there actually are any."

Will have to dig a bit further...
Comment 25 Blackketter Dean 2008-02-22 09:12:02 UTC
Michael: Ping!

Comment 26 Michael Herger 2008-02-25 01:11:14 UTC
The behaviour seems to be by design (and _not_ limited to Receiver): from Settings/Player:

} elsif ($pref eq 'powerOnResume') {
 $paramRef->{'prefs'}->{$pref} = Slim::Player::Sync::syncGroupPref($client,'powerOnResume') || 
    $prefs->client($client)->get('powerOnResume');


... which means the sync group's setting takes precedence over the client's setting.

Alan, I'm again asking you whether this must be this way. If yes, then we'd probably have to disable that setting in the pref page while the player is synched (or add a comment explaining the behaviour).

I would agree that the behaviour might need to be synched, but I doubt we should change the player preference to achieve this.
Comment 27 Michael Herger 2008-02-25 01:14:26 UTC
Just noticed that the behaviour change is handled in Slim::Player::Player::power() - do we need to change the pref at all?

Index: /Users/mh/Documents/workspace/SC7.0/Slim/Web/Settings/Player/Audio.pm
===================================================================
--- /Users/mh/Documents/workspace/SC7.0/Slim/Web/Settings/Player/Audio.pm	(revision 17707)
+++ /Users/mh/Documents/workspace/SC7.0/Slim/Web/Settings/Player/Audio.pm	(working copy)
@@ -146,11 +146,6 @@
 			
 			$paramRef->{'prefs'}->{$pref} = Slim::Utils::Prefs::maxRate($client, 1);
 			
-		} elsif ($pref eq 'powerOnResume') {
-			
-			$paramRef->{'prefs'}->{$pref} = Slim::Player::Sync::syncGroupPref($client,'powerOnResume') || 
-								$prefs->client($client)->get('powerOnResume');
-
 		} else {
 
 			$paramRef->{'prefs'}->{$pref} = $prefs->client($client)->get($pref);
Comment 28 Alan Young 2008-03-05 10:20:41 UTC
I have been unable to understand why this apparently worked with 6.4. There have been lots of changes in this area but none that look relevant,

But the bottom line is that all this stuff is complex, incomprehensible and broken in several different ways. The set of interactions between player->powerOnResume and player->syncPower preferences when turning a synced player on or off are not properly thought out - at least not in a way that I can fathom. I do not think that I can accurately describe how it does work nor how it should work.

On the specific problem in this report, your proposed change Michael, may improve things. As it stands, attempts to change a synced player's powerOnResume preference will succeed but will not be reflected in the UI and will not be honoured as long as the player remains synced. Your change would allow the setting change to be reflected in the UI. But the sync-group will continue to use the value that was copied from the master player when the sync-group was created and there is no means to change it. I suppose the current behaviour allows you to see the current (active) value and you also see, after attempting to change it that it has not actually changed. The only actual way to effect a change in this setting is to unsync all the players in the sync-group, set the powerOnResume value as desired and then recreate the sync-group, at which point (or possibly, some point in the future) the sync-group will adopt the current value from one of the members of the sync-group (the one that ends up being the so-called master).

Fixing it properly requires first to come up with a design, that end-users can comprehend, as to how this should really work.
Comment 29 Michael Herger 2008-03-18 04:41:23 UTC
change 17913 - applying the above patch. Thus the _preference_ is not overwritten, while the behaviour is, as long as the player is synced.

Leaving the "full fix" for the future. Alan - feel free to assign this bug to yourself.
Comment 30 Michael Herger 2008-04-04 04:24:25 UTC
Untargetting and assigning to Alan for new evaluation
Comment 31 Alan Young 2008-08-29 02:57:59 UTC
Fixed by new-streaming changes in 7.3
Comment 32 James Richardson 2008-11-21 21:03:26 UTC
Unable to replicate with 7.3 - 23935

Please retest with this version and open if you still experience an issue.
Comment 33 James Richardson 2008-12-15 12:36:46 UTC
This bug has been fixed in the 7.3.0 release version of SqueezeCenter!

Please download the new version from http://www.slimdevices.com/su_downloads.html if you haven't already.  

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Comment 34 Chris Owens 2009-07-31 10:17:02 UTC
Reduce number of active targets for SC