Exemple #1
0
		Iter HandleFile (const QByteArray& line, Iter i, Iter end, Cue& result)
		{
			const auto startQuote = line.indexOf ('"');
			const auto endQuote = line.lastIndexOf ('"');

			File file;
			file.Filename_ = QString::fromUtf8 (line.mid (startQuote + 1, endQuote - startQuote - 1));

			while (i != end)
			{
				if (i->startsWith ("FILE "))
					break;

				i = HandleTrack (i, end, file, result);
			}

			Track *prevTrack = 0;
			int index = 1;
			for (auto& track : file.Tracks_)
			{
				if (prevTrack)
					prevTrack->EndPos_ = track.StartPos_;

				prevTrack = &track;
				if (!track.Index_)
					track.Index_ = index++;
			}

			result.Files_ << file;

			return i;
		}