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
