void TrackInfoObject::setBpm(double f) { if (f < 0) { return; } QMutexLocker lock(&m_qMutex); // TODO(rryan): Assume always dirties. bool dirty = false; if (f == 0.0) { // If the user sets the BPM to 0, we assume they want to clear the // beatgrid. setBeats(BeatsPointer()); dirty = true; } else if (!m_pBeats) { setBeats(BeatFactory::makeBeatGrid(this, f, 0)); dirty = true; } else if (m_pBeats->getBpm() != f) { m_pBeats->setBpm(f); dirty = true; } if (dirty) { setDirty(true); } lock.unlock(); // Tell the GUI to update the bpm label... //qDebug() << "TrackInfoObject signaling BPM update to" << f; emit(bpmUpdated(f)); }
TimeSignature::TimeSignature(Staff* staff, int startTime, int beats, int beat, TimeSignatureType type) : StaffElement(staff, startTime), d(new Private) { setBeats(beats); setBeat(beat); d->type = type; }