X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=input_mapping_dialog.cpp;h=08d68dcbc05ed783f1dacb2bf3aa30c2a8ab3790;hb=a0e27555696d0c63e3d89e31ca8f4292dcf40179;hp=0a301d77cd749d244e1256d08eab69c312adcd32;hpb=b590a9a091974607517a9f872e28cbfa65014e2a;p=nageru diff --git a/input_mapping_dialog.cpp b/input_mapping_dialog.cpp index 0a301d7..08d68dc 100644 --- a/input_mapping_dialog.cpp +++ b/input_mapping_dialog.cpp @@ -54,9 +54,20 @@ void InputMappingDialog::fill_row_from_bus(unsigned row, const InputMapping::Bus unsigned current_index = 0; card_combo->addItem(QString("(none) ")); for (const auto &spec_and_info : devices) { + QString label(QString::fromStdString(spec_and_info.second.name)); + if (spec_and_info.first.type == InputSourceType::ALSA_INPUT) { + ALSAPool::Device::State state = global_audio_mixer->get_alsa_card_state(spec_and_info.first.index); + if (state == ALSAPool::Device::State::EMPTY) { + continue; + } else if (state == ALSAPool::Device::State::STARTING) { + label += " (busy)"; + } else if (state == ALSAPool::Device::State::DEAD) { + label += " (dead)"; + } + } ++current_index; card_combo->addItem( - QString::fromStdString(spec_and_info.second.name + " "), + label + " ", qulonglong(DeviceSpec_to_key(spec_and_info.first))); if (bus.device == spec_and_info.first) { card_combo->setCurrentIndex(current_index);