]> git.saurik.com Git - wxWidgets.git/blame - utils/wxMMedia2/lib/cdbase.h
makefile typo
[wxWidgets.git] / utils / wxMMedia2 / lib / cdbase.h
CommitLineData
4d6306eb
GL
1// -*- c++ -*-
2// /////////////////////////////////////////////////////////////////////////////
3// Name: cdbase.h
4// Purpose: wxMMedia
5// Author: Guilhem Lavaux
6// Created: 1997
7// Updated: 1998
8// Copyright: (C) 1997, 1998, Guilhem Lavaux
9// License: wxWindows license
10// /////////////////////////////////////////////////////////////////////////////
11#ifndef __CDA_base_H__
12#define __CDA_base_H__
13
14#ifdef __GNUG__
15#pragma interface
16#endif
17
6c5e6376 18#include "wx/wxprec.h"
4d6306eb
GL
19
20typedef struct wxCDtime {
21 wxUint8 track;
22 wxUint8 hour, min, sec;
23} wxCDtime;
24
4d6306eb
GL
25class WXDLLEXPORT wxCDAudio : public wxObject {
26 DECLARE_ABSTRACT_CLASS(wxCDAudio)
27public:
4d6306eb 28 typedef enum { PLAYING, PAUSED, STOPPED } CDstatus;
526ddb13 29 // Table of contents manager
4d6306eb
GL
30 class CDtoc {
31 protected:
32 wxCDtime *tracks_time, *tracks_pos;
33 wxCDtime total_time;
34 public:
526ddb13 35 //
4d6306eb
GL
36 CDtoc(wxCDtime& tot_tm, wxCDtime *trks_tm, wxCDtime *trks_pos)
37 { tracks_time = trks_tm; total_time = tot_tm; tracks_pos = trks_pos; }
38
526ddb13
GL
39 // Returns the length of the specified track
40 // track: track to get length
4d6306eb 41 wxCDtime GetTrackTime(wxUint8 track) const;
526ddb13
GL
42 // Returns the position of the specified track
43 // track: track to get position
4d6306eb 44 wxCDtime GetTrackPos(wxUint8 track) const;
526ddb13 45 // Returns the total time
4d6306eb
GL
46 inline wxCDtime GetTotalTime() const { return total_time; }
47 };
48public:
526ddb13 49 //
4d6306eb 50 wxCDAudio() : wxObject() {}
526ddb13 51 //
4d6306eb
GL
52 virtual ~wxCDAudio() {}
53
526ddb13 54 // Play audio at the specified position
4d6306eb 55 virtual bool Play(const wxCDtime& beg_play, const wxCDtime& end_play) = 0;
526ddb13 56 // Play audio from the specified to the end of the CD audio
4d6306eb 57 bool Play(const wxCDtime& beg_play);
526ddb13 58 //
4d6306eb 59 bool Play(wxUint8 beg_track, wxUint8 end_track = 0);
526ddb13 60 // Pause the audio playing
4d6306eb 61 virtual bool Pause() = 0;
526ddb13 62 // Resume a paused audio playing
4d6306eb 63 virtual bool Resume() = 0;
526ddb13 64 // Get the current CD status
4d6306eb 65 virtual CDstatus GetStatus() = 0;
526ddb13 66 // Get the current playing time
4d6306eb 67 virtual wxCDtime GetTime() = 0;
526ddb13 68 // Returns the table of contents
4d6306eb 69 virtual const CDtoc& GetToc() = 0;
526ddb13 70 // CD ok
4d6306eb
GL
71 virtual bool Ok() const = 0;
72};
73
74#endif