summaryrefslogtreecommitdiff
path: root/src/subreader.h
diff options
context:
space:
mode:
authorMateusz Łukasik <mati75@linuxmint.pl>2017-06-16 13:28:11 +0200
committerMateusz Łukasik <mati75@linuxmint.pl>2017-06-16 13:28:11 +0200
commit5d41ea1690d2051b893fe507ac284377abb9758a (patch)
tree803495167cf34a3c1121dad00afb0bd87a5e39fa /src/subreader.h
parent8cd3e30b34e5ff62a993227c386ab77dd01fa1d4 (diff)
New upstream version 17.6.0~ds0
Diffstat (limited to 'src/subreader.h')
-rw-r--r--src/subreader.h74
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