I've been having a think about how best to implement syncing in
OtherPlayers and, at my wife's suggestion, have decided that it would
be best to change things around a bit.  At the moment, the first thing
you do is choose a player, and then choose the action you want to
perform with that player.  This doesn't really work with
synchronisation, as synchronisation deals with groups of players.  I
therefore think it would be better to start by choosing an action and
then go on to choose the player, or group of players.  For the
non-sync-related options, this change should have little effect - the
number of selections to, for example, grab a playlist would be the same
- Grab Playlist -> Player 1, as opposed to Player 1 -> Grab Playlist.

Having made this change, I then propose to remove the current Sync
option and replace it with three new options.  I can't think of good
names for these options at the moment, so I'm going to call them Sync
To, Sync With and Unsync for now.  So, you would have Grab Playlist,
Send Playlist, Power, Volume, Sync With, Sync To and Unsync.

Sync With will list all the current groups of synchronised players,
excluding any that the current player is already synced with.  It will
implement a sync where the current player joins the selected sync
group.  This means it will start playing what the other player(s) are
playing.  For example, if the current player is A, you could see B&C,
D, E&F.  Chosing to Sync With B&C would give you A&B&C, chosing to Sync
With D would give A&D.  If the current player is already synced with
other players, that synchronisation will first be stopped.  For
example, if the current player is A, and A is synced with D, chosing to
Sync With B&C would end up with A&B&C with D on its own.

Sync To will implement a sync in the opposite direction to Sync With -
the selected player will be added to the current player's sync group
and will play what the current player is playing.  If the selected
player is already synced to other players, that synchronisation will
first be stopped.  As a result, if you chose Sync To you will only see
individual players listed, not sync groups.  If A is the current player
and is currently synced to B&C, choosing to Sync To D will result in
A&B&C&D.  If D was previously synced to E, you'd go from A&B&C and D&E
to A&B&C&D and E.

Finally, Unsync will offer an option to cancel synchronisation with any
other player.  There will be an 'Unsync From All' option, and the option
to remove individual players from the current sync group: 'Release'.  So
if A is currently synced to B&C&D, you'd have "Unsync From All, Release
B, Release C".  Again, I need better words.

Some examples - the current player is always A.  Initially, A&B are
synced together and so are C&D.  Each of the examples follows on from
the previous one.

Initial state: A&B and C&D
Sync With C&D - drops sync with B, giving A&C&D and B
Sync With B - drops sync with C&D, giving A&B and C&D
Sync To C - breaks sync between C&D and syncs with C, giving A&B&C and
D
Sync To D - adds D, giving A&B&C&D
Release B - gives A&C&D and B
Release D - gives A&C and B and D
Sync With B - drops sync with C, giving A&B and C and D
Sync To C - adds C, giving A&B&C and D
Unsync from all - gives A, B&C and D

That's a lot to follow, but I hope it makes sense.  I think the actual
UI should be much easier to understand, but it does need better
wording.  What do people think?

Max


-- 
max.spicer

Some people think the title of this song is irrelevant,
but it's not irrelevant - it's a hippopotamus.
------------------------------------------------------------------------
max.spicer's Profile: http://forums.slimdevices.com/member.php?userid=23
View this thread: http://forums.slimdevices.com/showthread.php?t=57617

_______________________________________________
plugins mailing list
[email protected]
http://lists.slimdevices.com/lists/listinfo/plugins

Reply via email to