+
+void MainWindow::audio_state_changed()
+{
+ post_to_main_thread([this]{
+ InputMapping mapping = global_audio_mixer->get_input_mapping();
+ for (unsigned bus_index = 0; bus_index < mapping.buses.size(); ++bus_index) {
+ const InputMapping::Bus &bus = mapping.buses[bus_index];
+ string suffix;
+ if (bus.device.type == InputSourceType::ALSA_INPUT) {
+ ALSAPool::Device::State state = global_audio_mixer->get_alsa_card_state(bus.device.index);
+ if (state == ALSAPool::Device::State::STARTING) {
+ suffix = " (busy)";
+ } else if (state == ALSAPool::Device::State::DEAD) {
+ suffix = " (dead)";
+ }
+ }
+
+ audio_miniviews[bus_index]->bus_desc_label->setFullText(
+ QString::fromStdString(bus.name + suffix));
+ audio_expanded_views[bus_index]->bus_desc_label->setFullText(
+ QString::fromStdString(bus.name + suffix));
+ }
+ });
+}