Example #1
0
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;
                  }
            }
      }
Example #2
0
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);
                  }
            }
      }