]> git.saurik.com Git - wxWidgets.git/blob - utils/wxMMedia2/board/mmbman.h
c8446fab8bd7a2a72752ecb0ed73c363551eefde
[wxWidgets.git] / utils / wxMMedia2 / board / mmbman.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: mmbman.h
3 // Purpose: Multimedia Board manager
4 // Author: Guilhem Lavaux, <guilhem.lavaux@libertysurf.fr>
5 // Modified by:
6 // Created: 13/02/2000
7 // RCS-ID: $Id$
8 // Copyright: (c) 2000, Guilhem Lavaux
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _MMBMAN_APP_H_
13 #define _MMBMAN_APP_H_
14
15 #ifdef __GNUG__
16 #pragma interface "mmbman.cpp"
17 #endif
18
19 #include "wx/stream.h"
20 #include "sndbase.h"
21
22 // -------------------------------------------------------------------------
23 // Base structure definitions
24 // -------------------------------------------------------------------------
25
26 typedef struct {
27 wxUint8 seconds, minutes, hours;
28 } MMBoardTime;
29
30 // -------------------------------------------------------------------------
31 // Constants
32 // -------------------------------------------------------------------------
33
34 #define MMBoard_NoError 0
35 #define MMBoard_UnknownFile 1
36
37 // -------------------------------------------------------------------------
38 // Interface definition: MMBoardFile
39 // -------------------------------------------------------------------------
40
41 class MMBoardFile {
42 public:
43 MMBoardFile();
44 virtual ~MMBoardFile();
45
46 virtual bool NeedWindow() = 0;
47
48 virtual void SetWindow(wxWindow *window) = 0;
49
50 virtual void Play() = 0;
51 virtual void Pause() = 0;
52 virtual void Resume() = 0;
53 virtual void Stop() = 0;
54
55 virtual MMBoardTime GetPosition() = 0;
56 virtual MMBoardTime GetLength() = 0;
57
58 virtual bool IsStopped() = 0;
59 virtual bool IsPaused() = 0;
60
61 virtual wxString GetStringType() = 0;
62 virtual wxString GetStringInformation() = 0;
63
64 void SetError(wxUint8 error) { m_error = error; }
65 wxUint8 GetError() const { return m_error; }
66
67 protected:
68 wxUint8 m_error;
69 };
70
71 // -------------------------------------------------------------------------
72 // Main manager
73 // -------------------------------------------------------------------------
74
75 class MMBoardManager {
76 public:
77 static MMBoardFile *Open(const wxString& filename);
78
79 static wxSoundStream *OpenSoundStream();
80 static void UnrefSoundStream(wxSoundStream *stream);
81 };
82
83 #endif