MCPcopy Create free account
hub / github.com/DamRsn/NeuralNote / _setInfo

Method _setInfo

NeuralNote/Source/TimeQuantizeOptions.cpp:74–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72}
73
74void TimeQuantizeOptions::_setInfo(const Optional<AudioPlayHead::PositionInfo>& inPositionInfoPtr)
75{
76 ScopedLock lock(mInfoCriticalSection);
77
78 mTimeQuantizeInfo = TimeQuantizeInfo();
79
80 if (inPositionInfoPtr.hasValue()) {
81 auto time_signature = inPositionInfoPtr->getTimeSignature();
82 if (time_signature.hasValue()) {
83 mTimeQuantizeInfo.timeSignatureNum = time_signature->numerator;
84 mTimeQuantizeInfo.timeSignatureDenom = time_signature->denominator;
85 }
86
87 auto bpm = inPositionInfoPtr->getBpm();
88
89 if (bpm.hasValue()) {
90 mTimeQuantizeInfo.bpm = *bpm;
91 }
92
93 if (isPlayheadPlaying(inPositionInfoPtr)) {
94 if (!inPositionInfoPtr->getPpqPositionOfLastBarStart().hasValue()
95 || !inPositionInfoPtr->getPpqPosition().hasValue()) {
96 mTimeQuantizeInfo.refLastBarQn = 0.0;
97 mTimeQuantizeInfo.refPositionQn = 0.0;
98 mTimeQuantizeInfo.refPositionSeconds = 0.0;
99 } else {
100 mTimeQuantizeInfo.refLastBarQn = *inPositionInfoPtr->getPpqPositionOfLastBarStart();
101 mTimeQuantizeInfo.refPositionQn = *inPositionInfoPtr->getPpqPosition();
102 mTimeQuantizeInfo.refPositionSeconds = static_cast<double>(mNumRecordedSamples) / mSampleRate;
103 }
104 }
105 }
106
107 mInfoUpdated = true;
108}
109
110void TimeQuantizeOptions::setParameters(bool inEnable,
111 TimeQuantizeUtils::TimeDivisions inDivision,

Callers

nothing calls this directly

Calls 1

TimeQuantizeInfoClass · 0.85

Tested by

no test coverage detected