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

[Need Help] Support multiple speakers #1

Open
Chouffy opened this issue Jul 15, 2021 · 2 comments
Open

[Need Help] Support multiple speakers #1

Chouffy opened this issue Jul 15, 2021 · 2 comments

Comments

@Chouffy
Copy link
Owner

Chouffy commented Jul 15, 2021

To support multiple speakers, one should refactor the "listening" thread to:

  • Use a common listening thread
  • Manage the state of each Zipp speaker separately
  • Sort out which speakers sent an information and update state accordingly

To set expectations: I currently don't have multiple Zipp speakers so I won't probably work on it.

@Chouffy Chouffy changed the title Support multiple speakers [Need Help] Support multiple speakers Nov 15, 2021
@adalisan
Copy link

So I do have multiple zipp speakers and I have python experience (have not done network programming). If this is relatively easy and can be done over a weekend, I want to try.

@Chouffy
Copy link
Owner Author

Chouffy commented Oct 19, 2023

@adalisan Thanks for your interested! TBH I don't know if that's very easy to do, even if learning Python is really fun :)

Out of my head (that has been quite some time), the main thing to change is how to parse incoming message by attaching a "speaker" to it:

Right now, all messages arrives on port 3333 I think. You can't set up multiple thread to listen to it, as it's the same incoming port for everyone.
Then is parsed by this → I guess you can use the IP to know which speaker you are receiving the message from, then you can use this to assign the received message to the correct speaker.

Probably there will be few other changes to be able to instantiate the LibratoneZipp class multiple time, but the thing above would be the biggest :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants