From 7d8698853e3d004d62781015c6da04ed83d3ba0e Mon Sep 17 00:00:00 2001 From: Volker Fischer Date: Fri, 27 Nov 2009 12:44:56 +0000 Subject: [PATCH] added some more help texts and accessibility texts --- src/clientsettingsdlg.cpp | 124 +++++++++++++++++++++++++++++++++++--- src/llconclientdlg.cpp | 32 +++++----- 2 files changed, 130 insertions(+), 26 deletions(-) diff --git a/src/clientsettingsdlg.cpp b/src/clientsettingsdlg.cpp index a5555471..58ae1f88 100755 --- a/src/clientsettingsdlg.cpp +++ b/src/clientsettingsdlg.cpp @@ -33,19 +33,123 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent, // add help text to controls ----------------------------------------------- // jitter buffer - QString strJitterBufferSize = tr ( "Jitter Buffer Size: The size of " - "the network buffer (jitter buffer). The jitter buffer compensates for " - "the network jitter. The larger this buffer is, the more robust the " - "connection is against network jitter but the higher is the latency. " - "This setting is therefore a trade-off between audio drop outs and " - "overall audio delay.
By changing this setting, both, the client " - "and the server jitter buffer is set to the same value." ); + QString strJitterBufferSize = tr ( "Jitter Buffer Size: The jitter " + "buffer compensates for network and sound card timing jitters. The " + "size of this jitter buffer has therefore influence on the quality of " + "the audio stream (how many dropouts occur) and the overall delay " + "(the longer the buffer, the higher the delay).
" + "Dropouts in the audio stream are indicated by the light on the bottom " + "of the jitter buffer size fader. If the light turns to red, a buffer " + "overrun/underrun took place and the audio stream is interrupted.
" + "The jitter buffer setting is therefore a trade-off between audio " + "quality and overall delay.
" + "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 ); GroupBoxJitterBuffer->setWhatsThis ( strJitterBufferSize ); SliderNetBuf->setWhatsThis ( strJitterBufferSize ); - SliderNetBuf->setAccessibleName ( "Jitter buffer slider control" ); - cbAutoJitBuf->setAccessibleName ( "Auto jitter buffer switch" ); - + SliderNetBuf->setAccessibleName ( tr ( "Jitter buffer slider control" ) ); + cbAutoJitBuf->setAccessibleName ( tr ( "Auto jitter buffer switch" ) ); + CLEDNetw->setAccessibleName ( tr ( "Jitter buffer status LED indicator" ) ); + + // sound card device + cbSoundcard->setWhatsThis ( tr ( "Sound Card Device: 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.
" + "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 ( "Sound Card Buffer Delay: The " + "buffer delay setting is a fundamental setting of the llcon software. " + "This setting has influence on many connection properties.
" + "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.
" + "Three buffer sizes are supported:" + "" + "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.
" + "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.
" + "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.
" + "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 ( "Open Chat on New " + "Message: 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 ( "Use High Quality Audio " + "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 ( "Current Connection Status " + "Parameter: 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.
" + "The overall delay is calculated from the current ping time and the " + "delay which is introduced by the current buffer settings.
" + "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 #ifdef _WIN32 diff --git a/src/llconclientdlg.cpp b/src/llconclientdlg.cpp index 308758e6..0e819470 100755 --- a/src/llconclientdlg.cpp +++ b/src/llconclientdlg.cpp @@ -58,8 +58,8 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, "of the audio input.
" "Make sure not to clip the input signal to avoid distortions of the " "audio signal." ); - QString strInpLevHAccText = "Input level meter"; - QString strInpLevHAccDescr = "Simulates an analog LED level meter."; + QString strInpLevHAccText = tr ( "Input level meter" ); + QString strInpLevHAccDescr = tr ( "Simulates an analog LED level meter." ); TextLabelInputLevelL->setWhatsThis ( strInpLevH ); TextLabelInputLevelR->setWhatsThis ( strInpLevH ); MultiColorLEDBarInputLevelL->setWhatsThis ( strInpLevH ); @@ -74,17 +74,17 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, " Push this button to connect the server. A valid IP address has " "to be specified before. If the client is connected, pressing this " "button will disconnect the connection." ) ); - PushButtonConnect->setAccessibleName ( "Connect and disconnect toggle button" ); - PushButtonConnect->setAccessibleDescription ( "Clicking on this button " + PushButtonConnect->setAccessibleName ( tr ( "Connect and disconnect toggle button" ) ); + PushButtonConnect->setAccessibleDescription ( tr ( "Clicking on this button " "changes the caption of the button from Connect to Disconnect, i.e., it " "implements a toggle functionality for connecting and disconnecting " - "the llcon software." ); + "the llcon software." ) ); // status bar TextLabelStatus->setWhatsThis ( tr ( "Status Bar: In the status bar " "different messages are displayed. E.g., if an error occurred or the " "status of the connection is shown." ) ); - TextLabelStatus->setAccessibleName ( "Status bar" ); + TextLabelStatus->setAccessibleName ( tr ( "Status bar" ) ); // server address QString strServAddrH = tr ( "Server Address: The IP address or URL " @@ -94,9 +94,9 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, "shown in the status bar." ); TextLabelServerAddr->setWhatsThis ( strServAddrH ); LineEditServerAddr->setWhatsThis ( strServAddrH ); - LineEditServerAddr->setAccessibleName ( "Server address input" ); - LineEditServerAddr->setAccessibleDescription ( "Holds the current server " - "URL. It also stores old URLs in the combo box list." ); + LineEditServerAddr->setAccessibleName ( tr ( "Server address edit box" ) ); + LineEditServerAddr->setAccessibleDescription ( tr ( "Holds the current server " + "URL. It also stores old URLs in the combo box list." ) ); // fader tag QString strFaderTag = tr ( "Fader Tag: 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 " "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, " - "the IP address of the client is displayed instead."); + "the IP address of the client is displayed instead." ); TextLabelServerTag->setWhatsThis ( strFaderTag ); LineEditFaderTag->setWhatsThis ( strFaderTag ); - LineEditFaderTag->setAccessibleName ( "Fader tag edit box" ); + LineEditFaderTag->setAccessibleName ( tr ( "Fader tag edit box" ) ); // local audio input fader QString strAudFader = tr ( "Local Audio Input Fader: With the " @@ -120,7 +120,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, "x is the current attenuation indication. " ); TextAudInFader->setWhatsThis ( strAudFader ); SliderAudInFader->setWhatsThis ( strAudFader ); - SliderAudInFader->setAccessibleName ( "Local audio input fader (left/right)" ); + SliderAudInFader->setAccessibleName ( tr ( "Local audio input fader (left/right)" ) ); // reverberation level QString strAudReverb = tr ( "Reverberation Level: A reverberation " @@ -136,7 +136,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, "switched off and does not cause any additional CPU usage." ); TextLabelAudReverb->setWhatsThis ( strAudReverb ); SliderAudReverb->setWhatsThis ( strAudReverb ); - SliderAudReverb->setAccessibleName ( "Reverberation effect level setting" ); + SliderAudReverb->setAccessibleName ( tr ( "Reverberation effect level setting" ) ); // reverberation channel selection QString strRevChanSel = tr ( "Reverberation Channel Selection: " @@ -144,9 +144,9 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, "reverberation effect is applied can be chosen. Either the left " "or right input channel can be selected." ); RadioButtonRevSelL->setWhatsThis ( strRevChanSel ); - RadioButtonRevSelL->setAccessibleName ( "Left channel selection for reverberation" ); + RadioButtonRevSelL->setAccessibleName ( tr ( "Left channel selection for reverberation" ) ); RadioButtonRevSelR->setWhatsThis ( strRevChanSel ); - RadioButtonRevSelR->setAccessibleName ( "Right channel selection for reverberation" ); + RadioButtonRevSelR->setAccessibleName ( tr ( "Right channel selection for reverberation" ) ); // overall status LEDOverallStatus->setWhatsThis ( tr ( "Overall Status: " @@ -163,7 +163,7 @@ CLlconClientDlg::CLlconClientDlg ( CClient* pNCliP, "available internet bandwidth." "
  • The CPU of the client or server is at 100%.
  • " "" ) ); - LEDOverallStatus->setAccessibleName ( "Overall status LED indicator" ); + LEDOverallStatus->setAccessibleName ( tr ( "Overall status LED indicator" ) ); // init GUI design