1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- /*
- This file is part of QTau
- Copyright (C) 2013-2018 Tobias "Tomoko" Platen <tplaten@posteo.de>
- Copyright (C) 2013 digited <https://github.com/digited>
- Copyright (C) 2010-2013 HAL@ShurabaP <https://github.com/haruneko>
- QTau is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- SPDX-License-Identifier: GPL-3.0+
- */
- #include "utaudb.h"
- #include "Utils.h"
- #define __devloglevel__ 0
- #include <QStringList>
- #include <QDirIterator>
- #include <QFileInfo>
- #include "otoini.h"
- #include <sekai/VVDReader.h>
- UTAUDB::UTAUDB(QString path) : _path(path)
- {
- int dir = 0;
- DEVLOG_DEBUG("UTAUDB: "+path);
- QDirIterator it(path, QStringList() << "oto.ini", QDir::Files, QDirIterator::Subdirectories);
- _reader=new VVDReader();
- while (it.hasNext())
- {
- QString oto = it.next();
- DEVLOG_DEBUG("OTO: "+ oto);
- OTOINI* ini = new OTOINI(dir);
- ini->readFromFile(oto);
- QString dir = QFileInfo(oto).dir().path();
- _dirs.push_back(dir);
- int vvd_count = 0;
- foreach(oto_entry* entry,ini->entries())
- {
- QString vvd = dir+"/"+entry->filename;
- vvd.replace(".wav",".vvd");
- DEVLOG_DEBUG("vvd: "+vvd);
- entry->vvd_index=vvd_count;
- if(!_vvds.keys().contains(vvd))
- {
- DEVLOG_DEBUG("vvd_count="+STR(vvd_count));
- bool ret = _reader->addVVD(vvd.toStdString());
- if(ret) {
- _vvds[vvd]=vvd_count;
- vvd_count++;
- }
- }
- _entries.push_back(entry);
- }
- delete ini;
- }
- //TODO -- read from vvd
- }
- oto_entry* UTAUDB::getEntryByLyric(QString lyric)
- {
- foreach(oto_entry* ent,_entries)
- {
- DEVLOG_DEBUG(ent->name);
- if(ent->name==lyric) {
- return ent;
- }
- }
- return NULL;
- }
|