]>
git.saurik.com Git - wxWidgets.git/blob - contrib/samples/mmedia/mmbman.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Multimedia Board manager
4 // Author: Guilhem Lavaux, <guilhem.lavaux@libertysurf.fr>
8 // Copyright: (c) 2000, Guilhem Lavaux
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _MMBMAN_APP_H_
13 #define _MMBMAN_APP_H_
15 #if defined(__GNUG__) && !defined(__APPLE__)
16 #pragma interface "mmbman.cpp"
19 #include "wx/stream.h"
20 #include "wx/mmedia/sndbase.h"
22 // -------------------------------------------------------------------------
23 // Base structure definitions
24 // -------------------------------------------------------------------------
27 wxUint8 seconds
, minutes
, hours
;
30 // -------------------------------------------------------------------------
32 // -------------------------------------------------------------------------
34 #define MMBoard_NoError 0
35 #define MMBoard_UnknownFile 1
37 // -------------------------------------------------------------------------
38 // Interface definition: MMBoardFile
39 // -------------------------------------------------------------------------
44 virtual ~MMBoardFile();
46 virtual bool NeedWindow() = 0;
48 virtual void SetWindow(wxWindow
*window
) = 0;
50 virtual void Play() = 0;
51 virtual void Pause() = 0;
52 virtual void Resume() = 0;
53 virtual void Stop() = 0;
55 virtual MMBoardTime
GetPosition() = 0;
56 virtual MMBoardTime
GetLength() = 0;
57 virtual void SetPosition(MMBoardTime btime
) = 0;
59 virtual bool IsStopped() = 0;
60 virtual bool IsPaused() = 0;
62 virtual wxString
GetStringType() = 0;
63 virtual wxString
GetStringInformation() = 0;
65 void SetError(wxUint8 error
) { m_error
= error
; }
66 wxUint8
GetError() const { return m_error
; }
72 // -------------------------------------------------------------------------
74 // -------------------------------------------------------------------------
76 class MMBoardManager
{
78 static MMBoardFile
*Open(const wxString
& filename
);
80 static wxSoundStream
*OpenSoundStream();
81 static void UnrefSoundStream(wxSoundStream
*stream
);