1 /* smplayer, GUI front-end for mplayer.
2 Copyright (C) 2006-2021 Ricardo Villalba <ricardo@smplayer.info>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18
19 #include "titletracks.h"
20
TitleTracks()21 TitleTracks::TitleTracks() {
22 clear();
23 }
24
~TitleTracks()25 TitleTracks::~TitleTracks() {
26 }
27
clear()28 void TitleTracks::clear() {
29 tm.clear();
30 }
31
addName(int ID,QString name)32 void TitleTracks::addName(int ID, QString name) {
33 tm[ID].setName(name);
34 tm[ID].setID(ID);
35 }
36
addDuration(int ID,double duration)37 void TitleTracks::addDuration(int ID, double duration) {
38 tm[ID].setDuration(duration);
39 tm[ID].setID(ID);
40 }
41
addChapters(int ID,int n)42 void TitleTracks::addChapters(int ID, int n) {
43 tm[ID].setChapters(n);
44 tm[ID].setID(ID);
45 }
46
addAngles(int ID,int n)47 void TitleTracks::addAngles(int ID, int n) {
48 tm[ID].setAngles(n);
49 tm[ID].setID(ID);
50 }
51
addID(int ID)52 void TitleTracks::addID(int ID) {
53 tm[ID].setID(ID);
54 }
55
56
numItems()57 int TitleTracks::numItems() {
58 return tm.count();
59 }
60
existsItemAt(int n)61 bool TitleTracks::existsItemAt(int n) {
62 return ((n > 0) && (n < numItems()));
63 }
64
itemAt(int n)65 TitleData TitleTracks::itemAt(int n) {
66 return tm.values()[n];
67 }
68
item(int ID)69 TitleData TitleTracks::item(int ID) {
70 return tm[ID];
71 }
72
find(int ID)73 int TitleTracks::find(int ID) {
74 for (int n=0; n < numItems(); n++) {
75 if (itemAt(n).ID() == ID) return n;
76 }
77 return -1;
78 }
79
list()80 void TitleTracks::list() {
81 QMapIterator<int, TitleData> i(tm);
82 while (i.hasNext()) {
83 i.next();
84 TitleData d = i.value();
85 qDebug("TitleTracks::list: item %d: ID: %d name: '%s' duration %f chapters: %d angles: %d",
86 i.key(), d.ID(), d.name().toUtf8().constData(), d.duration(), d.chapters(), d.angles() );
87 }
88 }
89