]> git.saurik.com Git - wxWidgets.git/blob - utils/wxMMedia/mmdata.cpp
fixed somebody's poorly done StreamSize-->GetSize transition
[wxWidgets.git] / utils / wxMMedia / mmdata.cpp
1 ////////////////////////////////////////////////////////////////////////////////
2 // Name: mmdata.cpp
3 // Purpose: wxMMedia
4 // Author: Guilhem Lavaux
5 // Created: 1997
6 // Updated: 1998
7 // Copyright: (C) 1997, 1998, Guilhem Lavaux
8 // License: wxWindows license
9 ////////////////////////////////////////////////////////////////////////////////
10 #include "wx/wxprec.h"
11
12 #include "mmfile.h"
13
14 #include "sndsnd.h"
15 #include "sndfrmt.h"
16 #if defined(__UNIX__)
17 #include "snduss.h"
18 #endif
19 #include "sndfrag.h"
20 #include "sndfile.h"
21 #include "sndwav.h"
22 #include "sndaiff.h"
23 #include "sndau.h"
24 #include "sndpcm.h"
25 #include "sndmulaw.h"
26 #include "sndadpcm.h"
27 #include "vidbase.h"
28 #if defined(__X__) || defined(__WXGTK__)
29 #include "vidxanm.h"
30 #endif
31 #ifdef __WINDOWS__
32 #include "sndwin.h"
33 #include "cdwin.h"
34 #include "vidwin.h"
35 #endif
36 #include "cdbase.h"
37 #ifdef __UNIX__
38 #include "cdunix.h"
39 #endif
40 #include "mmsolve.h"
41 // #include "midfile.h"
42
43 #ifdef __BORLANDC__
44 #pragma hdrstop
45 #endif
46
47 IMPLEMENT_ABSTRACT_CLASS(wxSound, wxObject)
48 IMPLEMENT_ABSTRACT_CLASS(wxSndBuffer, wxObject)
49 IMPLEMENT_DYNAMIC_CLASS(wxSndSimpleBuffer, wxSndBuffer)
50
51 IMPLEMENT_ABSTRACT_CLASS(wxSoundCodec, wxObject)
52 IMPLEMENT_DYNAMIC_CLASS(wxSoundPcmCodec, wxSoundCodec)
53 IMPLEMENT_DYNAMIC_CLASS(wxSoundMulawCodec, wxSoundCodec)
54 IMPLEMENT_DYNAMIC_CLASS(wxSoundAdpcmCodec, wxSoundCodec)
55
56 #ifdef __UNIX__
57 IMPLEMENT_DYNAMIC_CLASS(wxUssSound, wxSound)
58 #endif
59 #ifdef __WINDOWS__
60 IMPLEMENT_DYNAMIC_CLASS(wxWinSound, wxSound)
61 #endif
62
63 IMPLEMENT_ABSTRACT_CLASS(wxSndFileCodec, wxMMediaFile)
64 IMPLEMENT_DYNAMIC_CLASS(wxSndWavCodec, wxSndFileCodec)
65 IMPLEMENT_DYNAMIC_CLASS(wxSndAuCodec, wxSndFileCodec)
66 IMPLEMENT_DYNAMIC_CLASS(wxSndAiffCodec, wxSndFileCodec)
67
68 IMPLEMENT_ABSTRACT_CLASS(wxVideoBaseDriver, wxMMediaFile)
69 IMPLEMENT_DYNAMIC_CLASS(wxVideoOutput, wxWindow)
70 #if defined(__X__) || defined(__WXGTK__)
71 IMPLEMENT_DYNAMIC_CLASS(wxVideoXANIM, wxVideoBaseDriver)
72 #endif
73 #ifdef __WINDOWS__
74 IMPLEMENT_DYNAMIC_CLASS(wxVideoWindows, wxVideoBaseDriver)
75 #endif
76
77 IMPLEMENT_ABSTRACT_CLASS(wxCDAudio, wxObject)
78 #ifdef linux
79 IMPLEMENT_DYNAMIC_CLASS(wxCDAudioLinux, wxCDAudio)
80 #else
81 IMPLEMENT_DYNAMIC_CLASS(wxCDAudioWin, wxCDAudio)
82 #endif
83
84 // IMPLEMENT_ABSTRACT_CLASS(wxMidiFile, wxObject)
85
86 wxMediaFileSolve::wxMFileList *wxMediaFileSolve::m_first = NULL;
87 wxUint8 wxMediaFileSolve::m_devnum = 0;
88
89 MMD_REGISTER_FILE("audio/x-wav", "Wav Player", wxSndWavCodec, "wav")
90 MMD_REGISTER_FILE("audio/x-aiff", "Aiff Player", wxSndAiffCodec, "aif")
91 MMD_REGISTER_FILE("audio/x-au", "Sun Audio File Player", wxSndAuCodec, "au")
92 #if defined(__X__) || defined(__WXGTK__)
93 MMD_REGISTER_FILE("video/*", "Video Player", wxVideoXANIM, "mov")
94 #else
95 MMD_REGISTER_FILE("video/avi", "AVI Player", wxVideoWindows, "avi")
96 #endif