60 , m_midiActivityTimeout( 125 )
61 , m_bLCDBPMSpinboxIsArmed( true )
66 setObjectName(
"PlayerControl" );
75 setScaledContents(
true );
77 QHBoxLayout *hbox =
new QHBoxLayout();
78 hbox->setSpacing( 0 );
84 pControlsPanel->setFixedSize( 344, 43 );
85 pControlsPanel->
setPixmap(
"/playerControlPanel/background_Control.png" );
86 pControlsPanel->setObjectName(
"ControlsPanel" );
87 hbox->addWidget( pControlsPanel );
94 append(
" QLineEdit { font-size: 19px; }" ) );
97 pCommonStrings->getTimeHoursLabel() );
100 pCommonStrings->getTimeMinutesLabel() );
103 pCommonStrings->getTimeSecondsLabel() );
106 pCommonStrings->getTimeMilliSecondsLabel() );
111 "rewind.svg",
"",
false, QSize( 13, 13 ), tr(
"Rewind") );
112 m_pRwdBtn->setObjectName(
"PlayerControlRewindButton" );
115 std::shared_ptr<Action> pAction = std::make_shared<Action>(
"<<_PREVIOUS_BAR");
120 "record.svg",
"",
false, QSize( 11, 11 ), tr(
"Record"),
true );
121 m_pRecBtn->setObjectName(
"PlayerControlRecordButton" );
126 pAction = std::make_shared<Action>(
"RECORD_READY");
131 "play_pause.svg",
"",
false, QSize( 30, 21 ), tr(
"Play/ Pause") );
132 m_pPlayBtn->setObjectName(
"PlayerControlPlayButton" );
136 pAction = std::make_shared<Action>(
"PLAY/PAUSE_TOGGLE");
141 "stop.svg",
"",
false, QSize( 11, 11 ), tr(
"Stop") );
142 m_pStopBtn->setObjectName(
"PlayerControlStopButton" );
145 pAction = std::make_shared<Action>(
"STOP");
150 "fast_forward.svg",
"",
false, QSize( 13, 13 ), tr(
"Fast Forward") );
151 m_pFfwdBtn->setObjectName(
"PlayerControlForwardButton" );
154 pAction = std::make_shared<Action>(
">>_NEXT_BAR");
160 QSize( 17, 13 ), tr(
"Loop song"),
166 activateLoopMode( bChecked );
168 if ( pSong->getLoopMode() == Song::LoopMode::Enabled ) {
178 pCommonStrings->getPatternModeButton(),
179 false, QSize(), tr(
"Pattern Mode"),
192 pCommonStrings->getSongModeButton(),
193 false, QSize(), tr(
"Song Mode"),
219 QWidget *pControlsBBTBConoffPanel =
new QWidget(
nullptr );
220 pControlsBBTBConoffPanel->setFixedSize( 15, 43 );
221 pControlsBBTBConoffPanel->setObjectName(
"BeatCounterOnOff" );
222 hbox->addWidget( pControlsBBTBConoffPanel );
229 pCommonStrings->getBeatCounterButton(),
false,
247 pAction = std::make_shared<Action>(
"BEATCOUNTER");
265 pLabelBC1->resize( QSize( 9, 11 ) );
266 pLabelBC1->move( 25, 9 );
267 pLabelBC1->setText(
"1" );
269 pLabelBC2->resize( QSize( 9, 3 ) );
270 pLabelBC2->move( 25, 20 );
271 pLabelBC2->setText(
"—" );
285 QSize( 8, 8 ),
"",
false,
true );
291 QSize( 8, 8 ),
"",
false,
true );
297 QSize( 8, 8 ),
"",
false,
true );
303 QSize( 8, 8 ),
"",
false,
true );
309 pCommonStrings->getBeatCounterSetPlayButtonOff(),
311 tr(
"Set BPM / Set BPM and play"),
321 m_sLCDBPMSpinboxTimelineToolTip = tr(
"While the Timeline is active this widget is in read-only mode and just displays the tempo set using the current Timeline position" );
325 pBPMPanel->setFixedSize( 145, 43 );
326 pBPMPanel->
setPixmap(
"/playerControlPanel/background_BPM.png" );
327 pBPMPanel->setObjectName(
"BPM" );
328 hbox->addWidget( pBPMPanel );
335 static_cast<double>(
MIN_BPM ),
336 static_cast<double>(
MAX_BPM ),
true );
339 append(
" QAbstractSpinBox {font-size: 16px;}" ) );
350 pCommonStrings->getRubberbandButton(),
352 tr(
"Recalculate Rubberband modified samples if bpm will change"),
358 QString program = pPref->m_rubberBandCLIexecutable;
360 if ( QFile( program ).exists() ==
false) {
369 false, QSize( 20, 20 ),
370 tr(
"Switch metronome on/off"),
375 pAction = std::make_shared<Action>(
"TOGGLE_METRONOME");
384 pJackPanel->setFixedSize( 113, 43 );
385 pJackPanel->
setPixmap(
"/playerControlPanel/background_Jack.png" );
386 pJackPanel->setObjectName(
"JackPanel" );
387 hbox->addWidget( pJackPanel );
395 pCommonStrings->getJackTransportButton(),
397 tr(
"JACK transport on/off"),
418 pCommonStrings->getJackMasterButton(),
false,
419 QSize(), pCommonStrings->getJackTBMMasterTooltip(),
426 if ( pPref->m_bJackTimebaseEnabled ) {
429 JackAudioDriver::Timebase::Master ) {
433 JackAudioDriver::Timebase::Slave ) {
466 pCommonStrings->getMidiInLabel() );
469 pCommonStrings->getCpuLabel() );
477 QWidget *pLcdBackGround =
new QWidget(
nullptr );
478 pLcdBackGround->setFixedSize( 256, 43 );
479 pLcdBackGround->setObjectName(
"LcdBackground" );
480 hbox->addWidget( pLcdBackGround );
483 "", pCommonStrings->getMixerButton(),
false, QSize(),
484 tr(
"Show mixer" ) );
489 "", pCommonStrings->getInstrumentRackButton(),
false, QSize(),
490 tr(
"Show Instrument Rack" ) );
498 hbox->addStretch( 1000 );
500 QTimer *timer =
new QTimer(
this );