TTKMusicPlayer  4.3.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 - 2026 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 {
29 public:
33  virtual ~MusicLrcFromInterface() = default;
34 
38  virtual bool decode(const QString &input) = 0;
42  const QByteArray &data() const noexcept;
43 
44 protected:
45  QByteArray m_data;
46 
47 };
48 
49 
54 {
55 public:
59  virtual bool decode(const QString &input) override final;
60 
61 };
62 
63 
68 {
69 public:
77  ~MusicLrcFromKrc();
78 
82  virtual bool decode(const QString &input) override final;
86  bool decode(const QString &input, const QString &output);
87 
88 protected:
92  int sncasecmp(const char *s1, const char *s2, size_t n);
96  int decompression(uchar *src, size_t srcsize, size_t *dstsize);
100  int isfilter(const char *tok);
104  void createLrc(uchar *lrc, int lrclen);
105 
107 
108 };
109 
110 
115 {
116 public:
120  virtual bool decode(const QString &input) override final;
121 
122 };
123 
124 
129 {
130 public:
134  virtual bool decode(const QString &input) override final;
135 
136 };
137 
138 
143 {
144 public:
148  virtual bool decode(const QString &input) override final;
149 
150 };
151 
152 #endif // MUSICLRCPARSER_H
#define TTK_MODULE_EXPORT
The class of the krc to lrc.
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