source: smplayer/trunk/src/tracks.h@ 124

Last change on this file since 124 was 124, checked in by Silvan Scherrer, 13 years ago

SMPlayer: 0.7.1 trunk update

  • Property svn:eol-style set to LF
File size: 2.1 KB
Line 
1/* smplayer, GUI front-end for mplayer.
2 Copyright (C) 2006-2012 Ricardo Villalba <rvm@users.sourceforge.net>
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#ifndef _TRACKS_H_
20#define _TRACKS_H_
21
22#include <QString>
23#include <QMap>
24
25/* Class to store info about video/audio tracks */
26
27class TrackData {
28
29public:
30
31 TrackData() { _lang = ""; _name = "";_ID = -1; };
32 ~TrackData() {};
33
34 void setLang( const QString & l ) { _lang = l; };
35 void setName( const QString & n ) { _name = n; };
36 void setID( int id ) { _ID = id; };
37
38 QString lang() const { return _lang; };
39 QString name() const { return _name; };
40 int ID() const { return _ID; };
41
42 QString displayName() const {
43 QString dname="";
44
45 if (!_name.isEmpty()) {
46 dname = _name;
47 if (!_lang.isEmpty()) {
48 dname += " ["+ _lang + "]";
49 }
50 }
51 else
52 if (!_lang.isEmpty()) {
53 dname = _lang;
54 }
55 else
56 dname = QString::number(_ID);
57
58 return dname;
59 }
60
61protected:
62
63 /* Language code: es, en, etc. */
64 QString _lang;
65
66 /* spanish, english... */
67 QString _name;
68
69 int _ID;
70};
71
72
73class Tracks {
74
75public:
76
77 Tracks();
78 ~Tracks();
79
80 void clear();
81 void list();
82
83 void addLang(int ID, QString lang);
84 void addName(int ID, QString name);
85 void addID(int ID);
86
87 int numItems();
88 bool existsItemAt(int n);
89
90 TrackData itemAt(int n);
91 TrackData item(int ID);
92 int find(int ID);
93
94 int findLang(QString expr);
95
96protected:
97 typedef QMap <int, TrackData> TrackMap;
98 TrackMap tm;
99};
100
101#endif
Note: See TracBrowser for help on using the repository browser.