added some more help texts and accessibility texts
This commit is contained in:
parent
7e0ae4b765
commit
7d8698853e
2 changed files with 130 additions and 26 deletions
|
@ -33,19 +33,123 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
|
||||||
|
|
||||||
// add help text to controls -----------------------------------------------
|
// add help text to controls -----------------------------------------------
|
||||||
// jitter buffer
|
// jitter buffer
|
||||||
QString strJitterBufferSize = tr ( "<b>Jitter Buffer Size:</b> The size of "
|
QString strJitterBufferSize = tr ( "<b>Jitter Buffer Size:</b> The jitter "
|
||||||
"the network buffer (jitter buffer). The jitter buffer compensates for "
|
"buffer compensates for network and sound card timing jitters. The "
|
||||||
"the network jitter. The larger this buffer is, the more robust the "
|
"size of this jitter buffer has therefore influence on the quality of "
|
||||||
"connection is against network jitter but the higher is the latency. "
|
"the audio stream (how many dropouts occur) and the overall delay "
|
||||||
"This setting is therefore a trade-off between audio drop outs and "
|
"(the longer the buffer, the higher the delay).<br/>"
|
||||||
"overall audio delay.<br>By changing this setting, both, the client "
|
"Dropouts in the audio stream are indicated by the light on the bottom "
|
||||||
"and the server jitter buffer is set to the same value." );
|
"of the jitter buffer size fader. If the light turns to red, a buffer "
|
||||||
|
"overrun/underrun took place and the audio stream is interrupted.<br/>"
|
||||||
|
"The jitter buffer setting is therefore a trade-off between audio "
|
||||||
|
"quality and overall delay.<br/>"
|
||||||
|
"An auto setting of the jitter buffer size setting is available. If "
|
||||||
|
"the check Auto is enabled, the jitter buffer is set automatically "
|
||||||
|
"based on measurements of the network and sound card timing jitter. If "
|
||||||
|
"the Auto check is enabled, the jitter buffer size fader is disabled "
|
||||||
|
"(cannot be moved by the mouse)." );
|
||||||
|
|
||||||
TextNetBuf->setWhatsThis ( strJitterBufferSize );
|
TextNetBuf->setWhatsThis ( strJitterBufferSize );
|
||||||
GroupBoxJitterBuffer->setWhatsThis ( strJitterBufferSize );
|
GroupBoxJitterBuffer->setWhatsThis ( strJitterBufferSize );
|
||||||
SliderNetBuf->setWhatsThis ( strJitterBufferSize );
|
SliderNetBuf->setWhatsThis ( strJitterBufferSize );
|
||||||
SliderNetBuf->setAccessibleName ( "Jitter buffer slider control" );
|
SliderNetBuf->setAccessibleName ( tr ( "Jitter buffer slider control" ) );
|
||||||
cbAutoJitBuf->setAccessibleName ( "Auto jitter buffer switch" );
|
cbAutoJitBuf->setAccessibleName ( tr ( "Auto jitter buffer switch" ) );
|
||||||
|
CLEDNetw->setAccessibleName ( tr ( "Jitter buffer status LED indicator" ) );
|
||||||
|
|
||||||
|
// sound card device
|
||||||
|
cbSoundcard->setWhatsThis ( tr ( "<b>Sound Card Device:</b> The ASIO "
|
||||||
|
"driver (sound card) can be selected using llcon under the Windows "
|
||||||
|
"operating system. Under Linux, no sound card selection is possible "
|
||||||
|
"(always wave mapper is shown and cannot be changed). If the selected "
|
||||||
|
"ASIO driver is not valid an error message is shown and the previous "
|
||||||
|
"valid driver is selected.<br/>"
|
||||||
|
"If the driver is selected during an active connection, the connection "
|
||||||
|
"is stopped, the driver is changed and the connection is started again "
|
||||||
|
"automatically." ) );
|
||||||
|
cbSoundcard->setAccessibleName ( tr ( "Sound card device selector combo box" ) );
|
||||||
|
|
||||||
|
// sound card buffer delay
|
||||||
|
QString strSndCrdBufDelay = tr ( "<b>Sound Card Buffer Delay:</b> The "
|
||||||
|
"buffer delay setting is a fundamental setting of the llcon software. "
|
||||||
|
"This setting has influence on many connection properties.<br/>"
|
||||||
|
"With the buffer delay setting, the preferred buffer delay (actually "
|
||||||
|
"the buffer size) is chosen. This value must not be necessary the same "
|
||||||
|
"as the Actual buffer delay since some sound card driver do not allow "
|
||||||
|
"the buffer delay to be changed from within the llcon software. The "
|
||||||
|
"value which is actually used in the llcon software is the Actual "
|
||||||
|
"buffer delay.<br/>"
|
||||||
|
"Three buffer sizes are supported:"
|
||||||
|
"<ul>"
|
||||||
|
"<li>128 samples: This is the preferred setting since it gives lowest "
|
||||||
|
"latency but does not work with all sound cards.</li>"
|
||||||
|
"<li>256 samples: This is the default setting and should work on most "
|
||||||
|
"of the available sound cards.</li>"
|
||||||
|
"<li>512 samples: This setting should only be used if only a very slow "
|
||||||
|
"computer or a slow internet connection is available.</li>"
|
||||||
|
"</ul>"
|
||||||
|
"Buffer sizes different from the three sizes listed above will be "
|
||||||
|
"shown in red color. Trying to connect with this setting will not "
|
||||||
|
"work, an error message is shown instead.<br/>"
|
||||||
|
"If the actual buffer delay differs from the preferred one, it is "
|
||||||
|
"printed in yellow color. To change the actual buffer delay, this "
|
||||||
|
"setting has to be changed in the sound card driver. On Windows, press "
|
||||||
|
"the ASIO Setup button to open the driver settings panel. On Linux, "
|
||||||
|
"use the Jack configuration tool to change the buffer size.<br/>"
|
||||||
|
"The actual buffer delay has influence on the connection status, the "
|
||||||
|
"current upload rate and the overall delay. The lower the buffer size, "
|
||||||
|
"the higher the probability of red light in the status indicator (drop "
|
||||||
|
"outs) and the higher the upload rate and the lower the overall "
|
||||||
|
"delay.<br/>"
|
||||||
|
"The jitter buffer setting is therefore a trade-off between audio "
|
||||||
|
"quality and overall delay." );
|
||||||
|
|
||||||
|
rButBufferDelayPreferred->setWhatsThis ( strSndCrdBufDelay );
|
||||||
|
rButBufferDelayPreferred->setAccessibleName ( tr ( "128 samples setting radio button" ) );
|
||||||
|
rButBufferDelayDefault->setWhatsThis ( strSndCrdBufDelay );
|
||||||
|
rButBufferDelayDefault->setAccessibleName ( tr ( "256 samples setting radio button" ) );
|
||||||
|
rButBufferDelaySafe->setWhatsThis ( strSndCrdBufDelay );
|
||||||
|
rButBufferDelaySafe->setAccessibleName ( tr ( "512 samples setting radio button" ) );
|
||||||
|
ButtonDriverSetup->setWhatsThis ( strSndCrdBufDelay );
|
||||||
|
ButtonDriverSetup->setAccessibleName ( tr ( "ASIO setup push button" ) );
|
||||||
|
|
||||||
|
// open chat on new message
|
||||||
|
cbOpenChatOnNewMessage->setWhatsThis ( tr ( "<b>Open Chat on New "
|
||||||
|
"Message:</b> If this checkbox is enabled, the chat window will "
|
||||||
|
"open on any incoming chat text if it not already opened." ) );
|
||||||
|
cbOpenChatOnNewMessage->setAccessibleName ( tr ( "Open chat on new "
|
||||||
|
"message check box" ) );
|
||||||
|
|
||||||
|
// use high quality audio
|
||||||
|
cbUseHighQualityAudio->setWhatsThis ( tr ( "<b>Use High Quality Audio</b> "
|
||||||
|
"Enabling ""Use High Quality Audio"" will improve the audio quality "
|
||||||
|
"by increasing the stream data rate. Make sure that the current "
|
||||||
|
"upload rate does not exceed the available bandwidth of your "
|
||||||
|
"internet connection." ) );
|
||||||
|
cbUseHighQualityAudio->setAccessibleName ( tr ( "Use high quality audio "
|
||||||
|
"check box" ) );
|
||||||
|
|
||||||
|
// current connection status parameter
|
||||||
|
QString strConnStats = tr ( "<b>Current Connection Status "
|
||||||
|
"Parameter:</b> The ping time is the time required for the audio "
|
||||||
|
"stream to travel from the client to the server and backwards. This "
|
||||||
|
"delay is introduced by the network. This delay should be as low as "
|
||||||
|
"20-30 ms. If this delay is higher (e.g., 50-60 ms), your distance to "
|
||||||
|
"the server is too large or your internet connection is not "
|
||||||
|
"sufficient.<br/>"
|
||||||
|
"The overall delay is calculated from the current ping time and the "
|
||||||
|
"delay which is introduced by the current buffer settings.<br/>"
|
||||||
|
"The upstream rate depends on the current audio packet size and the "
|
||||||
|
"audio compression setting. Make sure that the upstream rate is not "
|
||||||
|
"higher than the available rate (check the upstream capabilities of "
|
||||||
|
"your internet connection by, e.g., using speedtest.net)." );
|
||||||
|
|
||||||
|
TextPingTime->setWhatsThis ( strConnStats );
|
||||||
|
TextLabelPingTime->setWhatsThis ( strConnStats );
|
||||||
|
TextOverallDelay->setWhatsThis ( strConnStats );
|
||||||
|
TextLabelOverallDelay->setWhatsThis ( strConnStats );
|
||||||
|
TextUpstream->setWhatsThis ( strConnStats );
|
||||||
|
TextUpstreamValue->setWhatsThis ( strConnStats );
|
||||||
|
|
||||||
|
|
||||||
// init driver button
|
// init driver button
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
|
@ -58,8 +58,8 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"of the audio input.<br/>"
|
"of the audio input.<br/>"
|
||||||
"Make sure not to clip the input signal to avoid distortions of the "
|
"Make sure not to clip the input signal to avoid distortions of the "
|
||||||
"audio signal." );
|
"audio signal." );
|
||||||
QString strInpLevHAccText = "Input level meter";
|
QString strInpLevHAccText = tr ( "Input level meter" );
|
||||||
QString strInpLevHAccDescr = "Simulates an analog LED level meter.";
|
QString strInpLevHAccDescr = tr ( "Simulates an analog LED level meter." );
|
||||||
TextLabelInputLevelL->setWhatsThis ( strInpLevH );
|
TextLabelInputLevelL->setWhatsThis ( strInpLevH );
|
||||||
TextLabelInputLevelR->setWhatsThis ( strInpLevH );
|
TextLabelInputLevelR->setWhatsThis ( strInpLevH );
|
||||||
MultiColorLEDBarInputLevelL->setWhatsThis ( strInpLevH );
|
MultiColorLEDBarInputLevelL->setWhatsThis ( strInpLevH );
|
||||||
|
@ -74,17 +74,17 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"</b> Push this button to connect the server. A valid IP address has "
|
"</b> Push this button to connect the server. A valid IP address has "
|
||||||
"to be specified before. If the client is connected, pressing this "
|
"to be specified before. If the client is connected, pressing this "
|
||||||
"button will disconnect the connection." ) );
|
"button will disconnect the connection." ) );
|
||||||
PushButtonConnect->setAccessibleName ( "Connect and disconnect toggle button" );
|
PushButtonConnect->setAccessibleName ( tr ( "Connect and disconnect toggle button" ) );
|
||||||
PushButtonConnect->setAccessibleDescription ( "Clicking on this button "
|
PushButtonConnect->setAccessibleDescription ( tr ( "Clicking on this button "
|
||||||
"changes the caption of the button from Connect to Disconnect, i.e., it "
|
"changes the caption of the button from Connect to Disconnect, i.e., it "
|
||||||
"implements a toggle functionality for connecting and disconnecting "
|
"implements a toggle functionality for connecting and disconnecting "
|
||||||
"the llcon software." );
|
"the llcon software." ) );
|
||||||
|
|
||||||
// status bar
|
// status bar
|
||||||
TextLabelStatus->setWhatsThis ( tr ( "<b>Status Bar:</b> In the status bar "
|
TextLabelStatus->setWhatsThis ( tr ( "<b>Status Bar:</b> In the status bar "
|
||||||
"different messages are displayed. E.g., if an error occurred or the "
|
"different messages are displayed. E.g., if an error occurred or the "
|
||||||
"status of the connection is shown." ) );
|
"status of the connection is shown." ) );
|
||||||
TextLabelStatus->setAccessibleName ( "Status bar" );
|
TextLabelStatus->setAccessibleName ( tr ( "Status bar" ) );
|
||||||
|
|
||||||
// server address
|
// server address
|
||||||
QString strServAddrH = tr ( "<b>Server Address:</b> The IP address or URL "
|
QString strServAddrH = tr ( "<b>Server Address:</b> The IP address or URL "
|
||||||
|
@ -94,9 +94,9 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"shown in the status bar." );
|
"shown in the status bar." );
|
||||||
TextLabelServerAddr->setWhatsThis ( strServAddrH );
|
TextLabelServerAddr->setWhatsThis ( strServAddrH );
|
||||||
LineEditServerAddr->setWhatsThis ( strServAddrH );
|
LineEditServerAddr->setWhatsThis ( strServAddrH );
|
||||||
LineEditServerAddr->setAccessibleName ( "Server address input" );
|
LineEditServerAddr->setAccessibleName ( tr ( "Server address edit box" ) );
|
||||||
LineEditServerAddr->setAccessibleDescription ( "Holds the current server "
|
LineEditServerAddr->setAccessibleDescription ( tr ( "Holds the current server "
|
||||||
"URL. It also stores old URLs in the combo box list." );
|
"URL. It also stores old URLs in the combo box list." ) );
|
||||||
|
|
||||||
// fader tag
|
// fader tag
|
||||||
QString strFaderTag = tr ( "<b>Fader Tag:</b> The fader tag of the local "
|
QString strFaderTag = tr ( "<b>Fader Tag:</b> The fader tag of the local "
|
||||||
|
@ -104,10 +104,10 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"at your fader on the mixer board when you are connected to a llcon "
|
"at your fader on the mixer board when you are connected to a llcon "
|
||||||
"server. This tag will also show up at each client which is connected "
|
"server. This tag will also show up at each client which is connected "
|
||||||
"to the same server as the local client. If the fader tag is empty, "
|
"to the same server as the local client. If the fader tag is empty, "
|
||||||
"the IP address of the client is displayed instead.");
|
"the IP address of the client is displayed instead." );
|
||||||
TextLabelServerTag->setWhatsThis ( strFaderTag );
|
TextLabelServerTag->setWhatsThis ( strFaderTag );
|
||||||
LineEditFaderTag->setWhatsThis ( strFaderTag );
|
LineEditFaderTag->setWhatsThis ( strFaderTag );
|
||||||
LineEditFaderTag->setAccessibleName ( "Fader tag edit box" );
|
LineEditFaderTag->setAccessibleName ( tr ( "Fader tag edit box" ) );
|
||||||
|
|
||||||
// local audio input fader
|
// local audio input fader
|
||||||
QString strAudFader = tr ( "<b>Local Audio Input Fader:</b> With the "
|
QString strAudFader = tr ( "<b>Local Audio Input Fader:</b> With the "
|
||||||
|
@ -120,7 +120,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"<i>x</i> is the current attenuation indication. " );
|
"<i>x</i> is the current attenuation indication. " );
|
||||||
TextAudInFader->setWhatsThis ( strAudFader );
|
TextAudInFader->setWhatsThis ( strAudFader );
|
||||||
SliderAudInFader->setWhatsThis ( strAudFader );
|
SliderAudInFader->setWhatsThis ( strAudFader );
|
||||||
SliderAudInFader->setAccessibleName ( "Local audio input fader (left/right)" );
|
SliderAudInFader->setAccessibleName ( tr ( "Local audio input fader (left/right)" ) );
|
||||||
|
|
||||||
// reverberation level
|
// reverberation level
|
||||||
QString strAudReverb = tr ( "<b>Reverberation Level:</b> A reverberation "
|
QString strAudReverb = tr ( "<b>Reverberation Level:</b> A reverberation "
|
||||||
|
@ -136,7 +136,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"switched off and does not cause any additional CPU usage." );
|
"switched off and does not cause any additional CPU usage." );
|
||||||
TextLabelAudReverb->setWhatsThis ( strAudReverb );
|
TextLabelAudReverb->setWhatsThis ( strAudReverb );
|
||||||
SliderAudReverb->setWhatsThis ( strAudReverb );
|
SliderAudReverb->setWhatsThis ( strAudReverb );
|
||||||
SliderAudReverb->setAccessibleName ( "Reverberation effect level setting" );
|
SliderAudReverb->setAccessibleName ( tr ( "Reverberation effect level setting" ) );
|
||||||
|
|
||||||
// reverberation channel selection
|
// reverberation channel selection
|
||||||
QString strRevChanSel = tr ( "<b>Reverberation Channel Selection:</b> "
|
QString strRevChanSel = tr ( "<b>Reverberation Channel Selection:</b> "
|
||||||
|
@ -144,9 +144,9 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"reverberation effect is applied can be chosen. Either the left "
|
"reverberation effect is applied can be chosen. Either the left "
|
||||||
"or right input channel can be selected." );
|
"or right input channel can be selected." );
|
||||||
RadioButtonRevSelL->setWhatsThis ( strRevChanSel );
|
RadioButtonRevSelL->setWhatsThis ( strRevChanSel );
|
||||||
RadioButtonRevSelL->setAccessibleName ( "Left channel selection for reverberation" );
|
RadioButtonRevSelL->setAccessibleName ( tr ( "Left channel selection for reverberation" ) );
|
||||||
RadioButtonRevSelR->setWhatsThis ( strRevChanSel );
|
RadioButtonRevSelR->setWhatsThis ( strRevChanSel );
|
||||||
RadioButtonRevSelR->setAccessibleName ( "Right channel selection for reverberation" );
|
RadioButtonRevSelR->setAccessibleName ( tr ( "Right channel selection for reverberation" ) );
|
||||||
|
|
||||||
// overall status
|
// overall status
|
||||||
LEDOverallStatus->setWhatsThis ( tr ( "<b>Overall Status:</b> "
|
LEDOverallStatus->setWhatsThis ( tr ( "<b>Overall Status:</b> "
|
||||||
|
@ -163,7 +163,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP,
|
||||||
"available internet bandwidth.</li>"
|
"available internet bandwidth.</li>"
|
||||||
"<li>The CPU of the client or server is at 100%.</li>"
|
"<li>The CPU of the client or server is at 100%.</li>"
|
||||||
"</ul>" ) );
|
"</ul>" ) );
|
||||||
LEDOverallStatus->setAccessibleName ( "Overall status LED indicator" );
|
LEDOverallStatus->setAccessibleName ( tr ( "Overall status LED indicator" ) );
|
||||||
|
|
||||||
|
|
||||||
// init GUI design
|
// init GUI design
|
||||||
|
|
Loading…
Reference in a new issue