Skip to content

Commit cf912fb

Browse files
committed
timsort (stable) for meta track instead of pdqsort
1 parent 6b0dbd1 commit cf912fb

File tree

1 file changed

+1
-7
lines changed

1 file changed

+1
-7
lines changed

src/io/midi.cpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -361,12 +361,6 @@ minimidi::file::MidiFile to_midi(const Score<Tick>& score) {
361361
auto& msgs = init_msgs;
362362
size_t message_num = score.time_signatures->size() + score.key_signatures->size()
363363
+ score.tempos->size() + score.markers->size();
364-
if (!score.tracks->empty()) {
365-
message_num += score.tracks->front()->note_num() * 2
366-
+ score.tracks->front()->controls->size()
367-
+ score.tracks->front()->pitch_bends->size()
368-
+ score.tracks->front()->lyrics->size();
369-
}
370364
msgs.reserve(message_num);
371365
// add time signatures
372366
for (const auto& time_signature : *score.time_signatures) {
@@ -391,7 +385,7 @@ minimidi::file::MidiFile to_midi(const Score<Tick>& score) {
391385
}
392386
// add meta track (channel 0) if not empty
393387
if (!init_msgs.empty()) {
394-
pdqsort_branchless(init_msgs.begin(), init_msgs.end(), [](const auto& a, const auto& b) {
388+
gfx::timsort(init_msgs.begin(), init_msgs.end(), [](const auto& a, const auto& b) {
395389
return a.get_time() < b.get_time();
396390
});
397391
midi.tracks.emplace_back(std::move(init_msgs));

0 commit comments

Comments
 (0)