I encountered Input or Output Audio Errors most often in Windows and perhaps never on Linux, so it might be problem related to Windows' weird handling of audio devices, but nevertheless, causes annoying problems.
When JS8Call get an exception in audio input or output it opens a MsgBox Window reporting the fact. This MsgBox must be closed manually by the operator.
When I let JS8Call running overnight, I sometimes come to the PC and there are several dozens up to several hundred such message boxes. The application cannot be closed until ALL OF THEM are closed.
This is patently wrong. Obviously, the error occurs repeatedly, perhaps each time JS8 wants to transmit, which may happen hundred times during the night as it replies to heartbeat requests. Every time audio error occurs it fires a new message box.
Of course, this makes no sense - when the next error occurs, there is no need to report the previous one anymore. They are not independent, they are all symptoms of the same ongoing problem.
My suggestion:
remove these message boxes completely, as they only create annoying obstacles to the operator. Dealing with the box has no benefit (the audio error is not fixed or recovered and there is no choice to be made: the only possible action is to close the box).
instead, I would add a "audio in" and "audio out" indicators somewhere in the GUI and show the error status there.
As a followup step it would probably be useful to handle the error by reinitializing the respective audio channel. There are some more related potential issues in WIndows, such as when the respective device disappears (e.g. soundcard is disconnected from USB for whatever reason) and Windows switch output to another device without asking. In such case the program (JS8Call) should not accept the change and instead stop working with the respective channel, in case of transmit channel stop transmitting completely until a new device is selected manually by the operator or the previously defined TX device re-appears.
I encountered Input or Output Audio Errors most often in Windows and perhaps never on Linux, so it might be problem related to Windows' weird handling of audio devices, but nevertheless, causes annoying problems. When JS8Call get an exception in audio input or output it opens a MsgBox Window reporting the fact. This MsgBox must be closed manually by the operator. When I let JS8Call running overnight, I sometimes come to the PC and there are several dozens up to several hundred such message boxes. The application cannot be closed until ALL OF THEM are closed. This is patently wrong. Obviously, the error occurs repeatedly, perhaps each time JS8 wants to transmit, which may happen hundred times during the night as it replies to heartbeat requests. Every time audio error occurs it fires a new message box. Of course, this makes no sense - when the next error occurs, there is no need to report the previous one anymore. They are not independent, they are all symptoms of the same ongoing problem. My suggestion:
As a followup step it would probably be useful to handle the error by reinitializing the respective audio channel. There are some more related potential issues in WIndows, such as when the respective device disappears (e.g. soundcard is disconnected from USB for whatever reason) and Windows switch output to another device without asking. In such case the program (JS8Call) should not accept the change and instead stop working with the respective channel, in case of transmit channel stop transmitting completely until a new device is selected manually by the operator or the previously defined TX device re-appears.