PlayPanel::PlayPanel(QWidget* parent) : QWidget(parent, Qt::Dialog) { cachedTickPosition = -1; cachedTimePosition = -1; cs = 0; tempoSliderIsPressed = false; setupUi(this); setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); QSettings settings; restoreGeometry(settings.value("playPanel/geometry").toByteArray()); move(settings.value("playPanel/pos", QPoint(DEFAULT_POS_X, DEFAULT_POS_Y)).toPoint()); setScore(0); playButton->setDefaultAction(getAction("play")); rewindButton->setDefaultAction(getAction("rewind")); countInButton->setDefaultAction(getAction("countin")); metronomeButton->setDefaultAction(getAction("metronome")); loopButton->setDefaultAction(getAction("loop")); loopInButton->setDefaultAction(getAction("loop-in")); loopOutButton->setDefaultAction(getAction("loop-out")); connect(volumeSlider, SIGNAL(valueChanged(double,int)), SLOT(volumeChanged(double,int))); connect(posSlider, SIGNAL(sliderMoved(int)), SLOT(setPos(int))); connect(tempoSlider, SIGNAL(valueChanged(double,int)), SLOT(relTempoChanged(double,int))); connect(tempoSlider, SIGNAL(sliderPressed(int)), SLOT(tempoSliderPressed(int))); connect(tempoSlider, SIGNAL(sliderReleased(int)), SLOT(tempoSliderReleased(int))); connect(relTempoBox, SIGNAL(editingFinished()), SLOT(relTempoChanged())); connect(seq, SIGNAL(heartBeat(int,int,int)), SLOT(heartBeat(int,int,int))); }
void PlayPanel::relTempoChanged(double d, int) { double relTempo = d * .01; emit relTempoChanged(relTempo); setTempo(seq->curTempo() * relTempo); setRelTempo(relTempo); }
void PlayPanel::relTempoChanged(double d, int) { double relTempo = d * .01; emit relTempoChanged(relTempo); // Snap tempo slider to 100% when it gets close if (relTempo < 1.01 && relTempo > 0.99) { relTempo = 1.00; } setTempo(seq->curTempo() * relTempo); setRelTempo(relTempo); }
PlayPanel::PlayPanel(QWidget* parent) : QWidget(parent, Qt::Dialog) { setObjectName("PlayPanel"); cachedTickPosition = -1; cachedTimePosition = -1; cs = 0; tempoSliderIsPressed = false; setupUi(this); setWindowFlags(Qt::Tool); setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); MuseScore::restoreGeometry(this); setScore(0); playButton->setDefaultAction(getAction("play")); rewindButton->setDefaultAction(getAction("rewind")); countInButton->setDefaultAction(getAction("countin")); metronomeButton->setDefaultAction(getAction("metronome")); loopButton->setDefaultAction(getAction("loop")); loopInButton->setDefaultAction(getAction("loop-in")); loopOutButton->setDefaultAction(getAction("loop-out")); enablePlay = new EnablePlayForWidget(this); tempoSlider->setDclickValue1(100.0); tempoSlider->setDclickValue2(100.0); tempoSlider->setUseActualValue(true); connect(volumeSlider, SIGNAL(valueChanged(double,int)), SLOT(volumeChanged(double,int))); connect(posSlider, SIGNAL(sliderMoved(int)), SLOT(setPos(int))); connect(tempoSlider, SIGNAL(valueChanged(double,int)), SLOT(relTempoChanged(double,int))); connect(tempoSlider, SIGNAL(sliderPressed(int)), SLOT(tempoSliderPressed(int))); connect(tempoSlider, SIGNAL(sliderReleased(int)), SLOT(tempoSliderReleased(int))); connect(relTempoBox, SIGNAL(editingFinished()), SLOT(relTempoChanged())); connect(seq, SIGNAL(heartBeat(int,int,int)), SLOT(heartBeat(int,int,int))); }
void PlayPanel::relTempoChanged() { double v = relTempoBox->value(); tempoSlider->setValue(v); emit relTempoChanged(v * .01); }
void PlayPanel::relTempoChanged(double d, int) { emit relTempoChanged(d * .01); }