TagLib 1.11.1 (wavpackproperties.h Source File)
Home
Class Hierarchy
Namespaces
Classes
Headers
Namespace Members
Class Members
File Members
taglib
wavpack
wavpackproperties.h
Go to the documentation of this file.
1
/***************************************************************************
2
copyright : (C) 2006 by Lukáš Lalinský
3
email : lalinsky@gmail.com
4
5
copyright : (C) 2004 by Allan Sandfeld Jensen
6
email : kde@carewolf.org
7
(original MPC implementation)
8
***************************************************************************/
9
10
/***************************************************************************
11
* This library is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU Lesser General Public License version *
13
* 2.1 as published by the Free Software Foundation. *
14
* *
15
* This library is distributed in the hope that it will be useful, but *
16
* WITHOUT ANY WARRANTY; without even the implied warranty of *
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
18
* Lesser General Public License for more details. *
19
* *
20
* You should have received a copy of the GNU Lesser General Public *
21
* License along with this library; if not, write to the Free Software *
22
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
23
* 02110-1301 USA *
24
* *
25
* Alternatively, this file is available under the Mozilla Public *
26
* License Version 1.1. You may obtain a copy of the License at *
27
* http://www.mozilla.org/MPL/ *
28
***************************************************************************/
29
30
#ifndef TAGLIB_WVPROPERTIES_H
31
#define TAGLIB_WVPROPERTIES_H
32
33
#include "
taglib_export.h
"
34
#include "
audioproperties.h
"
35
36
namespace
TagLib
{
37
38
namespace
WavPack {
39
40
class
File
;
41
42
static
const
unsigned
int
HeaderSize = 32;
43
45
51
class
TAGLIB_EXPORT
Properties :
public
AudioProperties
52
{
53
public
:
61
Properties(
const
ByteVector &data,
long
streamLength, ReadStyle style = Average);
62
66
// BIC: merge with the above constructor
67
Properties(
File
*file,
long
streamLength, ReadStyle style = Average);
68
72
virtual
~Properties();
73
82
virtual
int
length()
const
;
83
90
// BIC: make virtual
91
int
lengthInSeconds()
const
;
92
98
// BIC: make virtual
99
int
lengthInMilliseconds()
const
;
100
104
virtual
int
bitrate()
const
;
105
109
virtual
int
sampleRate()
const
;
110
114
virtual
int
channels()
const
;
115
119
int
bitsPerSample()
const
;
120
124
bool
isLossless()
const
;
125
129
unsigned
int
sampleFrames()
const
;
130
134
int
version()
const
;
135
136
private
:
137
Properties(
const
Properties &);
138
Properties &operator=(
const
Properties &);
139
140
void
read(
File
*file,
long
streamLength);
141
unsigned
int
seekFinalIndex(
File
*file,
long
streamLength);
142
143
class
PropertiesPrivate;
144
PropertiesPrivate *d;
145
};
146
}
147
}
148
149
#endif
TagLib
A namespace for all TagLib related classes and functions.
Definition:
apefile.h:41
audioproperties.h
File
TAGLIB_EXPORT
#define TAGLIB_EXPORT
Definition:
taglib_export.h:38
taglib_export.h