]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/_sound.i
wxToggleButton on wxMac has these methods now
[wxWidgets.git] / wxPython / src / _sound.i
CommitLineData
78862f24
RD
1/////////////////////////////////////////////////////////////////////////////
2// Name: _sound.i
3// Purpose: SWIG interface stuff for wxSound
4//
5// Author: Robin Dunn
6//
7// Created: 18-June-1999
8// RCS-ID: $Id$
9// Copyright: (c) 2003 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13// Not a %module
14
15
16//---------------------------------------------------------------------------
17%newgroup
18
19%{
20#include <wx/sound.h>
21%}
22
23//---------------------------------------------------------------------------
24
25enum wxSoundFlags
26{
27 wxSOUND_SYNC = 0,
28 wxSOUND_ASYNC = 1,
29 wxSOUND_LOOP = 2
30};
31
32
33
34%{
35#if !wxUSE_SOUND
36// A C++ stub class for wxWave for platforms that don't have it.
37class wxSound : public wxObject
38{
39public:
40 wxSound() {
da32eb53 41 bool blocked = wxPyBeginBlockThreads();
78862f24
RD
42 PyErr_SetString(PyExc_NotImplementedError,
43 "wxSound is not available on this platform.");
da32eb53 44 wxPyEndBlockThreads(blocked);
78862f24
RD
45 }
46 wxSound(const wxString&, bool) {
da32eb53 47 bool blocked = wxPyBeginBlockThreads();
78862f24
RD
48 PyErr_SetString(PyExc_NotImplementedError,
49 "wxSound is not available on this platform.");
da32eb53 50 wxPyEndBlockThreads(blocked);
78862f24
RD
51 }
52 wxSound(int, const wxByte*) {
da32eb53 53 bool blocked = wxPyBeginBlockThreads();
78862f24
RD
54 PyErr_SetString(PyExc_NotImplementedError,
55 "wxSound is not available on this platform.");
da32eb53 56 wxPyEndBlockThreads(blocked);
78862f24
RD
57 }
58
59 ~wxSound() {};
60
61 bool Create(const wxString&, bool) { return false; }
62 bool Create(int, const wxByte*) { return false; };
63 bool IsOk() { return false; };
64 bool Play(unsigned) const { return false; }
65 static bool Play(const wxString&, unsigned) { return false; }
66 static void Stop() {}
67};
68
69#endif
70%}
71
72
73
74class wxSound /*: public wxObject*/
75{
76public:
77 %nokwargs wxSound;
78 wxSound();
79 wxSound(const wxString& fileName, bool isResource = false);
80 wxSound(int size, const wxByte* data);
81 ~wxSound();
82
83 %nokwargs Create;
84 %nokwargs Play;
85
86 // Create from resource or file
87 bool Create(const wxString& fileName, bool isResource = false);
e8e4a2a4
RD
88
89#ifndef __WXMAC__
78862f24
RD
90 // Create from data
91 bool Create(int size, const wxByte* data);
e8e4a2a4
RD
92#else
93 %extend {
94 bool Create(int size, const wxByte* data) {
da32eb53 95 bool blocked = wxPyBeginBlockThreads();
e8e4a2a4
RD
96 PyErr_SetString(PyExc_NotImplementedError,
97 "Create from data is not available on this platform.");
da32eb53 98 wxPyEndBlockThreads(blocked);
b409bb30 99 return False;
e8e4a2a4
RD
100 }
101 }
102#endif
103
78862f24
RD
104 bool IsOk();
105
106 // Play the sound:
107 bool Play(unsigned flags = wxSOUND_ASYNC) const;
108
109 // Plays sound from filename:
110 %name(PlaySound)static bool Play(const wxString& filename, unsigned flags = wxSOUND_ASYNC);
111
e8e4a2a4 112#ifndef __WXMAC__
78862f24 113 static void Stop();
e8e4a2a4
RD
114#else
115 %extend {
bb5919e4
RD
116 static void Stop()
117 { wxPyRaiseNotImplemented(); }
e8e4a2a4
RD
118 }
119#endif
78862f24
RD
120
121 %pythoncode { def __nonzero__(self): return self.IsOk() }
122};
123
124
125
126
127//---------------------------------------------------------------------------