diff options
Diffstat (limited to 'libk9copy/k9dvdtitle.h')
-rw-r--r-- | libk9copy/k9dvdtitle.h | 259 |
1 files changed, 259 insertions, 0 deletions
diff --git a/libk9copy/k9dvdtitle.h b/libk9copy/k9dvdtitle.h new file mode 100644 index 0000000..9b29f53 --- /dev/null +++ b/libk9copy/k9dvdtitle.h @@ -0,0 +1,259 @@ +/************************************************************************** +* Copyright (C) 2005 by Jean-Michel Petit * +* jm_petit@laposte.net * +* * +* This program 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 2 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, write to the * +* Free Software Foundation, Inc., * +* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * +***************************************************************************/ +#ifndef K9DVDTITLE_H +#define K9DVDTITLE_H + +#include "k9common.h" +#include "k9dvd.h" +#include "k9dvdchapter.h" +#include <qdatetime.h> +#include <qstringlist.h> +#include <qptrlist.h> + +class k9DVDTitleSet; + +class k9DVDVideoStream : public QObject{ +Q_OBJECT +friend class k9DVDTitle; +private: // Private attributes +public: // Public methods + +}; + +class k9DVDAudioStream : public QObject{ +Q_OBJECT +friend class k9DVDTitle; +friend class k9DVD; +private: // Private attributes + /** */ + QString langCod; + /** */ + QString language; + /** */ + QString format; + /** */ + QString frequency; + /** */ + QString quantization; + /** */ + int channels; + /** */ + int appMode; + /** */ + QString content; + /** */ + float size_mb; + /** */ + bool selected; + int id; + k9DVDTitle *title; + int m_streamId; +public: // Public methods + k9DVDAudioStream(); + /** Read property of QString langCod. */ + virtual const QString& getlangCod(); + /** Read property of QString language. */ + virtual const QString& getlanguage(); + /** Read property of QString format. */ + virtual const QString& getformat(); + /** Read property of QString frequency. */ + virtual const QString& getfrequency(); + /** Read property of QString quantization. */ + virtual const QString& getquantization(); + /** Read property of int channels. */ + virtual const int& getchannels(); + /** Read property of int appMode. */ + virtual const int& getappMode(); + /** Read property of QString content. */ + virtual const QString& getcontent(); + /** Read property of float size_mb. */ + virtual const float& getsize_mb(); + /** Write property of bool selected. */ + virtual void setselected( const bool& _newVal); + /** Read property of bool selected. */ + virtual const bool& getselected(); + + virtual k9DVDTitle* gettitle(); + virtual int getID(); + + virtual int getStreamId() const {return m_streamId;}; + +}; + +class k9DVDSubtitle : public QObject{ +Q_OBJECT +friend class k9DVDTitle; +friend class k9DVD; +private: // Private attributes + /** */ + QString langCod; + /** */ + QString language; + /** */ + int num; + /** */ + QString content; + /** */ + float size_mb; + /** */ + bool selected; + QValueList<int> id; + k9DVDTitle *title; +public: // Public methods + k9DVDSubtitle(); + /** Read property of QString langCod. */ + virtual const QString& getlangCod(); + /** Read property of QString language. */ + virtual const QString& getlanguage(); + /** Read property of int num. */ + virtual const int& getnum(); + /** Read property of QString content. */ + virtual const QString& getcontent(); + /** Read property of float size_mb. */ + virtual const float& getsize_mb(); + /** Write property of bool selected. */ + virtual void setselected( const bool& _newVal); + /** Read property of bool selected. */ + virtual const bool& getselected(); + virtual k9DVDTitle* gettitle(); + virtual QValueList<int>& getID(); +}; + + +class k9TitleEncOpt; + + +class k9DVDTitle : public QObject{ +Q_OBJECT +friend class k9DVD; +private: // Public attributes + unsigned int ts_nr; + int chapterCount; + int streamCount; + int audioStreamCount; + int subPictureCount; + QTime length; + k9DVDVideoStream videoStream; + QObjectList audioStreams; + QObjectList subtitles; + int VTS; + int TTN; + float FPS; + QString format; + QString aspectRatio; + int numTitle; + QString width; + QString height; + QStringList palette; + QString DF; + float size_mb; + int angleCount; + float videosize_mb; + float vobusize_mb; + QString name; + k9DVDTitle* nextTitle; + int id; + k9DVDTitleset *m_titleset; + k9DVDAudioStream *m_defAudio; + k9DVDSubtitle *m_defSubtitle; + bool m_defAudioSet; + bool m_defSubtitleSet; + QPtrList <k9DVDTitle> m_titles; + uint32_t m_sectors; + bool m_forceFactor; + float m_factor; + k9TitleEncOpt *m_encOpt; +public: // Public methods + k9DVDTitle(); + virtual k9DVDTitleset *gettitleset() {return m_titleset;}; + virtual const int& getchapterCount(); + virtual const int& getstreamCount(); + virtual const int& getaudioStreamCount(); + virtual const int& getsubPictureCount(); + virtual const QTime& getlength(); + virtual QTime gettotallength(); + virtual QTime getSelectedLength(); + + virtual const int& getVTS(); + virtual const int& getTTN(); + virtual const float& getFPS(); + virtual const QString& getformat(); + virtual const QString& getaspectRatio(); + virtual const QString& getwidth(); + virtual const QString& getheight(); + virtual void getpalette(int i,QString & c); + virtual const QString& getDF(); + virtual const int& getangleCount(); + virtual const int& getnumTitle(); + virtual k9DVDAudioStream *getaudioStream(int num); + virtual k9DVDSubtitle *getsubtitle(int num); + virtual const float& getsize_mb(); + virtual const float gettotalsize_mb(); + virtual const float gettotalvideosize_mb(); + virtual const float getChaptersSize_mb(bool _selected); + virtual const uint64_t getChaptersSize(bool _selected); + virtual const float& getvideosize_mb(); + virtual bool isSelected(); + virtual void setname( const QString& _newVal); + virtual const QString& getname(); + virtual int getpgc(); + virtual void setnextTitle(k9DVDTitle * nTitle); + virtual k9DVDTitle* getnextTitle(); + virtual k9DVDChapter *getChapter(int num); + virtual bool getIndexed() {return indexed;}; + virtual void setforceSelection(bool _state); + virtual int getId() {return id;}; + virtual void setDefAudio(k9DVDAudioStream* _value); + virtual k9DVDAudioStream* getDefAudio() const; + virtual void setDefSubtitle(k9DVDSubtitle* _value); + virtual k9DVDSubtitle* getDefSubtitle() const; + virtual bool getDefAudioSet() const {return m_defAudioSet;}; + virtual bool getDefSubtitleSet() const {return m_defSubtitleSet;}; + virtual QPtrList< k9DVDTitle > getTitles() const {return m_titles;}; + virtual uint32_t getsectors() { return m_sectors;}; + virtual float getfactor() { return m_factor;}; + virtual bool getforceFactor() { return m_forceFactor;}; + virtual void selectChapters(bool _state); + virtual QPtrList< k9DVDChapter > getChapters() const {return chapters;}; + virtual k9TitleEncOpt* getEncOpt() ; + +public slots: + virtual void setfactor(float _value) {m_factor=_value;}; + virtual void setforceFactor(bool _value) {m_forceFactor=_value;}; + +signals: + void selectionChanged(); +private: // Private methods + k9DVDAudioStream* addAudioStream(); + k9DVDChapter* addChapter(int num); + k9DVDSubtitle* addSubtitle(int num); + QPtrList <k9DVDChapter> chapters; + bool indexed; + bool forceSelection; + int pgc; + +public: // Public attributes +}; + + + + +#endif + |