1// ---------------------------------------------------------------------------
2// Name:       cdbase.cpp
3// Purpose:    wxMMedia
4// Author:     Guilhem Lavaux
5// Created:    1997
6// Updated:    1999
7// Copyright:  (C) 1997, 1998, 1999 Guilhem Lavaux
8// License:    wxWindows license
9// ---------------------------------------------------------------------------
10
11#include "wx/wxprec.h"
12
13#ifndef WX_PRECOMP
14    #include "wx/defs.h"
15#endif
16
17#ifdef __BORLANDC__
18#pragma hdrstop
19#endif
20
21// ---------------------------------------------------------------------------
22// MMedia headers
23// ---------------------------------------------------------------------------
24
25#include "wx/mmedia/cdbase.h"
26
27// ---------------------------------------------------------------------------
28// Implementation
29// ---------------------------------------------------------------------------
30
31IMPLEMENT_ABSTRACT_CLASS(wxCDAudio, wxObject)
32
33wxCDtime wxCDAudio::CDtoc::GetTrackTime(wxUint8 track) const
34{
35  if (track > total_time.track) {
36    wxCDtime dummy_time = {0, 0, 0, 0};
37    return dummy_time;
38  }
39  return tracks_time[track];
40}
41
42wxCDtime wxCDAudio::CDtoc::GetTrackPos(wxUint8 track) const
43{
44  if (track > total_time.track) {
45    wxCDtime dummy_time = {0, 0, 0, 0};
46    return dummy_time;
47  }
48  return tracks_pos[track];
49}
50
51bool wxCDAudio::Play(const wxCDtime& beg_play)
52{
53  return Play(beg_play, GetToc().GetTotalTime());
54}
55
56bool wxCDAudio::Play(wxUint8 beg_track, wxUint8 end_track)
57{
58  wxCDtime beg_play = GetToc().GetTrackPos(beg_track);
59  wxCDtime end_play;
60
61  if (end_track)
62    end_play = GetToc().GetTrackPos(end_track);
63  else
64    end_play = GetToc().GetTotalTime();
65  return Play(beg_play, end_play);
66}
67