-
Notifications
You must be signed in to change notification settings - Fork 9
/
CDType.h
47 lines (42 loc) · 967 Bytes
/
CDType.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#pragma once
// structures of MSF Address
class MSFAddress
{
public:
MSFAddress(void);
virtual ~MSFAddress(void);
BYTE Minute;
BYTE Second;
BYTE Frame;
void operator =(DWORD LBA);
MSFAddress operator +(MSFAddress MSF);
MSFAddress operator -(MSFAddress MSF);
MSFAddress operator -(DWORD LBA);
void operator =(MSFAddress MSF);
DWORD GetByLBA(void);
bool operator ==(MSFAddress comp);
};
// structures and definitions of TOC
struct tTrackData
{
BYTE m_TrackNo;
BYTE m_TrackType;
BYTE m_DigitalCopy;
BYTE m_Emphasis;
BYTE m_Session;
MSFAddress m_MSF;
MSFAddress m_EndMSF;
BYTE m_SelectFlag;
};
using TableOfContents = struct tTableOfContents
{
BYTE m_LastTrack;
struct tTrackData m_Track[99];
BYTE m_RawTOC[4400];
};
#define TRACKTYPE_AUDIO 0
#define TRACKTYPE_DATA 1
#define TRACKTYPE_DATA_2 2
#define TRACKFLAG_YES 1
#define TRACKFLAG_NO 0
#define TRACKFLAG_UNKNOWN 2