TTKMusicPlayer
4.1.3.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
TTKThirdParty
TTKqmmp
qmmp
visualbuffer_p.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (C) 2017-2024 by Ilya Kotov *
3
* forkotov02@ya.ru *
4
* *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
9
* *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
14
* *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19
***************************************************************************/
20
21
#ifndef VISUALBUFFER_P_H
22
#define VISUALBUFFER_P_H
23
24
#include <QMutex>
25
#include <QElapsedTimer>
26
#include "
qmmp_export.h
"
27
28
#define VISUAL_BUFFER_SIZE 128 //number of nodes
29
30
class
QMMP_EXPORT
VisualNode
31
{
32
public
:
33
float
data[2][512] = {{ 0 }};
34
qint64 ts = 0;
35
qint64 delta = 0;
36
};
37
38
class
QMMP_EXPORT
VisualBuffer
39
{
40
public
:
41
void
add(
float
*pcm,
int
samples,
int
channels, qint64 ts, qint64 delay);
42
VisualNode
*take();
43
void
clear();
44
QMutex *mutex();
45
46
private
:
47
VisualNode
m_buffer[
VISUAL_BUFFER_SIZE
];
48
qint64 m_elapsed = 0;
49
int
m_take_index = 0;
50
int
m_add_index = 0;
51
QElapsedTimer
m_time
;
52
QMutex
m_mutex
;
53
54
};
55
56
#endif
VisualBuffer::m_mutex
QMutex m_mutex
Definition:
visualbuffer_p.h:52
qmmp_export.h
VisualBuffer
Definition:
visualbuffer_p.h:38
QMMP_EXPORT
#define QMMP_EXPORT
Definition:
qmmp_export.h:29
VISUAL_BUFFER_SIZE
#define VISUAL_BUFFER_SIZE
Definition:
visualbuffer_p.h:28
VisualBuffer::m_time
QElapsedTimer m_time
Definition:
visualbuffer_p.h:51
VisualNode
Definition:
visualbuffer_p.h:30
Generated on Tue Jan 21 2025 21:07:15 for TTKMusicPlayer by
1.8.8