Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Add Zone and Group Based Views #211

Open
Tracked by #396
linknum23 opened this issue Nov 8, 2021 · 8 comments
Open
Tracked by #396

Feature: Add Zone and Group Based Views #211

linknum23 opened this issue Nov 8, 2021 · 8 comments
Labels
enhancement New feature or request
Projects

Comments

@linknum23
Copy link
Contributor

A Zone or Group based view would naturally be easier to see and control what is playing on a specific room/zone and would make the perfect interface for a room's touch panel controls. The UI would require minimal changes, since an initial prototype would look very similar to an input with only one zone connected.

Some things need to be figured out:

  • What happens when a new input is selected when other zones are also connected to that input?
    • Option 1: Split from the other zones which will stay connected to the old input. The new input only plays on this zone.
    • Option 2: Keep grouping and change all zones to the new input
  • What happens when a new input is selected and it is already being played on other zones?
    • Option 1: Steal the input from the other zones. The new input only plays on this zone.
    • Option 2: Add this zone to the grouping of zones that is playing the selected input.
  • Do we show the other grouped zones? How?

From a low level API standpoint there would only need to be one change we would have to add the concept of a Zone not being connected to a source. Basically if its not connected the zone would need be muted but we would need to keep track of this state.

@linknum23 linknum23 mentioned this issue Nov 8, 2021
35 tasks
@linknum23 linknum23 added the enhancement New feature or request label Nov 9, 2021
@linknum23
Copy link
Contributor Author

linknum23 commented Nov 9, 2021

@sumnerboy12 Is this something you would be interested in testing and giving us feedback on? I could probably get a prototype of this working that you could play with sometime in the next couple of weeks.

@sumnerboy12
Copy link

Absolutely!

@linknum23
Copy link
Contributor Author

After talking through this with @Lohrer I made some initial concepts, using a rotated tablet view to emulate a wall touch panel. We came up with the concept of embedding all of the different use cases in the selection bar.

Here's a mock up of the simplified interface:
Screen Shot 2021-11-12 at 17 39 21

Here's a potential drop down with options to join other currently playing audio sources or connect to a new one:
Screenshot from 2021-11-12 17-38-56

(This assumes that the zone is the only thing connected to the current input, if it wasnt we would need the option to split away from other zones connected to the same input)

I hope this makes sense. Its very early on.

@sumnerboy12
Copy link

Looks like a good start.

Do we need to distinguish between a currently playing source and a new one? When thinking about it from a zone POV - do we really care if another zone is already listening to the input we select?

Also , personally I am not a fan of drop down lists with empty and header items - I think it is confusing and almost looks like there is a bug in the list rendering. Everything in a drop down list should be selectable IMO.

If we have to have the distinction then what about something like;

* TV - rca [playing]
* Aleshas - spotify [playing]
* AmpliPi - shairport
* Matt & Kim - pandora
* AmpliPi - dlna

Just a couple of thoughts off the top of my head :).

@Lohrer Lohrer added this to In progress in AmpliPi Nov 17, 2021
@kbromer
Copy link

kbromer commented Jan 13, 2022

Wanted to add a vote for this feature and also volunteer to test if that's helpful.

Love the early work here - one bit of humble feedback that immediately pops to mind is wanting to maintain UI consistency. With the existing webapp, you've established the "top thing is static, you select the bottom thing" paradigm. (i.e. the input is static, you're shuffling the zones underneath it). In this inverted setup, we'll want to hold the top thing static (the zone) and put the selector underneath.

Its a subtle/minor thing, but may make it more intuitive to the existing layout.

@linknum23
Copy link
Contributor Author

Thanks for the feedback! We really need to circle back on this soon.

@bs42
Copy link

bs42 commented Jan 18, 2022

As I get used to using the interface as it is, one thing I have come to understand is why ya'll chose an input centric model for the interface. With the unit being "limited" to the 4 input streams, digital or analog, I can see why basing the system on inputs was done.

If the interface changes to be Zone centric it could confuse the issue that one cannot play more than 4 streams across 6+ zones.

I don't have a solution, just wanted to offer that point of view.

@linknum23
Copy link
Contributor Author

linknum23 commented Jan 18, 2022 via email

@Lohrer Lohrer moved this from In progress to Planned in AmpliPi Jan 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: No status
AmpliPi
Planned
Development

No branches or pull requests

6 participants