Here is a plugin which adds a new type of players to LMS: Group Players

A *Group Player* is a new player that you can create using the plugin
settings. Each Group Player 
represents an arbitrary set of real SB players and you can create as
many Group Players you want

They will appear in LMS like any other "real" player but as soon as you
start to play on a Group Player, 
all the real players (the "*members*") will be assembled in a
synchronization group and will play together. 

When a Group Player is stopped or paused, the group is immediately
disassembled. It's really on-the-fly
LMS group creation. Of course, a
_real_SB_PLayer_can_be_member_of_multiple_groups_, there is no
limitation 
in combinations.

For example, you can have a Group Player named ‘Master Bedroom’ made of
a SB and a Duet, a 
Group Player named ‘1st Floor’ that contains these two plus a Boom and a
last Group Player named 
‘Whole House’ which adds another Boom and a duet. 

You can also think about "scenes" where a Group Player is more dedicated
to a type of usage, rather
than to a topology of players. For example when you listen to Podcasts,
you might want a certain set 
of SB to play across the whole house, but not all of them, then just
create another Group Player 
named "Podcast"

That's pretty much about it. A Group Player shall be seen by LMS as any
other SB player, 
so - in theory - everything that works with a player should work with a
group

YOU CANNOT HAVE NESTED GROUP PLAYERS - DON’T TRY - THERE IS SOME
PROTECTION AGAINST THAT, 
BUT IT'S NOT FOOL PROOF, JUST JUST DON'T

Code:
--------------------
    
  dev: http://downloads.sourceforge.net/project/lms-groups/dev/repo-sf.xml
  
  no need to add a repo for the stable version, but as the "official" 3rd party 
plugins 
  might take some time to get updated, here is the direct link 
  
  stable: 
http://downloads.sourceforge.net/project/lms-plugins-philippe44/repo-sf.xml
--------------------

A few more details

    
- Volume of a Group Player is the average of the volume of each
  players. Changes made to the Group
  Player are applied to each player with the same ratio. To set all
  member's volume at the same level, 
  just set the Group Player Volume to 0 then set it to the desired
  volume.
- The Volume settings of each member only applies when the group is
  assembled. The values before 
  the "gathering" happended are restored when the group breaks up.
- Powering on/off the Group Player powers on/off all members. This can
  be disabled in settings
- All members of a Group Player can be powered on when starting to
  play. They will be restored to their 
  previous power state when the group is broken up. This can be disabled
  in Settings
  

More details and special cases:

    
- Powering on/off a member has no effect on the Group Player. A
  powered off member will restart playing
  when powered back on but only if it was already on when the gathering
  started
- When pausing a member, the Group Player stops but the group is *not*
  broken up and this is the _only_ 
  exception. It is assumed that resume with occur later using one of the
  members (for example using pause 
  button on Radio or a Boom). Be careful with that, do not try to change
  playlist
- When stopping (or clearing playlist) of a member, only that member
  stops, the rest of the gathering continues 
  without that member. That allows you to start playing something on
  that player without affecting the 
  other members
- So if you change the playlist of a member, only that member will be
  affected. You must change the 
  Group Player if you want all to be affected.
- If a member was part of a LMS sync group before the Group Player
  started, it is re-affected to that group 
  when the gathering is broken up. If that LMS sync group is playing
  then the ex-member will be powered 
  off (otherwise it would start playing what’s on the group, which could
  be inconvenient) 
  This re-assembly can be disabled (which I prefer)
- If a member was not connected when a Group Player started to play,
  it will not join the group when
  connecting. You must pause/resume the Group Player
- If a member belongs to Group Player A and B and a track is started
  on B while A was playing, the member
  moves to B without interrupting the playback on A. Note that when B
  finished, this Player will NOT be 
  re-affected to A. 
  Now, if a play/resume/playlist change happen on A, then that member
  will be re-affected to A. Basically, 
  whoever came last wins the member
- You cannot manually add or remove members to a Player Groups using
  the LMS ‘synchronize’ menu (or iPeng). 
  You must use the plugin’s settings
  
Note that synchronization might be off for a fraction of a second when
starting to play while the gathering happens 

One very interesting trick: when many players are assembled together
using LMS regular synchronization feature, 
network bandwidth might be badly affected when playing hi-res file. It’s
always possible to limit bitrate of players, 
but limitation will apply even when they plays alone. 

As a Group Player is seen by LMS as yet another player, it is possible
to limit its bitrate, in which case LMS will 
only apply the limitation when all the members play together, but not
individually



LMS 7.7, 7.8 and 7.9 - 5xRadio, 3xBoom, 4xDuet, 1xTouch, 1 SB2. Sonos
PLAY:3, PLAY:5, Marantz NR1603, JBL OnBeat, XBoxOne, XBMC, Foobar2000,
ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2, , Pi
B3, B2, Pi B+, 2xPi A+, Odroid-C1, Odroid-C2, Cubie2, Yamaha WX-010,
AppleTV 4, Airport Express, GGMM E5
------------------------------------------------------------------------
philippe_44's Profile: http://forums.slimdevices.com/member.php?userid=17261
View this thread: http://forums.slimdevices.com/showthread.php?t=108558

_______________________________________________
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins

Reply via email to