1 #if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
2 typedef int Py_ssize_t;
3 #define PY_SSIZE_T_MAX INT_MAX
4 #define PY_SSIZE_T_MIN INT_MIN
5 #endif
6 
7 /********************************************************
8  Audio Tools, a module and set of tools for manipulating audio data
9  Copyright (C) 2007-2014  Brian Langenberger
10 
11  This program is free software; you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation; either version 2 of the License, or
14  (at your option) any later version.
15 
16  This program is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  GNU General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with this program; if not, write to the Free Software
23  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
24 *******************************************************/
25 
26 #if PY_MAJOR_VERSION >= 3
27 #define IS_PY3K
28 #endif
29 
30 PyObject*
31 encoders_encode_flac(PyObject *dummy, PyObject *args, PyObject *keywds);
32 
33 PyObject*
34 encoders_encode_shn(PyObject *dummy, PyObject *args, PyObject *keywds);
35 
36 PyObject*
37 encoders_encode_alac(PyObject *dummy, PyObject *args, PyObject *keywds);
38 
39 PyObject*
40 encoders_encode_wavpack(PyObject *dummy, PyObject *args, PyObject *keywds);
41 
42 PyObject*
43 encoders_encode_tta(PyObject *dummy, PyObject *args, PyObject *keywds);
44 
45 #ifdef HAS_MP3
46 PyObject*
47 encoders_encode_mp3(PyObject *dummy, PyObject *args, PyObject *keywds);
48 #endif
49 
50 #ifdef HAS_MP2
51 PyObject*
52 encoders_encode_mp2(PyObject *dummy, PyObject *args, PyObject *keywds);
53 #endif
54 
55 #ifdef HAS_VORBIS
56 PyObject*
57 encoders_encode_vorbis(PyObject *dummy, PyObject *args, PyObject *keywds);
58 #endif
59 
60 #ifdef HAS_OPUS
61 PyObject*
62 encoders_encode_opus(PyObject *dummy, PyObject *args, PyObject *keywds);
63 #endif
64 
65 PyMethodDef module_methods[] = {
66     {"encode_flac", (PyCFunction)encoders_encode_flac,
67      METH_VARARGS | METH_KEYWORDS, "Encode FLAC file from PCMReader"},
68     {"encode_shn", (PyCFunction)encoders_encode_shn,
69      METH_VARARGS | METH_KEYWORDS, "Encode Shorten file from PCMReader"},
70     {"encode_alac", (PyCFunction)encoders_encode_alac,
71      METH_VARARGS | METH_KEYWORDS, "Encode ALAC file from PCMReader"},
72     {"encode_wavpack", (PyCFunction)encoders_encode_wavpack,
73      METH_VARARGS | METH_KEYWORDS, "Encode WavPack file from PCMReader"},
74     {"encode_tta", (PyCFunction)encoders_encode_tta,
75      METH_VARARGS | METH_KEYWORDS, "Encode TTA file from PCMReader"},
76     #ifdef HAS_MP3
77     {"encode_mp3", (PyCFunction)encoders_encode_mp3,
78      METH_VARARGS | METH_KEYWORDS, "Encode MP3 file from PCMReader"},
79     #endif
80     #ifdef HAS_MP2
81     {"encode_mp2", (PyCFunction)encoders_encode_mp2,
82     METH_VARARGS | METH_KEYWORDS, "Encode MP2 file from PCMReader"},
83     #endif
84     #ifdef HAS_VORBIS
85     {"encode_vorbis", (PyCFunction)encoders_encode_vorbis,
86     METH_VARARGS | METH_KEYWORDS, "Encode Vorbis file from PCMReader"},
87     #endif
88     #ifdef HAS_OPUS
89     {"encode_opus", (PyCFunction)encoders_encode_opus,
90     METH_VARARGS | METH_KEYWORDS, "Encode Opus file from PCMReader"},
91     #endif
92     {NULL}
93 };
94