void assignLyricsToTracks(QList<MTrack> &tracks) { std::set<int> usedTracks; const auto *lyricTracks = preferences.midiImportOperations.getLyrics(); if (!lyricTracks) return; for (int i = 0; i != lyricTracks->size(); ++i) { const int bestTrack = findBestTrack(tracks, (*lyricTracks)[i], usedTracks); if (bestTrack >= 0) { usedTracks.insert(bestTrack); tracks[bestTrack].initLyricTrackIndex = i; } } }
void setInitialLyricsFromMidiData(const QList<MTrack> &tracks) { std::set<int> usedTracks; const auto *lyricTracks = preferences.midiImportOperations.getLyrics(); if (!lyricTracks) return; for (const auto &lyricTrack: *lyricTracks) { const int bestTrack = findBestTrack(tracks, lyricTrack, usedTracks); if (bestTrack >= 0) { usedTracks.insert(bestTrack); addLyricsToScore(lyricTrack, tracks[bestTrack].staff); } } }
void setInitialLyricsFromMidiData(const QList<MTrack> &tracks) { std::set<int> usedTracks; auto &data = *midiImportOperations.data(); const auto &lyricTracks = data.lyricTracks; if (lyricTracks.isEmpty()) return; for (int i = 0; i != lyricTracks.size(); ++i) { const BestTrack bestTrack = findBestTrack(tracks, lyricTracks[i], usedTracks); if (bestTrack.index >= 0) { usedTracks.insert(bestTrack.index); addLyricsToScore(lyricTracks[i], bestTrack.matchedLyricTimes, tracks[bestTrack.index].staff); data.trackOpers.lyricTrackIndex.setValue(bestTrack.index, i); } } }