blob: 578e286b18dd01cc4d26dfce8e7714a0f6d88e30 (
plain)
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
|
uses wincd;
Function ReadCDTOC(Device : String; Var CDTOC : Array of TTocEntry) : Integer;
Var
Toc : TToc;
I,Res : Integer;
begin
Res:=ReadTOC(Device,TOC);
If Res<0 then
Result:=Res
else
begin
If Res>High(CDTOC)+1 then
Result:=-2
else
begin
Result:=0;
For I:=TOC.FirstTrack to Toc.LastTrack do
begin
With CDTOC[Result],TOC.TocTrack[Result] do
begin
min:=Addr[1];
sec:=Addr[2];
frame:=Addr[3]; // ?? tocentry.cdte_addr.msf.frame;
inc(frame,min*60*75);
inc(frame,sec*75);
end;
Inc(Result);
end;
// Lead out
With CDTOC[Result],TOC.TocTrack[Result] do
begin
min:=Addr[1];
sec:=Addr[2];
frame:=Addr[3]; // ?? tocentry.cdte_addr.msf.frame;
inc(frame,min*60*75);
inc(frame,sec*75);
end;
end;
end;
end;
Function GetCDRomDevices(Var Devices : Array of string) : Integer;
begin
Result:=enumcddrives(Devices);
end;
|