[pulseaudio-discuss] [PATCH] mainwindow: unavailable profiles are marked as such in their description

Arun Raghavan arun at accosted.net
Fri Apr 10 05:46:12 PDT 2015


On 26 March 2015 at 01:18, David Kreuter <dkreuter at gmail.com> wrote:
> ---
>  src/mainwindow.cc | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/src/mainwindow.cc b/src/mainwindow.cc
> index b45ab59..d440e9e 100644
> --- a/src/mainwindow.cc
> +++ b/src/mainwindow.cc
> @@ -37,7 +37,7 @@
>
>  /* Used for profile sorting */
>  struct profile_prio_compare {
> -    bool operator() (const pa_card_profile_info& lhs, const pa_card_profile_info& rhs) const {
> +    bool operator() (const pa_card_profile_info2& lhs, const pa_card_profile_info2& rhs) const {
>
>          if (lhs.priority == rhs.priority)
>              return strcmp(lhs.name, rhs.name) > 0;
> @@ -333,7 +333,7 @@ void MainWindow::updateCard(const pa_card_info &info) {
>      CardWidget *w;
>      bool is_new = false;
>      const char *description, *icon;
> -    std::set<pa_card_profile_info,profile_prio_compare> profile_priorities;
> +    std::set<pa_card_profile_info2,profile_prio_compare> profile_priorities;
>
>      if (cardWidgets.count(info.index))
>          w = cardWidgets[info.index];
> @@ -359,7 +359,7 @@ void MainWindow::updateCard(const pa_card_info &info) {
>      for (uint32_t i=0; i<info.n_profiles; ++i) {
>          w->hasSinks = w->hasSinks || (info.profiles[i].n_sinks > 0);
>          w->hasSources = w->hasSources || (info.profiles[i].n_sources > 0);
> -        profile_priorities.insert(info.profiles[i]);
> +        profile_priorities.insert(*info.profiles2[i]);
>      }
>
>      w->ports.clear();
> @@ -379,7 +379,7 @@ void MainWindow::updateCard(const pa_card_info &info) {
>      }
>
>      w->profiles.clear();
> -    for (std::set<pa_card_profile_info>::iterator profileIt = profile_priorities.begin(); profileIt != profile_priorities.end(); ++profileIt) {
> +    for (std::set<pa_card_profile_info2>::iterator profileIt = profile_priorities.begin(); profileIt != profile_priorities.end(); ++profileIt) {
>          bool hasNo = false, hasOther = false;
>          std::map<Glib::ustring, PortInfo>::iterator portIt;
>          Glib::ustring desc = profileIt->description;
> @@ -400,6 +400,9 @@ void MainWindow::updateCard(const pa_card_info &info) {
>          if (hasNo && !hasOther)
>              desc += _(" (unplugged)");
>
> +        if (!profileIt->available)
> +            desc += _(" (unavailable)");
> +
>          w->profiles.push_back(std::pair<Glib::ustring,Glib::ustring>(profileIt->name, desc));
>      }
>
> --

Thanks for the patch -- pushed!

-- Arun


More information about the pulseaudio-discuss mailing list