Since many years ago we have an API for setting default source/sink. Our default routing today is more port centric. So our UIs (at least the unity/gnome one) has developed ways around this, so that when a port is selected it first selects the right profile if needed. The problem is that in this world it's becoming more difficult to detect what the user actually wants, when the result is a chain of API calls. E g, if we first get a "set profile" call, we're not certain whether this is the user wanting to change the profile for the currently active port, or if this is the first part of a transition to a new port. To overcome this problem, we should have some new API enabling the UI to set the port directly. E g like this: pa_set_card_port(card, port, profile, bool default) If "profile" is NULL, PA is free to choose the most fitting profile. If default is true, it will not only set the port, but also set the default sink/source. (Card and port must be set.) This looks to me like a perquisite for better port-based routing. (And then we must get the UIs to actually use it, too.) But I'm not sure if this interferes with e g Tanu's long time routing plans. What do you think? -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic