kwave
18.07.70
Main Page
Related Pages
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
f
h
i
l
m
o
p
r
s
t
u
w
y
z
Functions
Typedefs
Enumerations
+
Enumerator
a
b
c
f
i
l
o
p
r
s
u
w
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
~
+
Variables
a
b
c
d
e
f
g
h
i
m
n
p
r
s
t
v
w
x
y
z
Typedefs
Enumerations
+
Enumerator
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
Related Functions
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
i
l
m
p
q
r
s
t
x
z
Variables
Typedefs
+
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
SampleFIFO.h
Go to the documentation of this file.
1
/*************************************************************************
2
SampleFIFO.h - simple FIFO, tuned for sample_t
3
-------------------
4
begin : Sun Apr 11 2004
5
copyright : (C) 2004 by Thomas Eschenbacher
6
email : Thomas.Eschenbacher@gmx.de
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#ifndef SAMPLE_FIFO_H
19
#define SAMPLE_FIFO_H
20
21
#include "config.h"
22
23
#include <QtGlobal>
24
#include <QMutex>
25
#include <QQueue>
26
27
#include "
libkwave/SampleArray.h
"
28
29
namespace
Kwave
30
{
31
32
class
Q_DECL_EXPORT
SampleFIFO
33
{
34
public
:
36
SampleFIFO
();
37
39
SampleFIFO
(
const
SampleFIFO
&other);
40
42
virtual
~
SampleFIFO
();
43
48
virtual
void
flush
();
49
55
virtual
void
put(
const
Kwave::SampleArray
&source);
56
63
virtual
unsigned
int
get
(
Kwave::SampleArray
&buffer);
64
69
virtual
unsigned
int
length();
70
74
virtual
void
setSize(
unsigned
int
size);
75
80
virtual
void
crop();
81
82
private
:
83
85
unsigned
int
unlockedLength();
86
87
private
:
88
90
QQueue<Kwave::SampleArray>
m_buffer
;
91
93
sample_index_t
m_size
;
94
99
sample_index_t
m_read_offset
;
100
102
QMutex
m_lock
;
103
104
};
105
}
106
107
#endif
/* SAMPLE_FIFO_H */
108
109
//***************************************************************************
110
//***************************************************************************
Kwave
Definition:
App.h:33
Kwave::SampleFIFO::m_buffer
QQueue< Kwave::SampleArray > m_buffer
Definition:
SampleFIFO.h:90
sample_index_t
quint64 sample_index_t
Definition:
Sample.h:28
Kwave::SampleFIFO::m_read_offset
sample_index_t m_read_offset
Definition:
SampleFIFO.h:99
Kwave::SampleFIFO::m_lock
QMutex m_lock
Definition:
SampleFIFO.h:102
SampleArray.h
Kwave::SampleFIFO::m_size
sample_index_t m_size
Definition:
SampleFIFO.h:93
Kwave::SampleFIFO
Definition:
SampleFIFO.h:32
Kwave::SampleArray
Definition:
SampleArray.h:36
flush
Kwave::Writer & flush(Kwave::Writer &s)
Definition:
Writer.cpp:145
libkwave
SampleFIFO.h
Generated on Sat Mar 24 2018 09:10:25 for kwave by
1.8.13