CLAM-Development
1.4.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
Tools
SDIF
SDIFFrame.hxx
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
#ifndef __SDIFFrame__
23
#define __SDIFFrame__
24
25
#include "
SDIFHeader.hxx
"
26
#include <list>
27
28
namespace
SDIF
29
{
30
class
Matrix
;
31
34
class
OpeningsFrame
{
35
public
:
36
FrameHeader
mHeader
;
37
CLAM::TInt32
mSpecVersion
;
38
CLAM::TInt32
mStandardTypesVersion
;
39
public
:
41
OpeningsFrame
():
42
mHeader
(
"SDIF"
,sizeof(CLAM::
TInt32
)+sizeof(CLAM::
TInt32
)),
43
mSpecVersion
(3),
mStandardTypesVersion
(1)
44
{
45
}
46
};
47
52
class
Frame
{
53
friend
class
File
;
54
friend
class
Collection
;
55
public
:
56
typedef
std::list<Matrix*>::const_iterator
MatrixIterator
;
57
private
:
58
DataFrameHeader
mHeader;
59
std::list<Matrix*> mMatrixList;
60
public
:
66
Frame
(
const
TypeId
& type =
TypeId::sDefault
,
67
CLAM::TFloat64
time =0.,
CLAM::TInt32
streamId = 0);
68
~Frame
();
69
73
void
Add
(
Matrix
* pMatrix);
74
75
Matrix
*
GetMatrixAt
(
int
i)
76
{
77
MatrixIterator
it = mMatrixList.begin();
78
std::advance(it,i);
79
return
*it;
80
}
81
82
MatrixIterator
Begin
(
void
)
const
{
return
mMatrixList.begin(); }
83
MatrixIterator
End
(
void
)
const
{
return
mMatrixList.end(); }
84
85
CLAM::TFloat64
Time
(
void
) {
return
mHeader.
mTime
; }
86
TypeId
Type
(
void
) {
return
mHeader.
mType
;}
87
88
};
89
}
90
91
#endif
92
Generated by
1.8.1