Merge pull request #330 from ignotus666/master

Updated/reviewed help texts and Spanish translation
This commit is contained in:
Volker Fischer 2020-06-05 13:04:51 +02:00 committed by GitHub
commit 1a6123f499
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 4556 additions and 2404 deletions

View file

@ -128,26 +128,26 @@ CChannelFader::CChannelFader ( QWidget* pNW,
// add help text to controls // add help text to controls
plbrChannelLevel->setWhatsThis ( "<b>" + tr ( "Channel Level" ) + ":</b> " + plbrChannelLevel->setWhatsThis ( "<b>" + tr ( "Channel Level" ) + ":</b> " +
tr ( "Displays the pre-fader audio level of this channel. All connected clients at the " tr ( "Displays the pre-fader audio level of this channel. All clients connected to the "
"server will be assigned an audio level, the same value for each client." ) ); "server will be assigned an audio level, the same value for every client." ) );
plbrChannelLevel->setAccessibleName ( tr ( "Input level of the current audio " plbrChannelLevel->setAccessibleName ( tr ( "Input level of the current audio "
"channel at the server" ) ); "channel at the server" ) );
pFader->setWhatsThis ( "<b>" + tr ( "Mixer Fader" ) + ":</b> " + tr ( pFader->setWhatsThis ( "<b>" + tr ( "Mixer Fader" ) + ":</b> " + tr (
"Adjusts the audio level of this channel. All connected clients at the server " "Adjusts the audio level of this channel. All clients connected to the server "
"will be assigned an audio fader at each client, adjusting the local mix." ) ); "will be assigned an audio fader, displayed at each client, to adjust the local mix." ) );
pFader->setAccessibleName ( tr ( "Local mix level setting of the current audio " pFader->setAccessibleName ( tr ( "Local mix level setting of the current audio "
"channel at the server" ) ); "channel at the server" ) );
pInfoLabel->setWhatsThis ( "<b>" + tr ( "Status Indicator" ) + ":</b> " + tr ( pInfoLabel->setWhatsThis ( "<b>" + tr ( "Status Indicator" ) + ":</b> " + tr (
"Shows a status indication about the client which is assigned to this channel. " "Shows a status indication about the client which is assigned to this channel. "
"Supported indicators are:" ) + "<ul><li>" + tr ( "Supported indicators are:" ) + "<ul><li>" + tr (
"Speaker with cancellation stroke: Indicates that the other client has muted you." ) + "Speaker with cancellation stroke: Indicates that another client has muted you." ) +
"</li></ul>" ); "</li></ul>" );
pInfoLabel->setAccessibleName ( tr ( "Status indicator label" ) ); pInfoLabel->setAccessibleName ( tr ( "Status indicator label" ) );
pPan->setWhatsThis ( "<b>" + tr ( "Panning" ) + ":</b> " + tr ( pPan->setWhatsThis ( "<b>" + tr ( "Panning" ) + ":</b> " + tr (
"Sets the panning position from Left to Right of the channel. " "Sets the pan from Left to Right of the channel. "
"Works only in stereo or preferably mono in/stereo out mode." ) ); "Works only in stereo or preferably mono in/stereo out mode." ) );
pPan->setAccessibleName ( tr ( "Local panning position of the current audio channel at the server" ) ); pPan->setAccessibleName ( tr ( "Local panning position of the current audio channel at the server" ) );
@ -157,13 +157,13 @@ CChannelFader::CChannelFader ( QWidget* pNW,
pcbSolo->setWhatsThis ( "<b>" + tr ( "Solo" ) + ":</b> " + tr ( "With the Solo checkbox, the " pcbSolo->setWhatsThis ( "<b>" + tr ( "Solo" ) + ":</b> " + tr ( "With the Solo checkbox, the "
"audio channel can be set to solo which means that all other channels " "audio channel can be set to solo which means that all other channels "
"except of the current channel are muted. It is possible to set more than " "except the soloed channel are muted. It is possible to set more than "
"one channel to solo." ) ); "one channel to solo." ) );
pcbSolo->setAccessibleName ( tr ( "Solo button" ) ); pcbSolo->setAccessibleName ( tr ( "Solo button" ) );
QString strFaderText = "<b>" + tr ( "Fader Tag" ) + ":</b> " + tr ( "The fader tag " QString strFaderText = "<b>" + tr ( "Fader Tag" ) + ":</b> " + tr ( "The fader tag "
"identifies the connected client. The tag name, the picture of your " "identifies the connected client. The tag name, a picture of your "
"instrument and a flag of your country can be set in the main window." ); "instrument and the flag of your country can be set in the main window." );
plblInstrument->setWhatsThis ( strFaderText ); plblInstrument->setWhatsThis ( strFaderText );
plblInstrument->setAccessibleName ( tr ( "Mixer channel instrument picture" ) ); plblInstrument->setAccessibleName ( tr ( "Mixer channel instrument picture" ) );

View file

@ -48,25 +48,23 @@ CClientDlg::CClientDlg ( CClient* pNCliP,
// Add help text to controls ----------------------------------------------- // Add help text to controls -----------------------------------------------
// input level meter // input level meter
QString strInpLevH = "<b>" + tr ( "Input Level Meter" ) + ":</b> " + tr ( "The input level " QString strInpLevH = "<b>" + tr ( "Input Level Meter" ) + ":</b> " + tr ( "This shows "
"indicators show the input level of the two stereo channels " "the level of the two stereo channels "
"of the current selected audio input." ) + "<br>" + "for your audio input." ) + "<br>" +
tr ( "Make sure not to clip the input signal to avoid distortions of the " tr ( "Make sure not to clip the input signal to avoid distortions of the "
"audio signal." ); "audio signal." );
QString strInpLevHTT = tr ( "If the " ) + APP_NAME + QString strInpLevHTT = tr ( "If the application "
tr ( " software is connected and " "is connected to a server and "
"you play your instrument/sing in the microphone, the LED level " "you play your instrument/sing into the microphone, the VU "
"meter should flicker. If this is not the case, you have " "meter should flicker. If this is not the case, you have "
"probably selected the wrong input channel (e.g. line in instead " "probably selected the wrong input channel (e.g. 'line in' instead "
"of the microphone input) or set the input gain too low in the " "of the microphone input) or set the input gain too low in the "
"(Windows) audio mixer." ) + "<br>" + tr ( "For a proper usage of the " ) + "(Windows) audio mixer." ) + "<br>" + tr ( "For proper usage of the "
APP_NAME + tr ( " software, " "application, you should not hear your singing/instrument through "
"you should not hear your singing/instrument in the loudspeaker or " "the loudspeaker or your headphone when the software is not connected."
"your headphone when the " ) + APP_NAME + "This can be achieved by muting your input audio channel in the "
tr ( " software is not connected. This can " "Playback mixer (not the Recording mixer!)." ) + TOOLTIP_COM_END_TEXT;
"be achieved by muting your input audio channel in the Playback "
"mixer (not the Recording mixer!)." ) + TOOLTIP_COM_END_TEXT;
QString strInpLevHAccText = tr ( "Input level meter" ); QString strInpLevHAccText = tr ( "Input level meter" );
QString strInpLevHAccDescr = tr ( "Simulates an analog LED level meter." ); QString strInpLevHAccDescr = tr ( "Simulates an analog LED level meter." );
@ -85,9 +83,8 @@ CClientDlg::CClientDlg ( CClient* pNCliP,
// connect/disconnect button // connect/disconnect button
butConnect->setWhatsThis ( "<b>" + tr ( "Connect/Disconnect Button" ) + ":</b> " + butConnect->setWhatsThis ( "<b>" + tr ( "Connect/Disconnect Button" ) + ":</b> " +
tr ( "Push this button to connect to a server. A dialog where you can " tr ( "Opens a dialog where you can select a server to connect to. "
"select a server will open. If you are connected, pressing this " "If you are connected, pressing this button will end the session." ) );
"button will end the session." ) );
butConnect->setAccessibleName ( butConnect->setAccessibleName (
tr ( "Connect and disconnect toggle button" ) ); tr ( "Connect and disconnect toggle button" ) );
@ -95,13 +92,13 @@ CClientDlg::CClientDlg ( CClient* pNCliP,
butConnect->setAccessibleDescription ( tr ( "Clicking on this " butConnect->setAccessibleDescription ( tr ( "Clicking on this "
"button changes the caption of the button from Connect to " "button changes the caption of the button from Connect to "
"Disconnect, i.e., it implements a toggle functionality for connecting " "Disconnect, i.e., it implements a toggle functionality for connecting "
"and disconnecting the " ) + APP_NAME + tr ( " software." ) ); "and disconnecting the application." ) );
// local audio input fader // local audio input fader
QString strAudFader = "<b>" + tr ( "Local Audio Input Fader" ) + ":</b> " + QString strAudFader = "<b>" + tr ( "Local Audio Input Fader" ) + ":</b> " +
tr ( "With the audio fader, the relative levels of the left and right local audio " tr ( "Controls the relative levels of the left and right local audio "
"channels can be changed. For a mono signal it acts like a panning " "channels. For a mono signal it acts as a pan between the two channels."
"between the two channels. If, e.g., a microphone is connected to " "For example, if a microphone is connected to "
"the right input channel and an instrument is connected to the left " "the right input channel and an instrument is connected to the left "
"input channel which is much louder than the microphone, move the " "input channel which is much louder than the microphone, move the "
"audio fader in a direction where the label above the fader shows " ) + "audio fader in a direction where the label above the fader shows " ) +
@ -115,64 +112,67 @@ CClientDlg::CClientDlg ( CClient* pNCliP,
sldAudioPan->setAccessibleName ( tr ( "Local audio input fader (left/right)" ) ); sldAudioPan->setAccessibleName ( tr ( "Local audio input fader (left/right)" ) );
// reverberation level // reverberation level
QString strAudReverb = "<b>" + tr ( "Reverberation Level" ) + ":</b> " + QString strAudReverb = "<b>" + tr ( "Reverb effect" ) + ":</b> " +
tr ( "A reverberation effect can be applied to one local mono audio channel or to both " tr ( "Reverb can be applied to one local mono audio channel or to both "
"channels in stereo mode. The mono channel selection and the " "channels in stereo mode. The mono channel selection and the "
"reverberation level can be modified. If, e.g., " "reverb level can be modified. For example, if "
"the microphone signal is fed into the right audio channel of the " "a microphone signal is fed in to the right audio channel of the "
"sound card and a reverberation effect shall be applied, set the " "sound card and a reverb effect needs to be applied, set the "
"channel selector to right and move the fader upwards until the " "channel selector to right and move the fader upwards until the "
"desired reverberation level is reached." ) + "<br>" + tr ( "desired reverb level is reached." ) + "<br>" + tr (
"The reverberation effect requires significant CPU so it should " "Reverb requires significant CPU so it should "
"only be used on fast PCs. If the reverberation level fader is set to " "only be used on fast PCs. If the reverb level fader is set to "
"minimum (which is the default setting), the reverberation effect is " "minimum (the default setting), the effect is "
"switched off and does not cause any additional CPU usage." ); "switched off and does not cause any additional CPU usage." );
lblAudioReverb->setWhatsThis ( strAudReverb ); lblAudioReverb->setWhatsThis ( strAudReverb );
sldAudioReverb->setWhatsThis ( strAudReverb ); sldAudioReverb->setWhatsThis ( strAudReverb );
sldAudioReverb->setAccessibleName ( tr ( "Reverberation effect level setting" ) ); sldAudioReverb->setAccessibleName ( tr ( "Reverb effect level setting" ) );
// reverberation channel selection // reverberation channel selection
QString strRevChanSel = "<b>" + tr ( "Reverberation Channel Selection" ) + ":</b> " + QString strRevChanSel = "<b>" + tr ( "Reverb Channel Selection" ) + ":</b> " +
tr ( "With these radio buttons the audio input channel on which the " tr ( "With these radio buttons the audio input channel on which the "
"reverberation effect is applied can be chosen. Either the left " "reverb effect is applied can be chosen. Either the left "
"or right input channel can be selected." ); "or right input channel can be selected." );
rbtReverbSelL->setWhatsThis ( strRevChanSel ); rbtReverbSelL->setWhatsThis ( strRevChanSel );
rbtReverbSelL->setAccessibleName ( tr ( "Left channel selection for reverberation" ) ); rbtReverbSelL->setAccessibleName ( tr ( "Left channel selection for reverb" ) );
rbtReverbSelR->setWhatsThis ( strRevChanSel ); rbtReverbSelR->setWhatsThis ( strRevChanSel );
rbtReverbSelR->setAccessibleName ( tr ( "Right channel selection for reverberation" ) ); rbtReverbSelR->setAccessibleName ( tr ( "Right channel selection for reverb" ) );
// delay LED // delay LED
QString strLEDDelay = "<b>" + tr ( "Delay Status LED" ) + ":</b> " + QString strLEDDelay = "<b>" + tr ( "Delay Status LED" ) + ":</b> " +
tr ( "The delay status LED indicator shows the current audio delay " tr ( "Shows the current audio delay status:" ) +
"status. If the light is green, the delay is perfect for a jam " "<ul>"
"session. If the light is yellow, a session is still possible but " "<li>" "<b>" + tr ( "Green" ) + ":</b> " + tr ( "The delay is perfect for a jam "
"it may be harder to play. If the light is red, the delay is too " "session " ) + "</li>"
"large for jamming." ); "<li>" "<b>" + tr ( "Yellow" ) + ":</b> " + tr ( "A session is still possible "
"but it may be harder to play." ) + "</li>"
"<li>" "<b>" + tr ( "Red" ) + ":</b> " + tr ( "The delay is too large for "
"jamming." ) + "</li>"
"</ul>";
lblDelay->setWhatsThis ( strLEDDelay ); lblDelay->setWhatsThis ( strLEDDelay );
ledDelay->setWhatsThis ( strLEDDelay ); ledDelay->setWhatsThis ( strLEDDelay );
ledDelay->setToolTip ( tr ( "If this LED indicator turns red, " ledDelay->setToolTip ( tr ( "If this LED indicator turns red, "
"you will not have much fun using the " ) + APP_NAME + "you will not have much fun using the application" ) +
tr ( " software." ) + TOOLTIP_COM_END_TEXT ); TOOLTIP_COM_END_TEXT );
ledDelay->setAccessibleName ( tr ( "Delay status LED indicator" ) ); ledDelay->setAccessibleName ( tr ( "Delay status LED indicator" ) );
// buffers LED // buffers LED
QString strLEDBuffers = "<b>" + tr ( "Buffers Status LED" ) + ":</b> " + QString strLEDBuffers = "<b>" + tr ( "Buffers Status LED" ) + ":</b> " +
tr ( "The buffers status LED indicator shows the current audio/streaming " tr ( "The buffers status LED shows the current audio/streaming "
"status. If the light is green, there are no buffer overruns/underruns " "status. If the light is red, the audio stream is interrupted. "
"and the audio stream is not interrupted. If the light is red, the " "This is caused by one of the following problems:" ) +
"audio stream is interrupted caused by one of the following problems:" ) +
"<ul>" "<ul>"
"<li>" + tr ( "The network jitter buffer is not large enough for the current " "<li>" + tr ( "The network jitter buffer is not large enough for the current "
"network/audio interface jitter." ) + "</li>" "network/audio interface jitter." ) + "</li>"
"<li>" + tr ( "The sound card buffer delay (buffer size) is set to too small a " "<li>" + tr ( "The sound card's buffer delay (buffer size) is too small "
"value." ) + "</li>" "(see Settings window)." ) + "</li>"
"<li>" + tr ( "The upload or download stream rate is too high for the current " "<li>" + tr ( "The upload or download stream rate is too high for your "
"available internet bandwidth." ) + "</li>" "internet bandwidth." ) + "</li>"
"<li>" + tr ( "The CPU of the client or server is at 100%." ) + "</li>" "<li>" + tr ( "The CPU of the client or server is at 100%." ) + "</li>"
"</ul>"; "</ul>";

View file

@ -36,31 +36,30 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// jitter buffer // jitter buffer
QString strJitterBufferSize = "<b>" + tr ( "Jitter Buffer Size" ) + ":</b> " + tr ( QString strJitterBufferSize = "<b>" + tr ( "Jitter Buffer Size" ) + ":</b> " + tr (
"The jitter buffer compensates for network and sound card timing jitters. The " "The jitter buffer compensates for network and sound card timing jitters. The "
"size of this jitter buffer has therefore influence on the quality of " "size of the buffer therefore influences the quality of "
"the audio stream (how many dropouts occur) and the overall delay " "the audio stream (how many dropouts occur) and the overall delay "
"(the longer the buffer, the higher the delay)." ) + "<br>" + tr ( "(the longer the buffer, the higher the delay)." ) + "<br>" + tr (
"The jitter buffer size can be manually chosen for the local client " "You can set the jitter buffer size manually for the local client "
"and the remote server. For the local jitter buffer, dropouts in the " "and the remote server. For the local jitter buffer, dropouts in the "
"audio stream are indicated by the light below the " "audio stream are indicated by the light below the "
"jitter buffer size faders. If the light turns to red, a buffer " "jitter buffer size faders. If the light turns to red, a buffer "
"overrun/underrun took place and the audio stream is interrupted." ) + "<br>" + tr ( "overrun/underrun has taken place and the audio stream is interrupted." ) + "<br>" + tr (
"The jitter buffer setting is therefore a trade-off between audio " "The jitter buffer setting is therefore a trade-off between audio "
"quality and overall delay." ) + "<br>" + tr ( "quality and overall delay." ) + "<br>" + tr (
"An auto setting of the jitter buffer size setting is available. If " "If the Auto setting is enabled, the jitter buffers of the local client and "
"the check Auto is enabled, the jitter buffers of the local client and "
"the remote server are set automatically " "the remote server are set automatically "
"based on measurements of the network and sound card timing jitter. If " "based on measurements of the network and sound card timing jitter. If "
"the Auto check is enabled, the jitter buffer size faders are " "Auto is enabled, the jitter buffer size faders are "
"disabled (they cannot be moved with the mouse)." ); "disabled (they cannot be moved with the mouse)." );
QString strJitterBufferSizeTT = tr ( "If the auto setting of the " QString strJitterBufferSizeTT = tr ( "If the Auto setting "
"jitter buffer is enabled, the network buffers of the local client and " "is enabled, the network buffers of the local client and "
"the remote server are set to a conservative " "the remote server are set to a conservative "
"value to minimize the audio dropout probability. To tweak the " "value to minimize the audio dropout probability. To tweak the "
"audio delay/latency it is recommended to disable the auto setting " "audio delay/latency it is recommended to disable the Auto setting "
"functionality and to lower the jitter buffer size manually by " "and to lower the jitter buffer size manually by "
"using the sliders until your personal acceptable limit of the amount " "using the sliders until your personal acceptable amount "
"of dropouts is reached. The LED indicator will visualize the audio " "of dropouts is reached. The LED indicator will display the audio "
"dropouts of the local jitter buffer with a red light." ) + "dropouts of the local jitter buffer with a red light." ) +
TOOLTIP_COM_END_TEXT; TOOLTIP_COM_END_TEXT;
@ -133,28 +132,27 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// sound card buffer delay // sound card buffer delay
QString strSndCrdBufDelay = "<b>" + tr ( "Sound Card Buffer Delay" ) + ":</b> " + QString strSndCrdBufDelay = "<b>" + tr ( "Sound Card Buffer Delay" ) + ":</b> " +
tr ( "The buffer delay setting is a fundamental setting of the " ) + tr ( "The buffer delay setting is a fundamental setting of this "
APP_NAME + tr ( " software. This setting has influence on many " "software. This setting has an influence on many "
"connection properties." ) + "<br>" + tr ( "connection properties." ) + "<br>" + tr (
"Three buffer sizes are supported" ) + "Three buffer sizes are supported" ) +
":<ul>" ":<ul>"
"<li>" + tr ( "64 samples: This is the preferred setting since it provides the lowest " "<li>" + tr ( "64 samples: The preferred setting. Provides the lowest latency "
"latency but does not work with all sound cards." ) + "</li>" "but does not work with all sound cards." ) + "</li>"
"<li>" + tr ( "128 samples: This setting should work for most available " "<li>" + tr ( "128 samples: Should work for most available sound cards." ) +
"sound cards." ) + "</li>" "</li>"
"<li>" + tr ( "256 samples: This setting should only be used if only a very slow " "<li>" + tr ( "256 samples: Should only be used on very slow "
"computer or a slow internet connection is available." ) + "</li>" "computers or with a slow internet connection." ) + "</li>"
"</ul>" + tr ( "</ul>" + tr (
"Some sound card drivers do not allow the buffer delay to be changed " "Some sound card drivers do not allow the buffer delay to be changed "
"from within the " ) + APP_NAME + "from within the application. "
tr ( " software. In this case the buffer delay setting " "In this case the buffer delay setting is disabled and has to be "
"is disabled. To change the actual buffer delay, this " "changed using the sound card driver. On Windows, press the "
"setting has to be changed in the sound card driver. On Windows, press " "ASIO Setup button to open the driver settings panel. On Linux, "
"the ASIO Setup button to open the driver settings panel. On Linux, "
"use the Jack configuration tool to change the buffer size." ) + "<br>" + tr ( "use the Jack configuration tool to change the buffer size." ) + "<br>" + tr (
"If no buffer size is selected and all settings are disabled, an " "If no buffer size is selected and all settings are disabled, an "
"unsupported buffer size is used by the driver. The " ) + APP_NAME + "unsupported buffer size is used by the driver. The application "
tr ( " software will still work with this setting but with restricted " "will still work with this setting but with restricted "
"performance." ) + "<br>" + tr ( "performance." ) + "<br>" + tr (
"The actual buffer delay has influence on the connection status, the " "The actual buffer delay has influence on the connection status, the "
"current upload rate and the overall delay. The lower the buffer size, " "current upload rate and the overall delay. The lower the buffer size, "
@ -166,8 +164,8 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
QString strSndCrdBufDelayTT = tr ( "If the buffer delay settings are " QString strSndCrdBufDelayTT = tr ( "If the buffer delay settings are "
"disabled, it is prohibited by the audio driver to modify this " "disabled, it is prohibited by the audio driver to modify this "
"setting from within the " ) + APP_NAME + "setting from within the software. "
tr ( " software. On Windows, press the ASIO Setup button to open the " "On Windows, press the ASIO Setup button to open the "
"driver settings panel. On Linux, use the Jack configuration tool to " "driver settings panel. On Linux, use the Jack configuration tool to "
"change the buffer size." ) + TOOLTIP_COM_END_TEXT; "change the buffer size." ) + TOOLTIP_COM_END_TEXT;
@ -198,21 +196,26 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// audio channels // audio channels
QString strAudioChannels = "<b>" + tr ( "Audio Channels" ) + ":</b> " + tr ( QString strAudioChannels = "<b>" + tr ( "Audio Channels" ) + ":</b> " + tr (
"Select the number of audio channels to be used. There are three " "Selects the number of audio channels to be used for communication between "
"modes available. The mono and stereo modes use one and two " "client and server. There are three modes available:" ) +
"audio channels respectively. In mono-in/stereo-out mode " "<ul>"
"the audio signal which is sent to the server is mono but the " "<li>" "<b>" + tr ( "Mono" ) + "</b> " + tr ( "and " ) +
"<b>" + tr ( "Stereo" ) + ":</b> " + tr ( "These modes use "
"one and two audio channels respectively." ) + "</li>"
"<li>" "<b>" + tr ( "Mono in/Stereo-out" ) + ":</b> " + tr (
"The audio signal sent to the server is mono but the "
"return signal is stereo. This is useful if the " "return signal is stereo. This is useful if the "
"sound card has the instrument on one input channel and the " "sound card has the instrument on one input channel and the "
"microphone on the other channel. In that case the two input signals " "microphone on the other. In that case the two input signals "
"can be mixed to one mono channel but the server mix can be heard in " "can be mixed to one mono channel but the server mix is heard in "
"stereo." ) + "<br>" + tr ( "stereo." ) + "</li>"
"Enabling the stereo streaming mode will increase the " "<li>" + tr ("Enabling " ) + "<b>" + tr ( "Stereo" ) + "</b> " + tr ( "mode "
"stream data rate. Make sure that the current upload rate does not " "will increase your stream's data rate. Make sure your upload rate does not "
"exceed the available bandwidth of your internet connection." ) + "<br>" + tr ( "exceed the available upload speed of your internet connection." ) + "</li>"
"In stereo streaming mode, no audio channel selection " "</ul>"
"for the reverberation effect will be available on the main window " + "<br>" + tr ( "In stereo streaming mode, no audio channel selection "
"since the effect is applied on both channels in this case." ); "for the reverb effect will be available on the main window "
"since the effect is applied to both channels in this case." );
lblAudioChannels->setWhatsThis ( strAudioChannels ); lblAudioChannels->setWhatsThis ( strAudioChannels );
cbxAudioChannels->setWhatsThis ( strAudioChannels ); cbxAudioChannels->setWhatsThis ( strAudioChannels );
@ -220,11 +223,9 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// audio quality // audio quality
QString strAudioQuality = "<b>" + tr ( "Audio Quality" ) + ":</b> " + tr ( QString strAudioQuality = "<b>" + tr ( "Audio Quality" ) + ":</b> " + tr (
"Select the desired audio quality. A low, normal or high audio " "The higher the audio quality, the higher your audio stream's "
"quality can be selected. The higher the audio quality, the higher " "data rate. Make sure your upload rate does not exceed the "
"the audio stream data rate. Make sure that the current " "available bandwidth of your internet connection.");
"upload rate does not exceed the available bandwidth of your "
"internet connection." );
lblAudioQuality->setWhatsThis ( strAudioQuality ); lblAudioQuality->setWhatsThis ( strAudioQuality );
cbxAudioQuality->setWhatsThis ( strAudioQuality ); cbxAudioQuality->setWhatsThis ( strAudioQuality );
@ -232,10 +233,10 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// new client fader level // new client fader level
QString strNewClientLevel = "<b>" + tr ( "New Client Level" ) + ":</b> " + QString strNewClientLevel = "<b>" + tr ( "New Client Level" ) + ":</b> " +
tr ( "The new client level setting defines the fader level of a new " tr ( "This setting defines the fader level of a newly "
"connected client in percent. I.e. if a new client connects " "connected client in percent. If a new client connects "
"to the current server, it will get the specified initial " "to the current server, they will get the specified initial "
"fader level if no other fader level of a previous connection " "fader level if no other fader level from a previous connection "
"of that client was already stored." ); "of that client was already stored." );
lblNewClientLevel->setWhatsThis ( strNewClientLevel ); lblNewClientLevel->setWhatsThis ( strNewClientLevel );
@ -244,10 +245,8 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// custom central server address // custom central server address
QString strCentrServAddr = "<b>" + tr ( "Custom Central Server Address" ) + ":</b> " + QString strCentrServAddr = "<b>" + tr ( "Custom Central Server Address" ) + ":</b> " +
tr ( "The custom central server address is the IP address or URL of the central " tr ( "Leave this blank unless you need to enter the address of a central "
"server at which the server list of the connection dialog is managed. This " "server other than the default." );
"address is only used if the custom server list is selected in the connection "
"dialog." );
lblCentralServerAddress->setWhatsThis ( strCentrServAddr ); lblCentralServerAddress->setWhatsThis ( strCentrServAddr );
edtCentralServerAddress->setWhatsThis ( strCentrServAddr ); edtCentralServerAddress->setWhatsThis ( strCentrServAddr );
@ -255,18 +254,18 @@ CClientSettingsDlg::CClientSettingsDlg ( CClient* pNCliP, QWidget* parent,
// current connection status parameter // current connection status parameter
QString strConnStats = "<b>" + tr ( "Current Connection Status " QString strConnStats = "<b>" + tr ( "Current Connection Status "
"Parameter" ) + ":</b> " + tr ( "The ping time is the time required for the audio " "Parameter" ) + ":</b> " + tr ( "The Ping Time is the time required for the audio "
"stream to travel from the client to the server and back again. This " "stream to travel from the client to the server and back again. This "
"delay is introduced by the network. This delay should be as low as " "delay is introduced by the network and should be about "
"20-30 ms. If this delay is higher (e.g., 50-60 ms), your distance to " "20-30 ms. If this delay is higher than about 50 ms, your distance to "
"the server is too large or your internet connection is not " "the server is too large or your internet connection is not "
"sufficient." ) + "<br>" + tr ( "sufficient." ) + "<br>" + tr (
"The overall delay is calculated from the current ping time and the " "Overall Delay is calculated from the current Ping Time and the "
"delay which is introduced by the current buffer settings." ) + "<br>" + tr ( "delay introduced by the current buffer settings." ) + "<br>" + tr (
"The upstream rate depends on the current audio packet size and the " "Audio Upstream Rate depends on the current audio packet size and "
"audio compression setting. Make sure that the upstream rate is not " "compression setting. Make sure that the upstream rate is not "
"higher than the available rate (check the upstream capabilities of " "higher than your available internet upload speed (check this with a "
"your internet connection by, e.g., using speedtest.net)." ); "service such as speedtest.net." );
lblPingTime->setWhatsThis ( strConnStats ); lblPingTime->setWhatsThis ( strConnStats );
lblPingTimeValue->setWhatsThis ( strConnStats ); lblPingTimeValue->setWhatsThis ( strConnStats );

View file

@ -47,27 +47,23 @@ CConnectDlg::CConnectDlg ( CClient* pNCliP,
// Add help text to controls ----------------------------------------------- // Add help text to controls -----------------------------------------------
// server list // server list
lvwServers->setWhatsThis ( "<b>" + tr ( "Server List" ) + ":</b> " + tr ( lvwServers->setWhatsThis ( "<b>" + tr ( "Server List" ) + ":</b> " + tr (
"The server list shows a list of available servers which are registered at the " "The Connection Setup window shows a list of available servers. "
"central server. Select a server from the list and press the connect button to " "Server operators can optionally list their servers by music genre. "
"connect to this server. Alternatively, double click a server from " "Use the List dropdown to select a genre, click on the server you want "
"the list to connect to it. If a server is occupied, a list of the " "to join and press the Connect button to connect to it. Alternatively, "
"connected musicians is available by expanding the list item. " "double click on on the server name. Permanent servers (those that have "
"Permanent servers are shown in bold font." ) + "<br>" + tr ( "been listed for longer than 24 hours) are shown in bold." ) );
"Note that it may take some time to retrieve the server list from the "
"central server. If no valid central server address is specified in "
"the settings, no server list will be available." ) );
lvwServers->setAccessibleName ( tr ( "Server list view" ) ); lvwServers->setAccessibleName ( tr ( "Server list view" ) );
// server address // server address
QString strServAddrH = "<b>" + tr ( "Server Address" ) + ":</b> " + tr ( QString strServAddrH = "<b>" + tr ( "Server Address" ) + ":</b> " + tr (
"The IP address or URL of the server running the " ) + APP_NAME + tr ( "If you know the IP address or URL of a server, you can connect to it "
" server software must be set here. An optional port number can be added after the IP " "using the Server name/Address field. An optional port number can be added after the IP "
"address or URL using a colon as a separator, e.g, " "address or URL using a colon as a separator, e.g, "
"example.org:" ) + "example.org:" ) +
QString().setNum ( DEFAULT_PORT_NUMBER ) + tr ( ". A list of " QString().setNum ( DEFAULT_PORT_NUMBER ) + tr ( ". The field will "
"the most recent used server IP addresses or URLs is available for " "also show a list of the most recently used server addresses.");
"selection." );
lblServerAddr->setWhatsThis ( strServAddrH ); lblServerAddr->setWhatsThis ( strServAddrH );
cbxServerAddr->setWhatsThis ( strServAddrH ); cbxServerAddr->setWhatsThis ( strServAddrH );

View file

@ -10,7 +10,7 @@ Main Window
![LEDs](led.png) ![LEDs](led.png)
The **Status** LED shows the current audio delay status. The **Delay Status** LED shows the current audio delay status:
* **Green** - The delay is perfect for a jam session * **Green** - The delay is perfect for a jam session
@ -58,7 +58,7 @@ pressing this button will end the session.
![Connect dialog](connect.png) ![Connect dialog](connect.png)
The Connection Setup window shows a list of available servers. Server operators can optionally list their servers by musical genre. Use the List dropdown to select a genre and press the Connect button to join a server. Alternatively, double-click on the server name. Permanent servers (those that have been listed for longer than 24 hours) are shown in bold. The Connection Setup window shows a list of available servers. Server operators can optionally list their servers by musical genre. Use the List dropdown to select a genre, click on the server you want to join and press the Connect button to connect to it. Alternatively, double-click on the server name. Permanent servers (those that have been listed for longer than 24 hours) are shown in bold.
If you know the IP address or URL of a server, you can connect to it using the Server Name/Address If you know the IP address or URL of a server, you can connect to it using the Server Name/Address
field. An optional port number can be added after the IP address or URL using a colon as a separator, e.g, field. An optional port number can be added after the IP address or URL using a colon as a separator, e.g,

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -52,7 +52,7 @@ CServerDlg::CServerDlg ( CServer* pNServP,
// start minimized on operating system start // start minimized on operating system start
chbStartOnOSStart->setWhatsThis ( "<b>" + tr ( "Start Minimized on Operating " chbStartOnOSStart->setWhatsThis ( "<b>" + tr ( "Start Minimized on Operating "
"System Start" ) + ":</b> " + tr ( "If the start minimized on operating system start " "System Start" ) + ":</b> " + tr ( "If the start minimized on operating system start "
"check box is checked, the " ) + APP_NAME + tr ( " server will be " "check box is checked, the server will be "
"started when the operating system starts up and is automatically " "started when the operating system starts up and is automatically "
"minimized to a system task bar icon." ) ); "minimized to a system task bar icon." ) );
@ -64,8 +64,8 @@ CServerDlg::CServerDlg ( CServer* pNServP,
// Make My Server Public flag // Make My Server Public flag
chbRegisterServer->setWhatsThis ( "<b>" + tr ( "Make My Server Public" ) + ":</b> " + chbRegisterServer->setWhatsThis ( "<b>" + tr ( "Make My Server Public" ) + ":</b> " +
tr ( "If the Make My Server Public check box is checked, this server registers " tr ( "If the Make My Server Public check box is checked, this server registers "
"itself at the central server so that all " ) + APP_NAME + "itself at the central server so that all users of the application "
tr ( " users can see the server in the connect dialog server list and " "can see the server in the connect dialog server list and "
"connect to it. The registration of the server is renewed periodically " "connect to it. The registration of the server is renewed periodically "
"to make sure that all servers in the connect dialog server list are " "to make sure that all servers in the connect dialog server list are "
"actually available." ) ); "actually available." ) );

View file

@ -350,12 +350,10 @@ CAboutDlg::CAboutDlg ( QWidget* parent ) : QDialog ( parent )
// general description of software // general description of software
txvAbout->setText ( txvAbout->setText (
"<p>" + tr ( "The " ) + APP_NAME + "<p>" + tr ( "This app enables musicians to perform real-time jam sessions "
tr ( " software enables musicians to perform real-time jam sessions " "over the internet." ) + "<br>" + tr ( "There is a server which collects "
"over the internet." ) + "<br>" + tr ( "There is a " ) + APP_NAME + tr ( " " " the audio data from each client, mixes the audio data and sends the mix "
"server which collects the audio data from each " ) + " back to each client." ) + "</p>"
APP_NAME + tr ( " client, mixes the audio data and sends the mix back "
"to each client." ) + "</p>"
"<p><font face=\"courier\">" // GPL header text "<p><font face=\"courier\">" // GPL header text
"This program is free software; you can redistribute it and/or modify " "This program is free software; you can redistribute it and/or modify "
"it under the terms of the GNU General Public License as published by " "it under the terms of the GNU General Public License as published by "
@ -371,8 +369,8 @@ CAboutDlg::CAboutDlg ( QWidget* parent ) : QDialog ( parent )
"</font></p>" ); "</font></p>" );
// libraries used by this compilation // libraries used by this compilation
txvLibraries->setText ( APP_NAME + txvLibraries->setText (
tr ( " uses the following libraries, resources or code snippets:" ) + tr ( "This app uses the following libraries, resources or code snippets:" ) +
"<br><p>" + tr ( "Qt cross-platform application framework" ) + "<br><p>" + tr ( "Qt cross-platform application framework" ) +
", <i><a href=""http://www.qt.io"">http://www.qt.io</a></i></p>" ", <i><a href=""http://www.qt.io"">http://www.qt.io</a></i></p>"
"<p>Opus Interactive Audio Codec" "<p>Opus Interactive Audio Codec"
@ -382,7 +380,7 @@ CAboutDlg::CAboutDlg ( QWidget* parent ) : QDialog ( parent )
"The Synthesis ToolKit in C++ (STK)</a></i></p>" "The Synthesis ToolKit in C++ (STK)</a></i></p>"
"<p>" + tr ( "Some pixmaps are from the" ) + " Open Clip Art Library (OCAL), " "<p>" + tr ( "Some pixmaps are from the" ) + " Open Clip Art Library (OCAL), "
"<i><a href=""http://openclipart.org"">http://openclipart.org</a></i></p>" "<i><a href=""http://openclipart.org"">http://openclipart.org</a></i></p>"
"<p>" + tr ( "Country flag icons from Mark James" ) + "<p>" + tr ( "Country flag icons by Mark James" ) +
", <i><a href=""http://www.famfamfam.com"">http://www.famfamfam.com</a></i></p>" ); ", <i><a href=""http://www.famfamfam.com"">http://www.famfamfam.com</a></i></p>" );
// contributors list // contributors list
@ -460,7 +458,7 @@ QString CAboutDlg::GetVersionAndNameStr ( const bool bWithHtml )
strVersionText += "\n *** "; strVersionText += "\n *** ";
} }
strVersionText += tr ( "Under the GNU General Public License (GPL)" ); strVersionText += tr ( "Released under the GNU General Public License (GPL)" );
return strVersionText; return strVersionText;
} }
@ -707,15 +705,14 @@ CMusProfDlg::CMusProfDlg ( CClient* pNCliP,
// Add help text to controls ----------------------------------------------- // Add help text to controls -----------------------------------------------
// fader tag // fader tag
QString strFaderTag = "<b>" + tr ( "Musician Profile" ) + ":</b> " + tr ( QString strFaderTag = "<b>" + tr ( "Musician Profile" ) + ":</b> " +
"Set your name or an alias here so that the other musicians you want to play with " tr ("Write your name or an alias here so the other musicians you want to "
"know who you are. Additionally you may set an instrument picture of " "play with know who you are. You may also add a picture of the instrument "
"the instrument you play and a flag of the country you are living in. " "you play and a flag of the country you are located in. "
"The city you live in and the skill level playing your instrument " "Your city and skill level playing your instrument may also be added." ) +
"may also be added." ) + "<br>" + tr ( "<br>" + tr ( "What you set here will appear at your fader on the mixer "
"What you set here will appear at your fader on the mixer board when " "board when you are connected to a Jamulus server. This tag will "
"you are connected to a " ) + APP_NAME + tr ( " server. This tag will " "also be shown at each client which is connected to the same server as "
"also show up at each client which is connected to the same server as "
"you. If the name is left empty, the IP address is shown instead." ); "you. If the name is left empty, the IP address is shown instead." );
pedtAlias->setWhatsThis ( strFaderTag ); pedtAlias->setWhatsThis ( strFaderTag );