Cleanup: remove redundant, invalid info from headers
[blender.git] / intern / audaspace / intern / AUD_PyInit.cpp
1 /*
2  * Copyright 2009-2011 Jörg Hermann Müller
3  *
4  * This file is part of AudaSpace.
5  *
6  * Audaspace is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * AudaSpace is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with Audaspace; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  */
20
21 /** \file audaspace/intern/AUD_PyInit.cpp
22  *  \ingroup audaspaceintern
23  */
24
25 #include "AUD_PyInit.h"
26
27 #include <AUD_Sound.h>
28 #include <python/PySound.h>
29 #include <python/PyAPI.h>
30
31 extern "C" {
32 extern void *BKE_sound_get_factory(void *sound);
33 }
34
35 static PyObject *AUD_getSoundFromPointer(PyObject *self, PyObject *args)
36 {
37         long int lptr;
38
39         if (PyArg_Parse(args, "l:_sound_from_pointer", &lptr)) {
40                 if (lptr) {
41                         AUD_Sound* sound = BKE_sound_get_factory((void *) lptr);
42
43                         if (sound) {
44                                 Sound *obj = (Sound *)Sound_empty();
45                                 if (obj) {
46                                         obj->sound = AUD_Sound_copy(sound);
47                                         return (PyObject *) obj;
48                                 }
49                         }
50                 }
51         }
52
53         Py_RETURN_NONE;
54 }
55
56 static PyMethodDef meth_sound_from_pointer[] = {
57     {"_sound_from_pointer", (PyCFunction)AUD_getSoundFromPointer, METH_O,
58      "_sound_from_pointer(pointer)\n\n"
59      "Returns the corresponding :class:`Factory` object.\n\n"
60      ":arg pointer: The pointer to the bSound object as long.\n"
61      ":type pointer: long\n"
62      ":return: The corresponding :class:`Factory` object.\n"
63      ":rtype: :class:`Factory`"}
64 };
65
66 PyObject *AUD_initPython(void)
67 {
68         PyObject *module = PyInit_aud();
69         PyModule_AddObject(module, "_sound_from_pointer", (PyObject *)PyCFunction_New(meth_sound_from_pointer, NULL));
70         PyDict_SetItemString(PyImport_GetModuleDict(), "aud", module);
71
72         return module;
73 }
74