TTKMusicPlayer  4.2.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musiclrcparser.h
Go to the documentation of this file.
1 #ifndef MUSICLRCPARSER_H
2 #define MUSICLRCPARSER_H
3 
4 /***************************************************************************
5  * This file is part of the TTK Music Player project
6  * Copyright (C) 2015 - 2025 Greedysky Studio
7 
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 3 of the License, or
11  * (at your option) any later version.
12 
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17 
18  * You should have received a copy of the GNU General Public License along
19  * with this program; If not, see <http://www.gnu.org/licenses/>.
20  ***************************************************************************/
21 
22 #include "musicglobaldefine.h"
23 
28 {
30 public:
34  virtual ~MusicLrcFromInterface() = default;
35 
39  virtual bool decode(const QString &input) = 0;
43  const QByteArray &data() const noexcept;
44 
45 protected:
46  QByteArray m_data;
47 
48 };
49 
50 
55 {
57 public:
61  virtual bool decode(const QString &input) override final;
62 
63 };
64 
65 
70 {
72 public:
80  ~MusicLrcFromKrc();
81 
85  virtual bool decode(const QString &input) override final;
89  bool decode(const QString &input, const QString &output);
90 
91 protected:
95  int sncasecmp(char *s1, char *s2, size_t n);
99  int decompression(uchar *src, size_t srcsize, size_t *dstsize);
103  int isfilter(char *tok);
107  void createLrc(uchar *lrc, int lrclen);
108 
110 
111 };
112 
113 
118 {
120 public:
124  virtual bool decode(const QString &input) override final;
125 
126 };
127 
128 
133 {
135 public:
139  virtual bool decode(const QString &input) override final;
140 
141 };
142 
143 
148 {
150 public:
154  virtual bool decode(const QString &input) override final;
155 
156 };
157 
158 #endif // MUSICLRCPARSER_H
#define TTK_MODULE_EXPORT
The class of the krc to lrc.
#define TTK_DECLARE_MODULE(Class)
Definition: ttkqtglobal.h:164
The class of the base lrc interface.
The class of the plain lrc.
The class of the trc to lrc.
The class of the qrc to lrc.
The class of the yrc to lrc.
virtual bool decode(const QString &input)=0