diff --git a/misc_modules/rigctl_server/src/main.cpp b/misc_modules/rigctl_server/src/main.cpp index 801bec3f..89520ef9 100644 --- a/misc_modules/rigctl_server/src/main.cpp +++ b/misc_modules/rigctl_server/src/main.cpp @@ -690,6 +690,11 @@ private: "0\n" /* RIG_PARM_NONE */; client->write(resp.size(), (uint8_t*)resp.c_str()); } + // This get_powerstat stuff is a wordaround for WSJT-X 2.7.0 + else if (parts[0] == "\\get_powerstat") { + resp = "1\n"; + client->write(resp.size(), (uint8_t*)resp.c_str()); + } else { // If command is not recognized, return error flog::error("Rigctl client sent invalid command: '{0}'", cmd); diff --git a/sink_modules/audio_sink/src/main.cpp b/sink_modules/audio_sink/src/main.cpp index be438031..15b7c260 100644 --- a/sink_modules/audio_sink/src/main.cpp +++ b/sink_modules/audio_sink/src/main.cpp @@ -45,16 +45,20 @@ public: int count = audio.getDeviceCount(); RtAudio::DeviceInfo info; for (int i = 0; i < count; i++) { - info = audio.getDeviceInfo(i); - if (!info.probed) { continue; } - if (info.outputChannels == 0) { continue; } - if (info.isDefaultOutput) { defaultDevId = devList.size(); } - devList.push_back(info); - deviceIds.push_back(i); - txtDevList += info.name; - txtDevList += '\0'; + try { + info = audio.getDeviceInfo(i); + if (!info.probed) { continue; } + if (info.outputChannels == 0) { continue; } + if (info.isDefaultOutput) { defaultDevId = devList.size(); } + devList.push_back(info); + deviceIds.push_back(i); + txtDevList += info.name; + txtDevList += '\0'; + } + catch (std::exception e) { + flog::error("AudioSinkModule Error getting audio device info: {0}", e.what()); + } } - selectByName(device); } @@ -290,4 +294,4 @@ MOD_EXPORT void _DELETE_INSTANCE_(void* instance) { MOD_EXPORT void _END_() { config.disableAutoSave(); config.save(); -} \ No newline at end of file +}