Mercurial > cpython-lru_cache-weakref
annotate Mac/Modules/snd/Sndmodule.c @ 5817:48b94de85bf3 legacy-trunk
Extensive changes by AMK.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 17 Jul 1997 16:29:42 +0000 |
| parents | 22a033bbe655 |
| children | 172c7febd755 |
| rev | line source |
|---|---|
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2 /* =========================== Module Snd =========================== */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 #include "Python.h" |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 #define SystemSevenOrLater 1 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 #include "macglue.h" |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
11 #include <Memory.h> |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
12 #include <Dialogs.h> |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
13 #include <Menus.h> |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
14 #include <Controls.h> |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 extern PyObject *ResObj_New(Handle); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
17 extern int ResObj_Convert(PyObject *, Handle *); |
|
3295
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
18 extern PyObject *OptResObj_New(Handle); |
|
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
19 extern int OptResObj_Convert(PyObject *, Handle *); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
21 extern PyObject *WinObj_New(WindowPtr); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
22 extern int WinObj_Convert(PyObject *, WindowPtr *); |
|
3295
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
23 extern PyTypeObject Window_Type; |
|
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
24 #define WinObj_Check(x) ((x)->ob_type == &Window_Type) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
25 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
26 extern PyObject *DlgObj_New(DialogPtr); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
27 extern int DlgObj_Convert(PyObject *, DialogPtr *); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
28 extern PyTypeObject Dialog_Type; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
29 #define DlgObj_Check(x) ((x)->ob_type == &Dialog_Type) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
30 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
31 extern PyObject *MenuObj_New(MenuHandle); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
32 extern int MenuObj_Convert(PyObject *, MenuHandle *); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
33 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 extern PyObject *CtlObj_New(ControlHandle); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
35 extern int CtlObj_Convert(PyObject *, ControlHandle *); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
36 |
|
3295
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
37 extern PyObject *GrafObj_New(GrafPtr); |
|
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
38 extern int GrafObj_Convert(PyObject *, GrafPtr *); |
|
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
39 |
|
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
40 extern PyObject *BMObj_New(BitMapPtr); |
|
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
41 extern int BMObj_Convert(PyObject *, BitMapPtr *); |
|
3ca111e0b1a7
- Added color window/pixmap support
Jack Jansen <jack.jansen@cwi.nl>
parents:
3182
diff
changeset
|
42 |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
43 extern PyObject *WinObj_WhichWindow(WindowPtr); |
|
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
44 |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
45 #include <Sound.h> |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
46 |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
47 #ifndef HAVE_UNIVERSAL_HEADERS |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
48 #define SndCallBackUPP ProcPtr |
|
2399
438a8c265eb9
ported back to Think C
Guido van Rossum <guido@python.org>
parents:
2398
diff
changeset
|
49 #define NewSndCallBackProc(x) ((SndCallBackProcPtr)(x)) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
50 #define SndListHandle Handle |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
51 #endif |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
52 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
53 #include <OSUtils.h> /* for Set(Current)A5 */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
54 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
55 /* Create a SndCommand object (an (int, int, int) tuple) */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
56 static PyObject * |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
57 SndCmd_New(SndCommand *pc) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
58 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
59 return Py_BuildValue("hhl", pc->cmd, pc->param1, pc->param2); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
60 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
61 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
62 /* Convert a SndCommand argument */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
63 static int |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
64 SndCmd_Convert(PyObject *v, SndCommand *pc) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
65 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
66 int len; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
67 pc->param1 = 0; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
68 pc->param2 = 0; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
69 if (PyTuple_Check(v)) { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
70 if (PyArg_ParseTuple(v, "h|hl", &pc->cmd, &pc->param1, &pc->param2)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
71 return 1; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
72 PyErr_Clear(); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
73 return PyArg_ParseTuple(v, "hhs#", &pc->cmd, &pc->param1, &pc->param2, &len); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
74 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
75 return PyArg_Parse(v, "h", &pc->cmd); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
76 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
77 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
78 static pascal void SndCh_UserRoutine(SndChannelPtr chan, SndCommand *cmd); /* Forward */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
79 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
80 static PyObject *Snd_Error; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
81 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
82 /* --------------------- Object type SndChannel --------------------- */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
83 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
84 staticforward PyTypeObject SndChannel_Type; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
85 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
86 #define SndCh_Check(x) ((x)->ob_type == &SndChannel_Type) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
87 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
88 typedef struct SndChannelObject { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
89 PyObject_HEAD |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
90 SndChannelPtr ob_itself; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
91 /* Members used to implement callbacks: */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
92 PyObject *ob_callback; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
93 long ob_A5; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
94 SndCommand ob_cmd; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
95 } SndChannelObject; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
96 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
97 static PyObject *SndCh_New(itself) |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
98 SndChannelPtr itself; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
99 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
100 SndChannelObject *it; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
101 it = PyObject_NEW(SndChannelObject, &SndChannel_Type); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
102 if (it == NULL) return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
103 it->ob_itself = itself; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
104 it->ob_callback = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
105 it->ob_A5 = SetCurrentA5(); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
106 return (PyObject *)it; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
107 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
108 static SndCh_Convert(v, p_itself) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
109 PyObject *v; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
110 SndChannelPtr *p_itself; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
111 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
112 if (!SndCh_Check(v)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
113 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
114 PyErr_SetString(PyExc_TypeError, "SndChannel required"); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
115 return 0; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
116 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
117 *p_itself = ((SndChannelObject *)v)->ob_itself; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
118 return 1; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
119 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
120 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
121 static void SndCh_dealloc(self) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
122 SndChannelObject *self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
123 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
124 SndDisposeChannel(self->ob_itself, 1); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
125 Py_XDECREF(self->ob_callback); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
126 PyMem_DEL(self); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
127 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
128 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
129 static PyObject *SndCh_SndDoCommand(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
130 SndChannelObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
131 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
132 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
133 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
134 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
135 SndCommand cmd; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
136 Boolean noWait; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
137 if (!PyArg_ParseTuple(_args, "O&b", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
138 SndCmd_Convert, &cmd, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
139 &noWait)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
140 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
141 _err = SndDoCommand(_self->ob_itself, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
142 &cmd, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
143 noWait); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
144 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
145 Py_INCREF(Py_None); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
146 _res = Py_None; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
147 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
148 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
149 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
150 static PyObject *SndCh_SndDoImmediate(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
151 SndChannelObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
152 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
153 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
154 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
155 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
156 SndCommand cmd; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
157 if (!PyArg_ParseTuple(_args, "O&", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
158 SndCmd_Convert, &cmd)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
159 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
160 _err = SndDoImmediate(_self->ob_itself, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
161 &cmd); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
162 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
163 Py_INCREF(Py_None); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
164 _res = Py_None; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
165 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
166 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
167 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
168 static PyObject *SndCh_SndPlay(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
169 SndChannelObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
170 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
171 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
172 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
173 OSErr _err; |
|
2282
b034b4ea2b39
get rid of obsolete low-level routines
Guido van Rossum <guido@python.org>
parents:
2267
diff
changeset
|
174 SndListHandle sndHdl; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
175 Boolean async; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
176 if (!PyArg_ParseTuple(_args, "O&b", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
177 ResObj_Convert, &sndHdl, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
178 &async)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
179 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
180 _err = SndPlay(_self->ob_itself, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
181 sndHdl, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
182 async); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
183 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
184 Py_INCREF(Py_None); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
185 _res = Py_None; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
186 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
187 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
188 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
189 static PyObject *SndCh_SndStartFilePlay(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
190 SndChannelObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
191 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
192 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
193 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
194 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
195 short fRefNum; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
196 short resNum; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
197 long bufferSize; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
198 Boolean async; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
199 if (!PyArg_ParseTuple(_args, "hhlb", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
200 &fRefNum, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
201 &resNum, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
202 &bufferSize, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
203 &async)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
204 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
205 _err = SndStartFilePlay(_self->ob_itself, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
206 fRefNum, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
207 resNum, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
208 bufferSize, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
209 0, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
210 0, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
211 0, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
212 async); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
213 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
214 Py_INCREF(Py_None); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
215 _res = Py_None; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
216 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
217 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
218 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
219 static PyObject *SndCh_SndPauseFilePlay(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
220 SndChannelObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
221 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
222 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
223 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
224 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
225 if (!PyArg_ParseTuple(_args, "")) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
226 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
227 _err = SndPauseFilePlay(_self->ob_itself); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
228 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
229 Py_INCREF(Py_None); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
230 _res = Py_None; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
231 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
232 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
233 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
234 static PyObject *SndCh_SndStopFilePlay(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
235 SndChannelObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
236 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
237 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
238 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
239 OSErr _err; |
|
2721
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
240 Boolean quietNow; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
241 if (!PyArg_ParseTuple(_args, "b", |
|
2721
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
242 &quietNow)) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
243 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
244 _err = SndStopFilePlay(_self->ob_itself, |
|
2721
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
245 quietNow); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
246 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
247 Py_INCREF(Py_None); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
248 _res = Py_None; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
249 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
250 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
251 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
252 static PyObject *SndCh_SndChannelStatus(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
253 SndChannelObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
254 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
255 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
256 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
257 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
258 short theLength; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
259 SCStatus theStatus__out__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
260 if (!PyArg_ParseTuple(_args, "h", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
261 &theLength)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
262 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
263 _err = SndChannelStatus(_self->ob_itself, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
264 theLength, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
265 &theStatus__out__); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
266 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
267 _res = Py_BuildValue("s#", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
268 (char *)&theStatus__out__, (int)sizeof(SCStatus)); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
269 theStatus__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
270 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
271 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
272 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
273 static PyMethodDef SndCh_methods[] = { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
274 {"SndDoCommand", (PyCFunction)SndCh_SndDoCommand, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
275 "(SndCommand cmd, Boolean noWait) -> None"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
276 {"SndDoImmediate", (PyCFunction)SndCh_SndDoImmediate, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
277 "(SndCommand cmd) -> None"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
278 {"SndPlay", (PyCFunction)SndCh_SndPlay, 1, |
|
2282
b034b4ea2b39
get rid of obsolete low-level routines
Guido van Rossum <guido@python.org>
parents:
2267
diff
changeset
|
279 "(SndListHandle sndHdl, Boolean async) -> None"}, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
280 {"SndStartFilePlay", (PyCFunction)SndCh_SndStartFilePlay, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
281 "(short fRefNum, short resNum, long bufferSize, Boolean async) -> None"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
282 {"SndPauseFilePlay", (PyCFunction)SndCh_SndPauseFilePlay, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
283 "() -> None"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
284 {"SndStopFilePlay", (PyCFunction)SndCh_SndStopFilePlay, 1, |
|
2721
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
285 "(Boolean quietNow) -> None"}, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
286 {"SndChannelStatus", (PyCFunction)SndCh_SndChannelStatus, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
287 "(short theLength) -> (SCStatus theStatus)"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
288 {NULL, NULL, 0} |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
289 }; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
290 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
291 static PyMethodChain SndCh_chain = { SndCh_methods, NULL }; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
292 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
293 static PyObject *SndCh_getattr(self, name) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
294 SndChannelObject *self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
295 char *name; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
296 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
297 return Py_FindMethodInChain(&SndCh_chain, (PyObject *)self, name); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
298 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
299 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
300 #define SndCh_setattr NULL |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
301 |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
302 staticforward PyTypeObject SndChannel_Type = { |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
303 PyObject_HEAD_INIT(&PyType_Type) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
304 0, /*ob_size*/ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
305 "SndChannel", /*tp_name*/ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
306 sizeof(SndChannelObject), /*tp_basicsize*/ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
307 0, /*tp_itemsize*/ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
308 /* methods */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
309 (destructor) SndCh_dealloc, /*tp_dealloc*/ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
310 0, /*tp_print*/ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
311 (getattrfunc) SndCh_getattr, /*tp_getattr*/ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
312 (setattrfunc) SndCh_setattr, /*tp_setattr*/ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
313 }; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
314 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
315 /* ------------------- End object type SndChannel ------------------- */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
316 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
317 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
318 static PyObject *Snd_SndNewChannel(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
319 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
320 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
321 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
322 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
323 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
324 SndChannelPtr chan = 0; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
325 short synth; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
326 long init; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
327 PyObject* userRoutine; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
328 if (!PyArg_ParseTuple(_args, "hlO", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
329 &synth, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
330 &init, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
331 &userRoutine)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
332 return NULL; |
|
2282
b034b4ea2b39
get rid of obsolete low-level routines
Guido van Rossum <guido@python.org>
parents:
2267
diff
changeset
|
333 if (userRoutine != Py_None && !PyCallable_Check(userRoutine)) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
334 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
335 PyErr_SetString(PyExc_TypeError, "callback must be callable"); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
336 goto userRoutine__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
337 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
338 _err = SndNewChannel(&chan, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
339 synth, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
340 init, |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
341 NewSndCallBackProc(SndCh_UserRoutine)); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
342 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
343 _res = Py_BuildValue("O&", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
344 SndCh_New, chan); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
345 if (_res != NULL && userRoutine != Py_None) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
346 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
347 SndChannelObject *p = (SndChannelObject *)_res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
348 p->ob_itself->userInfo = (long)p; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
349 Py_INCREF(userRoutine); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
350 p->ob_callback = userRoutine; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
351 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
352 userRoutine__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
353 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
354 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
355 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
356 static PyObject *Snd_SndControl(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
357 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
358 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
359 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
360 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
361 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
362 short id; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
363 SndCommand cmd; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
364 if (!PyArg_ParseTuple(_args, "h", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
365 &id)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
366 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
367 _err = SndControl(id, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
368 &cmd); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
369 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
370 _res = Py_BuildValue("O&", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
371 SndCmd_New, &cmd); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
372 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
373 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
374 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
375 static PyObject *Snd_SndSoundManagerVersion(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
376 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
377 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
378 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
379 PyObject *_res = NULL; |
|
3915
341146100f38
NumVersion stuff has changed
Jack Jansen <jack.jansen@cwi.nl>
parents:
3518
diff
changeset
|
380 NumVersion _rv; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
381 if (!PyArg_ParseTuple(_args, "")) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
382 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
383 _rv = SndSoundManagerVersion(); |
|
3915
341146100f38
NumVersion stuff has changed
Jack Jansen <jack.jansen@cwi.nl>
parents:
3518
diff
changeset
|
384 _res = Py_BuildValue("O&", |
|
341146100f38
NumVersion stuff has changed
Jack Jansen <jack.jansen@cwi.nl>
parents:
3518
diff
changeset
|
385 PyMac_BuildNumVersion, _rv); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
386 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
387 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
388 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
389 static PyObject *Snd_SndManagerStatus(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
390 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
391 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
392 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
393 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
394 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
395 short theLength; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
396 SMStatus theStatus__out__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
397 if (!PyArg_ParseTuple(_args, "h", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
398 &theLength)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
399 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
400 _err = SndManagerStatus(theLength, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
401 &theStatus__out__); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
402 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
403 _res = Py_BuildValue("s#", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
404 (char *)&theStatus__out__, (int)sizeof(SMStatus)); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
405 theStatus__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
406 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
407 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
408 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
409 static PyObject *Snd_SndGetSysBeepState(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
410 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
411 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
412 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
413 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
414 short sysBeepState; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
415 if (!PyArg_ParseTuple(_args, "")) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
416 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
417 SndGetSysBeepState(&sysBeepState); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
418 _res = Py_BuildValue("h", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
419 sysBeepState); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
420 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
421 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
422 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
423 static PyObject *Snd_SndSetSysBeepState(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
424 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
425 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
426 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
427 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
428 OSErr _err; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
429 short sysBeepState; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
430 if (!PyArg_ParseTuple(_args, "h", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
431 &sysBeepState)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
432 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
433 _err = SndSetSysBeepState(sysBeepState); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
434 if (_err != noErr) return PyMac_Error(_err); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
435 Py_INCREF(Py_None); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
436 _res = Py_None; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
437 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
438 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
439 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
440 static PyObject *Snd_MACEVersion(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
441 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
442 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
443 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
444 PyObject *_res = NULL; |
|
3915
341146100f38
NumVersion stuff has changed
Jack Jansen <jack.jansen@cwi.nl>
parents:
3518
diff
changeset
|
445 NumVersion _rv; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
446 if (!PyArg_ParseTuple(_args, "")) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
447 return NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
448 _rv = MACEVersion(); |
|
3915
341146100f38
NumVersion stuff has changed
Jack Jansen <jack.jansen@cwi.nl>
parents:
3518
diff
changeset
|
449 _res = Py_BuildValue("O&", |
|
341146100f38
NumVersion stuff has changed
Jack Jansen <jack.jansen@cwi.nl>
parents:
3518
diff
changeset
|
450 PyMac_BuildNumVersion, _rv); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
451 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
452 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
453 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
454 static PyObject *Snd_Comp3to1(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
455 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
456 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
457 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
458 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
459 char *buffer__in__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
460 char *buffer__out__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
461 long buffer__len__; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
462 int buffer__in_len__; |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
463 StateBlock *state__in__; |
|
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
464 StateBlock state__out__; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
465 int state__in_len__; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
466 unsigned long numChannels; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
467 unsigned long whichChannel; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
468 if (!PyArg_ParseTuple(_args, "s#s#ll", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
469 &buffer__in__, &buffer__in_len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
470 (char **)&state__in__, &state__in_len__, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
471 &numChannels, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
472 &whichChannel)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
473 return NULL; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
474 if ((buffer__out__ = malloc(buffer__in_len__)) == NULL) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
475 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
476 PyErr_NoMemory(); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
477 goto buffer__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
478 } |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
479 buffer__len__ = buffer__in_len__; |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
480 if (state__in_len__ != sizeof(StateBlock)) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
481 { |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
482 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(StateBlock)"); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
483 goto state__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
484 } |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
485 Comp3to1(buffer__in__, buffer__out__, (long)buffer__len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
486 state__in__, &state__out__, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
487 numChannels, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
488 whichChannel); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
489 _res = Py_BuildValue("s#s#", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
490 buffer__out__, (int)buffer__len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
491 (char *)&state__out__, (int)sizeof(StateBlock)); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
492 state__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
493 free(buffer__out__); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
494 buffer__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
495 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
496 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
497 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
498 static PyObject *Snd_Exp1to3(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
499 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
500 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
501 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
502 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
503 char *buffer__in__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
504 char *buffer__out__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
505 long buffer__len__; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
506 int buffer__in_len__; |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
507 StateBlock *state__in__; |
|
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
508 StateBlock state__out__; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
509 int state__in_len__; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
510 unsigned long numChannels; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
511 unsigned long whichChannel; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
512 if (!PyArg_ParseTuple(_args, "s#s#ll", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
513 &buffer__in__, &buffer__in_len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
514 (char **)&state__in__, &state__in_len__, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
515 &numChannels, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
516 &whichChannel)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
517 return NULL; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
518 if ((buffer__out__ = malloc(buffer__in_len__)) == NULL) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
519 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
520 PyErr_NoMemory(); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
521 goto buffer__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
522 } |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
523 buffer__len__ = buffer__in_len__; |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
524 if (state__in_len__ != sizeof(StateBlock)) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
525 { |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
526 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(StateBlock)"); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
527 goto state__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
528 } |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
529 Exp1to3(buffer__in__, buffer__out__, (long)buffer__len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
530 state__in__, &state__out__, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
531 numChannels, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
532 whichChannel); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
533 _res = Py_BuildValue("s#s#", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
534 buffer__out__, (int)buffer__len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
535 (char *)&state__out__, (int)sizeof(StateBlock)); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
536 state__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
537 free(buffer__out__); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
538 buffer__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
539 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
540 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
541 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
542 static PyObject *Snd_Comp6to1(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
543 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
544 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
545 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
546 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
547 char *buffer__in__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
548 char *buffer__out__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
549 long buffer__len__; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
550 int buffer__in_len__; |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
551 StateBlock *state__in__; |
|
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
552 StateBlock state__out__; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
553 int state__in_len__; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
554 unsigned long numChannels; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
555 unsigned long whichChannel; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
556 if (!PyArg_ParseTuple(_args, "s#s#ll", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
557 &buffer__in__, &buffer__in_len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
558 (char **)&state__in__, &state__in_len__, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
559 &numChannels, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
560 &whichChannel)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
561 return NULL; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
562 if ((buffer__out__ = malloc(buffer__in_len__)) == NULL) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
563 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
564 PyErr_NoMemory(); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
565 goto buffer__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
566 } |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
567 buffer__len__ = buffer__in_len__; |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
568 if (state__in_len__ != sizeof(StateBlock)) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
569 { |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
570 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(StateBlock)"); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
571 goto state__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
572 } |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
573 Comp6to1(buffer__in__, buffer__out__, (long)buffer__len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
574 state__in__, &state__out__, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
575 numChannels, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
576 whichChannel); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
577 _res = Py_BuildValue("s#s#", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
578 buffer__out__, (int)buffer__len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
579 (char *)&state__out__, (int)sizeof(StateBlock)); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
580 state__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
581 free(buffer__out__); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
582 buffer__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
583 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
584 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
585 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
586 static PyObject *Snd_Exp1to6(_self, _args) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
587 PyObject *_self; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
588 PyObject *_args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
589 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
590 PyObject *_res = NULL; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
591 char *buffer__in__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
592 char *buffer__out__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
593 long buffer__len__; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
594 int buffer__in_len__; |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
595 StateBlock *state__in__; |
|
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
596 StateBlock state__out__; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
597 int state__in_len__; |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
598 unsigned long numChannels; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
599 unsigned long whichChannel; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
600 if (!PyArg_ParseTuple(_args, "s#s#ll", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
601 &buffer__in__, &buffer__in_len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
602 (char **)&state__in__, &state__in_len__, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
603 &numChannels, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
604 &whichChannel)) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
605 return NULL; |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
606 if ((buffer__out__ = malloc(buffer__in_len__)) == NULL) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
607 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
608 PyErr_NoMemory(); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
609 goto buffer__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
610 } |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
611 buffer__len__ = buffer__in_len__; |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
612 if (state__in_len__ != sizeof(StateBlock)) |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
613 { |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
614 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(StateBlock)"); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
615 goto state__error__; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
616 } |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
617 Exp1to6(buffer__in__, buffer__out__, (long)buffer__len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
618 state__in__, &state__out__, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
619 numChannels, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
620 whichChannel); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
621 _res = Py_BuildValue("s#s#", |
|
2398
cabb7c5732ef
another round... ported to __SC__
Guido van Rossum <guido@python.org>
parents:
2282
diff
changeset
|
622 buffer__out__, (int)buffer__len__, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
623 (char *)&state__out__, (int)sizeof(StateBlock)); |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
624 state__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
625 free(buffer__out__); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
626 buffer__error__: ; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
627 return _res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
628 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
629 |
|
2721
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
630 static PyObject *Snd_GetSysBeepVolume(_self, _args) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
631 PyObject *_self; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
632 PyObject *_args; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
633 { |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
634 PyObject *_res = NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
635 OSErr _err; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
636 long level; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
637 if (!PyArg_ParseTuple(_args, "")) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
638 return NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
639 _err = GetSysBeepVolume(&level); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
640 if (_err != noErr) return PyMac_Error(_err); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
641 _res = Py_BuildValue("l", |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
642 level); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
643 return _res; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
644 } |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
645 |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
646 static PyObject *Snd_SetSysBeepVolume(_self, _args) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
647 PyObject *_self; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
648 PyObject *_args; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
649 { |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
650 PyObject *_res = NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
651 OSErr _err; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
652 long level; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
653 if (!PyArg_ParseTuple(_args, "l", |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
654 &level)) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
655 return NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
656 _err = SetSysBeepVolume(level); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
657 if (_err != noErr) return PyMac_Error(_err); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
658 Py_INCREF(Py_None); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
659 _res = Py_None; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
660 return _res; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
661 } |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
662 |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
663 static PyObject *Snd_GetDefaultOutputVolume(_self, _args) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
664 PyObject *_self; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
665 PyObject *_args; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
666 { |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
667 PyObject *_res = NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
668 OSErr _err; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
669 long level; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
670 if (!PyArg_ParseTuple(_args, "")) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
671 return NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
672 _err = GetDefaultOutputVolume(&level); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
673 if (_err != noErr) return PyMac_Error(_err); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
674 _res = Py_BuildValue("l", |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
675 level); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
676 return _res; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
677 } |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
678 |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
679 static PyObject *Snd_SetDefaultOutputVolume(_self, _args) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
680 PyObject *_self; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
681 PyObject *_args; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
682 { |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
683 PyObject *_res = NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
684 OSErr _err; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
685 long level; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
686 if (!PyArg_ParseTuple(_args, "l", |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
687 &level)) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
688 return NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
689 _err = SetDefaultOutputVolume(level); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
690 if (_err != noErr) return PyMac_Error(_err); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
691 Py_INCREF(Py_None); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
692 _res = Py_None; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
693 return _res; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
694 } |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
695 |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
696 static PyObject *Snd_GetSoundHeaderOffset(_self, _args) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
697 PyObject *_self; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
698 PyObject *_args; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
699 { |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
700 PyObject *_res = NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
701 OSErr _err; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
702 SndListHandle sndHandle; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
703 long offset; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
704 if (!PyArg_ParseTuple(_args, "O&", |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
705 ResObj_Convert, &sndHandle)) |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
706 return NULL; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
707 _err = GetSoundHeaderOffset(sndHandle, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
708 &offset); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
709 if (_err != noErr) return PyMac_Error(_err); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
710 _res = Py_BuildValue("l", |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
711 offset); |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
712 return _res; |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
713 } |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
714 |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
715 static PyMethodDef Snd_methods[] = { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
716 {"SndNewChannel", (PyCFunction)Snd_SndNewChannel, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
717 "(short synth, long init, PyObject* userRoutine) -> (SndChannelPtr chan)"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
718 {"SndControl", (PyCFunction)Snd_SndControl, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
719 "(short id) -> (SndCommand cmd)"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
720 {"SndSoundManagerVersion", (PyCFunction)Snd_SndSoundManagerVersion, 1, |
|
3915
341146100f38
NumVersion stuff has changed
Jack Jansen <jack.jansen@cwi.nl>
parents:
3518
diff
changeset
|
721 "() -> (NumVersion _rv)"}, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
722 {"SndManagerStatus", (PyCFunction)Snd_SndManagerStatus, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
723 "(short theLength) -> (SMStatus theStatus)"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
724 {"SndGetSysBeepState", (PyCFunction)Snd_SndGetSysBeepState, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
725 "() -> (short sysBeepState)"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
726 {"SndSetSysBeepState", (PyCFunction)Snd_SndSetSysBeepState, 1, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
727 "(short sysBeepState) -> None"}, |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
728 {"MACEVersion", (PyCFunction)Snd_MACEVersion, 1, |
|
3915
341146100f38
NumVersion stuff has changed
Jack Jansen <jack.jansen@cwi.nl>
parents:
3518
diff
changeset
|
729 "() -> (NumVersion _rv)"}, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
730 {"Comp3to1", (PyCFunction)Snd_Comp3to1, 1, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
731 "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"}, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
732 {"Exp1to3", (PyCFunction)Snd_Exp1to3, 1, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
733 "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"}, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
734 {"Comp6to1", (PyCFunction)Snd_Comp6to1, 1, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
735 "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"}, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
736 {"Exp1to6", (PyCFunction)Snd_Exp1to6, 1, |
|
2723
a0fc94b3bb21
Ported to Universal Header 2.0.1f (i.e. CW6)
Jack Jansen <jack.jansen@cwi.nl>
parents:
2721
diff
changeset
|
737 "(Buffer buffer, StateBlock state, unsigned long numChannels, unsigned long whichChannel) -> (Buffer buffer, StateBlock state)"}, |
|
2721
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
738 {"GetSysBeepVolume", (PyCFunction)Snd_GetSysBeepVolume, 1, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
739 "() -> (long level)"}, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
740 {"SetSysBeepVolume", (PyCFunction)Snd_SetSysBeepVolume, 1, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
741 "(long level) -> None"}, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
742 {"GetDefaultOutputVolume", (PyCFunction)Snd_GetDefaultOutputVolume, 1, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
743 "() -> (long level)"}, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
744 {"SetDefaultOutputVolume", (PyCFunction)Snd_SetDefaultOutputVolume, 1, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
745 "(long level) -> None"}, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
746 {"GetSoundHeaderOffset", (PyCFunction)Snd_GetSoundHeaderOffset, 1, |
|
364d4a524cec
Trying again to check it in. Changes to:
Jack Jansen <jack.jansen@cwi.nl>
parents:
2399
diff
changeset
|
747 "(SndListHandle sndHandle) -> (long offset)"}, |
|
2267
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
748 {NULL, NULL, 0} |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
749 }; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
750 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
751 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
752 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
753 /* Routine passed to Py_AddPendingCall -- call the Python callback */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
754 static int |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
755 SndCh_CallCallBack(arg) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
756 void *arg; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
757 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
758 SndChannelObject *p = (SndChannelObject *)arg; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
759 PyObject *args; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
760 PyObject *res; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
761 args = Py_BuildValue("(O(hhl))", |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
762 p, p->ob_cmd.cmd, p->ob_cmd.param1, p->ob_cmd.param2); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
763 res = PyEval_CallObject(p->ob_callback, args); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
764 Py_DECREF(args); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
765 if (res == NULL) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
766 return -1; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
767 Py_DECREF(res); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
768 return 0; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
769 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
770 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
771 /* Routine passed to NewSndChannel -- schedule a call to SndCh_CallCallBack */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
772 static pascal void |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
773 SndCh_UserRoutine(SndChannelPtr chan, SndCommand *cmd) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
774 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
775 SndChannelObject *p = (SndChannelObject *)(chan->userInfo); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
776 if (p->ob_callback != NULL) { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
777 long A5 = SetA5(p->ob_A5); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
778 p->ob_cmd = *cmd; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
779 Py_AddPendingCall(SndCh_CallCallBack, (void *)p); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
780 SetA5(A5); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
781 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
782 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
783 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
784 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
785 void initSnd() |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
786 { |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
787 PyObject *m; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
788 PyObject *d; |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
789 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
790 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
791 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
792 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
793 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
794 m = Py_InitModule("Snd", Snd_methods); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
795 d = PyModule_GetDict(m); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
796 Snd_Error = PyMac_GetOSErrException(); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
797 if (Snd_Error == NULL || |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
798 PyDict_SetItemString(d, "Error", Snd_Error) != 0) |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
799 Py_FatalError("can't initialize Snd.Error"); |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
800 } |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
801 |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
802 /* ========================= End module Snd ========================= */ |
|
7411b6a06920
Committed a more or less working version.
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
803 |
