bool DecoderHandler::createPlaylistForSingleFile(const QUrl &url) { PlayListFileEntry *entry = new PlayListFileEntry; if (url.scheme() == "file" || QFileInfo(url.toString()).isAbsolute()) entry->setFile(url.toLocalFile()); else entry->setFile(url.toString()); m_playlist.add(entry); return m_playlist.size() > 0; }
int PlayListFile::parse(PlayListFile *pls, QTextStream *stream) { int parsed = 0; QString d = stream->read(); CfgReader cfg; cfg.parse(d.toAscii(), d.length()); int num_entries = cfg.getIntVal("playlist", "numberofentries", -1); // Some pls files have "numberofentries", some has "NumberOfEntries". if (num_entries == -1) num_entries = cfg.getIntVal("playlist", "NumberOfEntries", -1); for (int n = 1; n <= num_entries; n++) { PlayListFileEntry *e = new PlayListFileEntry(); QString t_key = QString("Title%1").arg(n); QString f_key = QString("File%1").arg(n); QString l_key = QString("Length%1").arg(n); e->setFile(cfg.getStrVal("playlist", f_key)); e->setTitle(cfg.getStrVal("playlist", t_key)); e->setLength(cfg.getIntVal("playlist", l_key)); pls->add(e); parsed++; } return parsed; }