QList<AudioSource> CommonRead2Sources (const ReadParams& params)
	{
		const auto& plDir = QFileInfo (params.Path_).absoluteDir ();

		QList<AudioSource> result;
		for (const auto& src : params.RawParser_ (params.Path_))
		{
			QUrl url (src);
			if (!url.scheme ().isEmpty ())
			{
				result << (url.scheme () == "file" ? url.toLocalFile () : url);
				continue;
			}

			const QFileInfo fi (src);
			if (params.Suffixes_.contains (fi.suffix ()))
				result += CommonRead2Sources ({ params.Suffixes_,
							plDir.absoluteFilePath (src), params.RawParser_ });
			else if (fi.isRelative ())
				result << plDir.absoluteFilePath (src);
			else
				result << src;
		}

		return result;
	}
Example #2
0
QList<Phonon::MediaSource> Read2Sources (const QString& path)
{
    return CommonRead2Sources ({ QStringList ("xspf"), path, Read });
}
Example #3
0
	QList<AudioSource> Read2Sources (const QString& path)
	{
		return CommonRead2Sources ({ QStringList ("pls"), path, Read });
	}
Example #4
0
	Playlist Read2Sources (const QString& path)
	{
		return CommonRead2Sources ({ { "xspf" }, path, Read });
	}