]>
git.saurik.com Git - wxWidgets.git/blob - utils/wxMMedia2/lib/cdbase.h
a46821b38c52f11655236899c56a83332e523b6b
2 // /////////////////////////////////////////////////////////////////////////////
5 // Author: Guilhem Lavaux
8 // Copyright: (C) 1997, 1998, Guilhem Lavaux
9 // License: wxWindows license
10 // /////////////////////////////////////////////////////////////////////////////
11 #ifndef __CDA_base_H__
12 #define __CDA_base_H__
18 #include "wx/wxprec.h"
20 typedef struct wxCDtime
{
22 wxUint8 hour
, min
, sec
;
25 class WXDLLEXPORT wxCDAudio
: public wxObject
{
26 DECLARE_ABSTRACT_CLASS(wxCDAudio
)
28 typedef enum { PLAYING
, PAUSED
, STOPPED
} CDstatus
;
29 // Table of contents manager
32 wxCDtime
*tracks_time
, *tracks_pos
;
36 CDtoc(wxCDtime
& tot_tm
, wxCDtime
*trks_tm
, wxCDtime
*trks_pos
)
37 { tracks_time
= trks_tm
; total_time
= tot_tm
; tracks_pos
= trks_pos
; }
39 // Returns the length of the specified track
40 // track: track to get length
41 wxCDtime
GetTrackTime(wxUint8 track
) const;
42 // Returns the position of the specified track
43 // track: track to get position
44 wxCDtime
GetTrackPos(wxUint8 track
) const;
45 // Returns the total time
46 inline wxCDtime
GetTotalTime() const { return total_time
; }
50 wxCDAudio() : wxObject() {}
52 virtual ~wxCDAudio() {}
54 // Play audio at the specified position
55 virtual bool Play(const wxCDtime
& beg_play
, const wxCDtime
& end_play
) = 0;
56 // Play audio from the specified to the end of the CD audio
57 bool Play(const wxCDtime
& beg_play
);
59 bool Play(wxUint8 beg_track
, wxUint8 end_track
= 0);
60 // Pause the audio playing
61 virtual bool Pause() = 0;
62 // Resume a paused audio playing
63 virtual bool Resume() = 0;
64 // Get the current CD status
65 virtual CDstatus
GetStatus() = 0;
66 // Get the current playing time
67 virtual wxCDtime
GetTime() = 0;
68 // Returns the table of contents
69 virtual const CDtoc
& GetToc() = 0;
71 virtual bool Ok() const = 0;