kwave
18.07.70
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