1
/* ------------------------------------------------------------------
3
libofa -- the Open Fingerprint Architecture library
5
Copyright (C) 2006 MusicIP Corporation
8
-------------------------------------------------------------------*/
9
// FILE: "trackdata_op.h"
10
// MODULE: Specification file for track data elements
11
// AUTHOR: Stephen Pope
12
// DATE CREATED: 01/12/06
14
#ifndef TRACK_DATA_OP_H
15
#define TRACK_DATA_OP_H 1
22
TrackData_op(float time, float frequency, float amplitude, float frDur);
27
float getTime() const { return StartTime; }
28
float getAmplitude() const { return Amplitude; }
29
float getPitch() const { return Pitch;}
30
float getEndPitch() const { return EndPitch;}
31
float getAvgAmplitude() const { return AvgAmplitude; }
32
float getAvgPitch() const { return AvgPitch;}
33
void setAvgAmplitude(float val) { AvgAmplitude = val; }
34
void setAvgPitch(float val) { AvgPitch = val;}
35
void setEndPitch(float val) { EndPitch = val;}
38
float getStartTime() const { return StartTime; }
40
void SetInTrack(bool in) { InTrack = in; }
41
bool IsInTrack() { return InTrack; }
43
// Data/frame/list structure
45
void linkTo(TrackData_op* pr);
46
void linkPrevious(TrackData_op* pr) { previous = pr; }
47
void linkNext(TrackData_op* pr) { next = pr; }
49
TrackData_op* getPrev() const { return previous; }
50
TrackData_op* getNext() const { return next; }
51
TrackData_op* getHigher() const { return higher; }
52
void linkHigher(TrackData_op* pr) { higher = pr; }
53
TrackData_op* getHead();
54
TrackData_op* getTail();
58
bool isOrphan() const { return ((previous == 0) && (next == 0)); }
59
bool isHead() const { return ((previous == 0) && (next != 0)); }
60
bool isTail() const { return ((previous != 0) && (next == 0)); }
66
float Amplitude; // single values
77
TrackData_op* previous;