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

Method quantize

NeuralNote/Source/TimeQuantizeOptions.cpp:119–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117}
118
119std::vector<Notes::Event> TimeQuantizeOptions::quantize(const std::vector<Notes::Event>& inNoteEvents) const
120{
121 if (!mParameters.enable) {
122 return inNoteEvents;
123 }
124
125 std::vector<Notes::Event> out_events;
126
127 const double bpm = mTimeQuantizeInfo.bpm;
128 // Offset from previous bar start
129 const double start_pos_qn = mTimeQuantizeInfo.getStartQn() - mTimeQuantizeInfo.getStartLastBarQn();
130
131 const double time_division = TimeQuantizeUtils::TimeDivisionsDouble.at(static_cast<size_t>(mParameters.division));
132
133 for (const auto& event: inNoteEvents) {
134 double duration = event.endTime - event.startTime;
135 jassert(duration > 0);
136 double new_start_time =
137 _quantizeTime(event.startTime, bpm, time_division, start_pos_qn, mParameters.quantizationForce);
138 double new_end_time = new_start_time + duration;
139
140 Notes::Event quantized_event = event;
141 quantized_event.startTime = new_start_time;
142 quantized_event.endTime = new_end_time;
143 out_events.push_back(quantized_event);
144 }
145
146 return out_events;
147}
148
149void TimeQuantizeOptions::clear()
150{

Callers 2

_runModelMethod · 0.80
_updatePostProcessingMethod · 0.80

Calls 2

getStartQnMethod · 0.80
getStartLastBarQnMethod · 0.80

Tested by

no test coverage detected