jamulussoftware / jamulus

Jamulus enables musicians to perform real-time jam sessions over the internet.
https://jamulus.io
Other
997 stars 222 forks source link

MacOS: If sound input/output are changed after launch, changes are not reflected in Jamulus settings #181

Closed Skeezixes closed 3 years ago

Skeezixes commented 4 years ago

Start Jamulus client and open Settings. On my Mac laptop the default options are In: built-in mic Out: built-in speakers. Then, I go to System Preferences and choose options other than these, close the System Preferences window and go back to Jamulus and open Settings. The new settings are not reflected in the dropdown list of options. They remain the same as before. Quit Jamulus client, leaving the settings in System Preferences what you have changed them to.

Open Jamulus client and Settings. The new options show up in the dropdown list of options.

If you don't understand what's happening, that Jamulus doesn't update changes to input/output but only fetches the status at launch, it really causes all sorts of confusion and difficulty. Please fix.

chrisrimple commented 3 years ago

The problem description is confusing. It seems to be a duplicate of #711, but may be describing:

The request seems to be that changes to Mac System Preferences should result in an automatic change in Jamulus settings. I disagree, except in this example, which is slightly (but importantly) different from above:

But for that to work, Jamulus may need to be regularly rescanning for audio devices and/or responding to a system message that the System device has changed.

@Skeezixes Have I correctly described your request?

Skeezixes commented 3 years ago

Yes. Jamulus wouldn’t have to poll System Settings tho, would it?

Sent from my iPhone

On Nov 16, 2020, at 11:01, Chris Rimple notifications@github.com wrote:

 The problem description is confusing. It seems to be a duplicate of #711, but may be describing:

Mac user opens Sys Prefs > Sound and sets Input = Built-In Mic and Output = Built-In Speakers User runs Jamulus and sets Device = in:Built-In Mic/out:Built-In Speakers User opens Sys Prefs > Sound and sets Input = Apple Airpods and Output = Apple Airpods Jamulus continues using Built-In Mic and Built-In Speakers The request seems to be that changes to Mac System Preferences should result in an automatic change in Jamulus settings. I disagree, except in this example, which is slightly (but importantly) different from above:

Mac user opens Sys Prefs > Sound and sets Input = Built-In Mic and Output = Built-In Speakers User runs Jamulus and sets Device = in:System/out:System User opens Sys Prefs > Sound and sets Input = Apple Airpods and Output = Apple Airpods Jamulus switches to use Apple Airpods But for that to work, Jamulus may need to be regularly rescanning for audio devices and/or responding to a system message that the System device has changed.

@Skeezixes Have I correctly described your request?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

chrisrimple commented 3 years ago

Don't know, depends on whether MacOS is sending "change" message to which Jamulus can respond when there's a change to System sound settings. If not, then Jamulus would need to occasionally "scan" for device changes, maybe every 60 seconds when the Setup window has focus (or similar).

kwindrem commented 3 years ago

If MacOS doesn't send change notifications, I feel it would be sufficient to update the sound devices when entering the Settings menu. You could also provide a "Refresh List" as the first item in the list.

Skeezixes commented 3 years ago

This sounds like a good solution to me.

Leigh

Sent from my iPhone

On Nov 17, 2020, at 17:05, kwindrem notifications@github.com wrote:

 If MacOS doesn't send change notifications, I feel it would be sufficient to update the sound devices when entering the Settings menu. You could also provide a "Refresh List" as the first item in the list.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

corrados commented 3 years ago

I have created a Mac beta version of Jamulus where the problem should hopefully be fixed. Can you please test this version is provide me with your feedback: https://github.com/corrados/jamulus/issues/727#issuecomment-732397463

gilgongo commented 3 years ago

Is this the issue that was fixed in the 3.6.2? If so I guess we can close?

corrados commented 3 years ago

No, this issue is still open. There is a workaround for this issue by selecting any driver from the list. After that the list is refreshed. But it would be better to get a system notification from the MacOS which teills Jamulus that a sound card device change has happened and that we then can refresh the list.

ann0see commented 3 years ago

I think this issue is much broader than just on macOS. https://github.com/jamulussoftware/jamulus/commit/d8a5c6fdc7ec9bceaf6fb8569dce1a2962c64597 introduced a bug on Windows. We will probably need re think this and introduce something like a "reload device list" feature on Windows and macOS.

gilgongo commented 3 years ago

@ann0see Does this need further discussion or can we turn this ticket into an action as described https://github.com/jamulussoftware/jamulus/issues/181#issuecomment-744690295 (ie system notification)

ann0see commented 3 years ago

This issue is still important. No idea yet how/what to do. Somebody more knowledgeable should have a look at this? I'd leave it open

gilgongo commented 3 years ago

OK but if it's not an actionable thing that somebody can pick up and reasonably work on, then it should really be in discussions. We need to start assigning issues to projects and milestones at some point (once we've got a road map of some kind).

ann0see commented 3 years ago

Yeah ok. So just convert it.