diff options
author | Mateusz Łukasik <mati75@linuxmint.pl> | 2017-06-16 13:28:11 +0200 |
---|---|---|
committer | Mateusz Łukasik <mati75@linuxmint.pl> | 2017-06-16 13:28:11 +0200 |
commit | 5d41ea1690d2051b893fe507ac284377abb9758a (patch) | |
tree | 803495167cf34a3c1121dad00afb0bd87a5e39fa /src/subreader.h | |
parent | 8cd3e30b34e5ff62a993227c386ab77dd01fa1d4 (diff) |
New upstream version 17.6.0~ds0
Diffstat (limited to 'src/subreader.h')
-rw-r--r-- | src/subreader.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/subreader.h b/src/subreader.h new file mode 100644 index 0000000..3f26ef4 --- /dev/null +++ b/src/subreader.h @@ -0,0 +1,74 @@ +/* smplayer, GUI front-end for mplayer. + Copyright (C) 2006-2017 Ricardo Villalba <rvm@users.sourceforge.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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef SUBREADER_H +#define SUBREADER_H + +#include <QString> +#include <QList> + +//#define SRT_OUTPUT + +class Subtitle +{ +public: + Subtitle(const QString & time, const QByteArray & text) { this->time = time; this->text = text; }; + + QString time; + QByteArray text; +}; + +class SubReader +{ +public: + SubReader(); + ~SubReader(); + + void setInputCodec(const QByteArray & codec) { input_codec = codec; }; + QByteArray inputCodec() { return input_codec; }; + + void setVTTLinePosition(int pos) { vtt_line_position = pos; } + int VTTLinePosition() { return vtt_line_position; }; + + void setTextFilter(const QString & f) { filter = f; } + QString textFilter() { return filter; } + + void parseSRT(const QString & filename); + + QString convertToVTT(); + +#ifdef SRT_OUTPUT + QByteArray convertToSRT(); +#endif + + bool autoConvertToVTT(const QString & filename); + + bool saveFile(const QString & filename, const QByteArray & content); + bool saveFile(const QString & filename, const QString & content); + + void dump(); + +private: + QList<Subtitle> entries; + QByteArray input_codec; + QString filter; + int vtt_line_position; + bool has_bom; +}; + +#endif |