-
Notifications
You must be signed in to change notification settings - Fork 0
/
CDinfo.h
executable file
·120 lines (89 loc) · 2.5 KB
/
CDinfo.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#if !defined(CD_INFO_H)
#define CD_INFO_H
#include <afxtempl.h>
#include <mmsystem.h>
//*************************************************************************
// CMsf
//*************************************************************************
class CMsf
{
public:
CMsf()
{
m_dwMsf = 0;
}
CMsf(DWORD dwMsf)
{
m_dwMsf = dwMsf;
}
CMsf(BYTE minute, BYTE second, BYTE frame)
{
m_dwMsf = MCI_MAKE_MSF(minute, second, frame);
}
operator DWORD() const {return m_dwMsf;}
BYTE GetMinute() const { return MCI_MSF_MINUTE(m_dwMsf); }
BYTE GetSecond() const { return MCI_MSF_SECOND(m_dwMsf); }
BYTE GetFrame() const { return MCI_MSF_FRAME(m_dwMsf); }
protected:
DWORD m_dwMsf;
};
//*************************************************************************
// CTmsf
//*************************************************************************
class CTmsf
{
public:
CTmsf()
{
m_dwTmsf = 0;
}
CTmsf(DWORD dwTmsf)
{
m_dwTmsf = dwTmsf;
}
CTmsf(BYTE track, BYTE minute, BYTE second, BYTE frame)
{
m_dwTmsf = MCI_MAKE_TMSF(track, minute, second, frame);
}
operator DWORD() const {return m_dwTmsf;}
BYTE GetTrack() const { return MCI_TMSF_TRACK(m_dwTmsf); }
BYTE GetMinute() const { return MCI_TMSF_MINUTE(m_dwTmsf); }
BYTE GetSecond() const { return MCI_TMSF_SECOND(m_dwTmsf); }
BYTE GetFrame() const { return MCI_TMSF_FRAME(m_dwTmsf); }
protected:
DWORD m_dwTmsf;
};
//*************************************************************************
// TrackRecord
//*************************************************************************
class TrackRecord
{
public:
//Constructors / Destructors
TrackRecord();
TrackRecord(const TrackRecord& track);
//Methods
TrackRecord& operator=(const TrackRecord& track);
int nr; // unique
CString name;
CMsf length;
CMsf startpos;
BOOL IsAudio;
};
//*************************************************************************
// CDinfo
//*************************************************************************
class CDinfo
{
public:
void Clear();
CDinfo& operator=(const CDinfo& CD);
public:
CArray<TrackRecord, TrackRecord&> m_Tracks;
DWORD m_EndPos;
int m_NrOfTracks;
CString m_AlbumArtist;
CString m_AlbumTitle;
CString m_ExtendedData; //The extended data for this CD
};
#endif