CLAM-Development
1.4.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
audiofileio
codecs
AudioFileHeader.cxx
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2004 MUSIC TECHNOLOGY GROUP (MTG)
3
* UNIVERSITAT POMPEU FABRA
4
*
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*
20
*/
21
22
#include "
AudioFileHeader.hxx
"
23
24
namespace
CLAM
25
{
26
void
AudioFileHeader::DefaultInit
()
27
{
28
29
}
30
31
void
AudioFileHeader::SetValues
(
TData
rate,
TSize
nChannels,
32
const
char
* fmtString )
33
{
34
SetValues
( rate, nChannels,
EAudioFileFormat
( fmtString ) );
35
}
36
37
void
AudioFileHeader::SetValues
(
TData
rate,
TSize
nChannels,
38
EAudioFileFormat
format )
39
{
40
AddAll();
41
UpdateData
();
42
SetSampleRate( rate );
43
SetChannels( nChannels );
44
SetFormat( format );
45
SetEndianess(
EAudioFileEndianess::eDefault
);
46
SetLength(
TTime
( 0 ) );
47
48
// Default encoding
49
if
( GetFormat() ==
EAudioFileFormat::eWAV
)
50
{
51
//SetEncoding( EAudioFileEncoding::ePCM_24 ); //TODO: We'd like to be able to choose between float and int pcm
52
SetEncoding(
EAudioFileEncoding::eFLOAT
);
53
return
;
54
}
55
if
( GetFormat() ==
EAudioFileFormat::eAIFF
)
56
{
57
SetEncoding(
EAudioFileEncoding::ePCM_24
);
58
return
;
59
}
60
SetEncoding(
EAudioFileEncoding::eDefault
);
61
}
62
63
64
}
65
Generated by
1.8.1