Remove "What's This?" and update tooltips (#4128)
This commit is contained in:
@@ -93,13 +93,13 @@ EnvelopeAndLfoParameters::EnvelopeAndLfoParameters(
|
||||
Model * _parent ) :
|
||||
Model( _parent ),
|
||||
m_used( false ),
|
||||
m_predelayModel( 0.0, 0.0, 2.0, 0.001, this, tr( "Predelay" ) ),
|
||||
m_attackModel( 0.0, 0.0, 2.0, 0.001, this, tr( "Attack" ) ),
|
||||
m_holdModel( 0.5, 0.0, 2.0, 0.001, this, tr( "Hold" ) ),
|
||||
m_decayModel( 0.5, 0.0, 2.0, 0.001, this, tr( "Decay" ) ),
|
||||
m_sustainModel( 0.5, 0.0, 1.0, 0.001, this, tr( "Sustain" ) ),
|
||||
m_releaseModel( 0.1, 0.0, 2.0, 0.001, this, tr( "Release" ) ),
|
||||
m_amountModel( 0.0, -1.0, 1.0, 0.005, this, tr( "Modulation" ) ),
|
||||
m_predelayModel( 0.0, 0.0, 2.0, 0.001, this, tr( "Env pre-delay" ) ),
|
||||
m_attackModel( 0.0, 0.0, 2.0, 0.001, this, tr( "Env attack" ) ),
|
||||
m_holdModel( 0.5, 0.0, 2.0, 0.001, this, tr( "Env hold" ) ),
|
||||
m_decayModel( 0.5, 0.0, 2.0, 0.001, this, tr( "Env decay" ) ),
|
||||
m_sustainModel( 0.5, 0.0, 1.0, 0.001, this, tr( "Env sustain" ) ),
|
||||
m_releaseModel( 0.1, 0.0, 2.0, 0.001, this, tr( "Env release" ) ),
|
||||
m_amountModel( 0.0, -1.0, 1.0, 0.005, this, tr( "Env mod amount" ) ),
|
||||
m_valueForZeroAmount( _value_for_zero_amount ),
|
||||
m_pahdFrames( 0 ),
|
||||
m_rFrames( 0 ),
|
||||
@@ -107,15 +107,15 @@ EnvelopeAndLfoParameters::EnvelopeAndLfoParameters(
|
||||
m_rEnv( NULL ),
|
||||
m_pahdBufSize( 0 ),
|
||||
m_rBufSize( 0 ),
|
||||
m_lfoPredelayModel( 0.0, 0.0, 1.0, 0.001, this, tr( "LFO Predelay" ) ),
|
||||
m_lfoAttackModel( 0.0, 0.0, 1.0, 0.001, this, tr( "LFO Attack" ) ),
|
||||
m_lfoPredelayModel( 0.0, 0.0, 1.0, 0.001, this, tr( "LFO pre-delay" ) ),
|
||||
m_lfoAttackModel( 0.0, 0.0, 1.0, 0.001, this, tr( "LFO attack" ) ),
|
||||
m_lfoSpeedModel( 0.1, 0.001, 1.0, 0.0001,
|
||||
SECS_PER_LFO_OSCILLATION * 1000.0, this,
|
||||
tr( "LFO speed" ) ),
|
||||
m_lfoAmountModel( 0.0, -1.0, 1.0, 0.005, this, tr( "LFO Modulation" ) ),
|
||||
m_lfoWaveModel( SineWave, 0, NumLfoShapes, this, tr( "LFO Wave Shape" ) ),
|
||||
m_x100Model( false, this, tr( "Freq x 100" ) ),
|
||||
m_controlEnvAmountModel( false, this, tr( "Modulate Env-Amount" ) ),
|
||||
tr( "LFO frequency" ) ),
|
||||
m_lfoAmountModel( 0.0, -1.0, 1.0, 0.005, this, tr( "LFO mod amount" ) ),
|
||||
m_lfoWaveModel( SineWave, 0, NumLfoShapes, this, tr( "LFO wave shape" ) ),
|
||||
m_x100Model( false, this, tr( "LFO frequency x 100" ) ),
|
||||
m_controlEnvAmountModel( false, this, tr( "Modulate env amount" ) ),
|
||||
m_lfoFrame( 0 ),
|
||||
m_lfoAmountIsZero( false ),
|
||||
m_lfoShapeData( NULL )
|
||||
|
||||
@@ -80,25 +80,25 @@ InstrumentSoundShaping::InstrumentSoundShaping(
|
||||
tr( targetNames[i][2].toUtf8().constData() ) );
|
||||
}
|
||||
|
||||
m_filterModel.addItem( tr( "LowPass" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "HiPass" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "BandPass csg" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "BandPass czpg" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "Low-pass" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "Hi-pass" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "Band-pass csg" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "Band-pass czpg" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "Notch" ), make_unique<PixmapLoader>( "filter_notch" ) );
|
||||
m_filterModel.addItem( tr( "Allpass" ), make_unique<PixmapLoader>( "filter_ap" ) );
|
||||
m_filterModel.addItem( tr( "All-pass" ), make_unique<PixmapLoader>( "filter_ap" ) );
|
||||
m_filterModel.addItem( tr( "Moog" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "2x LowPass" ), make_unique<PixmapLoader>( "filter_2lp" ) );
|
||||
m_filterModel.addItem( tr( "RC LowPass 12dB" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "RC BandPass 12dB" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "RC HighPass 12dB" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "RC LowPass 24dB" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "RC BandPass 24dB" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "RC HighPass 24dB" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "Vocal Formant Filter" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "2x Low-pass" ), make_unique<PixmapLoader>( "filter_2lp" ) );
|
||||
m_filterModel.addItem( tr( "RC Low-pass 12 dB/oct" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "RC Band-pass 12 dB/oct" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "RC High-pass 12 dB/oct" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "RC Low-pass 24 dB/oct" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "RC Band-pass 24 dB/oct" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "RC High-pass 24 dB/oct" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "Vocal Formant" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "2x Moog" ), make_unique<PixmapLoader>( "filter_2lp" ) );
|
||||
m_filterModel.addItem( tr( "SV LowPass" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "SV BandPass" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "SV HighPass" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "SV Low-pass" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
m_filterModel.addItem( tr( "SV Band-pass" ), make_unique<PixmapLoader>( "filter_bp" ) );
|
||||
m_filterModel.addItem( tr( "SV High-pass" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "SV Notch" ), make_unique<PixmapLoader>( "filter_notch" ) );
|
||||
m_filterModel.addItem( tr( "Fast Formant" ), make_unique<PixmapLoader>( "filter_hp" ) );
|
||||
m_filterModel.addItem( tr( "Tripole" ), make_unique<PixmapLoader>( "filter_lp" ) );
|
||||
|
||||
@@ -1734,7 +1734,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) :
|
||||
m_trackView( parent ) /*!< The parent track view */
|
||||
{
|
||||
ToolTip::add( this, tr( "Press <%1> while clicking on move-grip "
|
||||
"to begin a new drag'n'drop-action." ).arg(
|
||||
"to begin a new drag'n'drop action." ).arg(
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
"⌘") );
|
||||
#else
|
||||
@@ -1753,7 +1753,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) :
|
||||
m_trackOps->move( 12, 1 );
|
||||
m_trackOps->setFocusPolicy( Qt::NoFocus );
|
||||
m_trackOps->setMenu( toMenu );
|
||||
ToolTip::add( m_trackOps, tr( "Actions for this track" ) );
|
||||
ToolTip::add( m_trackOps, tr( "Actions" ) );
|
||||
|
||||
|
||||
m_muteBtn = new PixmapButton( this, tr( "Mute" ) );
|
||||
@@ -1779,7 +1779,7 @@ TrackOperationsWidget::TrackOperationsWidget( TrackView * parent ) :
|
||||
}
|
||||
|
||||
m_muteBtn->show();
|
||||
ToolTip::add( m_muteBtn, tr( "Mute this track" ) );
|
||||
ToolTip::add( m_muteBtn, tr( "Mute" ) );
|
||||
|
||||
m_soloBtn->show();
|
||||
ToolTip::add( m_soloBtn, tr( "Solo" ) );
|
||||
|
||||
@@ -66,48 +66,25 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
setWindowIcon( embed::getIconPixmap( "controller" ) );
|
||||
setFixedSize( 240, 58 );
|
||||
|
||||
ToolTip::add( this, tr( "LFO Controller" ) );
|
||||
|
||||
m_baseKnob = new Knob( knobBright_26, this );
|
||||
m_baseKnob->setLabel( tr( "BASE" ) );
|
||||
m_baseKnob->move( CD_LFO_BASE_CD_KNOB_X, CD_LFO_CD_KNOB_Y );
|
||||
m_baseKnob->setHintText( tr( "Base amount:" ), "" );
|
||||
m_baseKnob->setWhatsThis( tr("todo") );
|
||||
|
||||
m_baseKnob->setHintText( tr( "Base:" ), "" );
|
||||
|
||||
m_speedKnob = new TempoSyncKnob( knobBright_26, this );
|
||||
m_speedKnob->setLabel( tr( "SPD" ) );
|
||||
m_speedKnob->setLabel( tr( "FREQ" ) );
|
||||
m_speedKnob->move( CD_LFO_SPEED_CD_KNOB_X, CD_LFO_CD_KNOB_Y );
|
||||
m_speedKnob->setHintText( tr( "LFO-speed:" ), "" );
|
||||
m_speedKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting speed of the LFO. The "
|
||||
"bigger this value the faster the LFO oscillates and "
|
||||
"the faster the effect." ) );
|
||||
|
||||
m_speedKnob->setHintText( tr( "LFO frequency:" ), "" );
|
||||
|
||||
m_amountKnob = new Knob( knobBright_26, this );
|
||||
m_amountKnob->setLabel( tr( "AMNT" ) );
|
||||
m_amountKnob->move( CD_LFO_AMOUNT_CD_KNOB_X, CD_LFO_CD_KNOB_Y );
|
||||
m_amountKnob->setHintText( tr( "Modulation amount:" ), "" );
|
||||
m_amountKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting modulation amount of the "
|
||||
"LFO. The bigger this value, the more the connected "
|
||||
"control (e.g. volume or cutoff-frequency) will "
|
||||
"be influenced by the LFO." ) );
|
||||
|
||||
m_phaseKnob = new Knob( knobBright_26, this );
|
||||
m_phaseKnob->setLabel( tr( "PHS" ) );
|
||||
m_phaseKnob->move( CD_LFO_PHASE_CD_KNOB_X, CD_LFO_CD_KNOB_Y );
|
||||
m_phaseKnob->setHintText( tr( "Phase offset:" ) , "" + tr( "degrees" ) );
|
||||
m_phaseKnob->setWhatsThis(
|
||||
tr( "With this knob you can set the phase offset of "
|
||||
"the LFO. That means you can move the "
|
||||
"point within an oscillation where the "
|
||||
"oscillator begins to oscillate. For example "
|
||||
"if you have a sine-wave and have a phase-"
|
||||
"offset of 180 degrees the wave will first go "
|
||||
"down. It's the same with a square-wave."
|
||||
) );
|
||||
m_phaseKnob->setHintText( tr( "Phase offset:" ) , "" + tr( " degrees" ) );
|
||||
|
||||
PixmapButton * sin_wave_btn = new PixmapButton( this, NULL );
|
||||
sin_wave_btn->move( CD_LFO_SHAPES_X, CD_LFO_SHAPES_Y );
|
||||
@@ -116,7 +93,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
sin_wave_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"sin_wave_inactive" ) );
|
||||
ToolTip::add( sin_wave_btn,
|
||||
tr( "Click here for a sine-wave." ) );
|
||||
tr( "Sine wave" ) );
|
||||
|
||||
PixmapButton * triangle_wave_btn =
|
||||
new PixmapButton( this, NULL );
|
||||
@@ -126,7 +103,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
triangle_wave_btn->setInactiveGraphic(
|
||||
embed::getIconPixmap( "triangle_wave_inactive" ) );
|
||||
ToolTip::add( triangle_wave_btn,
|
||||
tr( "Click here for a triangle-wave." ) );
|
||||
tr( "Triangle wave" ) );
|
||||
|
||||
PixmapButton * saw_wave_btn = new PixmapButton( this, NULL );
|
||||
saw_wave_btn->move( CD_LFO_SHAPES_X + 30, CD_LFO_SHAPES_Y );
|
||||
@@ -135,7 +112,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
saw_wave_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"saw_wave_inactive" ) );
|
||||
ToolTip::add( saw_wave_btn,
|
||||
tr( "Click here for a saw-wave." ) );
|
||||
tr( "Saw wave" ) );
|
||||
|
||||
PixmapButton * sqr_wave_btn = new PixmapButton( this, NULL );
|
||||
sqr_wave_btn->move( CD_LFO_SHAPES_X + 45, CD_LFO_SHAPES_Y );
|
||||
@@ -144,7 +121,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
sqr_wave_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"square_wave_inactive" ) );
|
||||
ToolTip::add( sqr_wave_btn,
|
||||
tr( "Click here for a square-wave." ) );
|
||||
tr( "Square wave" ) );
|
||||
|
||||
PixmapButton * moog_saw_wave_btn =
|
||||
new PixmapButton( this, NULL );
|
||||
@@ -154,7 +131,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
moog_saw_wave_btn->setInactiveGraphic(
|
||||
embed::getIconPixmap( "moog_saw_wave_inactive" ) );
|
||||
ToolTip::add( moog_saw_wave_btn,
|
||||
tr( "Click here for a moog saw-wave." ) );
|
||||
tr( "Moog saw wave" ) );
|
||||
|
||||
PixmapButton * exp_wave_btn = new PixmapButton( this, NULL );
|
||||
exp_wave_btn->move( CD_LFO_SHAPES_X + 15, CD_LFO_SHAPES_Y + 15 );
|
||||
@@ -163,7 +140,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
exp_wave_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"exp_wave_inactive" ) );
|
||||
ToolTip::add( exp_wave_btn,
|
||||
tr( "Click here for an exponential wave." ) );
|
||||
tr( "Exponential wave" ) );
|
||||
|
||||
PixmapButton * white_noise_btn = new PixmapButton( this, NULL );
|
||||
white_noise_btn->move( CD_LFO_SHAPES_X + 30, CD_LFO_SHAPES_Y + 15 );
|
||||
@@ -172,7 +149,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
white_noise_btn->setInactiveGraphic(
|
||||
embed::getIconPixmap( "white_noise_wave_inactive" ) );
|
||||
ToolTip::add( white_noise_btn,
|
||||
tr( "Click here for white-noise." ) );
|
||||
tr( "White noise" ) );
|
||||
|
||||
m_userWaveBtn = new PixmapButton( this, NULL );
|
||||
m_userWaveBtn->move( CD_LFO_SHAPES_X + 45, CD_LFO_SHAPES_Y + 15 );
|
||||
@@ -184,7 +161,7 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
SIGNAL( doubleClicked() ),
|
||||
this, SLOT( askUserDefWave() ) );
|
||||
ToolTip::add( m_userWaveBtn,
|
||||
tr( "Click here for a user-defined shape.\nDouble click to pick a file." ) );
|
||||
tr( "User-defined shape.\nDouble click to pick a file." ) );
|
||||
|
||||
m_waveBtnGrp = new automatableButtonGroup( this );
|
||||
m_waveBtnGrp->addButton( sin_wave_btn );
|
||||
@@ -203,6 +180,8 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
"lfo_x1_active" ) );
|
||||
x1->setInactiveGraphic( embed::getIconPixmap(
|
||||
"lfo_x1_inactive" ) );
|
||||
ToolTip::add( x1,
|
||||
tr( "Mutliply modulation frequency by 1" ));
|
||||
|
||||
PixmapButton * x100 = new PixmapButton( this, NULL );
|
||||
x100->move( CD_LFO_MULTIPLIER_X, CD_LFO_SHAPES_Y - 8 );
|
||||
@@ -210,6 +189,8 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
"lfo_x100_active" ) );
|
||||
x100->setInactiveGraphic( embed::getIconPixmap(
|
||||
"lfo_x100_inactive" ) );
|
||||
ToolTip::add( x100,
|
||||
tr( "Mutliply modulation frequency by 100" ));
|
||||
|
||||
PixmapButton * d100 = new PixmapButton( this, NULL );
|
||||
d100->move( CD_LFO_MULTIPLIER_X, CD_LFO_SHAPES_Y + 22 );
|
||||
@@ -217,6 +198,8 @@ LfoControllerDialog::LfoControllerDialog( Controller * _model, QWidget * _parent
|
||||
"lfo_d100_active" ) );
|
||||
d100->setInactiveGraphic( embed::getIconPixmap(
|
||||
"lfo_d100_inactive" ) );
|
||||
ToolTip::add( d100,
|
||||
tr( "Divide modulation frequency by 100" ));
|
||||
|
||||
m_multiplierBtnGrp = new automatableButtonGroup( this );
|
||||
m_multiplierBtnGrp->addButton( x1 );
|
||||
@@ -271,10 +254,6 @@ void LfoControllerDialog::contextMenuEvent( QContextMenuEvent * )
|
||||
contextMenu->addAction( embed::getIconPixmap( "cancel" ),
|
||||
tr( "&Remove this plugin" ),
|
||||
this, SLOT( deletePlugin() ) );
|
||||
contextMenu->addSeparator();
|
||||
contextMenu->addAction( embed::getIconPixmap( "help" ),
|
||||
tr( "&Help" ),
|
||||
this, SLOT( displayHelp() ) );
|
||||
contextMenu->exec( QCursor::pos() );
|
||||
delete contextMenu;
|
||||
*/
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
#include <QLibrary>
|
||||
#include <QSplitter>
|
||||
#include <QUrl>
|
||||
#include <QWhatsThis>
|
||||
|
||||
#include "AboutDialog.h"
|
||||
#include "AudioDummy.h"
|
||||
@@ -410,9 +409,6 @@ void MainWindow::finalize()
|
||||
tr( "Help" ),
|
||||
this, SLOT( help() ) );
|
||||
}
|
||||
help_menu->addAction( embed::getIconPixmap( "whatsthis" ),
|
||||
tr( "What's This?" ),
|
||||
this, SLOT( enterWhatsThisMode() ) );
|
||||
|
||||
// Prevent dangling separator at end of menu per https://bugreports.qt.io/browse/QTBUG-40071
|
||||
#if !(defined(LMMS_BUILD_APPLE) && (QT_VERSION >= 0x050000) && (QT_VERSION < 0x050600))
|
||||
@@ -464,15 +460,9 @@ void MainWindow::finalize()
|
||||
SLOT( onExportProject() ),
|
||||
m_toolBar );
|
||||
|
||||
ToolButton * whatsthis = new ToolButton(
|
||||
embed::getIconPixmap( "whatsthis" ),
|
||||
tr( "What's this?" ),
|
||||
this, SLOT( enterWhatsThisMode() ),
|
||||
m_toolBar );
|
||||
|
||||
m_metronomeToggle = new ToolButton(
|
||||
embed::getIconPixmap( "metronome" ),
|
||||
tr( "Toggle metronome" ),
|
||||
tr( "Metronome" ),
|
||||
this, SLOT( onToggleMetronome() ),
|
||||
m_toolBar );
|
||||
m_metronomeToggle->setCheckable(true);
|
||||
@@ -485,81 +475,50 @@ void MainWindow::finalize()
|
||||
m_toolBarLayout->addWidget( project_open_recent, 0, 4 );
|
||||
m_toolBarLayout->addWidget( project_save, 0, 5 );
|
||||
m_toolBarLayout->addWidget( project_export, 0, 6 );
|
||||
m_toolBarLayout->addWidget( whatsthis, 0, 7 );
|
||||
m_toolBarLayout->addWidget( m_metronomeToggle, 0, 8 );
|
||||
m_toolBarLayout->addWidget( m_metronomeToggle, 0, 7 );
|
||||
|
||||
|
||||
// window-toolbar
|
||||
ToolButton * song_editor_window = new ToolButton(
|
||||
embed::getIconPixmap( "songeditor" ),
|
||||
tr( "Show/hide Song-Editor" ) + " (F5)",
|
||||
tr( "Song Editor" ) + " (F5)",
|
||||
this, SLOT( toggleSongEditorWin() ),
|
||||
m_toolBar );
|
||||
song_editor_window->setShortcut( Qt::Key_F5 );
|
||||
song_editor_window->setWhatsThis(
|
||||
tr( "By pressing this button, you can show or hide the "
|
||||
"Song-Editor. With the help of the Song-Editor you can "
|
||||
"edit song-playlist and specify when which track "
|
||||
"should be played. "
|
||||
"You can also insert and move samples (e.g. "
|
||||
"rap samples) directly into the playlist." ) );
|
||||
|
||||
|
||||
ToolButton * bb_editor_window = new ToolButton(
|
||||
embed::getIconPixmap( "bb_track_btn" ),
|
||||
tr( "Show/hide Beat+Bassline Editor" ) +
|
||||
tr( "Beat+Bassline Editor" ) +
|
||||
" (F6)",
|
||||
this, SLOT( toggleBBEditorWin() ),
|
||||
m_toolBar );
|
||||
bb_editor_window->setShortcut( Qt::Key_F6 );
|
||||
bb_editor_window->setWhatsThis(
|
||||
tr( "By pressing this button, you can show or hide the "
|
||||
"Beat+Bassline Editor. The Beat+Bassline Editor is "
|
||||
"needed for creating beats, and for opening, adding, and "
|
||||
"removing channels, and for cutting, copying and pasting "
|
||||
"beat and bassline-patterns, and for other things like "
|
||||
"that." ) );
|
||||
|
||||
|
||||
ToolButton * piano_roll_window = new ToolButton(
|
||||
embed::getIconPixmap( "piano" ),
|
||||
tr( "Show/hide Piano-Roll" ) +
|
||||
tr( "Piano Roll" ) +
|
||||
" (F7)",
|
||||
this, SLOT( togglePianoRollWin() ),
|
||||
m_toolBar );
|
||||
piano_roll_window->setShortcut( Qt::Key_F7 );
|
||||
piano_roll_window->setWhatsThis(
|
||||
tr( "Click here to show or hide the "
|
||||
"Piano-Roll. With the help of the Piano-Roll "
|
||||
"you can edit melodies in an easy way."
|
||||
) );
|
||||
|
||||
ToolButton * automation_editor_window = new ToolButton(
|
||||
embed::getIconPixmap( "automation" ),
|
||||
tr( "Show/hide Automation Editor" ) +
|
||||
tr( "Automation Editor" ) +
|
||||
" (F8)",
|
||||
this,
|
||||
SLOT( toggleAutomationEditorWin() ),
|
||||
m_toolBar );
|
||||
automation_editor_window->setShortcut( Qt::Key_F8 );
|
||||
automation_editor_window->setWhatsThis(
|
||||
tr( "Click here to show or hide the "
|
||||
"Automation Editor. With the help of the "
|
||||
"Automation Editor you can edit dynamic values "
|
||||
"in an easy way."
|
||||
) );
|
||||
|
||||
ToolButton * fx_mixer_window = new ToolButton(
|
||||
embed::getIconPixmap( "fx_mixer" ),
|
||||
tr( "Show/hide FX Mixer" ) + " (F9)",
|
||||
tr( "FX Mixer" ) + " (F9)",
|
||||
this, SLOT( toggleFxMixerWin() ),
|
||||
m_toolBar );
|
||||
fx_mixer_window->setShortcut( Qt::Key_F9 );
|
||||
fx_mixer_window->setWhatsThis(
|
||||
tr( "Click here to show or hide the "
|
||||
"FX Mixer. The FX Mixer is a very powerful tool "
|
||||
"for managing effects for your song. You can insert "
|
||||
"effects into different effect-channels." ) );
|
||||
|
||||
ToolButton * controllers_window = new ToolButton(
|
||||
embed::getIconPixmap( "controller" ),
|
||||
@@ -576,10 +535,6 @@ void MainWindow::finalize()
|
||||
this, SLOT( toggleProjectNotesWin() ),
|
||||
m_toolBar );
|
||||
project_notes_window->setShortcut( Qt::Key_F11 );
|
||||
project_notes_window->setWhatsThis(
|
||||
tr( "Click here to show or hide the "
|
||||
"project notes window. In this window you can put "
|
||||
"down your project notes.") );
|
||||
|
||||
m_toolBarLayout->addWidget( song_editor_window, 1, 1 );
|
||||
m_toolBarLayout->addWidget( bb_editor_window, 1, 2 );
|
||||
@@ -837,13 +792,6 @@ void MainWindow::emptySlot()
|
||||
|
||||
|
||||
|
||||
void MainWindow::enterWhatsThisMode()
|
||||
{
|
||||
QWhatsThis::enterWhatsThisMode();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void MainWindow::createNewProject()
|
||||
{
|
||||
if( mayChangeProject(true) )
|
||||
|
||||
@@ -66,15 +66,6 @@ PeakControllerDialog::~PeakControllerDialog()
|
||||
|
||||
|
||||
/*
|
||||
void effectView::displayHelp()
|
||||
{
|
||||
QWhatsThis::showText( mapToGlobal( rect().bottomRight() ),
|
||||
whatsThis() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void effectView::closeEffects()
|
||||
{
|
||||
m_subWindow->hide();
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include <QLayout>
|
||||
#include <QLineEdit>
|
||||
#include <QMessageBox>
|
||||
#include <QWhatsThis>
|
||||
#include <QScrollArea>
|
||||
|
||||
#include "SetupDialog.h"
|
||||
@@ -193,17 +192,10 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
|
||||
|
||||
QPushButton * bufsize_reset_btn = new QPushButton(
|
||||
embed::getIconPixmap( "reload" ), "", bufsize_tw );
|
||||
bufsize_reset_btn->setGeometry( 290, 40, 28, 28 );
|
||||
bufsize_reset_btn->setGeometry( 320, 40, 28, 28 );
|
||||
connect( bufsize_reset_btn, SIGNAL( clicked() ), this,
|
||||
SLOT( resetBufSize() ) );
|
||||
ToolTip::add( bufsize_reset_btn, tr( "Reset to default-value" ) );
|
||||
|
||||
QPushButton * bufsize_help_btn = new QPushButton(
|
||||
embed::getIconPixmap( "help" ), "", bufsize_tw );
|
||||
bufsize_help_btn->setGeometry( 320, 40, 28, 28 );
|
||||
connect( bufsize_help_btn, SIGNAL( clicked() ), this,
|
||||
SLOT( displayBufSizeHelp() ) );
|
||||
|
||||
ToolTip::add( bufsize_reset_btn, tr( "Reset to default value" ) );
|
||||
|
||||
TabWidget * misc_tw = new TabWidget( tr( "MISC" ), general );
|
||||
const int XDelta = 10;
|
||||
@@ -696,16 +688,10 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
|
||||
|
||||
QPushButton * autoSaveResetBtn = new QPushButton(
|
||||
embed::getIconPixmap( "reload" ), "", auto_save_tw );
|
||||
autoSaveResetBtn->setGeometry( 290, 70, 28, 28 );
|
||||
autoSaveResetBtn->setGeometry( 320, 70, 28, 28 );
|
||||
connect( autoSaveResetBtn, SIGNAL( clicked() ), this,
|
||||
SLOT( resetAutoSave() ) );
|
||||
ToolTip::add( autoSaveResetBtn, tr( "Reset to default-value" ) );
|
||||
|
||||
QPushButton * saveIntervalBtn = new QPushButton(
|
||||
embed::getIconPixmap( "help" ), "", auto_save_tw );
|
||||
saveIntervalBtn->setGeometry( 320, 70, 28, 28 );
|
||||
connect( saveIntervalBtn, SIGNAL( clicked() ), this,
|
||||
SLOT( displaySaveIntervalHelp() ) );
|
||||
ToolTip::add( autoSaveResetBtn, tr( "Reset to default value" ) );
|
||||
|
||||
m_saveIntervalSlider->setEnabled( m_enableAutoSave );
|
||||
m_runningAutoSave->setVisible( m_enableAutoSave );
|
||||
@@ -757,13 +743,6 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
|
||||
m_audioInterfaces->setGeometry( 10, 20, 240, 22 );
|
||||
|
||||
|
||||
QPushButton * audio_help_btn = new QPushButton(
|
||||
embed::getIconPixmap( "help" ), "", audioiface_tw );
|
||||
audio_help_btn->setGeometry( 320, 20, 28, 28 );
|
||||
connect( audio_help_btn, SIGNAL( clicked() ), this,
|
||||
SLOT( displayAudioHelp() ) );
|
||||
|
||||
|
||||
// create ifaces-settings-widget
|
||||
QWidget * asw = new QWidget( audio );
|
||||
asw->setFixedHeight( 60 );
|
||||
@@ -868,13 +847,6 @@ SetupDialog::SetupDialog( ConfigTabs _tab_to_open ) :
|
||||
m_midiInterfaces->setGeometry( 10, 20, 240, 22 );
|
||||
|
||||
|
||||
QPushButton * midi_help_btn = new QPushButton(
|
||||
embed::getIconPixmap( "help" ), "", midiiface_tw );
|
||||
midi_help_btn->setGeometry( 320, 20, 28, 28 );
|
||||
connect( midi_help_btn, SIGNAL( clicked() ), this,
|
||||
SLOT( displayMIDIHelp() ) );
|
||||
|
||||
|
||||
// create ifaces-settings-widget
|
||||
QWidget * msw = new QWidget( midi );
|
||||
msw->setFixedHeight( 60 );
|
||||
@@ -1162,21 +1134,6 @@ void SetupDialog::resetBufSize()
|
||||
|
||||
|
||||
|
||||
void SetupDialog::displayBufSizeHelp()
|
||||
{
|
||||
QWhatsThis::showText( QCursor::pos(),
|
||||
tr( "Here you can setup the internal buffer-size "
|
||||
"used by LMMS. Smaller values result "
|
||||
"in a lower latency but also may cause "
|
||||
"unusable sound or bad performance, "
|
||||
"especially on older computers or "
|
||||
"systems with a non-realtime "
|
||||
"kernel." ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SetupDialog::toggleToolTips( bool _enabled )
|
||||
{
|
||||
m_toolTips = _enabled;
|
||||
@@ -1554,19 +1511,6 @@ void SetupDialog::resetAutoSave()
|
||||
|
||||
|
||||
|
||||
void SetupDialog::displaySaveIntervalHelp()
|
||||
{
|
||||
QWhatsThis::showText( QCursor::pos(),
|
||||
tr( "Set the time between automatic backup to %1.\n"
|
||||
"Remember to also save your project manually. "
|
||||
"You can choose to disable saving while playing, "
|
||||
"something some older systems find difficult." ).arg(
|
||||
ConfigManager::inst()->recoveryFile() ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SetupDialog::audioInterfaceChanged( const QString & _iface )
|
||||
{
|
||||
for( AswMap::iterator it = m_audioIfaceSetupWidgets.begin();
|
||||
@@ -1581,22 +1525,6 @@ void SetupDialog::audioInterfaceChanged( const QString & _iface )
|
||||
|
||||
|
||||
|
||||
void SetupDialog::displayAudioHelp()
|
||||
{
|
||||
QWhatsThis::showText( QCursor::pos(),
|
||||
tr( "Here you can select your preferred "
|
||||
"audio-interface. Depending on the "
|
||||
"configuration of your system during "
|
||||
"compilation time you can choose "
|
||||
"between ALSA, JACK, OSS and more. "
|
||||
"Below you see a box which offers "
|
||||
"controls to setup the selected "
|
||||
"audio-interface." ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SetupDialog::midiInterfaceChanged( const QString & _iface )
|
||||
{
|
||||
for( MswMap::iterator it = m_midiIfaceSetupWidgets.begin();
|
||||
@@ -1607,19 +1535,3 @@ void SetupDialog::midiInterfaceChanged( const QString & _iface )
|
||||
|
||||
m_midiIfaceSetupWidgets[m_midiIfaceNames[_iface]]->show();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SetupDialog::displayMIDIHelp()
|
||||
{
|
||||
QWhatsThis::showText( QCursor::pos(),
|
||||
tr( "Here you can select your preferred "
|
||||
"MIDI-interface. Depending on the "
|
||||
"configuration of your system during "
|
||||
"compilation time you can choose "
|
||||
"between ALSA, OSS and more. "
|
||||
"Below you see a box which offers "
|
||||
"controls to setup the selected "
|
||||
"MIDI-interface." ) );
|
||||
}
|
||||
|
||||
@@ -117,14 +117,14 @@ TimeLineWidget::~TimeLineWidget()
|
||||
void TimeLineWidget::addToolButtons( QToolBar * _tool_bar )
|
||||
{
|
||||
NStateButton * autoScroll = new NStateButton( _tool_bar );
|
||||
autoScroll->setGeneralToolTip( tr( "Enable/disable auto-scrolling" ) );
|
||||
autoScroll->setGeneralToolTip( tr( "Auto scrolling" ) );
|
||||
autoScroll->addState( embed::getIconPixmap( "autoscroll_on" ) );
|
||||
autoScroll->addState( embed::getIconPixmap( "autoscroll_off" ) );
|
||||
connect( autoScroll, SIGNAL( changedState( int ) ), this,
|
||||
SLOT( toggleAutoScroll( int ) ) );
|
||||
|
||||
NStateButton * loopPoints = new NStateButton( _tool_bar );
|
||||
loopPoints->setGeneralToolTip( tr( "Enable/disable loop-points" ) );
|
||||
loopPoints->setGeneralToolTip( tr( "Loop points" ) );
|
||||
loopPoints->addState( embed::getIconPixmap( "loop_points_off" ) );
|
||||
loopPoints->addState( embed::getIconPixmap( "loop_points_on" ) );
|
||||
connect( loopPoints, SIGNAL( changedState( int ) ), this,
|
||||
|
||||
@@ -2226,15 +2226,8 @@ AutomationEditorWindow::AutomationEditorWindow() :
|
||||
|
||||
// Play/stop buttons
|
||||
m_playAction->setToolTip(tr( "Play/pause current pattern (Space)" ));
|
||||
m_playAction->setWhatsThis(
|
||||
tr( "Click here if you want to play the current pattern. "
|
||||
"This is useful while editing it. The pattern is "
|
||||
"automatically looped when the end is reached." ) );
|
||||
|
||||
m_stopAction->setToolTip(tr("Stop playing of current pattern (Space)"));
|
||||
m_stopAction->setWhatsThis(
|
||||
tr( "Click here if you want to stop playing of the "
|
||||
"current pattern." ) );
|
||||
|
||||
// Edit mode buttons
|
||||
DropToolBar *editActionsToolBar = addDropToolBarToTop(tr("Edit actions"));
|
||||
@@ -2250,39 +2243,10 @@ AutomationEditorWindow::AutomationEditorWindow() :
|
||||
m_flipYAction = new QAction(embed::getIconPixmap("flip_y"), tr("Flip vertically"), this);
|
||||
m_flipXAction = new QAction(embed::getIconPixmap("flip_x"), tr("Flip horizontally"), this);
|
||||
|
||||
m_flipYAction->setWhatsThis(
|
||||
tr( "Click here and the pattern will be inverted."
|
||||
"The points are flipped in the y direction. " ) );
|
||||
m_flipXAction->setWhatsThis(
|
||||
tr( "Click here and the pattern will be reversed. "
|
||||
"The points are flipped in the x direction." ) );
|
||||
|
||||
// TODO: m_selectButton and m_moveButton are broken.
|
||||
// m_selectButton = new QAction(embed::getIconPixmap("edit_select"), tr("Select mode (Shift+S)"), editModeGroup);
|
||||
// m_moveButton = new QAction(embed::getIconPixmap("edit_move"), tr("Move selection mode (Shift+M)"), editModeGroup);
|
||||
|
||||
drawAction->setWhatsThis(
|
||||
tr( "Click here and draw-mode will be activated. In this "
|
||||
"mode you can add and move single values. This "
|
||||
"is the default mode which is used most of the time. "
|
||||
"You can also press 'Shift+D' on your keyboard to "
|
||||
"activate this mode." ) );
|
||||
eraseAction->setWhatsThis(
|
||||
tr( "Click here and erase-mode will be activated. In this "
|
||||
"mode you can erase single values. You can also press "
|
||||
"'Shift+E' on your keyboard to activate this mode." ) );
|
||||
/*m_selectButton->setWhatsThis(
|
||||
tr( "Click here and select-mode will be activated. In this "
|
||||
"mode you can select values. This is necessary "
|
||||
"if you want to cut, copy, paste, delete, or move "
|
||||
"values. You can also press 'Shift+S' on your keyboard "
|
||||
"to activate this mode." ) );
|
||||
m_moveButton->setWhatsThis(
|
||||
tr( "If you click here, move-mode will be activated. In this "
|
||||
"mode you can move the values you selected in select-"
|
||||
"mode. You can also press 'Shift+M' on your keyboard "
|
||||
"to activate this mode." ) );*/
|
||||
|
||||
connect(editModeGroup, SIGNAL(triggered(int)), m_editor, SLOT(setEditMode(int)));
|
||||
|
||||
editActionsToolBar->addAction(drawAction);
|
||||
@@ -2313,32 +2277,9 @@ AutomationEditorWindow::AutomationEditorWindow() :
|
||||
m_tensionKnob = new Knob( knobSmall_17, this, "Tension" );
|
||||
m_tensionKnob->setModel(m_editor->m_tensionModel);
|
||||
ToolTip::add(m_tensionKnob, tr("Tension value for spline"));
|
||||
m_tensionKnob->setWhatsThis(
|
||||
tr("A higher tension value may make a smoother curve "
|
||||
"but overshoot some values. A low tension "
|
||||
"value will cause the slope of the curve to "
|
||||
"level off at each control point."));
|
||||
|
||||
connect(m_cubicHermiteAction, SIGNAL(toggled(bool)), m_tensionKnob, SLOT(setEnabled(bool)));
|
||||
|
||||
m_discreteAction->setWhatsThis(
|
||||
tr( "Click here to choose discrete progressions for this "
|
||||
"automation pattern. The value of the connected "
|
||||
"object will remain constant between control points "
|
||||
"and be set immediately to the new value when each "
|
||||
"control point is reached." ) );
|
||||
m_linearAction->setWhatsThis(
|
||||
tr( "Click here to choose linear progressions for this "
|
||||
"automation pattern. The value of the connected "
|
||||
"object will change at a steady rate over time "
|
||||
"between control points to reach the correct value at "
|
||||
"each control point without a sudden change." ) );
|
||||
m_cubicHermiteAction->setWhatsThis(
|
||||
tr( "Click here to choose cubic hermite progressions for this "
|
||||
"automation pattern. The value of the connected "
|
||||
"object will change in a smooth curve and ease in to "
|
||||
"the peaks and valleys." ) );
|
||||
|
||||
interpolationActionsToolBar->addSeparator();
|
||||
interpolationActionsToolBar->addAction(m_discreteAction);
|
||||
interpolationActionsToolBar->addAction(m_linearAction);
|
||||
@@ -2374,18 +2315,6 @@ AutomationEditorWindow::AutomationEditorWindow() :
|
||||
"Ctrl"), this);
|
||||
#endif
|
||||
|
||||
cutAction->setWhatsThis(
|
||||
tr( "Click here and selected values will be cut into the "
|
||||
"clipboard. You can paste them anywhere in any pattern "
|
||||
"by clicking on the paste button." ) );
|
||||
copyAction->setWhatsThis(
|
||||
tr( "Click here and selected values will be copied into "
|
||||
"the clipboard. You can paste them anywhere in any "
|
||||
"pattern by clicking on the paste button." ) );
|
||||
pasteAction->setWhatsThis(
|
||||
tr( "Click here and the values from the clipboard will be "
|
||||
"pasted at the first visible measure." ) );
|
||||
|
||||
cutAction->setShortcut(Qt::CTRL | Qt::Key_X);
|
||||
copyAction->setShortcut(Qt::CTRL | Qt::Key_C);
|
||||
pasteAction->setShortcut(Qt::CTRL | Qt::Key_V);
|
||||
@@ -2416,6 +2345,7 @@ AutomationEditorWindow::AutomationEditorWindow() :
|
||||
|
||||
m_zoomingXComboBox = new ComboBox( zoomToolBar );
|
||||
m_zoomingXComboBox->setFixedSize( 80, 22 );
|
||||
m_zoomingXComboBox->setToolTip( tr( "Horizontal zooming" ) );
|
||||
|
||||
for( float const & zoomLevel : m_editor->m_zoomXLevels )
|
||||
{
|
||||
@@ -2434,6 +2364,7 @@ AutomationEditorWindow::AutomationEditorWindow() :
|
||||
|
||||
m_zoomingYComboBox = new ComboBox( zoomToolBar );
|
||||
m_zoomingYComboBox->setFixedSize( 80, 22 );
|
||||
m_zoomingYComboBox->setToolTip( tr( "Vertical zooming" ) );
|
||||
|
||||
m_editor->m_zoomingYModel.addItem( "Auto" );
|
||||
for( int i = 0; i < 7; ++i )
|
||||
@@ -2463,17 +2394,12 @@ AutomationEditorWindow::AutomationEditorWindow() :
|
||||
|
||||
m_quantizeComboBox = new ComboBox( m_toolBar );
|
||||
m_quantizeComboBox->setFixedSize( 60, 22 );
|
||||
m_quantizeComboBox->setToolTip( tr( "Quantization" ) );
|
||||
|
||||
m_quantizeComboBox->setModel( &m_editor->m_quantizeModel );
|
||||
|
||||
quantizationActionsToolBar->addWidget( quantize_lbl );
|
||||
quantizationActionsToolBar->addWidget( m_quantizeComboBox );
|
||||
m_quantizeComboBox->setToolTip( tr( "Quantization" ) );
|
||||
m_quantizeComboBox->setWhatsThis( tr( "Quantization. Sets the smallest "
|
||||
"step size for the Automation Point. By default "
|
||||
"this also sets the length, clearing out other "
|
||||
"points in the range. Press <Ctrl> to override "
|
||||
"this behaviour." ) );
|
||||
|
||||
// Setup our actual window
|
||||
setFocusPolicy( Qt::StrongFocus );
|
||||
|
||||
@@ -69,14 +69,6 @@ BBEditor::BBEditor( BBTrackContainer* tc ) :
|
||||
m_playAction->setToolTip(tr( "Play/pause current beat/bassline (Space)" ));
|
||||
m_stopAction->setToolTip(tr( "Stop playback of current beat/bassline (Space)" ));
|
||||
|
||||
m_playAction->setWhatsThis(
|
||||
tr( "Click here to play the current "
|
||||
"beat/bassline. The beat/bassline is automatically "
|
||||
"looped when its end is reached." ) );
|
||||
m_stopAction->setWhatsThis(
|
||||
tr( "Click here to stop playing of current "
|
||||
"beat/bassline." ) );
|
||||
|
||||
|
||||
// Beat selector
|
||||
DropToolBar *beatSelectionToolBar = addDropToolBarToTop(tr("Beat selector"));
|
||||
|
||||
@@ -4058,25 +4058,6 @@ PianoRollWindow::PianoRollWindow() :
|
||||
m_recordAccompanyAction->setToolTip( tr( "Record notes from MIDI-device/channel-piano while playing song or BB track" ) );
|
||||
m_stopAction->setToolTip( tr( "Stop playing of current pattern (Space)" ) );
|
||||
|
||||
m_playAction->setWhatsThis(
|
||||
tr( "Click here to play the current pattern. "
|
||||
"This is useful while editing it. The pattern is "
|
||||
"automatically looped when its end is reached." ) );
|
||||
m_recordAction->setWhatsThis(
|
||||
tr( "Click here to record notes from a MIDI-"
|
||||
"device or the virtual test-piano of the according "
|
||||
"channel-window to the current pattern. When recording "
|
||||
"all notes you play will be written to this pattern "
|
||||
"and you can play and edit them afterwards." ) );
|
||||
m_recordAccompanyAction->setWhatsThis(
|
||||
tr( "Click here to record notes from a MIDI-"
|
||||
"device or the virtual test-piano of the according "
|
||||
"channel-window to the current pattern. When recording "
|
||||
"all notes you play will be written to this pattern "
|
||||
"and you will hear the song or BB track in the background." ) );
|
||||
m_stopAction->setWhatsThis(
|
||||
tr( "Click here to stop playback of current pattern." ) );
|
||||
|
||||
DropToolBar *notesActionsToolBar = addDropToolBarToTop( tr( "Edit actions" ) );
|
||||
|
||||
// init edit-buttons at the top
|
||||
@@ -4093,39 +4074,6 @@ PianoRollWindow::PianoRollWindow() :
|
||||
selectAction->setShortcut( Qt::SHIFT | Qt::Key_S );
|
||||
pitchBendAction->setShortcut( Qt::SHIFT | Qt::Key_T );
|
||||
|
||||
drawAction->setWhatsThis(
|
||||
tr( "Click here and draw mode will be activated. In this "
|
||||
"mode you can add, resize and move notes. This "
|
||||
"is the default mode which is used most of the time. "
|
||||
"You can also press 'Shift+D' on your keyboard to "
|
||||
"activate this mode. In this mode, hold %1 to "
|
||||
"temporarily go into select mode." ).arg(
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
"⌘" ) );
|
||||
#else
|
||||
"Ctrl" ) );
|
||||
#endif
|
||||
eraseAction->setWhatsThis(
|
||||
tr( "Click here and erase mode will be activated. In this "
|
||||
"mode you can erase notes. You can also press "
|
||||
"'Shift+E' on your keyboard to activate this mode." ) );
|
||||
selectAction->setWhatsThis(
|
||||
tr( "Click here and select mode will be activated. "
|
||||
"In this mode you can select notes. Alternatively, "
|
||||
"you can hold %1 in draw mode to temporarily use "
|
||||
"select mode." ).arg(
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
"⌘" ) );
|
||||
#else
|
||||
"Ctrl" ) );
|
||||
#endif
|
||||
pitchBendAction->setWhatsThis(
|
||||
tr( "Click here and Pitch Bend mode will be activated. "
|
||||
"In this mode you can click a note to open its "
|
||||
"automation detuning. You can utilize this to slide "
|
||||
"notes from one to another. You can also press "
|
||||
"'Shift+T' on your keyboard to activate this mode." ) );
|
||||
|
||||
connect( editModeGroup, SIGNAL( triggered( int ) ), m_editor, SLOT( setEditMode( int ) ) );
|
||||
|
||||
QAction* quantizeAction = new QAction(embed::getIconPixmap( "quantize" ), tr( "Quantize" ), this );
|
||||
@@ -4142,7 +4090,7 @@ PianoRollWindow::PianoRollWindow() :
|
||||
DropToolBar *copyPasteActionsToolBar = addDropToolBarToTop( tr( "Copy paste controls" ) );
|
||||
|
||||
QAction* cutAction = new QAction(embed::getIconPixmap( "edit_cut" ),
|
||||
tr( "Cut selected notes (%1+X)" ).arg(
|
||||
tr( "Cut (%1+X)" ).arg(
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
"⌘" ), this );
|
||||
#else
|
||||
@@ -4150,7 +4098,7 @@ PianoRollWindow::PianoRollWindow() :
|
||||
#endif
|
||||
|
||||
QAction* copyAction = new QAction(embed::getIconPixmap( "edit_copy" ),
|
||||
tr( "Copy selected notes (%1+C)" ).arg(
|
||||
tr( "Copy (%1+C)" ).arg(
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
"⌘"), this);
|
||||
#else
|
||||
@@ -4158,25 +4106,13 @@ PianoRollWindow::PianoRollWindow() :
|
||||
#endif
|
||||
|
||||
QAction* pasteAction = new QAction(embed::getIconPixmap( "edit_paste" ),
|
||||
tr( "Paste notes from clipboard (%1+V)" ).arg(
|
||||
tr( "Paste (%1+V)" ).arg(
|
||||
#ifdef LMMS_BUILD_APPLE
|
||||
"⌘" ), this );
|
||||
#else
|
||||
"Ctrl" ), this );
|
||||
#endif
|
||||
|
||||
cutAction->setWhatsThis(
|
||||
tr( "Click here and the selected notes will be cut into the "
|
||||
"clipboard. You can paste them anywhere in any pattern "
|
||||
"by clicking on the paste button." ) );
|
||||
copyAction->setWhatsThis(
|
||||
tr( "Click here and the selected notes will be copied into the "
|
||||
"clipboard. You can paste them anywhere in any pattern "
|
||||
"by clicking on the paste button." ) );
|
||||
pasteAction->setWhatsThis(
|
||||
tr( "Click here and the notes from the clipboard will be "
|
||||
"pasted at the first visible measure." ) );
|
||||
|
||||
cutAction->setShortcut( Qt::CTRL | Qt::Key_X );
|
||||
copyAction->setShortcut( Qt::CTRL | Qt::Key_C );
|
||||
pasteAction->setShortcut( Qt::CTRL | Qt::Key_V );
|
||||
@@ -4205,6 +4141,7 @@ PianoRollWindow::PianoRollWindow() :
|
||||
m_zoomingComboBox = new ComboBox( m_toolBar );
|
||||
m_zoomingComboBox->setModel( &m_editor->m_zoomingModel );
|
||||
m_zoomingComboBox->setFixedSize( 64, 22 );
|
||||
m_zoomingComboBox->setToolTip( tr( "Horizontal zooming") );
|
||||
|
||||
// setup quantize-stuff
|
||||
QLabel * quantize_lbl = new QLabel( m_toolBar );
|
||||
@@ -4213,6 +4150,7 @@ PianoRollWindow::PianoRollWindow() :
|
||||
m_quantizeComboBox = new ComboBox( m_toolBar );
|
||||
m_quantizeComboBox->setModel( &m_editor->m_quantizeModel );
|
||||
m_quantizeComboBox->setFixedSize( 64, 22 );
|
||||
m_quantizeComboBox->setToolTip( tr( "Quantization") );
|
||||
|
||||
// setup note-len-stuff
|
||||
QLabel * note_len_lbl = new QLabel( m_toolBar );
|
||||
@@ -4221,6 +4159,7 @@ PianoRollWindow::PianoRollWindow() :
|
||||
m_noteLenComboBox = new ComboBox( m_toolBar );
|
||||
m_noteLenComboBox->setModel( &m_editor->m_noteLenModel );
|
||||
m_noteLenComboBox->setFixedSize( 105, 22 );
|
||||
m_noteLenComboBox->setToolTip( tr( "Note length") );
|
||||
|
||||
// setup scale-stuff
|
||||
QLabel * scale_lbl = new QLabel( m_toolBar );
|
||||
@@ -4229,6 +4168,7 @@ PianoRollWindow::PianoRollWindow() :
|
||||
m_scaleComboBox = new ComboBox( m_toolBar );
|
||||
m_scaleComboBox->setModel( &m_editor->m_scaleModel );
|
||||
m_scaleComboBox->setFixedSize( 105, 22 );
|
||||
m_scaleComboBox->setToolTip( tr( "Scale") );
|
||||
|
||||
// setup chord-stuff
|
||||
QLabel * chord_lbl = new QLabel( m_toolBar );
|
||||
@@ -4237,6 +4177,7 @@ PianoRollWindow::PianoRollWindow() :
|
||||
m_chordComboBox = new ComboBox( m_toolBar );
|
||||
m_chordComboBox->setModel( &m_editor->m_chordModel );
|
||||
m_chordComboBox->setFixedSize( 105, 22 );
|
||||
m_chordComboBox->setToolTip( tr( "Chord") );
|
||||
|
||||
|
||||
zoomAndNotesToolBar->addWidget( zoom_lbl );
|
||||
@@ -4258,53 +4199,6 @@ PianoRollWindow::PianoRollWindow() :
|
||||
zoomAndNotesToolBar->addWidget( chord_lbl );
|
||||
zoomAndNotesToolBar->addWidget( m_chordComboBox );
|
||||
|
||||
m_zoomingComboBox->setWhatsThis(
|
||||
tr(
|
||||
"This controls the magnification of an axis. "
|
||||
"It can be helpful to choose magnification for a specific "
|
||||
"task. For ordinary editing, the magnification should be "
|
||||
"fitted to your smallest notes. "
|
||||
) );
|
||||
|
||||
m_quantizeComboBox->setWhatsThis(
|
||||
tr(
|
||||
"The 'Q' stands for quantization, and controls the grid size "
|
||||
"notes and control points snap to. "
|
||||
"With smaller quantization values, you can draw shorter notes "
|
||||
"in Piano Roll, and more exact control points in the "
|
||||
"Automation Editor."
|
||||
|
||||
) );
|
||||
|
||||
m_noteLenComboBox->setWhatsThis(
|
||||
tr(
|
||||
"This lets you select the length of new notes. "
|
||||
"'Last Note' means that LMMS will use the note length of "
|
||||
"the note you last edited"
|
||||
) );
|
||||
|
||||
m_scaleComboBox->setWhatsThis(
|
||||
tr(
|
||||
"The feature is directly connected to the context-menu "
|
||||
"on the virtual keyboard, to the left in Piano Roll. "
|
||||
"After you have chosen the scale you want "
|
||||
"in this drop-down menu, "
|
||||
"you can right click on a desired key in the virtual keyboard, "
|
||||
"and then choose 'Mark current Scale'. "
|
||||
"LMMS will highlight all notes that belongs to the chosen scale, "
|
||||
"and in the key you have selected!"
|
||||
) );
|
||||
|
||||
m_chordComboBox->setWhatsThis(
|
||||
tr(
|
||||
"Let you select a chord which LMMS then can draw or highlight."
|
||||
"You can find the most common chords in this drop-down menu. "
|
||||
"After you have selected a chord, click anywhere to place the chord, and right "
|
||||
"click on the virtual keyboard to open context menu and highlight the chord. "
|
||||
"To return to single note placement, you need to choose 'No chord' "
|
||||
"in this drop-down menu."
|
||||
) );
|
||||
|
||||
// setup our actual window
|
||||
setFocusPolicy( Qt::StrongFocus );
|
||||
setFocus();
|
||||
|
||||
@@ -112,16 +112,8 @@ SongEditor::SongEditor( Song * song ) :
|
||||
|
||||
m_tempoSpinBox = new LcdSpinBox( 3, tb, tr( "Tempo" ) );
|
||||
m_tempoSpinBox->setModel( &m_song->m_tempoModel );
|
||||
m_tempoSpinBox->setLabel( tr( "TEMPO/BPM" ) );
|
||||
ToolTip::add( m_tempoSpinBox, tr( "tempo of song" ) );
|
||||
|
||||
m_tempoSpinBox->setWhatsThis(
|
||||
tr( "The tempo of a song is specified in beats per minute "
|
||||
"(BPM). If you want to change the tempo of your "
|
||||
"song, change this value. Every measure has four beats, "
|
||||
"so the tempo in BPM specifies, how many measures / 4 "
|
||||
"should be played within a minute (or how many measures "
|
||||
"should be played within four minutes)." ) );
|
||||
m_tempoSpinBox->setLabel( tr( "TEMPO" ) );
|
||||
ToolTip::add( m_tempoSpinBox, tr( "Tempo in BPM" ) );
|
||||
|
||||
int tempoSpinBoxCol = gui->mainWindow()->addWidgetToToolBar( m_tempoSpinBox, 0 );
|
||||
|
||||
@@ -158,7 +150,7 @@ SongEditor::SongEditor( Song * song ) :
|
||||
m_masterVolumeSlider->setTickPosition( QSlider::TicksLeft );
|
||||
m_masterVolumeSlider->setFixedSize( 26, 60 );
|
||||
m_masterVolumeSlider->setTickInterval( 50 );
|
||||
ToolTip::add( m_masterVolumeSlider, tr( "master volume" ) );
|
||||
ToolTip::add( m_masterVolumeSlider, tr( "Master volume" ) );
|
||||
|
||||
connect( m_masterVolumeSlider, SIGNAL( logicValueChanged( int ) ), this,
|
||||
SLOT( setMasterVolume( int ) ) );
|
||||
@@ -191,7 +183,7 @@ SongEditor::SongEditor( Song * song ) :
|
||||
m_masterPitchSlider->setTickPosition( QSlider::TicksLeft );
|
||||
m_masterPitchSlider->setFixedSize( 26, 60 );
|
||||
m_masterPitchSlider->setTickInterval( 12 );
|
||||
ToolTip::add( m_masterPitchSlider, tr( "master pitch" ) );
|
||||
ToolTip::add( m_masterPitchSlider, tr( "Master pitch" ) );
|
||||
connect( m_masterPitchSlider, SIGNAL( logicValueChanged( int ) ), this,
|
||||
SLOT( setMasterPitch( int ) ) );
|
||||
connect( m_masterPitchSlider, SIGNAL( sliderPressed() ), this,
|
||||
@@ -681,14 +673,6 @@ SongEditorWindow::SongEditorWindow(Song* song) :
|
||||
m_recordAccompanyAction->setToolTip(tr( "Record samples from Audio-device while playing song or BB track"));
|
||||
m_stopAction->setToolTip(tr( "Stop song (Space)" ));
|
||||
|
||||
m_playAction->setWhatsThis(
|
||||
tr("Click here, if you want to play your whole song. "
|
||||
"Playing will be started at the song-position-marker (green). "
|
||||
"You can also move it while playing."));
|
||||
m_stopAction->setWhatsThis(
|
||||
tr("Click here, if you want to stop playing of your song. "
|
||||
"The song-position-marker will be set to the start of your song."));
|
||||
|
||||
|
||||
// Track actions
|
||||
DropToolBar *trackActionsToolBar = addDropToolBarToTop(tr("Track actions"));
|
||||
@@ -739,6 +723,7 @@ SongEditorWindow::SongEditorWindow(Song* song) :
|
||||
m_zoomingComboBox->setFixedSize( 80, 22 );
|
||||
m_zoomingComboBox->move( 580, 4 );
|
||||
m_zoomingComboBox->setModel(m_editor->m_zoomingModel);
|
||||
m_zoomingComboBox->setToolTip(tr("Horizontal zooming"));
|
||||
|
||||
zoomToolBar->addWidget( zoom_lbl );
|
||||
zoomToolBar->addWidget( m_zoomingComboBox );
|
||||
|
||||
@@ -42,23 +42,3 @@ CaptionMenu::CaptionMenu( const QString & _title, QWidget * _parent ) :
|
||||
CaptionMenu::~CaptionMenu()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void CaptionMenu::addHelpAction()
|
||||
{
|
||||
QWidget* parent = (QWidget*) this->parent();
|
||||
|
||||
if (parent == NULL)
|
||||
return;
|
||||
|
||||
if (! parent->whatsThis().isEmpty()) {
|
||||
addAction( embed::getIconPixmap( "help" ), tr( "&Help" ),
|
||||
parent, SLOT( displayHelp() ) );
|
||||
}
|
||||
else {
|
||||
QAction* helpAction = addAction( embed::getIconPixmap("help"), tr("Help (not available)") );
|
||||
helpAction->setDisabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
#include <QMdiSubWindow>
|
||||
#include <QPainter>
|
||||
#include <QInputDialog>
|
||||
#include <QWhatsThis>
|
||||
#include <QLayout>
|
||||
|
||||
#include "ControllerView.h"
|
||||
@@ -92,9 +91,6 @@ ControllerView::ControllerView( Controller * _model, QWidget * _parent ) :
|
||||
|
||||
m_subWindow->hide();
|
||||
|
||||
setWhatsThis( tr( "Controllers are able to automate the value of a knob, "
|
||||
"slider, and other controls." ) );
|
||||
|
||||
setModel( _model );
|
||||
}
|
||||
|
||||
@@ -183,19 +179,6 @@ void ControllerView::contextMenuEvent( QContextMenuEvent * )
|
||||
this, SLOT( deleteController() ) );
|
||||
contextMenu->addAction( tr("Re&name this controller"), this, SLOT( renameController() ));
|
||||
contextMenu->addSeparator();
|
||||
contextMenu->addHelpAction();
|
||||
contextMenu->exec( QCursor::pos() );
|
||||
delete contextMenu;
|
||||
}
|
||||
|
||||
|
||||
void ControllerView::displayHelp()
|
||||
{
|
||||
QWhatsThis::showText( mapToGlobal( rect().center() ),
|
||||
whatsThis() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include <QMdiArea>
|
||||
#include <QMdiSubWindow>
|
||||
#include <QPainter>
|
||||
#include <QWhatsThis>
|
||||
|
||||
#include "EffectView.h"
|
||||
#include "DummyEffect.h"
|
||||
@@ -56,7 +55,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
|
||||
m_bypass = new LedCheckBox( this, "", isEnabled ? LedCheckBox::Green : LedCheckBox::Red );
|
||||
m_bypass->move( 3, 3 );
|
||||
m_bypass->setEnabled( isEnabled );
|
||||
m_bypass->setWhatsThis( tr( "Toggles the effect on or off." ) );
|
||||
|
||||
ToolTip::add( m_bypass, tr( "On/Off" ) );
|
||||
|
||||
@@ -66,9 +64,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
|
||||
m_wetDry->move( 27, 5 );
|
||||
m_wetDry->setEnabled( isEnabled );
|
||||
m_wetDry->setHintText( tr( "Wet Level:" ), "" );
|
||||
m_wetDry->setWhatsThis( tr( "The Wet/Dry knob sets the ratio between "
|
||||
"the input signal and the effect signal that "
|
||||
"forms the output." ) );
|
||||
|
||||
|
||||
m_autoQuit = new TempoSyncKnob( knobBright_26, this );
|
||||
@@ -76,10 +71,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
|
||||
m_autoQuit->move( 60, 5 );
|
||||
m_autoQuit->setEnabled( isEnabled );
|
||||
m_autoQuit->setHintText( tr( "Time:" ), "ms" );
|
||||
m_autoQuit->setWhatsThis( tr(
|
||||
"The Decay knob controls how many buffers of silence must pass before the "
|
||||
"plugin stops processing. Smaller values will reduce the CPU overhead but "
|
||||
"run the risk of clipping the tail on delay and reverb effects." ) );
|
||||
|
||||
|
||||
m_gate = new Knob( knobBright_26, this );
|
||||
@@ -87,9 +78,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
|
||||
m_gate->move( 93, 5 );
|
||||
m_gate->setEnabled( isEnabled );
|
||||
m_gate->setHintText( tr( "Gate:" ), "" );
|
||||
m_gate->setWhatsThis( tr(
|
||||
"The Gate knob controls the signal level that is considered to be 'silence' "
|
||||
"while deciding when to stop processing signals." ) );
|
||||
|
||||
|
||||
setModel( _model );
|
||||
@@ -123,35 +111,6 @@ EffectView::EffectView( Effect * _model, QWidget * _parent ) :
|
||||
}
|
||||
|
||||
|
||||
setWhatsThis( tr(
|
||||
"Effect plugins function as a chained series of effects where the signal will "
|
||||
"be processed from top to bottom.\n\n"
|
||||
|
||||
"The On/Off switch allows you to bypass a given plugin at any point in "
|
||||
"time.\n\n"
|
||||
|
||||
"The Wet/Dry knob controls the balance between the input signal and the "
|
||||
"effected signal that is the resulting output from the effect. The input "
|
||||
"for the stage is the output from the previous stage. So, the 'dry' signal "
|
||||
"for effects lower in the chain contains all of the previous effects.\n\n"
|
||||
|
||||
"The Decay knob controls how long the signal will continue to be processed "
|
||||
"after the notes have been released. The effect will stop processing signals "
|
||||
"when the volume has dropped below a given threshold for a given length of "
|
||||
"time. This knob sets the 'given length of time'. Longer times will require "
|
||||
"more CPU, so this number should be set low for most effects. It needs to be "
|
||||
"bumped up for effects that produce lengthy periods of silence, e.g. "
|
||||
"delays.\n\n"
|
||||
|
||||
"The Gate knob controls the 'given threshold' for the effect's auto shutdown. "
|
||||
"The clock for the 'given length of time' will begin as soon as the processed "
|
||||
"signal level drops below the level specified with this knob.\n\n"
|
||||
|
||||
"The Controls button opens a dialog for editing the effect's parameters.\n\n"
|
||||
|
||||
"Right clicking will bring up a context menu where you can change the order "
|
||||
"in which the effects are processed or delete an effect altogether." ) );
|
||||
|
||||
//move above vst effect view creation
|
||||
//setModel( _model );
|
||||
}
|
||||
@@ -222,15 +181,6 @@ void EffectView::deletePlugin()
|
||||
|
||||
|
||||
|
||||
void EffectView::displayHelp()
|
||||
{
|
||||
QWhatsThis::showText( mapToGlobal( rect().bottomRight() ),
|
||||
whatsThis() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void EffectView::closeEffects()
|
||||
{
|
||||
if( m_subWindow )
|
||||
@@ -256,7 +206,6 @@ void EffectView::contextMenuEvent( QContextMenuEvent * )
|
||||
tr( "&Remove this plugin" ),
|
||||
this, SLOT( deletePlugin() ) );
|
||||
contextMenu->addSeparator();
|
||||
contextMenu->addHelpAction();
|
||||
contextMenu->exec( QCursor::pos() );
|
||||
delete contextMenu;
|
||||
}
|
||||
|
||||
@@ -97,78 +97,43 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
m_predelayKnob = new Knob( knobBright_26, this );
|
||||
m_predelayKnob->setLabel( tr( "DEL" ) );
|
||||
m_predelayKnob->move( PREDELAY_KNOB_X, ENV_KNOBS_Y );
|
||||
m_predelayKnob->setHintText( tr( "Predelay:" ), "" );
|
||||
m_predelayKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting predelay of the current "
|
||||
"envelope. The bigger this value the longer the time "
|
||||
"before start of actual envelope." ) );
|
||||
m_predelayKnob->setHintText( tr( "Pre-delay:" ), "" );
|
||||
|
||||
|
||||
m_attackKnob = new Knob( knobBright_26, this );
|
||||
m_attackKnob->setLabel( tr( "ATT" ) );
|
||||
m_attackKnob->move( ATTACK_KNOB_X, ENV_KNOBS_Y );
|
||||
m_attackKnob->setHintText( tr( "Attack:" ), "" );
|
||||
m_attackKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting attack-time of the current "
|
||||
"envelope. The bigger this value the longer the "
|
||||
"envelope needs to increase to attack-level. "
|
||||
"Choose a small value for instruments like pianos "
|
||||
"and a big value for strings." ) );
|
||||
|
||||
|
||||
m_holdKnob = new Knob( knobBright_26, this );
|
||||
m_holdKnob->setLabel( tr( "HOLD" ) );
|
||||
m_holdKnob->move( HOLD_KNOB_X, ENV_KNOBS_Y );
|
||||
m_holdKnob->setHintText( tr( "Hold:" ), "" );
|
||||
m_holdKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting hold-time of the current "
|
||||
"envelope. The bigger this value the longer the "
|
||||
"envelope holds attack-level before it begins to "
|
||||
"decrease to sustain-level." ) );
|
||||
|
||||
|
||||
m_decayKnob = new Knob( knobBright_26, this );
|
||||
m_decayKnob->setLabel( tr( "DEC" ) );
|
||||
m_decayKnob->move( DECAY_KNOB_X, ENV_KNOBS_Y );
|
||||
m_decayKnob->setHintText( tr( "Decay:" ), "" );
|
||||
m_decayKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting decay-time of the current "
|
||||
"envelope. The bigger this value the longer the "
|
||||
"envelope needs to decrease from attack-level to "
|
||||
"sustain-level. Choose a small value for instruments "
|
||||
"like pianos." ) );
|
||||
|
||||
|
||||
m_sustainKnob = new Knob( knobBright_26, this );
|
||||
m_sustainKnob->setLabel( tr( "SUST" ) );
|
||||
m_sustainKnob->move( SUSTAIN_KNOB_X, ENV_KNOBS_Y );
|
||||
m_sustainKnob->setHintText( tr( "Sustain:" ), "" );
|
||||
m_sustainKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting sustain-level of the current "
|
||||
"envelope. The bigger this value the higher the level "
|
||||
"on which the envelope stays before going down to "
|
||||
"zero." ) );
|
||||
|
||||
|
||||
m_releaseKnob = new Knob( knobBright_26, this );
|
||||
m_releaseKnob->setLabel( tr( "REL" ) );
|
||||
m_releaseKnob->move( RELEASE_KNOB_X, ENV_KNOBS_Y );
|
||||
m_releaseKnob->setHintText( tr( "Release:" ), "" );
|
||||
m_releaseKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting release-time of the current "
|
||||
"envelope. The bigger this value the longer the "
|
||||
"envelope needs to decrease from sustain-level to "
|
||||
"zero. Choose a big value for soft instruments like "
|
||||
"strings." ) );
|
||||
|
||||
|
||||
m_amountKnob = new Knob( knobBright_26, this );
|
||||
m_amountKnob->setLabel( tr( "AMT" ) );
|
||||
m_amountKnob->move( AMOUNT_KNOB_X, ENV_GRAPH_Y );
|
||||
m_amountKnob->setHintText( tr( "Modulation amount:" ), "" );
|
||||
m_amountKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting modulation amount of the "
|
||||
"current envelope. The bigger this value the more the "
|
||||
"according size (e.g. volume or cutoff-frequency) "
|
||||
"will be influenced by this envelope." ) );
|
||||
|
||||
|
||||
|
||||
@@ -176,42 +141,25 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
m_lfoPredelayKnob = new Knob( knobBright_26, this );
|
||||
m_lfoPredelayKnob->setLabel( tr( "DEL" ) );
|
||||
m_lfoPredelayKnob->move( LFO_PREDELAY_KNOB_X, LFO_KNOB_Y );
|
||||
m_lfoPredelayKnob->setHintText( tr( "LFO predelay:" ), "" );
|
||||
m_lfoPredelayKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting predelay-time of the current "
|
||||
"LFO. The bigger this value the the time until the "
|
||||
"LFO starts to oscillate." ) );
|
||||
m_lfoPredelayKnob->setHintText( tr( "Pre-delay:" ), "" );
|
||||
|
||||
|
||||
m_lfoAttackKnob = new Knob( knobBright_26, this );
|
||||
m_lfoAttackKnob->setLabel( tr( "ATT" ) );
|
||||
m_lfoAttackKnob->move( LFO_ATTACK_KNOB_X, LFO_KNOB_Y );
|
||||
m_lfoAttackKnob->setHintText( tr( "LFO- attack:" ), "" );
|
||||
m_lfoAttackKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting attack-time of the current LFO. "
|
||||
"The bigger this value the longer the LFO needs to "
|
||||
"increase its amplitude to maximum." ) );
|
||||
m_lfoAttackKnob->setHintText( tr( "Attack:" ), "" );
|
||||
|
||||
|
||||
m_lfoSpeedKnob = new TempoSyncKnob( knobBright_26, this );
|
||||
m_lfoSpeedKnob->setLabel( tr( "SPD" ) );
|
||||
m_lfoSpeedKnob->move( LFO_SPEED_KNOB_X, LFO_KNOB_Y );
|
||||
m_lfoSpeedKnob->setHintText( tr( "LFO speed:" ), "" );
|
||||
m_lfoSpeedKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting speed of the current LFO. The "
|
||||
"bigger this value the faster the LFO oscillates and "
|
||||
"the faster will be your effect." ) );
|
||||
m_lfoSpeedKnob->setHintText( tr( "Frequency:" ), "" );
|
||||
|
||||
|
||||
m_lfoAmountKnob = new Knob( knobBright_26, this );
|
||||
m_lfoAmountKnob->setLabel( tr( "AMT" ) );
|
||||
m_lfoAmountKnob->move( LFO_AMOUNT_KNOB_X, LFO_KNOB_Y );
|
||||
m_lfoAmountKnob->setHintText( tr( "Modulation amount:" ), "" );
|
||||
m_lfoAmountKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting modulation amount of the "
|
||||
"current LFO. The bigger this value the more the "
|
||||
"selected size (e.g. volume or cutoff-frequency) will "
|
||||
"be influenced by this LFO." ) );
|
||||
|
||||
|
||||
PixmapButton * sin_lfo_btn = new PixmapButton( this, NULL );
|
||||
@@ -220,8 +168,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
"sin_wave_active" ) );
|
||||
sin_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"sin_wave_inactive" ) );
|
||||
sin_lfo_btn->setWhatsThis(
|
||||
tr( "Click here for a sine-wave." ) );
|
||||
|
||||
PixmapButton * triangle_lfo_btn = new PixmapButton( this, NULL );
|
||||
triangle_lfo_btn->move( LFO_SHAPES_X+15, LFO_SHAPES_Y );
|
||||
@@ -229,8 +175,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
"triangle_wave_active" ) );
|
||||
triangle_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"triangle_wave_inactive" ) );
|
||||
triangle_lfo_btn->setWhatsThis(
|
||||
tr( "Click here for a triangle-wave." ) );
|
||||
|
||||
PixmapButton * saw_lfo_btn = new PixmapButton( this, NULL );
|
||||
saw_lfo_btn->move( LFO_SHAPES_X+30, LFO_SHAPES_Y );
|
||||
@@ -238,8 +182,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
"saw_wave_active" ) );
|
||||
saw_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"saw_wave_inactive" ) );
|
||||
saw_lfo_btn->setWhatsThis(
|
||||
tr( "Click here for a saw-wave for current." ) );
|
||||
|
||||
PixmapButton * sqr_lfo_btn = new PixmapButton( this, NULL );
|
||||
sqr_lfo_btn->move( LFO_SHAPES_X+45, LFO_SHAPES_Y );
|
||||
@@ -247,8 +189,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
"square_wave_active" ) );
|
||||
sqr_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"square_wave_inactive" ) );
|
||||
sqr_lfo_btn->setWhatsThis(
|
||||
tr( "Click here for a square-wave." ) );
|
||||
|
||||
m_userLfoBtn = new PixmapButton( this, NULL );
|
||||
m_userLfoBtn->move( LFO_SHAPES_X+75, LFO_SHAPES_Y );
|
||||
@@ -256,10 +196,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
"usr_wave_active" ) );
|
||||
m_userLfoBtn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"usr_wave_inactive" ) );
|
||||
m_userLfoBtn->setWhatsThis(
|
||||
tr( "Click here for a user-defined wave. "
|
||||
"Afterwards, drag an according sample-"
|
||||
"file onto the LFO graph." ) );
|
||||
|
||||
connect( m_userLfoBtn, SIGNAL( toggled( bool ) ),
|
||||
this, SLOT( lfoUserWaveChanged() ) );
|
||||
@@ -270,8 +206,6 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
"random_wave_active" ) );
|
||||
random_lfo_btn->setInactiveGraphic( embed::getIconPixmap(
|
||||
"random_wave_inactive" ) );
|
||||
random_lfo_btn->setWhatsThis(
|
||||
tr( "Click here for random wave." ) );
|
||||
|
||||
m_lfoWaveBtnGrp = new automatableButtonGroup( this );
|
||||
m_lfoWaveBtnGrp->addButton( sin_lfo_btn );
|
||||
@@ -284,21 +218,15 @@ EnvelopeAndLfoView::EnvelopeAndLfoView( QWidget * _parent ) :
|
||||
m_x100Cb = new LedCheckBox( tr( "FREQ x 100" ), this );
|
||||
m_x100Cb->setFont( pointSizeF( m_x100Cb->font(), 6.5 ) );
|
||||
m_x100Cb->move( LFO_PREDELAY_KNOB_X, LFO_GRAPH_Y + 36 );
|
||||
m_x100Cb->setWhatsThis(
|
||||
tr( "Click here if the frequency of this LFO should be "
|
||||
"multiplied by 100." ) );
|
||||
ToolTip::add( m_x100Cb, tr( "multiply LFO-frequency by 100" ) );
|
||||
ToolTip::add( m_x100Cb, tr( "Multiply LFO frequency by 100" ) );
|
||||
|
||||
|
||||
m_controlEnvAmountCb = new LedCheckBox( tr( "MODULATE ENV-AMOUNT" ),
|
||||
m_controlEnvAmountCb = new LedCheckBox( tr( "MODULATE ENV AMOUNT" ),
|
||||
this );
|
||||
m_controlEnvAmountCb->move( LFO_PREDELAY_KNOB_X, LFO_GRAPH_Y + 54 );
|
||||
m_controlEnvAmountCb->setFont( pointSizeF( m_controlEnvAmountCb->font(), 6.5 ) );
|
||||
m_controlEnvAmountCb ->setWhatsThis(
|
||||
tr( "Click here to make the envelope-amount controlled by this "
|
||||
"LFO." ) );
|
||||
ToolTip::add( m_controlEnvAmountCb,
|
||||
tr( "control envelope-amount by this LFO" ) );
|
||||
tr( "Control envelope amount by this LFO" ) );
|
||||
|
||||
|
||||
setAcceptDrops( true );
|
||||
@@ -590,8 +518,7 @@ void EnvelopeAndLfoView::lfoUserWaveChanged()
|
||||
if( m_params->m_userWave.frames() <= 1 )
|
||||
{
|
||||
TextFloat::displayMessage( tr( "Hint" ),
|
||||
tr( "Drag a sample from somewhere and drop "
|
||||
"it in this window." ),
|
||||
tr( "Drag and drop a sample into this window." ),
|
||||
embed::getIconPixmap( "hint" ), 3000 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
#include "FxLine.h"
|
||||
|
||||
#include <QGraphicsProxyWidget>
|
||||
#include <QWhatsThis>
|
||||
|
||||
#include "CaptionMenu.h"
|
||||
#include "FxMixer.h"
|
||||
@@ -96,20 +95,6 @@ FxLine::FxLine( QWidget * _parent, FxMixerView * _mv, int _channelIndex ) :
|
||||
m_lcd->move( 4, 58 );
|
||||
m_lcd->setMarginWidth( 1 );
|
||||
|
||||
setWhatsThis( tr(
|
||||
"The FX channel receives input from one or more instrument tracks.\n "
|
||||
"It in turn can be routed to multiple other FX channels. LMMS automatically "
|
||||
"takes care of preventing infinite loops for you and doesn't allow making "
|
||||
"a connection that would result in an infinite loop.\n\n"
|
||||
|
||||
"In order to route the channel to another channel, select the FX channel "
|
||||
"and click on the \"send\" button on the channel you want to send to. "
|
||||
"The knob under the send button controls the level of signal that is sent "
|
||||
"to the channel.\n\n"
|
||||
|
||||
"You can remove and move FX channels in the context menu, which is accessed "
|
||||
"by right-clicking the FX channel.\n" ) );
|
||||
|
||||
QString name = Engine::fxMixer()->effectChannel( m_channelIndex )->m_name;
|
||||
setToolTip( name );
|
||||
|
||||
@@ -253,8 +238,6 @@ void FxLine::contextMenuEvent( QContextMenuEvent * )
|
||||
contextMenu->addSeparator();
|
||||
}
|
||||
contextMenu->addAction( embed::getIconPixmap( "cancel" ), tr( "Remove &unused channels" ), this, SLOT( removeUnusedChannels() ) );
|
||||
contextMenu->addSeparator();
|
||||
contextMenu->addHelpAction();
|
||||
contextMenu->exec( QCursor::pos() );
|
||||
delete contextMenu;
|
||||
}
|
||||
@@ -335,14 +318,6 @@ void FxLine::moveChannelRight()
|
||||
|
||||
|
||||
|
||||
void FxLine::displayHelp()
|
||||
{
|
||||
QWhatsThis::showText( mapToGlobal( rect().bottomRight() ), whatsThis() );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
QBrush FxLine::backgroundActive() const
|
||||
{
|
||||
return m_backgroundActive;
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
#include "gui_templates.h"
|
||||
#include "Knob.h"
|
||||
#include "TempoSyncKnob.h"
|
||||
#include "ToolTip.h"
|
||||
|
||||
|
||||
InstrumentFunctionNoteStackingView::InstrumentFunctionNoteStackingView( InstrumentFunctionNoteStacking* cc, QWidget* parent ) :
|
||||
@@ -58,10 +57,6 @@ InstrumentFunctionNoteStackingView::InstrumentFunctionNoteStackingView( Instrume
|
||||
|
||||
m_chordRangeKnob->setLabel( tr( "RANGE" ) );
|
||||
m_chordRangeKnob->setHintText( tr( "Chord range:" ), " " + tr( "octave(s)" ) );
|
||||
m_chordRangeKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting the chord range in octaves. "
|
||||
"The selected chord will be played within specified "
|
||||
"number of octaves." ) );
|
||||
|
||||
mainLayout->addWidget( chordLabel, 0, 0 );
|
||||
mainLayout->addWidget( m_chordsComboBox, 1, 0 );
|
||||
@@ -118,65 +113,28 @@ InstrumentFunctionArpeggioView::InstrumentFunctionArpeggioView( InstrumentFuncti
|
||||
mainLayout->setHorizontalSpacing( 20 );
|
||||
mainLayout->setVerticalSpacing( 1 );
|
||||
|
||||
m_arpGroupBox->setWhatsThis(
|
||||
tr( "An arpeggio is a method playing (especially plucked) "
|
||||
"instruments, which makes the music much livelier. "
|
||||
"The strings of such instruments (e.g. harps) are "
|
||||
"plucked like chords. The only difference is that "
|
||||
"this is done in a sequential order, so the notes are "
|
||||
"not played at the same time. Typical arpeggios are "
|
||||
"major or minor triads, but there are a lot of other "
|
||||
"possible chords, you can select." ) );
|
||||
|
||||
|
||||
m_arpRangeKnob->setLabel( tr( "RANGE" ) );
|
||||
m_arpRangeKnob->setHintText( tr( "Arpeggio range:" ), " " + tr( "octave(s)" ) );
|
||||
m_arpRangeKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting the arpeggio range in octaves. "
|
||||
"The selected arpeggio will be played within specified "
|
||||
"number of octaves." ) );
|
||||
|
||||
|
||||
m_arpCycleKnob->setLabel( tr( "CYCLE" ) );
|
||||
m_arpCycleKnob->setHintText( tr( "Cycle notes:" ) + " ", " " + tr( "note(s)" ) );
|
||||
m_arpCycleKnob->setWhatsThis(
|
||||
tr( "Jumps over n steps in the arpeggio and cycles around "
|
||||
"if we're over the note range. If the total note range is evenly "
|
||||
"divisible by the number of steps jumped over you will get stuck "
|
||||
"in a shorter arpeggio or even on one note." ) );
|
||||
|
||||
|
||||
m_arpSkipKnob->setLabel( tr( "SKIP" ) );
|
||||
m_arpSkipKnob->setHintText( tr( "Skip rate:" ), tr( "%" ) );
|
||||
m_arpSkipKnob->setWhatsThis(
|
||||
tr( "The skip function will make the arpeggiator pause one step "
|
||||
"randomly. From its start in full counter clockwise "
|
||||
"position and no effect it will gradually progress to "
|
||||
"full amnesia at maximum setting.") );
|
||||
|
||||
|
||||
m_arpMissKnob->setLabel( tr( "MISS" ) );
|
||||
m_arpMissKnob->setHintText( tr( "Miss rate:" ), tr( "%" ) );
|
||||
m_arpMissKnob->setWhatsThis(
|
||||
tr( "The miss function will make the arpeggiator miss the "
|
||||
"intended note.") );
|
||||
|
||||
|
||||
m_arpTimeKnob->setLabel( tr( "TIME" ) );
|
||||
m_arpTimeKnob->setHintText( tr( "Arpeggio time:" ), " " + tr( "ms" ) );
|
||||
m_arpTimeKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting the arpeggio time in "
|
||||
"milliseconds. The arpeggio time specifies how long "
|
||||
"each arpeggio-tone should be played." ) );
|
||||
|
||||
|
||||
m_arpGateKnob->setLabel( tr( "GATE" ) );
|
||||
m_arpGateKnob->setHintText( tr( "Arpeggio gate:" ), tr( "%" ) );
|
||||
m_arpGateKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting the arpeggio gate. The "
|
||||
"arpeggio gate specifies the percent of a whole "
|
||||
"arpeggio-tone that should be played. With this you "
|
||||
"can make cool staccato arpeggios." ) );
|
||||
|
||||
|
||||
QLabel* arpChordLabel = new QLabel( tr( "Chord:" ) );
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
#include "LcdSpinBox.h"
|
||||
#include "MidiClient.h"
|
||||
#include "Mixer.h"
|
||||
#include "ToolTip.h"
|
||||
#include "InstrumentTrack.h"
|
||||
#include "LedCheckbox.h"
|
||||
|
||||
@@ -146,7 +145,7 @@ InstrumentMidiIOView::InstrumentMidiIOView( QWidget* parent ) :
|
||||
baseVelocityLayout->setContentsMargins( 8, 18, 8, 8 );
|
||||
baseVelocityLayout->setSpacing( 6 );
|
||||
|
||||
QLabel* baseVelocityHelp = new QLabel( tr( "Specify the velocity normalization base for MIDI-based instruments at 100% note velocity" ) );
|
||||
QLabel* baseVelocityHelp = new QLabel( tr( "Specify the velocity normalization base for MIDI-based instruments at 100% note velocity." ) );
|
||||
baseVelocityHelp->setWordWrap( true );
|
||||
baseVelocityHelp->setFont( pointSize<8>( baseVelocityHelp->font() ) );
|
||||
|
||||
@@ -213,7 +212,7 @@ InstrumentMiscView::InstrumentMiscView(InstrumentTrack *it, QWidget *parent) :
|
||||
layout->addWidget( m_pitchGroupBox );
|
||||
QHBoxLayout* masterPitchLayout = new QHBoxLayout( m_pitchGroupBox );
|
||||
masterPitchLayout->setContentsMargins( 8, 18, 8, 8 );
|
||||
QLabel *tlabel = new QLabel(tr( "Enables the use of Master Pitch" ) );
|
||||
QLabel *tlabel = new QLabel(tr( "Enables the use of master pitch" ) );
|
||||
m_pitchGroupBox->setModel( &it->m_useMasterPitchModel );
|
||||
masterPitchLayout->addWidget( tlabel );
|
||||
layout->addStretch();
|
||||
|
||||
@@ -57,20 +57,6 @@ InstrumentSoundShapingView::InstrumentSoundShapingView( QWidget * _parent ) :
|
||||
TARGETS_TABWIDGET_Y,
|
||||
TARGETS_TABWIDGET_WIDTH,
|
||||
TARGETS_TABWIDGET_HEIGTH );
|
||||
m_targetsTabWidget->setWhatsThis(
|
||||
tr( "These tabs contain envelopes. They're very important for "
|
||||
"modifying a sound, in that they are almost "
|
||||
"always necessary for substractive synthesis. For "
|
||||
"example if you have a volume envelope, you can set "
|
||||
"when the sound should have a specific volume. "
|
||||
"If you want to create some soft strings then your "
|
||||
"sound has to fade in and out very softly. This can be "
|
||||
"done by setting large attack and release times. "
|
||||
"It's the same for other envelope targets like "
|
||||
"panning, cutoff frequency for the used filter and so on. "
|
||||
"Just monkey around with it! You can really make cool "
|
||||
"sounds out of a saw-wave with just some "
|
||||
"envelopes...!" ) );
|
||||
|
||||
for( int i = 0; i < InstrumentSoundShaping::NumTargets; ++i )
|
||||
{
|
||||
@@ -91,33 +77,17 @@ InstrumentSoundShapingView::InstrumentSoundShapingView( QWidget * _parent ) :
|
||||
m_filterComboBox->setGeometry( 14, 22, 120, 22 );
|
||||
m_filterComboBox->setFont( pointSize<8>( m_filterComboBox->font() ) );
|
||||
|
||||
m_filterComboBox->setWhatsThis(
|
||||
tr( "Here you can select the built-in filter you want to use "
|
||||
"for this instrument-track. Filters are very important "
|
||||
"for changing the characteristics of a sound." ) );
|
||||
|
||||
|
||||
m_filterCutKnob = new Knob( knobBright_26, m_filterGroupBox );
|
||||
m_filterCutKnob->setLabel( tr( "FREQ" ) );
|
||||
m_filterCutKnob->move( 140, 18 );
|
||||
m_filterCutKnob->setHintText( tr( "cutoff frequency:" ), " " + tr( "Hz" ) );
|
||||
m_filterCutKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting the cutoff frequency for the "
|
||||
"selected filter. The cutoff frequency specifies the "
|
||||
"frequency for cutting the signal by a filter. For "
|
||||
"example a lowpass-filter cuts all frequencies above "
|
||||
"the cutoff frequency. A highpass-filter cuts all "
|
||||
"frequencies below cutoff frequency, and so on..." ) );
|
||||
m_filterCutKnob->setHintText( tr( "Cutoff frequency:" ), " " + tr( "Hz" ) );
|
||||
|
||||
|
||||
m_filterResKnob = new Knob( knobBright_26, m_filterGroupBox );
|
||||
m_filterResKnob->setLabel( tr( "RESO" ) );
|
||||
m_filterResKnob->setLabel( tr( "Q/RESO" ) );
|
||||
m_filterResKnob->move( 196, 18 );
|
||||
m_filterResKnob->setHintText( tr( "Resonance:" ), "" );
|
||||
m_filterResKnob->setWhatsThis(
|
||||
tr( "Use this knob for setting Q/Resonance for the selected "
|
||||
"filter. Q/Resonance tells the filter how much it "
|
||||
"should amplify frequencies near Cutoff-frequency." ) );
|
||||
m_filterResKnob->setHintText( tr( "Q/Resonance:" ), "" );
|
||||
|
||||
|
||||
m_singleStreamInfoLabel = new QLabel( tr( "Envelopes, LFOs and filters are not supported by the current instrument." ), this );
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include <QInputDialog>
|
||||
#include <QMouseEvent>
|
||||
#include <QPainter>
|
||||
#include <QWhatsThis>
|
||||
|
||||
#ifndef __USE_XOPEN
|
||||
#define __USE_XOPEN
|
||||
@@ -532,7 +531,6 @@ void Knob::contextMenuEvent( QContextMenuEvent * )
|
||||
model()->isScaleLogarithmic() ? tr( "Set linear" ) : tr( "Set logarithmic" ),
|
||||
this, SLOT( toggleScale() ) );
|
||||
contextMenu.addSeparator();
|
||||
contextMenu.addHelpAction();
|
||||
contextMenu.exec( QCursor::pos() );
|
||||
}
|
||||
|
||||
@@ -847,12 +845,3 @@ void Knob::doConnections()
|
||||
this, SLOT( update() ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Knob::displayHelp()
|
||||
{
|
||||
QWhatsThis::showText( mapToGlobal( rect().bottomRight() ),
|
||||
whatsThis() );
|
||||
}
|
||||
|
||||
@@ -102,7 +102,6 @@ LadspaControlView::LadspaControlView( QWidget * _parent,
|
||||
}
|
||||
knb->setLabel( m_ctl->port()->name );
|
||||
knb->setHintText( tr( "Value:" ), "" );
|
||||
knb->setWhatsThis( tr( "Sorry, no help available." ) );
|
||||
layout->addWidget( knb );
|
||||
if( link != NULL )
|
||||
{
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "MeterModel.h"
|
||||
#include "gui_templates.h"
|
||||
#include "LcdSpinBox.h"
|
||||
#include "ToolTip.h"
|
||||
|
||||
|
||||
MeterDialog::MeterDialog( QWidget * _parent, bool _simple ) :
|
||||
@@ -49,6 +50,7 @@ MeterDialog::MeterDialog( QWidget * _parent, bool _simple ) :
|
||||
|
||||
|
||||
m_numerator = new LcdSpinBox( 2, num, tr( "Meter Numerator" ) );
|
||||
ToolTip::add( m_numerator, tr( "Meter numerator" ) );
|
||||
|
||||
num_layout->addWidget( m_numerator );
|
||||
|
||||
@@ -69,6 +71,7 @@ MeterDialog::MeterDialog( QWidget * _parent, bool _simple ) :
|
||||
den_layout->setMargin( 0 );
|
||||
|
||||
m_denominator = new LcdSpinBox( 2, den, tr( "Meter Denominator" ) );
|
||||
ToolTip::add( m_denominator, tr( "Meter denominator" ) );
|
||||
if( _simple )
|
||||
{
|
||||
m_denominator->setLabel( tr( "TIME SIG" ) );
|
||||
|
||||
@@ -147,8 +147,6 @@ void TempoSyncKnob::contextMenuEvent( QContextMenuEvent * )
|
||||
contextMenu.addSeparator();
|
||||
|
||||
}
|
||||
|
||||
contextMenu.addHelpAction();
|
||||
contextMenu.exec( QCursor::pos() );
|
||||
|
||||
delete syncMenu;
|
||||
|
||||
@@ -49,7 +49,7 @@ TimeDisplayWidget::TimeDisplayWidget() :
|
||||
|
||||
setMaximumHeight( 32 );
|
||||
|
||||
ToolTip::add( this, tr( "click to change time units" ) );
|
||||
ToolTip::add( this, tr( "Time units" ) );
|
||||
|
||||
// update labels of LCD spinboxes
|
||||
setDisplayMode( m_displayMode );
|
||||
|
||||
@@ -55,8 +55,7 @@ VisualizationWidget::VisualizationWidget( const QPixmap & _bg, QWidget * _p,
|
||||
BufferManager::clear( m_buffer, frames );
|
||||
|
||||
|
||||
ToolTip::add( this, tr( "click to enable/disable visualization of "
|
||||
"master-output" ) );
|
||||
ToolTip::add( this, tr( "Oscilloscope" ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ InstrumentTrack::InstrumentTrack( TrackContainer* tc ) :
|
||||
m_pitchModel( 0, MinPitchDefault, MaxPitchDefault, 1, this, tr( "Pitch" ) ),
|
||||
m_pitchRangeModel( 1, 1, 60, this, tr( "Pitch range" ) ),
|
||||
m_effectChannelModel( 0, 0, 0, this, tr( "FX channel" ) ),
|
||||
m_useMasterPitchModel( true, this, tr( "Master Pitch") ),
|
||||
m_useMasterPitchModel( true, this, tr( "Master pitch") ),
|
||||
m_instrument( NULL ),
|
||||
m_soundShaping( this ),
|
||||
m_arpeggio( this ),
|
||||
@@ -903,7 +903,6 @@ InstrumentTrackView::InstrumentTrackView( InstrumentTrack * _it, TrackContainerV
|
||||
m_volumeKnob->move( widgetWidth-2*24, 2 );
|
||||
m_volumeKnob->setLabel( tr( "VOL" ) );
|
||||
m_volumeKnob->show();
|
||||
m_volumeKnob->setWhatsThis( tr( volume_help ) );
|
||||
|
||||
m_panningKnob = new Knob( knobSmall_17, getTrackSettingsWidget(),
|
||||
tr( "Panning" ) );
|
||||
@@ -1279,7 +1278,7 @@ class fxLineLcdSpinBox : public LcdSpinBox
|
||||
// created inside a TabWidget inside an InstrumentTrackWindow
|
||||
if ( InstrumentTrackWindow* window = dynamic_cast<InstrumentTrackWindow*>( (QWidget *)this->parent()->parent() ) )
|
||||
{
|
||||
QMenu *fxMenu = window->instrumentTrackView()->createFxMenu( tr( "Assign to:" ), tr( "New FX Channel" ) );
|
||||
QMenu *fxMenu = window->instrumentTrackView()->createFxMenu( tr( "Assign to:" ), tr( "New FX channel" ) );
|
||||
contextMenu->addMenu( fxMenu );
|
||||
|
||||
contextMenu->addSeparator();
|
||||
@@ -1336,8 +1335,6 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) :
|
||||
SLOT( viewPrevInstrument() ) );
|
||||
connect( m_leftRightNav, SIGNAL( onNavRight() ), this,
|
||||
SLOT( viewNextInstrument() ) );
|
||||
m_leftRightNav->setWhatsThis(
|
||||
tr( "Use these controls to view and edit the next/previous track in the song editor." ) );
|
||||
// m_leftRightNav->setShortcuts();
|
||||
nameAndChangeTrackLayout->addWidget(m_leftRightNav);
|
||||
|
||||
@@ -1356,10 +1353,9 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) :
|
||||
Qt::Alignment widgetAlignment = Qt::AlignHCenter | Qt::AlignCenter;
|
||||
|
||||
// set up volume knob
|
||||
m_volumeKnob = new Knob( knobBright_26, NULL, tr( "Instrument volume" ) );
|
||||
m_volumeKnob = new Knob( knobBright_26, NULL, tr( "Volume" ) );
|
||||
m_volumeKnob->setVolumeKnob( true );
|
||||
m_volumeKnob->setHintText( tr( "Volume:" ), "%" );
|
||||
m_volumeKnob->setWhatsThis( tr( volume_help ) );
|
||||
|
||||
basicControlsLayout->addWidget( m_volumeKnob, 0, 0 );
|
||||
basicControlsLayout->setAlignment( m_volumeKnob, widgetAlignment );
|
||||
@@ -1431,9 +1427,6 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) :
|
||||
connect( saveSettingsBtn, SIGNAL( clicked() ), this, SLOT( saveSettingsBtnClicked() ) );
|
||||
|
||||
ToolTip::add( saveSettingsBtn, tr( "Save current instrument track settings in a preset file" ) );
|
||||
saveSettingsBtn->setWhatsThis(
|
||||
tr( "Click here, if you want to save current instrument track settings in a preset file. "
|
||||
"Later you can load this preset by double-clicking it in the preset-browser." ) );
|
||||
|
||||
basicControlsLayout->addWidget( saveSettingsBtn, 0, 7 );
|
||||
|
||||
@@ -1476,7 +1469,7 @@ InstrumentTrackWindow::InstrumentTrackWindow( InstrumentTrackView * _itv ) :
|
||||
m_tabWidget->addTab( m_ssView, tr( "Envelope, filter & LFO" ), "env_lfo_tab", 1 );
|
||||
m_tabWidget->addTab( instrumentFunctions, tr( "Chord stacking & arpeggio" ), "func_tab", 2 );
|
||||
m_tabWidget->addTab( m_effectView, tr( "Effects" ), "fx_tab", 3 );
|
||||
m_tabWidget->addTab( m_midiView, tr( "MIDI settings" ), "midi_tab", 4 );
|
||||
m_tabWidget->addTab( m_midiView, tr( "MIDI" ), "midi_tab", 4 );
|
||||
m_tabWidget->addTab( m_miscView, tr( "Miscellaneous" ), "misc_tab", 5 );
|
||||
|
||||
// setup piano-widget
|
||||
|
||||
@@ -309,7 +309,7 @@ void SampleTCOView::updateSample()
|
||||
// sample-tco contains
|
||||
ToolTip::add( this, ( m_tco->m_sampleBuffer->audioFile() != "" ) ?
|
||||
m_tco->m_sampleBuffer->audioFile() :
|
||||
tr( "double-click to select sample" ) );
|
||||
tr( "Double-click to open sample" ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user