~ubuntu-branches/ubuntu/saucy/solfege/saucy

« back to all changes in this revision

Viewing changes to soundcard/solfege_c_midi_wrap.c

  • Committer: Bazaar Package Importer
  • Author(s): Tom Cato Amundsen
  • Date: 2010-03-28 06:34:28 UTC
  • mfrom: (1.1.10 upstream) (2.1.7 sid)
  • Revision ID: james.westby@ubuntu.com-20100328063428-wg2bqvoce2aq4xfb
Tags: 3.15.9-1
* New upstream release.
* Redo packaging. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* ----------------------------------------------------------------------------
2
 
 * This file was automatically generated by SWIG (http://www.swig.org).
3
 
 * Version 1.3.36
4
 
 * 
5
 
 * This file is not intended to be easily readable and contains a number of 
6
 
 * coding conventions designed to improve portability and efficiency. Do not make
7
 
 * changes to this file unless you know what you are doing--modify the SWIG 
8
 
 * interface file instead. 
9
 
 * ----------------------------------------------------------------------------- */
10
 
 
11
 
#define SWIGPYTHON
12
 
#define SWIG_PYTHON_DIRECTOR_NO_VTABLE
13
 
/* -----------------------------------------------------------------------------
14
 
 *  This section contains generic SWIG labels for method/variable
15
 
 *  declarations/attributes, and other compiler dependent labels.
16
 
 * ----------------------------------------------------------------------------- */
17
 
 
18
 
/* template workaround for compilers that cannot correctly implement the C++ standard */
19
 
#ifndef SWIGTEMPLATEDISAMBIGUATOR
20
 
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
21
 
#  define SWIGTEMPLATEDISAMBIGUATOR template
22
 
# elif defined(__HP_aCC)
23
 
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
24
 
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
25
 
#  define SWIGTEMPLATEDISAMBIGUATOR template
26
 
# else
27
 
#  define SWIGTEMPLATEDISAMBIGUATOR
28
 
# endif
29
 
#endif
30
 
 
31
 
/* inline attribute */
32
 
#ifndef SWIGINLINE
33
 
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
34
 
#   define SWIGINLINE inline
35
 
# else
36
 
#   define SWIGINLINE
37
 
# endif
38
 
#endif
39
 
 
40
 
/* attribute recognised by some compilers to avoid 'unused' warnings */
41
 
#ifndef SWIGUNUSED
42
 
# if defined(__GNUC__)
43
 
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
44
 
#     define SWIGUNUSED __attribute__ ((__unused__)) 
45
 
#   else
46
 
#     define SWIGUNUSED
47
 
#   endif
48
 
# elif defined(__ICC)
49
 
#   define SWIGUNUSED __attribute__ ((__unused__)) 
50
 
# else
51
 
#   define SWIGUNUSED 
52
 
# endif
53
 
#endif
54
 
 
55
 
#ifndef SWIG_MSC_UNSUPPRESS_4505
56
 
# if defined(_MSC_VER)
57
 
#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
58
 
# endif 
59
 
#endif
60
 
 
61
 
#ifndef SWIGUNUSEDPARM
62
 
# ifdef __cplusplus
63
 
#   define SWIGUNUSEDPARM(p)
64
 
# else
65
 
#   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
66
 
# endif
67
 
#endif
68
 
 
69
 
/* internal SWIG method */
70
 
#ifndef SWIGINTERN
71
 
# define SWIGINTERN static SWIGUNUSED
72
 
#endif
73
 
 
74
 
/* internal inline SWIG method */
75
 
#ifndef SWIGINTERNINLINE
76
 
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
77
 
#endif
78
 
 
79
 
/* exporting methods */
80
 
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
81
 
#  ifndef GCC_HASCLASSVISIBILITY
82
 
#    define GCC_HASCLASSVISIBILITY
83
 
#  endif
84
 
#endif
85
 
 
86
 
#ifndef SWIGEXPORT
87
 
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
88
 
#   if defined(STATIC_LINKED)
89
 
#     define SWIGEXPORT
90
 
#   else
91
 
#     define SWIGEXPORT __declspec(dllexport)
92
 
#   endif
93
 
# else
94
 
#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
95
 
#     define SWIGEXPORT __attribute__ ((visibility("default")))
96
 
#   else
97
 
#     define SWIGEXPORT
98
 
#   endif
99
 
# endif
100
 
#endif
101
 
 
102
 
/* calling conventions for Windows */
103
 
#ifndef SWIGSTDCALL
104
 
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
105
 
#   define SWIGSTDCALL __stdcall
106
 
# else
107
 
#   define SWIGSTDCALL
108
 
# endif 
109
 
#endif
110
 
 
111
 
/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
112
 
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
113
 
# define _CRT_SECURE_NO_DEPRECATE
114
 
#endif
115
 
 
116
 
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
117
 
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
118
 
# define _SCL_SECURE_NO_DEPRECATE
119
 
#endif
120
 
 
121
 
 
122
 
 
123
 
/* Python.h has to appear first */
124
 
#include <Python.h>
125
 
 
126
 
/* -----------------------------------------------------------------------------
127
 
 * swigrun.swg
128
 
 *
129
 
 * This file contains generic CAPI SWIG runtime support for pointer
130
 
 * type checking.
131
 
 * ----------------------------------------------------------------------------- */
132
 
 
133
 
/* This should only be incremented when either the layout of swig_type_info changes,
134
 
   or for whatever reason, the runtime changes incompatibly */
135
 
#define SWIG_RUNTIME_VERSION "4"
136
 
 
137
 
/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
138
 
#ifdef SWIG_TYPE_TABLE
139
 
# define SWIG_QUOTE_STRING(x) #x
140
 
# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
141
 
# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
142
 
#else
143
 
# define SWIG_TYPE_TABLE_NAME
144
 
#endif
145
 
 
146
 
/*
147
 
  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
148
 
  creating a static or dynamic library from the swig runtime code.
149
 
  In 99.9% of the cases, swig just needs to declare them as 'static'.
150
 
  
151
 
  But only do this if is strictly necessary, ie, if you have problems
152
 
  with your compiler or so.
153
 
*/
154
 
 
155
 
#ifndef SWIGRUNTIME
156
 
# define SWIGRUNTIME SWIGINTERN
157
 
#endif
158
 
 
159
 
#ifndef SWIGRUNTIMEINLINE
160
 
# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
161
 
#endif
162
 
 
163
 
/*  Generic buffer size */
164
 
#ifndef SWIG_BUFFER_SIZE
165
 
# define SWIG_BUFFER_SIZE 1024
166
 
#endif
167
 
 
168
 
/* Flags for pointer conversions */
169
 
#define SWIG_POINTER_DISOWN        0x1
170
 
#define SWIG_CAST_NEW_MEMORY       0x2
171
 
 
172
 
/* Flags for new pointer objects */
173
 
#define SWIG_POINTER_OWN           0x1
174
 
 
175
 
 
176
 
/* 
177
 
   Flags/methods for returning states.
178
 
   
179
 
   The swig conversion methods, as ConvertPtr, return and integer 
180
 
   that tells if the conversion was successful or not. And if not,
181
 
   an error code can be returned (see swigerrors.swg for the codes).
182
 
   
183
 
   Use the following macros/flags to set or process the returning
184
 
   states.
185
 
   
186
 
   In old swig versions, you usually write code as:
187
 
 
188
 
     if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
189
 
       // success code
190
 
     } else {
191
 
       //fail code
192
 
     }
193
 
 
194
 
   Now you can be more explicit as:
195
 
 
196
 
    int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
197
 
    if (SWIG_IsOK(res)) {
198
 
      // success code
199
 
    } else {
200
 
      // fail code
201
 
    }
202
 
 
203
 
   that seems to be the same, but now you can also do
204
 
 
205
 
    Type *ptr;
206
 
    int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
207
 
    if (SWIG_IsOK(res)) {
208
 
      // success code
209
 
      if (SWIG_IsNewObj(res) {
210
 
        ...
211
 
        delete *ptr;
212
 
      } else {
213
 
        ...
214
 
      }
215
 
    } else {
216
 
      // fail code
217
 
    }
218
 
    
219
 
   I.e., now SWIG_ConvertPtr can return new objects and you can
220
 
   identify the case and take care of the deallocation. Of course that
221
 
   requires also to SWIG_ConvertPtr to return new result values, as
222
 
 
223
 
      int SWIG_ConvertPtr(obj, ptr,...) {         
224
 
        if (<obj is ok>) {                             
225
 
          if (<need new object>) {                     
226
 
            *ptr = <ptr to new allocated object>; 
227
 
            return SWIG_NEWOBJ;                
228
 
          } else {                                     
229
 
            *ptr = <ptr to old object>;        
230
 
            return SWIG_OLDOBJ;                
231
 
          }                                    
232
 
        } else {                                       
233
 
          return SWIG_BADOBJ;                  
234
 
        }                                              
235
 
      }
236
 
 
237
 
   Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
238
 
   more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
239
 
   swig errors code.
240
 
 
241
 
   Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
242
 
   allows to return the 'cast rank', for example, if you have this
243
 
 
244
 
       int food(double)
245
 
       int fooi(int);
246
 
 
247
 
   and you call
248
 
 
249
 
      food(1)   // cast rank '1'  (1 -> 1.0)
250
 
      fooi(1)   // cast rank '0'
251
 
 
252
 
   just use the SWIG_AddCast()/SWIG_CheckState()
253
 
 
254
 
 
255
 
 */
256
 
#define SWIG_OK                    (0) 
257
 
#define SWIG_ERROR                 (-1)
258
 
#define SWIG_IsOK(r)               (r >= 0)
259
 
#define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)  
260
 
 
261
 
/* The CastRankLimit says how many bits are used for the cast rank */
262
 
#define SWIG_CASTRANKLIMIT         (1 << 8)
263
 
/* The NewMask denotes the object was created (using new/malloc) */
264
 
#define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
265
 
/* The TmpMask is for in/out typemaps that use temporal objects */
266
 
#define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
267
 
/* Simple returning values */
268
 
#define SWIG_BADOBJ                (SWIG_ERROR)
269
 
#define SWIG_OLDOBJ                (SWIG_OK)
270
 
#define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
271
 
#define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
272
 
/* Check, add and del mask methods */
273
 
#define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
274
 
#define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
275
 
#define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
276
 
#define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
277
 
#define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
278
 
#define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))
279
 
 
280
 
 
281
 
/* Cast-Rank Mode */
282
 
#if defined(SWIG_CASTRANK_MODE)
283
 
#  ifndef SWIG_TypeRank
284
 
#    define SWIG_TypeRank             unsigned long
285
 
#  endif
286
 
#  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */
287
 
#    define SWIG_MAXCASTRANK          (2)
288
 
#  endif
289
 
#  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
290
 
#  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
291
 
SWIGINTERNINLINE int SWIG_AddCast(int r) { 
292
 
  return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
293
 
}
294
 
SWIGINTERNINLINE int SWIG_CheckState(int r) { 
295
 
  return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; 
296
 
}
297
 
#else /* no cast-rank mode */
298
 
#  define SWIG_AddCast
299
 
#  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
300
 
#endif
301
 
 
302
 
 
303
 
 
304
 
 
305
 
#include <string.h>
306
 
 
307
 
#ifdef __cplusplus
308
 
extern "C" {
309
 
#endif
310
 
 
311
 
typedef void *(*swig_converter_func)(void *, int *);
312
 
typedef struct swig_type_info *(*swig_dycast_func)(void **);
313
 
 
314
 
/* Structure to store information on one type */
315
 
typedef struct swig_type_info {
316
 
  const char             *name;                 /* mangled name of this type */
317
 
  const char             *str;                  /* human readable name of this type */
318
 
  swig_dycast_func        dcast;                /* dynamic cast function down a hierarchy */
319
 
  struct swig_cast_info  *cast;                 /* linked list of types that can cast into this type */
320
 
  void                   *clientdata;           /* language specific type data */
321
 
  int                    owndata;               /* flag if the structure owns the clientdata */
322
 
} swig_type_info;
323
 
 
324
 
/* Structure to store a type and conversion function used for casting */
325
 
typedef struct swig_cast_info {
326
 
  swig_type_info         *type;                 /* pointer to type that is equivalent to this type */
327
 
  swig_converter_func     converter;            /* function to cast the void pointers */
328
 
  struct swig_cast_info  *next;                 /* pointer to next cast in linked list */
329
 
  struct swig_cast_info  *prev;                 /* pointer to the previous cast */
330
 
} swig_cast_info;
331
 
 
332
 
/* Structure used to store module information
333
 
 * Each module generates one structure like this, and the runtime collects
334
 
 * all of these structures and stores them in a circularly linked list.*/
335
 
typedef struct swig_module_info {
336
 
  swig_type_info         **types;               /* Array of pointers to swig_type_info structures that are in this module */
337
 
  size_t                 size;                  /* Number of types in this module */
338
 
  struct swig_module_info *next;                /* Pointer to next element in circularly linked list */
339
 
  swig_type_info         **type_initial;        /* Array of initially generated type structures */
340
 
  swig_cast_info         **cast_initial;        /* Array of initially generated casting structures */
341
 
  void                    *clientdata;          /* Language specific module data */
342
 
} swig_module_info;
343
 
 
344
 
/* 
345
 
  Compare two type names skipping the space characters, therefore
346
 
  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
347
 
 
348
 
  Return 0 when the two name types are equivalent, as in
349
 
  strncmp, but skipping ' '.
350
 
*/
351
 
SWIGRUNTIME int
352
 
SWIG_TypeNameComp(const char *f1, const char *l1,
353
 
                  const char *f2, const char *l2) {
354
 
  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
355
 
    while ((*f1 == ' ') && (f1 != l1)) ++f1;
356
 
    while ((*f2 == ' ') && (f2 != l2)) ++f2;
357
 
    if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
358
 
  }
359
 
  return (int)((l1 - f1) - (l2 - f2));
360
 
}
361
 
 
362
 
/*
363
 
  Check type equivalence in a name list like <name1>|<name2>|...
364
 
  Return 0 if not equal, 1 if equal
365
 
*/
366
 
SWIGRUNTIME int
367
 
SWIG_TypeEquiv(const char *nb, const char *tb) {
368
 
  int equiv = 0;
369
 
  const char* te = tb + strlen(tb);
370
 
  const char* ne = nb;
371
 
  while (!equiv && *ne) {
372
 
    for (nb = ne; *ne; ++ne) {
373
 
      if (*ne == '|') break;
374
 
    }
375
 
    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
376
 
    if (*ne) ++ne;
377
 
  }
378
 
  return equiv;
379
 
}
380
 
 
381
 
/*
382
 
  Check type equivalence in a name list like <name1>|<name2>|...
383
 
  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
384
 
*/
385
 
SWIGRUNTIME int
386
 
SWIG_TypeCompare(const char *nb, const char *tb) {
387
 
  int equiv = 0;
388
 
  const char* te = tb + strlen(tb);
389
 
  const char* ne = nb;
390
 
  while (!equiv && *ne) {
391
 
    for (nb = ne; *ne; ++ne) {
392
 
      if (*ne == '|') break;
393
 
    }
394
 
    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
395
 
    if (*ne) ++ne;
396
 
  }
397
 
  return equiv;
398
 
}
399
 
 
400
 
 
401
 
/* think of this as a c++ template<> or a scheme macro */
402
 
#define SWIG_TypeCheck_Template(comparison, ty)         \
403
 
  if (ty) {                                             \
404
 
    swig_cast_info *iter = ty->cast;                    \
405
 
    while (iter) {                                      \
406
 
      if (comparison) {                                 \
407
 
        if (iter == ty->cast) return iter;              \
408
 
        /* Move iter to the top of the linked list */   \
409
 
        iter->prev->next = iter->next;                  \
410
 
        if (iter->next)                                 \
411
 
          iter->next->prev = iter->prev;                \
412
 
        iter->next = ty->cast;                          \
413
 
        iter->prev = 0;                                 \
414
 
        if (ty->cast) ty->cast->prev = iter;            \
415
 
        ty->cast = iter;                                \
416
 
        return iter;                                    \
417
 
      }                                                 \
418
 
      iter = iter->next;                                \
419
 
    }                                                   \
420
 
  }                                                     \
421
 
  return 0
422
 
 
423
 
/*
424
 
  Check the typename
425
 
*/
426
 
SWIGRUNTIME swig_cast_info *
427
 
SWIG_TypeCheck(const char *c, swig_type_info *ty) {
428
 
  SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
429
 
}
430
 
 
431
 
/* Same as previous function, except strcmp is replaced with a pointer comparison */
432
 
SWIGRUNTIME swig_cast_info *
433
 
SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
434
 
  SWIG_TypeCheck_Template(iter->type == from, into);
435
 
}
436
 
 
437
 
/*
438
 
  Cast a pointer up an inheritance hierarchy
439
 
*/
440
 
SWIGRUNTIMEINLINE void *
441
 
SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
442
 
  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
443
 
}
444
 
 
445
 
/* 
446
 
   Dynamic pointer casting. Down an inheritance hierarchy
447
 
*/
448
 
SWIGRUNTIME swig_type_info *
449
 
SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
450
 
  swig_type_info *lastty = ty;
451
 
  if (!ty || !ty->dcast) return ty;
452
 
  while (ty && (ty->dcast)) {
453
 
    ty = (*ty->dcast)(ptr);
454
 
    if (ty) lastty = ty;
455
 
  }
456
 
  return lastty;
457
 
}
458
 
 
459
 
/*
460
 
  Return the name associated with this type
461
 
*/
462
 
SWIGRUNTIMEINLINE const char *
463
 
SWIG_TypeName(const swig_type_info *ty) {
464
 
  return ty->name;
465
 
}
466
 
 
467
 
/*
468
 
  Return the pretty name associated with this type,
469
 
  that is an unmangled type name in a form presentable to the user.
470
 
*/
471
 
SWIGRUNTIME const char *
472
 
SWIG_TypePrettyName(const swig_type_info *type) {
473
 
  /* The "str" field contains the equivalent pretty names of the
474
 
     type, separated by vertical-bar characters.  We choose
475
 
     to print the last name, as it is often (?) the most
476
 
     specific. */
477
 
  if (!type) return NULL;
478
 
  if (type->str != NULL) {
479
 
    const char *last_name = type->str;
480
 
    const char *s;
481
 
    for (s = type->str; *s; s++)
482
 
      if (*s == '|') last_name = s+1;
483
 
    return last_name;
484
 
  }
485
 
  else
486
 
    return type->name;
487
 
}
488
 
 
489
 
/* 
490
 
   Set the clientdata field for a type
491
 
*/
492
 
SWIGRUNTIME void
493
 
SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
494
 
  swig_cast_info *cast = ti->cast;
495
 
  /* if (ti->clientdata == clientdata) return; */
496
 
  ti->clientdata = clientdata;
497
 
  
498
 
  while (cast) {
499
 
    if (!cast->converter) {
500
 
      swig_type_info *tc = cast->type;
501
 
      if (!tc->clientdata) {
502
 
        SWIG_TypeClientData(tc, clientdata);
503
 
      }
504
 
    }    
505
 
    cast = cast->next;
506
 
  }
507
 
}
508
 
SWIGRUNTIME void
509
 
SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
510
 
  SWIG_TypeClientData(ti, clientdata);
511
 
  ti->owndata = 1;
512
 
}
513
 
  
514
 
/*
515
 
  Search for a swig_type_info structure only by mangled name
516
 
  Search is a O(log #types)
517
 
  
518
 
  We start searching at module start, and finish searching when start == end.  
519
 
  Note: if start == end at the beginning of the function, we go all the way around
520
 
  the circular list.
521
 
*/
522
 
SWIGRUNTIME swig_type_info *
523
 
SWIG_MangledTypeQueryModule(swig_module_info *start, 
524
 
                            swig_module_info *end, 
525
 
                            const char *name) {
526
 
  swig_module_info *iter = start;
527
 
  do {
528
 
    if (iter->size) {
529
 
      register size_t l = 0;
530
 
      register size_t r = iter->size - 1;
531
 
      do {
532
 
        /* since l+r >= 0, we can (>> 1) instead (/ 2) */
533
 
        register size_t i = (l + r) >> 1; 
534
 
        const char *iname = iter->types[i]->name;
535
 
        if (iname) {
536
 
          register int compare = strcmp(name, iname);
537
 
          if (compare == 0) {       
538
 
            return iter->types[i];
539
 
          } else if (compare < 0) {
540
 
            if (i) {
541
 
              r = i - 1;
542
 
            } else {
543
 
              break;
544
 
            }
545
 
          } else if (compare > 0) {
546
 
            l = i + 1;
547
 
          }
548
 
        } else {
549
 
          break; /* should never happen */
550
 
        }
551
 
      } while (l <= r);
552
 
    }
553
 
    iter = iter->next;
554
 
  } while (iter != end);
555
 
  return 0;
556
 
}
557
 
 
558
 
/*
559
 
  Search for a swig_type_info structure for either a mangled name or a human readable name.
560
 
  It first searches the mangled names of the types, which is a O(log #types)
561
 
  If a type is not found it then searches the human readable names, which is O(#types).
562
 
  
563
 
  We start searching at module start, and finish searching when start == end.  
564
 
  Note: if start == end at the beginning of the function, we go all the way around
565
 
  the circular list.
566
 
*/
567
 
SWIGRUNTIME swig_type_info *
568
 
SWIG_TypeQueryModule(swig_module_info *start, 
569
 
                     swig_module_info *end, 
570
 
                     const char *name) {
571
 
  /* STEP 1: Search the name field using binary search */
572
 
  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
573
 
  if (ret) {
574
 
    return ret;
575
 
  } else {
576
 
    /* STEP 2: If the type hasn't been found, do a complete search
577
 
       of the str field (the human readable name) */
578
 
    swig_module_info *iter = start;
579
 
    do {
580
 
      register size_t i = 0;
581
 
      for (; i < iter->size; ++i) {
582
 
        if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
583
 
          return iter->types[i];
584
 
      }
585
 
      iter = iter->next;
586
 
    } while (iter != end);
587
 
  }
588
 
  
589
 
  /* neither found a match */
590
 
  return 0;
591
 
}
592
 
 
593
 
/* 
594
 
   Pack binary data into a string
595
 
*/
596
 
SWIGRUNTIME char *
597
 
SWIG_PackData(char *c, void *ptr, size_t sz) {
598
 
  static const char hex[17] = "0123456789abcdef";
599
 
  register const unsigned char *u = (unsigned char *) ptr;
600
 
  register const unsigned char *eu =  u + sz;
601
 
  for (; u != eu; ++u) {
602
 
    register unsigned char uu = *u;
603
 
    *(c++) = hex[(uu & 0xf0) >> 4];
604
 
    *(c++) = hex[uu & 0xf];
605
 
  }
606
 
  return c;
607
 
}
608
 
 
609
 
/* 
610
 
   Unpack binary data from a string
611
 
*/
612
 
SWIGRUNTIME const char *
613
 
SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
614
 
  register unsigned char *u = (unsigned char *) ptr;
615
 
  register const unsigned char *eu = u + sz;
616
 
  for (; u != eu; ++u) {
617
 
    register char d = *(c++);
618
 
    register unsigned char uu;
619
 
    if ((d >= '0') && (d <= '9'))
620
 
      uu = ((d - '0') << 4);
621
 
    else if ((d >= 'a') && (d <= 'f'))
622
 
      uu = ((d - ('a'-10)) << 4);
623
 
    else 
624
 
      return (char *) 0;
625
 
    d = *(c++);
626
 
    if ((d >= '0') && (d <= '9'))
627
 
      uu |= (d - '0');
628
 
    else if ((d >= 'a') && (d <= 'f'))
629
 
      uu |= (d - ('a'-10));
630
 
    else 
631
 
      return (char *) 0;
632
 
    *u = uu;
633
 
  }
634
 
  return c;
635
 
}
636
 
 
637
 
/* 
638
 
   Pack 'void *' into a string buffer.
639
 
*/
640
 
SWIGRUNTIME char *
641
 
SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
642
 
  char *r = buff;
643
 
  if ((2*sizeof(void *) + 2) > bsz) return 0;
644
 
  *(r++) = '_';
645
 
  r = SWIG_PackData(r,&ptr,sizeof(void *));
646
 
  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
647
 
  strcpy(r,name);
648
 
  return buff;
649
 
}
650
 
 
651
 
SWIGRUNTIME const char *
652
 
SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
653
 
  if (*c != '_') {
654
 
    if (strcmp(c,"NULL") == 0) {
655
 
      *ptr = (void *) 0;
656
 
      return name;
657
 
    } else {
658
 
      return 0;
659
 
    }
660
 
  }
661
 
  return SWIG_UnpackData(++c,ptr,sizeof(void *));
662
 
}
663
 
 
664
 
SWIGRUNTIME char *
665
 
SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
666
 
  char *r = buff;
667
 
  size_t lname = (name ? strlen(name) : 0);
668
 
  if ((2*sz + 2 + lname) > bsz) return 0;
669
 
  *(r++) = '_';
670
 
  r = SWIG_PackData(r,ptr,sz);
671
 
  if (lname) {
672
 
    strncpy(r,name,lname+1);
673
 
  } else {
674
 
    *r = 0;
675
 
  }
676
 
  return buff;
677
 
}
678
 
 
679
 
SWIGRUNTIME const char *
680
 
SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
681
 
  if (*c != '_') {
682
 
    if (strcmp(c,"NULL") == 0) {
683
 
      memset(ptr,0,sz);
684
 
      return name;
685
 
    } else {
686
 
      return 0;
687
 
    }
688
 
  }
689
 
  return SWIG_UnpackData(++c,ptr,sz);
690
 
}
691
 
 
692
 
#ifdef __cplusplus
693
 
}
694
 
#endif
695
 
 
696
 
/*  Errors in SWIG */
697
 
#define  SWIG_UnknownError         -1 
698
 
#define  SWIG_IOError              -2 
699
 
#define  SWIG_RuntimeError         -3 
700
 
#define  SWIG_IndexError           -4 
701
 
#define  SWIG_TypeError            -5 
702
 
#define  SWIG_DivisionByZero       -6 
703
 
#define  SWIG_OverflowError        -7 
704
 
#define  SWIG_SyntaxError          -8 
705
 
#define  SWIG_ValueError           -9 
706
 
#define  SWIG_SystemError          -10
707
 
#define  SWIG_AttributeError       -11
708
 
#define  SWIG_MemoryError          -12 
709
 
#define  SWIG_NullReferenceError   -13
710
 
 
711
 
 
712
 
 
713
 
 
714
 
/* Add PyOS_snprintf for old Pythons */
715
 
#if PY_VERSION_HEX < 0x02020000
716
 
# if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM)
717
 
#  define PyOS_snprintf _snprintf
718
 
# else
719
 
#  define PyOS_snprintf snprintf
720
 
# endif
721
 
#endif
722
 
 
723
 
/* A crude PyString_FromFormat implementation for old Pythons */
724
 
#if PY_VERSION_HEX < 0x02020000
725
 
 
726
 
#ifndef SWIG_PYBUFFER_SIZE
727
 
# define SWIG_PYBUFFER_SIZE 1024
728
 
#endif
729
 
 
730
 
static PyObject *
731
 
PyString_FromFormat(const char *fmt, ...) {
732
 
  va_list ap;
733
 
  char buf[SWIG_PYBUFFER_SIZE * 2];
734
 
  int res;
735
 
  va_start(ap, fmt);
736
 
  res = vsnprintf(buf, sizeof(buf), fmt, ap);
737
 
  va_end(ap);
738
 
  return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf);
739
 
}
740
 
#endif
741
 
 
742
 
/* Add PyObject_Del for old Pythons */
743
 
#if PY_VERSION_HEX < 0x01060000
744
 
# define PyObject_Del(op) PyMem_DEL((op))
745
 
#endif
746
 
#ifndef PyObject_DEL
747
 
# define PyObject_DEL PyObject_Del
748
 
#endif
749
 
 
750
 
/* A crude PyExc_StopIteration exception for old Pythons */
751
 
#if PY_VERSION_HEX < 0x02020000
752
 
# ifndef PyExc_StopIteration
753
 
#  define PyExc_StopIteration PyExc_RuntimeError
754
 
# endif
755
 
# ifndef PyObject_GenericGetAttr
756
 
#  define PyObject_GenericGetAttr 0
757
 
# endif
758
 
#endif
759
 
/* Py_NotImplemented is defined in 2.1 and up. */
760
 
#if PY_VERSION_HEX < 0x02010000
761
 
# ifndef Py_NotImplemented
762
 
#  define Py_NotImplemented PyExc_RuntimeError
763
 
# endif
764
 
#endif
765
 
 
766
 
 
767
 
/* A crude PyString_AsStringAndSize implementation for old Pythons */
768
 
#if PY_VERSION_HEX < 0x02010000
769
 
# ifndef PyString_AsStringAndSize
770
 
#  define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;}
771
 
# endif
772
 
#endif
773
 
 
774
 
/* PySequence_Size for old Pythons */
775
 
#if PY_VERSION_HEX < 0x02000000
776
 
# ifndef PySequence_Size
777
 
#  define PySequence_Size PySequence_Length
778
 
# endif
779
 
#endif
780
 
 
781
 
 
782
 
/* PyBool_FromLong for old Pythons */
783
 
#if PY_VERSION_HEX < 0x02030000
784
 
static
785
 
PyObject *PyBool_FromLong(long ok)
786
 
{
787
 
  PyObject *result = ok ? Py_True : Py_False;
788
 
  Py_INCREF(result);
789
 
  return result;
790
 
}
791
 
#endif
792
 
 
793
 
/* Py_ssize_t for old Pythons */
794
 
/* This code is as recommended by: */
795
 
/* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */
796
 
#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
797
 
typedef int Py_ssize_t;
798
 
# define PY_SSIZE_T_MAX INT_MAX
799
 
# define PY_SSIZE_T_MIN INT_MIN
800
 
#endif
801
 
 
802
 
/* -----------------------------------------------------------------------------
803
 
 * error manipulation
804
 
 * ----------------------------------------------------------------------------- */
805
 
 
806
 
SWIGRUNTIME PyObject*
807
 
SWIG_Python_ErrorType(int code) {
808
 
  PyObject* type = 0;
809
 
  switch(code) {
810
 
  case SWIG_MemoryError:
811
 
    type = PyExc_MemoryError;
812
 
    break;
813
 
  case SWIG_IOError:
814
 
    type = PyExc_IOError;
815
 
    break;
816
 
  case SWIG_RuntimeError:
817
 
    type = PyExc_RuntimeError;
818
 
    break;
819
 
  case SWIG_IndexError:
820
 
    type = PyExc_IndexError;
821
 
    break;
822
 
  case SWIG_TypeError:
823
 
    type = PyExc_TypeError;
824
 
    break;
825
 
  case SWIG_DivisionByZero:
826
 
    type = PyExc_ZeroDivisionError;
827
 
    break;
828
 
  case SWIG_OverflowError:
829
 
    type = PyExc_OverflowError;
830
 
    break;
831
 
  case SWIG_SyntaxError:
832
 
    type = PyExc_SyntaxError;
833
 
    break;
834
 
  case SWIG_ValueError:
835
 
    type = PyExc_ValueError;
836
 
    break;
837
 
  case SWIG_SystemError:
838
 
    type = PyExc_SystemError;
839
 
    break;
840
 
  case SWIG_AttributeError:
841
 
    type = PyExc_AttributeError;
842
 
    break;
843
 
  default:
844
 
    type = PyExc_RuntimeError;
845
 
  }
846
 
  return type;
847
 
}
848
 
 
849
 
 
850
 
SWIGRUNTIME void
851
 
SWIG_Python_AddErrorMsg(const char* mesg)
852
 
{
853
 
  PyObject *type = 0;
854
 
  PyObject *value = 0;
855
 
  PyObject *traceback = 0;
856
 
 
857
 
  if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback);
858
 
  if (value) {
859
 
    PyObject *old_str = PyObject_Str(value);
860
 
    PyErr_Clear();
861
 
    Py_XINCREF(type);
862
 
    PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
863
 
    Py_DECREF(old_str);
864
 
    Py_DECREF(value);
865
 
  } else {
866
 
    PyErr_SetString(PyExc_RuntimeError, mesg);
867
 
  }
868
 
}
869
 
 
870
 
 
871
 
 
872
 
#if defined(SWIG_PYTHON_NO_THREADS)
873
 
#  if defined(SWIG_PYTHON_THREADS)
874
 
#    undef SWIG_PYTHON_THREADS
875
 
#  endif
876
 
#endif
877
 
#if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */
878
 
#  if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL)
879
 
#    if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */
880
 
#      define SWIG_PYTHON_USE_GIL
881
 
#    endif
882
 
#  endif
883
 
#  if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */
884
 
#    ifndef SWIG_PYTHON_INITIALIZE_THREADS
885
 
#     define SWIG_PYTHON_INITIALIZE_THREADS  PyEval_InitThreads() 
886
 
#    endif
887
 
#    ifdef __cplusplus /* C++ code */
888
 
       class SWIG_Python_Thread_Block {
889
 
         bool status;
890
 
         PyGILState_STATE state;
891
 
       public:
892
 
         void end() { if (status) { PyGILState_Release(state); status = false;} }
893
 
         SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {}
894
 
         ~SWIG_Python_Thread_Block() { end(); }
895
 
       };
896
 
       class SWIG_Python_Thread_Allow {
897
 
         bool status;
898
 
         PyThreadState *save;
899
 
       public:
900
 
         void end() { if (status) { PyEval_RestoreThread(save); status = false; }}
901
 
         SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {}
902
 
         ~SWIG_Python_Thread_Allow() { end(); }
903
 
       };
904
 
#      define SWIG_PYTHON_THREAD_BEGIN_BLOCK   SWIG_Python_Thread_Block _swig_thread_block
905
 
#      define SWIG_PYTHON_THREAD_END_BLOCK     _swig_thread_block.end()
906
 
#      define SWIG_PYTHON_THREAD_BEGIN_ALLOW   SWIG_Python_Thread_Allow _swig_thread_allow
907
 
#      define SWIG_PYTHON_THREAD_END_ALLOW     _swig_thread_allow.end()
908
 
#    else /* C code */
909
 
#      define SWIG_PYTHON_THREAD_BEGIN_BLOCK   PyGILState_STATE _swig_thread_block = PyGILState_Ensure()
910
 
#      define SWIG_PYTHON_THREAD_END_BLOCK     PyGILState_Release(_swig_thread_block)
911
 
#      define SWIG_PYTHON_THREAD_BEGIN_ALLOW   PyThreadState *_swig_thread_allow = PyEval_SaveThread()
912
 
#      define SWIG_PYTHON_THREAD_END_ALLOW     PyEval_RestoreThread(_swig_thread_allow)
913
 
#    endif
914
 
#  else /* Old thread way, not implemented, user must provide it */
915
 
#    if !defined(SWIG_PYTHON_INITIALIZE_THREADS)
916
 
#      define SWIG_PYTHON_INITIALIZE_THREADS
917
 
#    endif
918
 
#    if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK)
919
 
#      define SWIG_PYTHON_THREAD_BEGIN_BLOCK
920
 
#    endif
921
 
#    if !defined(SWIG_PYTHON_THREAD_END_BLOCK)
922
 
#      define SWIG_PYTHON_THREAD_END_BLOCK
923
 
#    endif
924
 
#    if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW)
925
 
#      define SWIG_PYTHON_THREAD_BEGIN_ALLOW
926
 
#    endif
927
 
#    if !defined(SWIG_PYTHON_THREAD_END_ALLOW)
928
 
#      define SWIG_PYTHON_THREAD_END_ALLOW
929
 
#    endif
930
 
#  endif
931
 
#else /* No thread support */
932
 
#  define SWIG_PYTHON_INITIALIZE_THREADS
933
 
#  define SWIG_PYTHON_THREAD_BEGIN_BLOCK
934
 
#  define SWIG_PYTHON_THREAD_END_BLOCK
935
 
#  define SWIG_PYTHON_THREAD_BEGIN_ALLOW
936
 
#  define SWIG_PYTHON_THREAD_END_ALLOW
937
 
#endif
938
 
 
939
 
/* -----------------------------------------------------------------------------
940
 
 * Python API portion that goes into the runtime
941
 
 * ----------------------------------------------------------------------------- */
942
 
 
943
 
#ifdef __cplusplus
944
 
extern "C" {
945
 
#if 0
946
 
} /* cc-mode */
947
 
#endif
948
 
#endif
949
 
 
950
 
/* -----------------------------------------------------------------------------
951
 
 * Constant declarations
952
 
 * ----------------------------------------------------------------------------- */
953
 
 
954
 
/* Constant Types */
955
 
#define SWIG_PY_POINTER 4
956
 
#define SWIG_PY_BINARY  5
957
 
 
958
 
/* Constant information structure */
959
 
typedef struct swig_const_info {
960
 
  int type;
961
 
  char *name;
962
 
  long lvalue;
963
 
  double dvalue;
964
 
  void   *pvalue;
965
 
  swig_type_info **ptype;
966
 
} swig_const_info;
967
 
 
968
 
#ifdef __cplusplus
969
 
#if 0
970
 
{ /* cc-mode */
971
 
#endif
972
 
}
973
 
#endif
974
 
 
975
 
 
976
 
/* -----------------------------------------------------------------------------
977
 
 * See the LICENSE file for information on copyright, usage and redistribution
978
 
 * of SWIG, and the README file for authors - http://www.swig.org/release.html.
979
 
 *
980
 
 * pyrun.swg
981
 
 *
982
 
 * This file contains the runtime support for Python modules
983
 
 * and includes code for managing global variables and pointer
984
 
 * type checking.
985
 
 *
986
 
 * ----------------------------------------------------------------------------- */
987
 
 
988
 
/* Common SWIG API */
989
 
 
990
 
/* for raw pointers */
991
 
#define SWIG_Python_ConvertPtr(obj, pptr, type, flags)  SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0)
992
 
#define SWIG_ConvertPtr(obj, pptr, type, flags)         SWIG_Python_ConvertPtr(obj, pptr, type, flags)
993
 
#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own)  SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own)
994
 
#define SWIG_NewPointerObj(ptr, type, flags)            SWIG_Python_NewPointerObj(ptr, type, flags)
995
 
#define SWIG_CheckImplicit(ty)                          SWIG_Python_CheckImplicit(ty) 
996
 
#define SWIG_AcquirePtr(ptr, src)                       SWIG_Python_AcquirePtr(ptr, src)
997
 
#define swig_owntype                                    int
998
 
 
999
 
/* for raw packed data */
1000
 
#define SWIG_ConvertPacked(obj, ptr, sz, ty)            SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1001
 
#define SWIG_NewPackedObj(ptr, sz, type)                SWIG_Python_NewPackedObj(ptr, sz, type)
1002
 
 
1003
 
/* for class or struct pointers */
1004
 
#define SWIG_ConvertInstance(obj, pptr, type, flags)    SWIG_ConvertPtr(obj, pptr, type, flags)
1005
 
#define SWIG_NewInstanceObj(ptr, type, flags)           SWIG_NewPointerObj(ptr, type, flags)
1006
 
 
1007
 
/* for C or C++ function pointers */
1008
 
#define SWIG_ConvertFunctionPtr(obj, pptr, type)        SWIG_Python_ConvertFunctionPtr(obj, pptr, type)
1009
 
#define SWIG_NewFunctionPtrObj(ptr, type)               SWIG_Python_NewPointerObj(ptr, type, 0)
1010
 
 
1011
 
/* for C++ member pointers, ie, member methods */
1012
 
#define SWIG_ConvertMember(obj, ptr, sz, ty)            SWIG_Python_ConvertPacked(obj, ptr, sz, ty)
1013
 
#define SWIG_NewMemberObj(ptr, sz, type)                SWIG_Python_NewPackedObj(ptr, sz, type)
1014
 
 
1015
 
 
1016
 
/* Runtime API */
1017
 
 
1018
 
#define SWIG_GetModule(clientdata)                      SWIG_Python_GetModule()
1019
 
#define SWIG_SetModule(clientdata, pointer)             SWIG_Python_SetModule(pointer)
1020
 
#define SWIG_NewClientData(obj)                         PySwigClientData_New(obj)
1021
 
 
1022
 
#define SWIG_SetErrorObj                                SWIG_Python_SetErrorObj                            
1023
 
#define SWIG_SetErrorMsg                                SWIG_Python_SetErrorMsg                            
1024
 
#define SWIG_ErrorType(code)                            SWIG_Python_ErrorType(code)                        
1025
 
#define SWIG_Error(code, msg)                           SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) 
1026
 
#define SWIG_fail                                       goto fail                                          
1027
 
 
1028
 
 
1029
 
/* Runtime API implementation */
1030
 
 
1031
 
/* Error manipulation */
1032
 
 
1033
 
SWIGINTERN void 
1034
 
SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) {
1035
 
  SWIG_PYTHON_THREAD_BEGIN_BLOCK; 
1036
 
  PyErr_SetObject(errtype, obj);
1037
 
  Py_DECREF(obj);
1038
 
  SWIG_PYTHON_THREAD_END_BLOCK;
1039
 
}
1040
 
 
1041
 
SWIGINTERN void 
1042
 
SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) {
1043
 
  SWIG_PYTHON_THREAD_BEGIN_BLOCK;
1044
 
  PyErr_SetString(errtype, (char *) msg);
1045
 
  SWIG_PYTHON_THREAD_END_BLOCK;
1046
 
}
1047
 
 
1048
 
#define SWIG_Python_Raise(obj, type, desc)  SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj)
1049
 
 
1050
 
/* Set a constant value */
1051
 
 
1052
 
SWIGINTERN void
1053
 
SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) {   
1054
 
  PyDict_SetItemString(d, (char*) name, obj);
1055
 
  Py_DECREF(obj);                            
1056
 
}
1057
 
 
1058
 
/* Append a value to the result obj */
1059
 
 
1060
 
SWIGINTERN PyObject*
1061
 
SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
1062
 
#if !defined(SWIG_PYTHON_OUTPUT_TUPLE)
1063
 
  if (!result) {
1064
 
    result = obj;
1065
 
  } else if (result == Py_None) {
1066
 
    Py_DECREF(result);
1067
 
    result = obj;
1068
 
  } else {
1069
 
    if (!PyList_Check(result)) {
1070
 
      PyObject *o2 = result;
1071
 
      result = PyList_New(1);
1072
 
      PyList_SetItem(result, 0, o2);
1073
 
    }
1074
 
    PyList_Append(result,obj);
1075
 
    Py_DECREF(obj);
1076
 
  }
1077
 
  return result;
1078
 
#else
1079
 
  PyObject*   o2;
1080
 
  PyObject*   o3;
1081
 
  if (!result) {
1082
 
    result = obj;
1083
 
  } else if (result == Py_None) {
1084
 
    Py_DECREF(result);
1085
 
    result = obj;
1086
 
  } else {
1087
 
    if (!PyTuple_Check(result)) {
1088
 
      o2 = result;
1089
 
      result = PyTuple_New(1);
1090
 
      PyTuple_SET_ITEM(result, 0, o2);
1091
 
    }
1092
 
    o3 = PyTuple_New(1);
1093
 
    PyTuple_SET_ITEM(o3, 0, obj);
1094
 
    o2 = result;
1095
 
    result = PySequence_Concat(o2, o3);
1096
 
    Py_DECREF(o2);
1097
 
    Py_DECREF(o3);
1098
 
  }
1099
 
  return result;
1100
 
#endif
1101
 
}
1102
 
 
1103
 
/* Unpack the argument tuple */
1104
 
 
1105
 
SWIGINTERN int
1106
 
SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
1107
 
{
1108
 
  if (!args) {
1109
 
    if (!min && !max) {
1110
 
      return 1;
1111
 
    } else {
1112
 
      PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", 
1113
 
                   name, (min == max ? "" : "at least "), (int)min);
1114
 
      return 0;
1115
 
    }
1116
 
  }  
1117
 
  if (!PyTuple_Check(args)) {
1118
 
    PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
1119
 
    return 0;
1120
 
  } else {
1121
 
    register Py_ssize_t l = PyTuple_GET_SIZE(args);
1122
 
    if (l < min) {
1123
 
      PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", 
1124
 
                   name, (min == max ? "" : "at least "), (int)min, (int)l);
1125
 
      return 0;
1126
 
    } else if (l > max) {
1127
 
      PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", 
1128
 
                   name, (min == max ? "" : "at most "), (int)max, (int)l);
1129
 
      return 0;
1130
 
    } else {
1131
 
      register int i;
1132
 
      for (i = 0; i < l; ++i) {
1133
 
        objs[i] = PyTuple_GET_ITEM(args, i);
1134
 
      }
1135
 
      for (; l < max; ++l) {
1136
 
        objs[l] = 0;
1137
 
      }
1138
 
      return i + 1;
1139
 
    }    
1140
 
  }
1141
 
}
1142
 
 
1143
 
/* A functor is a function object with one single object argument */
1144
 
#if PY_VERSION_HEX >= 0x02020000
1145
 
#define SWIG_Python_CallFunctor(functor, obj)           PyObject_CallFunctionObjArgs(functor, obj, NULL);
1146
 
#else
1147
 
#define SWIG_Python_CallFunctor(functor, obj)           PyObject_CallFunction(functor, "O", obj);
1148
 
#endif
1149
 
 
1150
 
/*
1151
 
  Helper for static pointer initialization for both C and C++ code, for example
1152
 
  static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...);
1153
 
*/
1154
 
#ifdef __cplusplus
1155
 
#define SWIG_STATIC_POINTER(var)  var
1156
 
#else
1157
 
#define SWIG_STATIC_POINTER(var)  var = 0; if (!var) var
1158
 
#endif
1159
 
 
1160
 
/* -----------------------------------------------------------------------------
1161
 
 * Pointer declarations
1162
 
 * ----------------------------------------------------------------------------- */
1163
 
 
1164
 
/* Flags for new pointer objects */
1165
 
#define SWIG_POINTER_NOSHADOW       (SWIG_POINTER_OWN      << 1)
1166
 
#define SWIG_POINTER_NEW            (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN)
1167
 
 
1168
 
#define SWIG_POINTER_IMPLICIT_CONV  (SWIG_POINTER_DISOWN   << 1)
1169
 
 
1170
 
#ifdef __cplusplus
1171
 
extern "C" {
1172
 
#if 0
1173
 
} /* cc-mode */
1174
 
#endif
1175
 
#endif
1176
 
 
1177
 
/*  How to access Py_None */
1178
 
#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
1179
 
#  ifndef SWIG_PYTHON_NO_BUILD_NONE
1180
 
#    ifndef SWIG_PYTHON_BUILD_NONE
1181
 
#      define SWIG_PYTHON_BUILD_NONE
1182
 
#    endif
1183
 
#  endif
1184
 
#endif
1185
 
 
1186
 
#ifdef SWIG_PYTHON_BUILD_NONE
1187
 
#  ifdef Py_None
1188
 
#   undef Py_None
1189
 
#   define Py_None SWIG_Py_None()
1190
 
#  endif
1191
 
SWIGRUNTIMEINLINE PyObject * 
1192
 
_SWIG_Py_None(void)
1193
 
{
1194
 
  PyObject *none = Py_BuildValue((char*)"");
1195
 
  Py_DECREF(none);
1196
 
  return none;
1197
 
}
1198
 
SWIGRUNTIME PyObject * 
1199
 
SWIG_Py_None(void)
1200
 
{
1201
 
  static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None();
1202
 
  return none;
1203
 
}
1204
 
#endif
1205
 
 
1206
 
/* The python void return value */
1207
 
 
1208
 
SWIGRUNTIMEINLINE PyObject * 
1209
 
SWIG_Py_Void(void)
1210
 
{
1211
 
  PyObject *none = Py_None;
1212
 
  Py_INCREF(none);
1213
 
  return none;
1214
 
}
1215
 
 
1216
 
/* PySwigClientData */
1217
 
 
1218
 
typedef struct {
1219
 
  PyObject *klass;
1220
 
  PyObject *newraw;
1221
 
  PyObject *newargs;
1222
 
  PyObject *destroy;
1223
 
  int delargs;
1224
 
  int implicitconv;
1225
 
} PySwigClientData;
1226
 
 
1227
 
SWIGRUNTIMEINLINE int 
1228
 
SWIG_Python_CheckImplicit(swig_type_info *ty)
1229
 
{
1230
 
  PySwigClientData *data = (PySwigClientData *)ty->clientdata;
1231
 
  return data ? data->implicitconv : 0;
1232
 
}
1233
 
 
1234
 
SWIGRUNTIMEINLINE PyObject *
1235
 
SWIG_Python_ExceptionType(swig_type_info *desc) {
1236
 
  PySwigClientData *data = desc ? (PySwigClientData *) desc->clientdata : 0;
1237
 
  PyObject *klass = data ? data->klass : 0;
1238
 
  return (klass ? klass : PyExc_RuntimeError);
1239
 
}
1240
 
 
1241
 
 
1242
 
SWIGRUNTIME PySwigClientData * 
1243
 
PySwigClientData_New(PyObject* obj)
1244
 
{
1245
 
  if (!obj) {
1246
 
    return 0;
1247
 
  } else {
1248
 
    PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData));
1249
 
    /* the klass element */
1250
 
    data->klass = obj;
1251
 
    Py_INCREF(data->klass);
1252
 
    /* the newraw method and newargs arguments used to create a new raw instance */
1253
 
    if (PyClass_Check(obj)) {
1254
 
      data->newraw = 0;
1255
 
      data->newargs = obj;
1256
 
      Py_INCREF(obj);
1257
 
    } else {
1258
 
#if (PY_VERSION_HEX < 0x02020000)
1259
 
      data->newraw = 0;
1260
 
#else
1261
 
      data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__");
1262
 
#endif
1263
 
      if (data->newraw) {
1264
 
        Py_INCREF(data->newraw);
1265
 
        data->newargs = PyTuple_New(1);
1266
 
        PyTuple_SetItem(data->newargs, 0, obj);
1267
 
      } else {
1268
 
        data->newargs = obj;
1269
 
      }
1270
 
      Py_INCREF(data->newargs);
1271
 
    }
1272
 
    /* the destroy method, aka as the C++ delete method */
1273
 
    data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__");
1274
 
    if (PyErr_Occurred()) {
1275
 
      PyErr_Clear();
1276
 
      data->destroy = 0;
1277
 
    }
1278
 
    if (data->destroy) {
1279
 
      int flags;
1280
 
      Py_INCREF(data->destroy);
1281
 
      flags = PyCFunction_GET_FLAGS(data->destroy);
1282
 
#ifdef METH_O
1283
 
      data->delargs = !(flags & (METH_O));
1284
 
#else
1285
 
      data->delargs = 0;
1286
 
#endif
1287
 
    } else {
1288
 
      data->delargs = 0;
1289
 
    }
1290
 
    data->implicitconv = 0;
1291
 
    return data;
1292
 
  }
1293
 
}
1294
 
 
1295
 
SWIGRUNTIME void 
1296
 
PySwigClientData_Del(PySwigClientData* data)
1297
 
{
1298
 
  Py_XDECREF(data->newraw);
1299
 
  Py_XDECREF(data->newargs);
1300
 
  Py_XDECREF(data->destroy);
1301
 
}
1302
 
 
1303
 
/* =============== PySwigObject =====================*/
1304
 
 
1305
 
typedef struct {
1306
 
  PyObject_HEAD
1307
 
  void *ptr;
1308
 
  swig_type_info *ty;
1309
 
  int own;
1310
 
  PyObject *next;
1311
 
} PySwigObject;
1312
 
 
1313
 
SWIGRUNTIME PyObject *
1314
 
PySwigObject_long(PySwigObject *v)
1315
 
{
1316
 
  return PyLong_FromVoidPtr(v->ptr);
1317
 
}
1318
 
 
1319
 
SWIGRUNTIME PyObject *
1320
 
PySwigObject_format(const char* fmt, PySwigObject *v)
1321
 
{
1322
 
  PyObject *res = NULL;
1323
 
  PyObject *args = PyTuple_New(1);
1324
 
  if (args) {
1325
 
    if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) {
1326
 
      PyObject *ofmt = PyString_FromString(fmt);
1327
 
      if (ofmt) {
1328
 
        res = PyString_Format(ofmt,args);
1329
 
        Py_DECREF(ofmt);
1330
 
      }
1331
 
      Py_DECREF(args);
1332
 
    }
1333
 
  }
1334
 
  return res;
1335
 
}
1336
 
 
1337
 
SWIGRUNTIME PyObject *
1338
 
PySwigObject_oct(PySwigObject *v)
1339
 
{
1340
 
  return PySwigObject_format("%o",v);
1341
 
}
1342
 
 
1343
 
SWIGRUNTIME PyObject *
1344
 
PySwigObject_hex(PySwigObject *v)
1345
 
{
1346
 
  return PySwigObject_format("%x",v);
1347
 
}
1348
 
 
1349
 
SWIGRUNTIME PyObject *
1350
 
#ifdef METH_NOARGS
1351
 
PySwigObject_repr(PySwigObject *v)
1352
 
#else
1353
 
PySwigObject_repr(PySwigObject *v, PyObject *args)
1354
 
#endif
1355
 
{
1356
 
  const char *name = SWIG_TypePrettyName(v->ty);
1357
 
  PyObject *hex = PySwigObject_hex(v);    
1358
 
  PyObject *repr = PyString_FromFormat("<Swig Object of type '%s' at 0x%s>", name, PyString_AsString(hex));
1359
 
  Py_DECREF(hex);
1360
 
  if (v->next) {
1361
 
#ifdef METH_NOARGS
1362
 
    PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next);
1363
 
#else
1364
 
    PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args);
1365
 
#endif
1366
 
    PyString_ConcatAndDel(&repr,nrep);
1367
 
  }
1368
 
  return repr;  
1369
 
}
1370
 
 
1371
 
SWIGRUNTIME int
1372
 
PySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags))
1373
 
{
1374
 
#ifdef METH_NOARGS
1375
 
  PyObject *repr = PySwigObject_repr(v);
1376
 
#else
1377
 
  PyObject *repr = PySwigObject_repr(v, NULL);
1378
 
#endif
1379
 
  if (repr) {
1380
 
    fputs(PyString_AsString(repr), fp);
1381
 
    Py_DECREF(repr);
1382
 
    return 0; 
1383
 
  } else {
1384
 
    return 1; 
1385
 
  }
1386
 
}
1387
 
 
1388
 
SWIGRUNTIME PyObject *
1389
 
PySwigObject_str(PySwigObject *v)
1390
 
{
1391
 
  char result[SWIG_BUFFER_SIZE];
1392
 
  return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ?
1393
 
    PyString_FromString(result) : 0;
1394
 
}
1395
 
 
1396
 
SWIGRUNTIME int
1397
 
PySwigObject_compare(PySwigObject *v, PySwigObject *w)
1398
 
{
1399
 
  void *i = v->ptr;
1400
 
  void *j = w->ptr;
1401
 
  return (i < j) ? -1 : ((i > j) ? 1 : 0);
1402
 
}
1403
 
 
1404
 
SWIGRUNTIME PyTypeObject* _PySwigObject_type(void);
1405
 
 
1406
 
SWIGRUNTIME PyTypeObject*
1407
 
PySwigObject_type(void) {
1408
 
  static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type();
1409
 
  return type;
1410
 
}
1411
 
 
1412
 
SWIGRUNTIMEINLINE int
1413
 
PySwigObject_Check(PyObject *op) {
1414
 
  return ((op)->ob_type == PySwigObject_type())
1415
 
    || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
1416
 
}
1417
 
 
1418
 
SWIGRUNTIME PyObject *
1419
 
PySwigObject_New(void *ptr, swig_type_info *ty, int own);
1420
 
 
1421
 
SWIGRUNTIME void
1422
 
PySwigObject_dealloc(PyObject *v)
1423
 
{
1424
 
  PySwigObject *sobj = (PySwigObject *) v;
1425
 
  PyObject *next = sobj->next;
1426
 
  if (sobj->own == SWIG_POINTER_OWN) {
1427
 
    swig_type_info *ty = sobj->ty;
1428
 
    PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
1429
 
    PyObject *destroy = data ? data->destroy : 0;
1430
 
    if (destroy) {
1431
 
      /* destroy is always a VARARGS method */
1432
 
      PyObject *res;
1433
 
      if (data->delargs) {
1434
 
        /* we need to create a temporal object to carry the destroy operation */
1435
 
        PyObject *tmp = PySwigObject_New(sobj->ptr, ty, 0);
1436
 
        res = SWIG_Python_CallFunctor(destroy, tmp);
1437
 
        Py_DECREF(tmp);
1438
 
      } else {
1439
 
        PyCFunction meth = PyCFunction_GET_FUNCTION(destroy);
1440
 
        PyObject *mself = PyCFunction_GET_SELF(destroy);
1441
 
        res = ((*meth)(mself, v));
1442
 
      }
1443
 
      Py_XDECREF(res);
1444
 
    } 
1445
 
#if !defined(SWIG_PYTHON_SILENT_MEMLEAK)
1446
 
    else {
1447
 
      const char *name = SWIG_TypePrettyName(ty);
1448
 
      printf("swig/python detected a memory leak of type '%s', no destructor found.\n", (name ? name : "unknown"));
1449
 
    }
1450
 
#endif
1451
 
  } 
1452
 
  Py_XDECREF(next);
1453
 
  PyObject_DEL(v);
1454
 
}
1455
 
 
1456
 
SWIGRUNTIME PyObject* 
1457
 
PySwigObject_append(PyObject* v, PyObject* next)
1458
 
{
1459
 
  PySwigObject *sobj = (PySwigObject *) v;
1460
 
#ifndef METH_O
1461
 
  PyObject *tmp = 0;
1462
 
  if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL;
1463
 
  next = tmp;
1464
 
#endif
1465
 
  if (!PySwigObject_Check(next)) {
1466
 
    return NULL;
1467
 
  }
1468
 
  sobj->next = next;
1469
 
  Py_INCREF(next);
1470
 
  return SWIG_Py_Void();
1471
 
}
1472
 
 
1473
 
SWIGRUNTIME PyObject* 
1474
 
#ifdef METH_NOARGS
1475
 
PySwigObject_next(PyObject* v)
1476
 
#else
1477
 
PySwigObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1478
 
#endif
1479
 
{
1480
 
  PySwigObject *sobj = (PySwigObject *) v;
1481
 
  if (sobj->next) {    
1482
 
    Py_INCREF(sobj->next);
1483
 
    return sobj->next;
1484
 
  } else {
1485
 
    return SWIG_Py_Void();
1486
 
  }
1487
 
}
1488
 
 
1489
 
SWIGINTERN PyObject*
1490
 
#ifdef METH_NOARGS
1491
 
PySwigObject_disown(PyObject *v)
1492
 
#else
1493
 
PySwigObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1494
 
#endif
1495
 
{
1496
 
  PySwigObject *sobj = (PySwigObject *)v;
1497
 
  sobj->own = 0;
1498
 
  return SWIG_Py_Void();
1499
 
}
1500
 
 
1501
 
SWIGINTERN PyObject*
1502
 
#ifdef METH_NOARGS
1503
 
PySwigObject_acquire(PyObject *v)
1504
 
#else
1505
 
PySwigObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args))
1506
 
#endif
1507
 
{
1508
 
  PySwigObject *sobj = (PySwigObject *)v;
1509
 
  sobj->own = SWIG_POINTER_OWN;
1510
 
  return SWIG_Py_Void();
1511
 
}
1512
 
 
1513
 
SWIGINTERN PyObject*
1514
 
PySwigObject_own(PyObject *v, PyObject *args)
1515
 
{
1516
 
  PyObject *val = 0;
1517
 
#if (PY_VERSION_HEX < 0x02020000)
1518
 
  if (!PyArg_ParseTuple(args,(char *)"|O:own",&val))
1519
 
#else
1520
 
  if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val)) 
1521
 
#endif
1522
 
    {
1523
 
      return NULL;
1524
 
    } 
1525
 
  else
1526
 
    {
1527
 
      PySwigObject *sobj = (PySwigObject *)v;
1528
 
      PyObject *obj = PyBool_FromLong(sobj->own);
1529
 
      if (val) {
1530
 
#ifdef METH_NOARGS
1531
 
        if (PyObject_IsTrue(val)) {
1532
 
          PySwigObject_acquire(v);
1533
 
        } else {
1534
 
          PySwigObject_disown(v);
1535
 
        }
1536
 
#else
1537
 
        if (PyObject_IsTrue(val)) {
1538
 
          PySwigObject_acquire(v,args);
1539
 
        } else {
1540
 
          PySwigObject_disown(v,args);
1541
 
        }
1542
 
#endif
1543
 
      } 
1544
 
      return obj;
1545
 
    }
1546
 
}
1547
 
 
1548
 
#ifdef METH_O
1549
 
static PyMethodDef
1550
 
swigobject_methods[] = {
1551
 
  {(char *)"disown",  (PyCFunction)PySwigObject_disown,  METH_NOARGS,  (char *)"releases ownership of the pointer"},
1552
 
  {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_NOARGS,  (char *)"aquires ownership of the pointer"},
1553
 
  {(char *)"own",     (PyCFunction)PySwigObject_own,     METH_VARARGS, (char *)"returns/sets ownership of the pointer"},
1554
 
  {(char *)"append",  (PyCFunction)PySwigObject_append,  METH_O,       (char *)"appends another 'this' object"},
1555
 
  {(char *)"next",    (PyCFunction)PySwigObject_next,    METH_NOARGS,  (char *)"returns the next 'this' object"},
1556
 
  {(char *)"__repr__",(PyCFunction)PySwigObject_repr,    METH_NOARGS,  (char *)"returns object representation"},
1557
 
  {0, 0, 0, 0}  
1558
 
};
1559
 
#else
1560
 
static PyMethodDef
1561
 
swigobject_methods[] = {
1562
 
  {(char *)"disown",  (PyCFunction)PySwigObject_disown,  METH_VARARGS,  (char *)"releases ownership of the pointer"},
1563
 
  {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_VARARGS,  (char *)"aquires ownership of the pointer"},
1564
 
  {(char *)"own",     (PyCFunction)PySwigObject_own,     METH_VARARGS,  (char *)"returns/sets ownership of the pointer"},
1565
 
  {(char *)"append",  (PyCFunction)PySwigObject_append,  METH_VARARGS,  (char *)"appends another 'this' object"},
1566
 
  {(char *)"next",    (PyCFunction)PySwigObject_next,    METH_VARARGS,  (char *)"returns the next 'this' object"},
1567
 
  {(char *)"__repr__",(PyCFunction)PySwigObject_repr,   METH_VARARGS,  (char *)"returns object representation"},
1568
 
  {0, 0, 0, 0}  
1569
 
};
1570
 
#endif
1571
 
 
1572
 
#if PY_VERSION_HEX < 0x02020000
1573
 
SWIGINTERN PyObject *
1574
 
PySwigObject_getattr(PySwigObject *sobj,char *name)
1575
 
{
1576
 
  return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name);
1577
 
}
1578
 
#endif
1579
 
 
1580
 
SWIGRUNTIME PyTypeObject*
1581
 
_PySwigObject_type(void) {
1582
 
  static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer";
1583
 
  
1584
 
  static PyNumberMethods PySwigObject_as_number = {
1585
 
    (binaryfunc)0, /*nb_add*/
1586
 
    (binaryfunc)0, /*nb_subtract*/
1587
 
    (binaryfunc)0, /*nb_multiply*/
1588
 
    (binaryfunc)0, /*nb_divide*/
1589
 
    (binaryfunc)0, /*nb_remainder*/
1590
 
    (binaryfunc)0, /*nb_divmod*/
1591
 
    (ternaryfunc)0,/*nb_power*/
1592
 
    (unaryfunc)0,  /*nb_negative*/
1593
 
    (unaryfunc)0,  /*nb_positive*/
1594
 
    (unaryfunc)0,  /*nb_absolute*/
1595
 
    (inquiry)0,    /*nb_nonzero*/
1596
 
    0,             /*nb_invert*/
1597
 
    0,             /*nb_lshift*/
1598
 
    0,             /*nb_rshift*/
1599
 
    0,             /*nb_and*/
1600
 
    0,             /*nb_xor*/
1601
 
    0,             /*nb_or*/
1602
 
    (coercion)0,   /*nb_coerce*/
1603
 
    (unaryfunc)PySwigObject_long, /*nb_int*/
1604
 
    (unaryfunc)PySwigObject_long, /*nb_long*/
1605
 
    (unaryfunc)0,                 /*nb_float*/
1606
 
    (unaryfunc)PySwigObject_oct,  /*nb_oct*/
1607
 
    (unaryfunc)PySwigObject_hex,  /*nb_hex*/
1608
 
#if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
1609
 
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
1610
 
#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
1611
 
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
1612
 
#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */
1613
 
    0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
1614
 
#endif
1615
 
  };
1616
 
 
1617
 
  static PyTypeObject pyswigobject_type;  
1618
 
  static int type_init = 0;
1619
 
  if (!type_init) {
1620
 
    const PyTypeObject tmp
1621
 
      = {
1622
 
        PyObject_HEAD_INIT(NULL)
1623
 
        0,                                  /* ob_size */
1624
 
        (char *)"PySwigObject",             /* tp_name */
1625
 
        sizeof(PySwigObject),               /* tp_basicsize */
1626
 
        0,                                  /* tp_itemsize */
1627
 
        (destructor)PySwigObject_dealloc,   /* tp_dealloc */
1628
 
        (printfunc)PySwigObject_print,      /* tp_print */
1629
 
#if PY_VERSION_HEX < 0x02020000
1630
 
        (getattrfunc)PySwigObject_getattr,  /* tp_getattr */ 
1631
 
#else
1632
 
        (getattrfunc)0,                     /* tp_getattr */ 
1633
 
#endif
1634
 
        (setattrfunc)0,                     /* tp_setattr */ 
1635
 
        (cmpfunc)PySwigObject_compare,      /* tp_compare */ 
1636
 
        (reprfunc)PySwigObject_repr,        /* tp_repr */    
1637
 
        &PySwigObject_as_number,            /* tp_as_number */
1638
 
        0,                                  /* tp_as_sequence */
1639
 
        0,                                  /* tp_as_mapping */
1640
 
        (hashfunc)0,                        /* tp_hash */
1641
 
        (ternaryfunc)0,                     /* tp_call */
1642
 
        (reprfunc)PySwigObject_str,         /* tp_str */
1643
 
        PyObject_GenericGetAttr,            /* tp_getattro */
1644
 
        0,                                  /* tp_setattro */
1645
 
        0,                                  /* tp_as_buffer */
1646
 
        Py_TPFLAGS_DEFAULT,                 /* tp_flags */
1647
 
        swigobject_doc,                     /* tp_doc */        
1648
 
        0,                                  /* tp_traverse */
1649
 
        0,                                  /* tp_clear */
1650
 
        0,                                  /* tp_richcompare */
1651
 
        0,                                  /* tp_weaklistoffset */
1652
 
#if PY_VERSION_HEX >= 0x02020000
1653
 
        0,                                  /* tp_iter */
1654
 
        0,                                  /* tp_iternext */
1655
 
        swigobject_methods,                 /* tp_methods */ 
1656
 
        0,                                  /* tp_members */
1657
 
        0,                                  /* tp_getset */             
1658
 
        0,                                  /* tp_base */               
1659
 
        0,                                  /* tp_dict */               
1660
 
        0,                                  /* tp_descr_get */          
1661
 
        0,                                  /* tp_descr_set */          
1662
 
        0,                                  /* tp_dictoffset */         
1663
 
        0,                                  /* tp_init */               
1664
 
        0,                                  /* tp_alloc */              
1665
 
        0,                                  /* tp_new */                
1666
 
        0,                                  /* tp_free */          
1667
 
        0,                                  /* tp_is_gc */  
1668
 
        0,                                  /* tp_bases */   
1669
 
        0,                                  /* tp_mro */
1670
 
        0,                                  /* tp_cache */   
1671
 
        0,                                  /* tp_subclasses */
1672
 
        0,                                  /* tp_weaklist */
1673
 
#endif
1674
 
#if PY_VERSION_HEX >= 0x02030000
1675
 
        0,                                  /* tp_del */
1676
 
#endif
1677
 
#ifdef COUNT_ALLOCS
1678
 
        0,0,0,0                             /* tp_alloc -> tp_next */
1679
 
#endif
1680
 
      };
1681
 
    pyswigobject_type = tmp;
1682
 
    pyswigobject_type.ob_type = &PyType_Type;
1683
 
    type_init = 1;
1684
 
  }
1685
 
  return &pyswigobject_type;
1686
 
}
1687
 
 
1688
 
SWIGRUNTIME PyObject *
1689
 
PySwigObject_New(void *ptr, swig_type_info *ty, int own)
1690
 
{
1691
 
  PySwigObject *sobj = PyObject_NEW(PySwigObject, PySwigObject_type());
1692
 
  if (sobj) {
1693
 
    sobj->ptr  = ptr;
1694
 
    sobj->ty   = ty;
1695
 
    sobj->own  = own;
1696
 
    sobj->next = 0;
1697
 
  }
1698
 
  return (PyObject *)sobj;
1699
 
}
1700
 
 
1701
 
/* -----------------------------------------------------------------------------
1702
 
 * Implements a simple Swig Packed type, and use it instead of string
1703
 
 * ----------------------------------------------------------------------------- */
1704
 
 
1705
 
typedef struct {
1706
 
  PyObject_HEAD
1707
 
  void *pack;
1708
 
  swig_type_info *ty;
1709
 
  size_t size;
1710
 
} PySwigPacked;
1711
 
 
1712
 
SWIGRUNTIME int
1713
 
PySwigPacked_print(PySwigPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags))
1714
 
{
1715
 
  char result[SWIG_BUFFER_SIZE];
1716
 
  fputs("<Swig Packed ", fp); 
1717
 
  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1718
 
    fputs("at ", fp); 
1719
 
    fputs(result, fp); 
1720
 
  }
1721
 
  fputs(v->ty->name,fp); 
1722
 
  fputs(">", fp);
1723
 
  return 0; 
1724
 
}
1725
 
  
1726
 
SWIGRUNTIME PyObject *
1727
 
PySwigPacked_repr(PySwigPacked *v)
1728
 
{
1729
 
  char result[SWIG_BUFFER_SIZE];
1730
 
  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
1731
 
    return PyString_FromFormat("<Swig Packed at %s%s>", result, v->ty->name);
1732
 
  } else {
1733
 
    return PyString_FromFormat("<Swig Packed %s>", v->ty->name);
1734
 
  }  
1735
 
}
1736
 
 
1737
 
SWIGRUNTIME PyObject *
1738
 
PySwigPacked_str(PySwigPacked *v)
1739
 
{
1740
 
  char result[SWIG_BUFFER_SIZE];
1741
 
  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
1742
 
    return PyString_FromFormat("%s%s", result, v->ty->name);
1743
 
  } else {
1744
 
    return PyString_FromString(v->ty->name);
1745
 
  }  
1746
 
}
1747
 
 
1748
 
SWIGRUNTIME int
1749
 
PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
1750
 
{
1751
 
  size_t i = v->size;
1752
 
  size_t j = w->size;
1753
 
  int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
1754
 
  return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
1755
 
}
1756
 
 
1757
 
SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void);
1758
 
 
1759
 
SWIGRUNTIME PyTypeObject*
1760
 
PySwigPacked_type(void) {
1761
 
  static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type();
1762
 
  return type;
1763
 
}
1764
 
 
1765
 
SWIGRUNTIMEINLINE int
1766
 
PySwigPacked_Check(PyObject *op) {
1767
 
  return ((op)->ob_type == _PySwigPacked_type()) 
1768
 
    || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
1769
 
}
1770
 
 
1771
 
SWIGRUNTIME void
1772
 
PySwigPacked_dealloc(PyObject *v)
1773
 
{
1774
 
  if (PySwigPacked_Check(v)) {
1775
 
    PySwigPacked *sobj = (PySwigPacked *) v;
1776
 
    free(sobj->pack);
1777
 
  }
1778
 
  PyObject_DEL(v);
1779
 
}
1780
 
 
1781
 
SWIGRUNTIME PyTypeObject*
1782
 
_PySwigPacked_type(void) {
1783
 
  static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer";
1784
 
  static PyTypeObject pyswigpacked_type;
1785
 
  static int type_init = 0;  
1786
 
  if (!type_init) {
1787
 
    const PyTypeObject tmp
1788
 
      = {
1789
 
        PyObject_HEAD_INIT(NULL)
1790
 
        0,                                  /* ob_size */       
1791
 
        (char *)"PySwigPacked",             /* tp_name */       
1792
 
        sizeof(PySwigPacked),               /* tp_basicsize */  
1793
 
        0,                                  /* tp_itemsize */   
1794
 
        (destructor)PySwigPacked_dealloc,   /* tp_dealloc */    
1795
 
        (printfunc)PySwigPacked_print,      /* tp_print */      
1796
 
        (getattrfunc)0,                     /* tp_getattr */    
1797
 
        (setattrfunc)0,                     /* tp_setattr */    
1798
 
        (cmpfunc)PySwigPacked_compare,      /* tp_compare */    
1799
 
        (reprfunc)PySwigPacked_repr,        /* tp_repr */       
1800
 
        0,                                  /* tp_as_number */  
1801
 
        0,                                  /* tp_as_sequence */
1802
 
        0,                                  /* tp_as_mapping */ 
1803
 
        (hashfunc)0,                        /* tp_hash */       
1804
 
        (ternaryfunc)0,                     /* tp_call */       
1805
 
        (reprfunc)PySwigPacked_str,         /* tp_str */        
1806
 
        PyObject_GenericGetAttr,            /* tp_getattro */
1807
 
        0,                                  /* tp_setattro */
1808
 
        0,                                  /* tp_as_buffer */
1809
 
        Py_TPFLAGS_DEFAULT,                 /* tp_flags */
1810
 
        swigpacked_doc,                     /* tp_doc */
1811
 
        0,                                  /* tp_traverse */
1812
 
        0,                                  /* tp_clear */
1813
 
        0,                                  /* tp_richcompare */
1814
 
        0,                                  /* tp_weaklistoffset */
1815
 
#if PY_VERSION_HEX >= 0x02020000
1816
 
        0,                                  /* tp_iter */
1817
 
        0,                                  /* tp_iternext */
1818
 
        0,                                  /* tp_methods */ 
1819
 
        0,                                  /* tp_members */
1820
 
        0,                                  /* tp_getset */             
1821
 
        0,                                  /* tp_base */               
1822
 
        0,                                  /* tp_dict */               
1823
 
        0,                                  /* tp_descr_get */          
1824
 
        0,                                  /* tp_descr_set */          
1825
 
        0,                                  /* tp_dictoffset */         
1826
 
        0,                                  /* tp_init */               
1827
 
        0,                                  /* tp_alloc */              
1828
 
        0,                                  /* tp_new */                
1829
 
        0,                                  /* tp_free */          
1830
 
        0,                                  /* tp_is_gc */  
1831
 
        0,                                  /* tp_bases */   
1832
 
        0,                                  /* tp_mro */
1833
 
        0,                                  /* tp_cache */   
1834
 
        0,                                  /* tp_subclasses */
1835
 
        0,                                  /* tp_weaklist */
1836
 
#endif
1837
 
#if PY_VERSION_HEX >= 0x02030000
1838
 
        0,                                  /* tp_del */
1839
 
#endif
1840
 
#ifdef COUNT_ALLOCS
1841
 
        0,0,0,0                             /* tp_alloc -> tp_next */
1842
 
#endif
1843
 
      };
1844
 
    pyswigpacked_type = tmp;
1845
 
    pyswigpacked_type.ob_type = &PyType_Type;
1846
 
    type_init = 1;
1847
 
  }
1848
 
  return &pyswigpacked_type;
1849
 
}
1850
 
 
1851
 
SWIGRUNTIME PyObject *
1852
 
PySwigPacked_New(void *ptr, size_t size, swig_type_info *ty)
1853
 
{
1854
 
  PySwigPacked *sobj = PyObject_NEW(PySwigPacked, PySwigPacked_type());
1855
 
  if (sobj) {
1856
 
    void *pack = malloc(size);
1857
 
    if (pack) {
1858
 
      memcpy(pack, ptr, size);
1859
 
      sobj->pack = pack;
1860
 
      sobj->ty   = ty;
1861
 
      sobj->size = size;
1862
 
    } else {
1863
 
      PyObject_DEL((PyObject *) sobj);
1864
 
      sobj = 0;
1865
 
    }
1866
 
  }
1867
 
  return (PyObject *) sobj;
1868
 
}
1869
 
 
1870
 
SWIGRUNTIME swig_type_info *
1871
 
PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
1872
 
{
1873
 
  if (PySwigPacked_Check(obj)) {
1874
 
    PySwigPacked *sobj = (PySwigPacked *)obj;
1875
 
    if (sobj->size != size) return 0;
1876
 
    memcpy(ptr, sobj->pack, size);
1877
 
    return sobj->ty;
1878
 
  } else {
1879
 
    return 0;
1880
 
  }
1881
 
}
1882
 
 
1883
 
/* -----------------------------------------------------------------------------
1884
 
 * pointers/data manipulation
1885
 
 * ----------------------------------------------------------------------------- */
1886
 
 
1887
 
SWIGRUNTIMEINLINE PyObject *
1888
 
_SWIG_This(void)
1889
 
{
1890
 
  return PyString_FromString("this");
1891
 
}
1892
 
 
1893
 
SWIGRUNTIME PyObject *
1894
 
SWIG_This(void)
1895
 
{
1896
 
  static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This();
1897
 
  return swig_this;
1898
 
}
1899
 
 
1900
 
/* #define SWIG_PYTHON_SLOW_GETSET_THIS */
1901
 
 
1902
 
SWIGRUNTIME PySwigObject *
1903
 
SWIG_Python_GetSwigThis(PyObject *pyobj) 
1904
 
{
1905
 
  if (PySwigObject_Check(pyobj)) {
1906
 
    return (PySwigObject *) pyobj;
1907
 
  } else {
1908
 
    PyObject *obj = 0;
1909
 
#if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000))
1910
 
    if (PyInstance_Check(pyobj)) {
1911
 
      obj = _PyInstance_Lookup(pyobj, SWIG_This());      
1912
 
    } else {
1913
 
      PyObject **dictptr = _PyObject_GetDictPtr(pyobj);
1914
 
      if (dictptr != NULL) {
1915
 
        PyObject *dict = *dictptr;
1916
 
        obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0;
1917
 
      } else {
1918
 
#ifdef PyWeakref_CheckProxy
1919
 
        if (PyWeakref_CheckProxy(pyobj)) {
1920
 
          PyObject *wobj = PyWeakref_GET_OBJECT(pyobj);
1921
 
          return wobj ? SWIG_Python_GetSwigThis(wobj) : 0;
1922
 
        }
1923
 
#endif
1924
 
        obj = PyObject_GetAttr(pyobj,SWIG_This());
1925
 
        if (obj) {
1926
 
          Py_DECREF(obj);
1927
 
        } else {
1928
 
          if (PyErr_Occurred()) PyErr_Clear();
1929
 
          return 0;
1930
 
        }
1931
 
      }
1932
 
    }
1933
 
#else
1934
 
    obj = PyObject_GetAttr(pyobj,SWIG_This());
1935
 
    if (obj) {
1936
 
      Py_DECREF(obj);
1937
 
    } else {
1938
 
      if (PyErr_Occurred()) PyErr_Clear();
1939
 
      return 0;
1940
 
    }
1941
 
#endif
1942
 
    if (obj && !PySwigObject_Check(obj)) {
1943
 
      /* a PyObject is called 'this', try to get the 'real this'
1944
 
         PySwigObject from it */ 
1945
 
      return SWIG_Python_GetSwigThis(obj);
1946
 
    }
1947
 
    return (PySwigObject *)obj;
1948
 
  }
1949
 
}
1950
 
 
1951
 
/* Acquire a pointer value */
1952
 
 
1953
 
SWIGRUNTIME int
1954
 
SWIG_Python_AcquirePtr(PyObject *obj, int own) {
1955
 
  if (own == SWIG_POINTER_OWN) {
1956
 
    PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
1957
 
    if (sobj) {
1958
 
      int oldown = sobj->own;
1959
 
      sobj->own = own;
1960
 
      return oldown;
1961
 
    }
1962
 
  }
1963
 
  return 0;
1964
 
}
1965
 
 
1966
 
/* Convert a pointer value */
1967
 
 
1968
 
SWIGRUNTIME int
1969
 
SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) {
1970
 
  if (!obj) return SWIG_ERROR;
1971
 
  if (obj == Py_None) {
1972
 
    if (ptr) *ptr = 0;
1973
 
    return SWIG_OK;
1974
 
  } else {
1975
 
    PySwigObject *sobj = SWIG_Python_GetSwigThis(obj);
1976
 
    if (own)
1977
 
      *own = 0;
1978
 
    while (sobj) {
1979
 
      void *vptr = sobj->ptr;
1980
 
      if (ty) {
1981
 
        swig_type_info *to = sobj->ty;
1982
 
        if (to == ty) {
1983
 
          /* no type cast needed */
1984
 
          if (ptr) *ptr = vptr;
1985
 
          break;
1986
 
        } else {
1987
 
          swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
1988
 
          if (!tc) {
1989
 
            sobj = (PySwigObject *)sobj->next;
1990
 
          } else {
1991
 
            if (ptr) {
1992
 
              int newmemory = 0;
1993
 
              *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
1994
 
              if (newmemory == SWIG_CAST_NEW_MEMORY) {
1995
 
                assert(own);
1996
 
                if (own)
1997
 
                  *own = *own | SWIG_CAST_NEW_MEMORY;
1998
 
              }
1999
 
            }
2000
 
            break;
2001
 
          }
2002
 
        }
2003
 
      } else {
2004
 
        if (ptr) *ptr = vptr;
2005
 
        break;
2006
 
      }
2007
 
    }
2008
 
    if (sobj) {
2009
 
      if (own)
2010
 
        *own = *own | sobj->own;
2011
 
      if (flags & SWIG_POINTER_DISOWN) {
2012
 
        sobj->own = 0;
2013
 
      }
2014
 
      return SWIG_OK;
2015
 
    } else {
2016
 
      int res = SWIG_ERROR;
2017
 
      if (flags & SWIG_POINTER_IMPLICIT_CONV) {
2018
 
        PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0;
2019
 
        if (data && !data->implicitconv) {
2020
 
          PyObject *klass = data->klass;
2021
 
          if (klass) {
2022
 
            PyObject *impconv;
2023
 
            data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/
2024
 
            impconv = SWIG_Python_CallFunctor(klass, obj);
2025
 
            data->implicitconv = 0;
2026
 
            if (PyErr_Occurred()) {
2027
 
              PyErr_Clear();
2028
 
              impconv = 0;
2029
 
            }
2030
 
            if (impconv) {
2031
 
              PySwigObject *iobj = SWIG_Python_GetSwigThis(impconv);
2032
 
              if (iobj) {
2033
 
                void *vptr;
2034
 
                res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0);
2035
 
                if (SWIG_IsOK(res)) {
2036
 
                  if (ptr) {
2037
 
                    *ptr = vptr;
2038
 
                    /* transfer the ownership to 'ptr' */
2039
 
                    iobj->own = 0;
2040
 
                    res = SWIG_AddCast(res);
2041
 
                    res = SWIG_AddNewMask(res);
2042
 
                  } else {
2043
 
                    res = SWIG_AddCast(res);                
2044
 
                  }
2045
 
                }
2046
 
              }
2047
 
              Py_DECREF(impconv);
2048
 
            }
2049
 
          }
2050
 
        }
2051
 
      }
2052
 
      return res;
2053
 
    }
2054
 
  }
2055
 
}
2056
 
 
2057
 
/* Convert a function ptr value */
2058
 
 
2059
 
SWIGRUNTIME int
2060
 
SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) {
2061
 
  if (!PyCFunction_Check(obj)) {
2062
 
    return SWIG_ConvertPtr(obj, ptr, ty, 0);
2063
 
  } else {
2064
 
    void *vptr = 0;
2065
 
    
2066
 
    /* here we get the method pointer for callbacks */
2067
 
    const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
2068
 
    const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0;
2069
 
    if (desc) {
2070
 
      desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0;
2071
 
      if (!desc) return SWIG_ERROR;
2072
 
    }
2073
 
    if (ty) {
2074
 
      swig_cast_info *tc = SWIG_TypeCheck(desc,ty);
2075
 
      if (tc) {
2076
 
        int newmemory = 0;
2077
 
        *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
2078
 
        assert(!newmemory); /* newmemory handling not yet implemented */
2079
 
      } else {
2080
 
        return SWIG_ERROR;
2081
 
      }
2082
 
    } else {
2083
 
      *ptr = vptr;
2084
 
    }
2085
 
    return SWIG_OK;
2086
 
  }
2087
 
}
2088
 
 
2089
 
/* Convert a packed value value */
2090
 
 
2091
 
SWIGRUNTIME int
2092
 
SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) {
2093
 
  swig_type_info *to = PySwigPacked_UnpackData(obj, ptr, sz);
2094
 
  if (!to) return SWIG_ERROR;
2095
 
  if (ty) {
2096
 
    if (to != ty) {
2097
 
      /* check type cast? */
2098
 
      swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
2099
 
      if (!tc) return SWIG_ERROR;
2100
 
    }
2101
 
  }
2102
 
  return SWIG_OK;
2103
 
}  
2104
 
 
2105
 
/* -----------------------------------------------------------------------------
2106
 
 * Create a new pointer object
2107
 
 * ----------------------------------------------------------------------------- */
2108
 
 
2109
 
/*
2110
 
  Create a new instance object, whitout calling __init__, and set the
2111
 
  'this' attribute.
2112
 
*/
2113
 
 
2114
 
SWIGRUNTIME PyObject* 
2115
 
SWIG_Python_NewShadowInstance(PySwigClientData *data, PyObject *swig_this)
2116
 
{
2117
 
#if (PY_VERSION_HEX >= 0x02020000)
2118
 
  PyObject *inst = 0;
2119
 
  PyObject *newraw = data->newraw;
2120
 
  if (newraw) {
2121
 
    inst = PyObject_Call(newraw, data->newargs, NULL);
2122
 
    if (inst) {
2123
 
#if !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2124
 
      PyObject **dictptr = _PyObject_GetDictPtr(inst);
2125
 
      if (dictptr != NULL) {
2126
 
        PyObject *dict = *dictptr;
2127
 
        if (dict == NULL) {
2128
 
          dict = PyDict_New();
2129
 
          *dictptr = dict;
2130
 
          PyDict_SetItem(dict, SWIG_This(), swig_this);
2131
 
        }
2132
 
      }
2133
 
#else
2134
 
      PyObject *key = SWIG_This();
2135
 
      PyObject_SetAttr(inst, key, swig_this);
2136
 
#endif
2137
 
    }
2138
 
  } else {
2139
 
    PyObject *dict = PyDict_New();
2140
 
    PyDict_SetItem(dict, SWIG_This(), swig_this);
2141
 
    inst = PyInstance_NewRaw(data->newargs, dict);
2142
 
    Py_DECREF(dict);
2143
 
  }
2144
 
  return inst;
2145
 
#else
2146
 
#if (PY_VERSION_HEX >= 0x02010000)
2147
 
  PyObject *inst;
2148
 
  PyObject *dict = PyDict_New();
2149
 
  PyDict_SetItem(dict, SWIG_This(), swig_this);
2150
 
  inst = PyInstance_NewRaw(data->newargs, dict);
2151
 
  Py_DECREF(dict);
2152
 
  return (PyObject *) inst;
2153
 
#else
2154
 
  PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type);
2155
 
  if (inst == NULL) {
2156
 
    return NULL;
2157
 
  }
2158
 
  inst->in_class = (PyClassObject *)data->newargs;
2159
 
  Py_INCREF(inst->in_class);
2160
 
  inst->in_dict = PyDict_New();
2161
 
  if (inst->in_dict == NULL) {
2162
 
    Py_DECREF(inst);
2163
 
    return NULL;
2164
 
  }
2165
 
#ifdef Py_TPFLAGS_HAVE_WEAKREFS
2166
 
  inst->in_weakreflist = NULL;
2167
 
#endif
2168
 
#ifdef Py_TPFLAGS_GC
2169
 
  PyObject_GC_Init(inst);
2170
 
#endif
2171
 
  PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this);
2172
 
  return (PyObject *) inst;
2173
 
#endif
2174
 
#endif
2175
 
}
2176
 
 
2177
 
SWIGRUNTIME void
2178
 
SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this)
2179
 
{
2180
 
 PyObject *dict;
2181
 
#if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS)
2182
 
 PyObject **dictptr = _PyObject_GetDictPtr(inst);
2183
 
 if (dictptr != NULL) {
2184
 
   dict = *dictptr;
2185
 
   if (dict == NULL) {
2186
 
     dict = PyDict_New();
2187
 
     *dictptr = dict;
2188
 
   }
2189
 
   PyDict_SetItem(dict, SWIG_This(), swig_this);
2190
 
   return;
2191
 
 }
2192
 
#endif
2193
 
 dict = PyObject_GetAttrString(inst, (char*)"__dict__");
2194
 
 PyDict_SetItem(dict, SWIG_This(), swig_this);
2195
 
 Py_DECREF(dict);
2196
 
2197
 
 
2198
 
 
2199
 
SWIGINTERN PyObject *
2200
 
SWIG_Python_InitShadowInstance(PyObject *args) {
2201
 
  PyObject *obj[2];
2202
 
  if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) {
2203
 
    return NULL;
2204
 
  } else {
2205
 
    PySwigObject *sthis = SWIG_Python_GetSwigThis(obj[0]);
2206
 
    if (sthis) {
2207
 
      PySwigObject_append((PyObject*) sthis, obj[1]);
2208
 
    } else {
2209
 
      SWIG_Python_SetSwigThis(obj[0], obj[1]);
2210
 
    }
2211
 
    return SWIG_Py_Void();
2212
 
  }
2213
 
}
2214
 
 
2215
 
/* Create a new pointer object */
2216
 
 
2217
 
SWIGRUNTIME PyObject *
2218
 
SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
2219
 
  if (!ptr) {
2220
 
    return SWIG_Py_Void();
2221
 
  } else {
2222
 
    int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0;
2223
 
    PyObject *robj = PySwigObject_New(ptr, type, own);
2224
 
    PySwigClientData *clientdata = type ? (PySwigClientData *)(type->clientdata) : 0;
2225
 
    if (clientdata && !(flags & SWIG_POINTER_NOSHADOW)) {
2226
 
      PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj);
2227
 
      if (inst) {
2228
 
        Py_DECREF(robj);
2229
 
        robj = inst;
2230
 
      }
2231
 
    }
2232
 
    return robj;
2233
 
  }
2234
 
}
2235
 
 
2236
 
/* Create a new packed object */
2237
 
 
2238
 
SWIGRUNTIMEINLINE PyObject *
2239
 
SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
2240
 
  return ptr ? PySwigPacked_New((void *) ptr, sz, type) : SWIG_Py_Void();
2241
 
}
2242
 
 
2243
 
/* -----------------------------------------------------------------------------*
2244
 
 *  Get type list 
2245
 
 * -----------------------------------------------------------------------------*/
2246
 
 
2247
 
#ifdef SWIG_LINK_RUNTIME
2248
 
void *SWIG_ReturnGlobalTypeList(void *);
2249
 
#endif
2250
 
 
2251
 
SWIGRUNTIME swig_module_info *
2252
 
SWIG_Python_GetModule(void) {
2253
 
  static void *type_pointer = (void *)0;
2254
 
  /* first check if module already created */
2255
 
  if (!type_pointer) {
2256
 
#ifdef SWIG_LINK_RUNTIME
2257
 
    type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
2258
 
#else
2259
 
    type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2260
 
                                    (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
2261
 
    if (PyErr_Occurred()) {
2262
 
      PyErr_Clear();
2263
 
      type_pointer = (void *)0;
2264
 
    }
2265
 
#endif
2266
 
  }
2267
 
  return (swig_module_info *) type_pointer;
2268
 
}
2269
 
 
2270
 
#if PY_MAJOR_VERSION < 2
2271
 
/* PyModule_AddObject function was introduced in Python 2.0.  The following function
2272
 
   is copied out of Python/modsupport.c in python version 2.3.4 */
2273
 
SWIGINTERN int
2274
 
PyModule_AddObject(PyObject *m, char *name, PyObject *o)
2275
 
{
2276
 
  PyObject *dict;
2277
 
  if (!PyModule_Check(m)) {
2278
 
    PyErr_SetString(PyExc_TypeError,
2279
 
                    "PyModule_AddObject() needs module as first arg");
2280
 
    return SWIG_ERROR;
2281
 
  }
2282
 
  if (!o) {
2283
 
    PyErr_SetString(PyExc_TypeError,
2284
 
                    "PyModule_AddObject() needs non-NULL value");
2285
 
    return SWIG_ERROR;
2286
 
  }
2287
 
  
2288
 
  dict = PyModule_GetDict(m);
2289
 
  if (dict == NULL) {
2290
 
    /* Internal error -- modules must have a dict! */
2291
 
    PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
2292
 
                 PyModule_GetName(m));
2293
 
    return SWIG_ERROR;
2294
 
  }
2295
 
  if (PyDict_SetItemString(dict, name, o))
2296
 
    return SWIG_ERROR;
2297
 
  Py_DECREF(o);
2298
 
  return SWIG_OK;
2299
 
}
2300
 
#endif
2301
 
 
2302
 
SWIGRUNTIME void
2303
 
SWIG_Python_DestroyModule(void *vptr)
2304
 
{
2305
 
  swig_module_info *swig_module = (swig_module_info *) vptr;
2306
 
  swig_type_info **types = swig_module->types;
2307
 
  size_t i;
2308
 
  for (i =0; i < swig_module->size; ++i) {
2309
 
    swig_type_info *ty = types[i];
2310
 
    if (ty->owndata) {
2311
 
      PySwigClientData *data = (PySwigClientData *) ty->clientdata;
2312
 
      if (data) PySwigClientData_Del(data);
2313
 
    }
2314
 
  }
2315
 
  Py_DECREF(SWIG_This());
2316
 
}
2317
 
 
2318
 
SWIGRUNTIME void
2319
 
SWIG_Python_SetModule(swig_module_info *swig_module) {
2320
 
  static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
2321
 
 
2322
 
  PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
2323
 
                                   swig_empty_runtime_method_table);
2324
 
  PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule);
2325
 
  if (pointer && module) {
2326
 
    PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
2327
 
  } else {
2328
 
    Py_XDECREF(pointer);
2329
 
  }
2330
 
}
2331
 
 
2332
 
/* The python cached type query */
2333
 
SWIGRUNTIME PyObject *
2334
 
SWIG_Python_TypeCache(void) {
2335
 
  static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New();
2336
 
  return cache;
2337
 
}
2338
 
 
2339
 
SWIGRUNTIME swig_type_info *
2340
 
SWIG_Python_TypeQuery(const char *type)
2341
 
{
2342
 
  PyObject *cache = SWIG_Python_TypeCache();
2343
 
  PyObject *key = PyString_FromString(type); 
2344
 
  PyObject *obj = PyDict_GetItem(cache, key);
2345
 
  swig_type_info *descriptor;
2346
 
  if (obj) {
2347
 
    descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj);
2348
 
  } else {
2349
 
    swig_module_info *swig_module = SWIG_Python_GetModule();
2350
 
    descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type);
2351
 
    if (descriptor) {
2352
 
      obj = PyCObject_FromVoidPtr(descriptor, NULL);
2353
 
      PyDict_SetItem(cache, key, obj);
2354
 
      Py_DECREF(obj);
2355
 
    }
2356
 
  }
2357
 
  Py_DECREF(key);
2358
 
  return descriptor;
2359
 
}
2360
 
 
2361
 
/* 
2362
 
   For backward compatibility only
2363
 
*/
2364
 
#define SWIG_POINTER_EXCEPTION  0
2365
 
#define SWIG_arg_fail(arg)      SWIG_Python_ArgFail(arg)
2366
 
#define SWIG_MustGetPtr(p, type, argnum, flags)  SWIG_Python_MustGetPtr(p, type, argnum, flags)
2367
 
 
2368
 
SWIGRUNTIME int
2369
 
SWIG_Python_AddErrMesg(const char* mesg, int infront)
2370
 
{
2371
 
  if (PyErr_Occurred()) {
2372
 
    PyObject *type = 0;
2373
 
    PyObject *value = 0;
2374
 
    PyObject *traceback = 0;
2375
 
    PyErr_Fetch(&type, &value, &traceback);
2376
 
    if (value) {
2377
 
      PyObject *old_str = PyObject_Str(value);
2378
 
      Py_XINCREF(type);
2379
 
      PyErr_Clear();
2380
 
      if (infront) {
2381
 
        PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));
2382
 
      } else {
2383
 
        PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
2384
 
      }
2385
 
      Py_DECREF(old_str);
2386
 
    }
2387
 
    return 1;
2388
 
  } else {
2389
 
    return 0;
2390
 
  }
2391
 
}
2392
 
  
2393
 
SWIGRUNTIME int
2394
 
SWIG_Python_ArgFail(int argnum)
2395
 
{
2396
 
  if (PyErr_Occurred()) {
2397
 
    /* add information about failing argument */
2398
 
    char mesg[256];
2399
 
    PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
2400
 
    return SWIG_Python_AddErrMesg(mesg, 1);
2401
 
  } else {
2402
 
    return 0;
2403
 
  }
2404
 
}
2405
 
 
2406
 
SWIGRUNTIMEINLINE const char *
2407
 
PySwigObject_GetDesc(PyObject *self)
2408
 
{
2409
 
  PySwigObject *v = (PySwigObject *)self;
2410
 
  swig_type_info *ty = v ? v->ty : 0;
2411
 
  return ty ? ty->str : (char*)"";
2412
 
}
2413
 
 
2414
 
SWIGRUNTIME void
2415
 
SWIG_Python_TypeError(const char *type, PyObject *obj)
2416
 
{
2417
 
  if (type) {
2418
 
#if defined(SWIG_COBJECT_TYPES)
2419
 
    if (obj && PySwigObject_Check(obj)) {
2420
 
      const char *otype = (const char *) PySwigObject_GetDesc(obj);
2421
 
      if (otype) {
2422
 
        PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",
2423
 
                     type, otype);
2424
 
        return;
2425
 
      }
2426
 
    } else 
2427
 
#endif      
2428
 
    {
2429
 
      const char *otype = (obj ? obj->ob_type->tp_name : 0); 
2430
 
      if (otype) {
2431
 
        PyObject *str = PyObject_Str(obj);
2432
 
        const char *cstr = str ? PyString_AsString(str) : 0;
2433
 
        if (cstr) {
2434
 
          PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
2435
 
                       type, otype, cstr);
2436
 
        } else {
2437
 
          PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
2438
 
                       type, otype);
2439
 
        }
2440
 
        Py_XDECREF(str);
2441
 
        return;
2442
 
      }
2443
 
    }   
2444
 
    PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
2445
 
  } else {
2446
 
    PyErr_Format(PyExc_TypeError, "unexpected type is received");
2447
 
  }
2448
 
}
2449
 
 
2450
 
 
2451
 
/* Convert a pointer value, signal an exception on a type mismatch */
2452
 
SWIGRUNTIME void *
2453
 
SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
2454
 
  void *result;
2455
 
  if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
2456
 
    PyErr_Clear();
2457
 
    if (flags & SWIG_POINTER_EXCEPTION) {
2458
 
      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
2459
 
      SWIG_Python_ArgFail(argnum);
2460
 
    }
2461
 
  }
2462
 
  return result;
2463
 
}
2464
 
 
2465
 
 
2466
 
#ifdef __cplusplus
2467
 
#if 0
2468
 
{ /* cc-mode */
2469
 
#endif
2470
 
}
2471
 
#endif
2472
 
 
2473
 
 
2474
 
 
2475
 
#define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) 
2476
 
 
2477
 
#define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else 
2478
 
 
2479
 
 
2480
 
 
2481
 
/* -------- TYPES TABLE (BEGIN) -------- */
2482
 
 
2483
 
#define SWIGTYPE_p_char swig_types[0]
2484
 
static swig_type_info *swig_types[2];
2485
 
static swig_module_info swig_module = {swig_types, 1, 0, 0, 0, 0};
2486
 
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
2487
 
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
2488
 
 
2489
 
/* -------- TYPES TABLE (END) -------- */
2490
 
 
2491
 
#if (PY_VERSION_HEX <= 0x02000000)
2492
 
# if !defined(SWIG_PYTHON_CLASSIC)
2493
 
#  error "This python version requires swig to be run with the '-classic' option"
2494
 
# endif
2495
 
#endif
2496
 
 
2497
 
/*-----------------------------------------------
2498
 
              @(target):= _solfege_c_midi.so
2499
 
  ------------------------------------------------*/
2500
 
#define SWIG_init    init_solfege_c_midi
2501
 
 
2502
 
#define SWIG_name    "_solfege_c_midi"
2503
 
 
2504
 
#define SWIGVERSION 0x010336 
2505
 
#define SWIG_VERSION SWIGVERSION
2506
 
 
2507
 
 
2508
 
#define SWIG_as_voidptr(a) (void *)((const void *)(a)) 
2509
 
#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),(void**)(a)) 
2510
 
 
2511
 
 
2512
 
  #define SWIG_From_long   PyInt_FromLong 
2513
 
 
2514
 
 
2515
 
SWIGINTERNINLINE PyObject *
2516
 
SWIG_From_int  (int value)
2517
 
{    
2518
 
  return SWIG_From_long  (value);
2519
 
}
2520
 
 
2521
 
 
2522
 
#include "macro_to_function.h"
2523
 
extern int seqfd;
2524
 
void seqbuf_dump();
2525
 
int sndctl_seq_nrsynths();
2526
 
int sndctl_seq_reset();
2527
 
void sndctl_tmr_timebase(int);
2528
 
void sndctl_tmr_tempo(int);
2529
 
int sndctl_seq_gettime();
2530
 
char * get_synth_name(int i);
2531
 
int get_synth_nr_voices(int i);
2532
 
 
2533
 
 
2534
 
 
2535
 
#include <limits.h>
2536
 
#if !defined(SWIG_NO_LLONG_MAX)
2537
 
# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
2538
 
#   define LLONG_MAX __LONG_LONG_MAX__
2539
 
#   define LLONG_MIN (-LLONG_MAX - 1LL)
2540
 
#   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
2541
 
# endif
2542
 
#endif
2543
 
 
2544
 
 
2545
 
SWIGINTERN int
2546
 
SWIG_AsVal_double (PyObject *obj, double *val)
2547
 
{
2548
 
  int res = SWIG_TypeError;
2549
 
  if (PyFloat_Check(obj)) {
2550
 
    if (val) *val = PyFloat_AsDouble(obj);
2551
 
    return SWIG_OK;
2552
 
  } else if (PyInt_Check(obj)) {
2553
 
    if (val) *val = PyInt_AsLong(obj);
2554
 
    return SWIG_OK;
2555
 
  } else if (PyLong_Check(obj)) {
2556
 
    double v = PyLong_AsDouble(obj);
2557
 
    if (!PyErr_Occurred()) {
2558
 
      if (val) *val = v;
2559
 
      return SWIG_OK;
2560
 
    } else {
2561
 
      PyErr_Clear();
2562
 
    }
2563
 
  }
2564
 
#ifdef SWIG_PYTHON_CAST_MODE
2565
 
  {
2566
 
    int dispatch = 0;
2567
 
    double d = PyFloat_AsDouble(obj);
2568
 
    if (!PyErr_Occurred()) {
2569
 
      if (val) *val = d;
2570
 
      return SWIG_AddCast(SWIG_OK);
2571
 
    } else {
2572
 
      PyErr_Clear();
2573
 
    }
2574
 
    if (!dispatch) {
2575
 
      long v = PyLong_AsLong(obj);
2576
 
      if (!PyErr_Occurred()) {
2577
 
        if (val) *val = v;
2578
 
        return SWIG_AddCast(SWIG_AddCast(SWIG_OK));
2579
 
      } else {
2580
 
        PyErr_Clear();
2581
 
      }
2582
 
    }
2583
 
  }
2584
 
#endif
2585
 
  return res;
2586
 
}
2587
 
 
2588
 
 
2589
 
#include <float.h>
2590
 
 
2591
 
 
2592
 
#include <math.h>
2593
 
 
2594
 
 
2595
 
SWIGINTERNINLINE int
2596
 
SWIG_CanCastAsInteger(double *d, double min, double max) {
2597
 
  double x = *d;
2598
 
  if ((min <= x && x <= max)) {
2599
 
   double fx = floor(x);
2600
 
   double cx = ceil(x);
2601
 
   double rd =  ((x - fx) < 0.5) ? fx : cx; /* simple rint */
2602
 
   if ((errno == EDOM) || (errno == ERANGE)) {
2603
 
     errno = 0;
2604
 
   } else {
2605
 
     double summ, reps, diff;
2606
 
     if (rd < x) {
2607
 
       diff = x - rd;
2608
 
     } else if (rd > x) {
2609
 
       diff = rd - x;
2610
 
     } else {
2611
 
       return 1;
2612
 
     }
2613
 
     summ = rd + x;
2614
 
     reps = diff/summ;
2615
 
     if (reps < 8*DBL_EPSILON) {
2616
 
       *d = rd;
2617
 
       return 1;
2618
 
     }
2619
 
   }
2620
 
  }
2621
 
  return 0;
2622
 
}
2623
 
 
2624
 
 
2625
 
SWIGINTERN int
2626
 
SWIG_AsVal_long (PyObject *obj, long* val)
2627
 
{
2628
 
  if (PyInt_Check(obj)) {
2629
 
    if (val) *val = PyInt_AsLong(obj);
2630
 
    return SWIG_OK;
2631
 
  } else if (PyLong_Check(obj)) {
2632
 
    long v = PyLong_AsLong(obj);
2633
 
    if (!PyErr_Occurred()) {
2634
 
      if (val) *val = v;
2635
 
      return SWIG_OK;
2636
 
    } else {
2637
 
      PyErr_Clear();
2638
 
    }
2639
 
  }
2640
 
#ifdef SWIG_PYTHON_CAST_MODE
2641
 
  {
2642
 
    int dispatch = 0;
2643
 
    long v = PyInt_AsLong(obj);
2644
 
    if (!PyErr_Occurred()) {
2645
 
      if (val) *val = v;
2646
 
      return SWIG_AddCast(SWIG_OK);
2647
 
    } else {
2648
 
      PyErr_Clear();
2649
 
    }
2650
 
    if (!dispatch) {
2651
 
      double d;
2652
 
      int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
2653
 
      if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
2654
 
        if (val) *val = (long)(d);
2655
 
        return res;
2656
 
      }
2657
 
    }
2658
 
  }
2659
 
#endif
2660
 
  return SWIG_TypeError;
2661
 
}
2662
 
 
2663
 
 
2664
 
SWIGINTERN int
2665
 
SWIG_AsVal_int (PyObject * obj, int *val)
2666
 
{
2667
 
  long v;
2668
 
  int res = SWIG_AsVal_long (obj, &v);
2669
 
  if (SWIG_IsOK(res)) {
2670
 
    if ((v < INT_MIN || v > INT_MAX)) {
2671
 
      return SWIG_OverflowError;
2672
 
    } else {
2673
 
      if (val) *val = (int)(v);
2674
 
    }
2675
 
  }  
2676
 
  return res;
2677
 
}
2678
 
 
2679
 
 
2680
 
SWIGINTERN swig_type_info*
2681
 
SWIG_pchar_descriptor(void)
2682
 
{
2683
 
  static int init = 0;
2684
 
  static swig_type_info* info = 0;
2685
 
  if (!init) {
2686
 
    info = SWIG_TypeQuery("_p_char");
2687
 
    init = 1;
2688
 
  }
2689
 
  return info;
2690
 
}
2691
 
 
2692
 
 
2693
 
SWIGINTERNINLINE PyObject *
2694
 
SWIG_FromCharPtrAndSize(const char* carray, size_t size)
2695
 
{
2696
 
  if (carray) {
2697
 
    if (size > INT_MAX) {
2698
 
      swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
2699
 
      return pchar_descriptor ? 
2700
 
        SWIG_NewPointerObj((char *)(carray), pchar_descriptor, 0) : SWIG_Py_Void();
2701
 
    } else {
2702
 
      return PyString_FromStringAndSize(carray, (int)(size));
2703
 
    }
2704
 
  } else {
2705
 
    return SWIG_Py_Void();
2706
 
  }
2707
 
}
2708
 
 
2709
 
 
2710
 
SWIGINTERNINLINE PyObject * 
2711
 
SWIG_FromCharPtr(const char *cptr)
2712
 
2713
 
  return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
2714
 
}
2715
 
 
2716
 
#ifdef __cplusplus
2717
 
extern "C" {
2718
 
#endif
2719
 
SWIGINTERN PyObject *_wrap_seq_bender(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2720
 
  PyObject *resultobj = 0;
2721
 
  int arg1 ;
2722
 
  int arg2 ;
2723
 
  int arg3 ;
2724
 
  int val1 ;
2725
 
  int ecode1 = 0 ;
2726
 
  int val2 ;
2727
 
  int ecode2 = 0 ;
2728
 
  int val3 ;
2729
 
  int ecode3 = 0 ;
2730
 
  PyObject * obj0 = 0 ;
2731
 
  PyObject * obj1 = 0 ;
2732
 
  PyObject * obj2 = 0 ;
2733
 
  
2734
 
  if (!PyArg_ParseTuple(args,(char *)"OOO:seq_bender",&obj0,&obj1,&obj2)) SWIG_fail;
2735
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
2736
 
  if (!SWIG_IsOK(ecode1)) {
2737
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "seq_bender" "', argument " "1"" of type '" "int""'");
2738
 
  } 
2739
 
  arg1 = (int)(val1);
2740
 
  ecode2 = SWIG_AsVal_int(obj1, &val2);
2741
 
  if (!SWIG_IsOK(ecode2)) {
2742
 
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "seq_bender" "', argument " "2"" of type '" "int""'");
2743
 
  } 
2744
 
  arg2 = (int)(val2);
2745
 
  ecode3 = SWIG_AsVal_int(obj2, &val3);
2746
 
  if (!SWIG_IsOK(ecode3)) {
2747
 
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "seq_bender" "', argument " "3"" of type '" "int""'");
2748
 
  } 
2749
 
  arg3 = (int)(val3);
2750
 
  seq_bender(arg1,arg2,arg3);
2751
 
  resultobj = SWIG_Py_Void();
2752
 
  return resultobj;
2753
 
fail:
2754
 
  return NULL;
2755
 
}
2756
 
 
2757
 
 
2758
 
SWIGINTERN PyObject *_wrap_seq_start_note(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2759
 
  PyObject *resultobj = 0;
2760
 
  int arg1 ;
2761
 
  int arg2 ;
2762
 
  int arg3 ;
2763
 
  int arg4 ;
2764
 
  int val1 ;
2765
 
  int ecode1 = 0 ;
2766
 
  int val2 ;
2767
 
  int ecode2 = 0 ;
2768
 
  int val3 ;
2769
 
  int ecode3 = 0 ;
2770
 
  int val4 ;
2771
 
  int ecode4 = 0 ;
2772
 
  PyObject * obj0 = 0 ;
2773
 
  PyObject * obj1 = 0 ;
2774
 
  PyObject * obj2 = 0 ;
2775
 
  PyObject * obj3 = 0 ;
2776
 
  
2777
 
  if (!PyArg_ParseTuple(args,(char *)"OOOO:seq_start_note",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
2778
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
2779
 
  if (!SWIG_IsOK(ecode1)) {
2780
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "seq_start_note" "', argument " "1"" of type '" "int""'");
2781
 
  } 
2782
 
  arg1 = (int)(val1);
2783
 
  ecode2 = SWIG_AsVal_int(obj1, &val2);
2784
 
  if (!SWIG_IsOK(ecode2)) {
2785
 
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "seq_start_note" "', argument " "2"" of type '" "int""'");
2786
 
  } 
2787
 
  arg2 = (int)(val2);
2788
 
  ecode3 = SWIG_AsVal_int(obj2, &val3);
2789
 
  if (!SWIG_IsOK(ecode3)) {
2790
 
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "seq_start_note" "', argument " "3"" of type '" "int""'");
2791
 
  } 
2792
 
  arg3 = (int)(val3);
2793
 
  ecode4 = SWIG_AsVal_int(obj3, &val4);
2794
 
  if (!SWIG_IsOK(ecode4)) {
2795
 
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "seq_start_note" "', argument " "4"" of type '" "int""'");
2796
 
  } 
2797
 
  arg4 = (int)(val4);
2798
 
  seq_start_note(arg1,arg2,arg3,arg4);
2799
 
  resultobj = SWIG_Py_Void();
2800
 
  return resultobj;
2801
 
fail:
2802
 
  return NULL;
2803
 
}
2804
 
 
2805
 
 
2806
 
SWIGINTERN PyObject *_wrap_seq_stop_note(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2807
 
  PyObject *resultobj = 0;
2808
 
  int arg1 ;
2809
 
  int arg2 ;
2810
 
  int arg3 ;
2811
 
  int arg4 ;
2812
 
  int val1 ;
2813
 
  int ecode1 = 0 ;
2814
 
  int val2 ;
2815
 
  int ecode2 = 0 ;
2816
 
  int val3 ;
2817
 
  int ecode3 = 0 ;
2818
 
  int val4 ;
2819
 
  int ecode4 = 0 ;
2820
 
  PyObject * obj0 = 0 ;
2821
 
  PyObject * obj1 = 0 ;
2822
 
  PyObject * obj2 = 0 ;
2823
 
  PyObject * obj3 = 0 ;
2824
 
  
2825
 
  if (!PyArg_ParseTuple(args,(char *)"OOOO:seq_stop_note",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
2826
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
2827
 
  if (!SWIG_IsOK(ecode1)) {
2828
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "seq_stop_note" "', argument " "1"" of type '" "int""'");
2829
 
  } 
2830
 
  arg1 = (int)(val1);
2831
 
  ecode2 = SWIG_AsVal_int(obj1, &val2);
2832
 
  if (!SWIG_IsOK(ecode2)) {
2833
 
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "seq_stop_note" "', argument " "2"" of type '" "int""'");
2834
 
  } 
2835
 
  arg2 = (int)(val2);
2836
 
  ecode3 = SWIG_AsVal_int(obj2, &val3);
2837
 
  if (!SWIG_IsOK(ecode3)) {
2838
 
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "seq_stop_note" "', argument " "3"" of type '" "int""'");
2839
 
  } 
2840
 
  arg3 = (int)(val3);
2841
 
  ecode4 = SWIG_AsVal_int(obj3, &val4);
2842
 
  if (!SWIG_IsOK(ecode4)) {
2843
 
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "seq_stop_note" "', argument " "4"" of type '" "int""'");
2844
 
  } 
2845
 
  arg4 = (int)(val4);
2846
 
  seq_stop_note(arg1,arg2,arg3,arg4);
2847
 
  resultobj = SWIG_Py_Void();
2848
 
  return resultobj;
2849
 
fail:
2850
 
  return NULL;
2851
 
}
2852
 
 
2853
 
 
2854
 
SWIGINTERN PyObject *_wrap_seq_set_patch(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2855
 
  PyObject *resultobj = 0;
2856
 
  int arg1 ;
2857
 
  int arg2 ;
2858
 
  int arg3 ;
2859
 
  int val1 ;
2860
 
  int ecode1 = 0 ;
2861
 
  int val2 ;
2862
 
  int ecode2 = 0 ;
2863
 
  int val3 ;
2864
 
  int ecode3 = 0 ;
2865
 
  PyObject * obj0 = 0 ;
2866
 
  PyObject * obj1 = 0 ;
2867
 
  PyObject * obj2 = 0 ;
2868
 
  
2869
 
  if (!PyArg_ParseTuple(args,(char *)"OOO:seq_set_patch",&obj0,&obj1,&obj2)) SWIG_fail;
2870
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
2871
 
  if (!SWIG_IsOK(ecode1)) {
2872
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "seq_set_patch" "', argument " "1"" of type '" "int""'");
2873
 
  } 
2874
 
  arg1 = (int)(val1);
2875
 
  ecode2 = SWIG_AsVal_int(obj1, &val2);
2876
 
  if (!SWIG_IsOK(ecode2)) {
2877
 
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "seq_set_patch" "', argument " "2"" of type '" "int""'");
2878
 
  } 
2879
 
  arg2 = (int)(val2);
2880
 
  ecode3 = SWIG_AsVal_int(obj2, &val3);
2881
 
  if (!SWIG_IsOK(ecode3)) {
2882
 
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "seq_set_patch" "', argument " "3"" of type '" "int""'");
2883
 
  } 
2884
 
  arg3 = (int)(val3);
2885
 
  seq_set_patch(arg1,arg2,arg3);
2886
 
  resultobj = SWIG_Py_Void();
2887
 
  return resultobj;
2888
 
fail:
2889
 
  return NULL;
2890
 
}
2891
 
 
2892
 
 
2893
 
SWIGINTERN PyObject *_wrap_seq_set_volume(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2894
 
  PyObject *resultobj = 0;
2895
 
  int arg1 ;
2896
 
  int arg2 ;
2897
 
  int arg3 ;
2898
 
  int val1 ;
2899
 
  int ecode1 = 0 ;
2900
 
  int val2 ;
2901
 
  int ecode2 = 0 ;
2902
 
  int val3 ;
2903
 
  int ecode3 = 0 ;
2904
 
  PyObject * obj0 = 0 ;
2905
 
  PyObject * obj1 = 0 ;
2906
 
  PyObject * obj2 = 0 ;
2907
 
  
2908
 
  if (!PyArg_ParseTuple(args,(char *)"OOO:seq_set_volume",&obj0,&obj1,&obj2)) SWIG_fail;
2909
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
2910
 
  if (!SWIG_IsOK(ecode1)) {
2911
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "seq_set_volume" "', argument " "1"" of type '" "int""'");
2912
 
  } 
2913
 
  arg1 = (int)(val1);
2914
 
  ecode2 = SWIG_AsVal_int(obj1, &val2);
2915
 
  if (!SWIG_IsOK(ecode2)) {
2916
 
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "seq_set_volume" "', argument " "2"" of type '" "int""'");
2917
 
  } 
2918
 
  arg2 = (int)(val2);
2919
 
  ecode3 = SWIG_AsVal_int(obj2, &val3);
2920
 
  if (!SWIG_IsOK(ecode3)) {
2921
 
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "seq_set_volume" "', argument " "3"" of type '" "int""'");
2922
 
  } 
2923
 
  arg3 = (int)(val3);
2924
 
  seq_set_volume(arg1,arg2,arg3);
2925
 
  resultobj = SWIG_Py_Void();
2926
 
  return resultobj;
2927
 
fail:
2928
 
  return NULL;
2929
 
}
2930
 
 
2931
 
 
2932
 
SWIGINTERN PyObject *_wrap_seq_delta_time(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2933
 
  PyObject *resultobj = 0;
2934
 
  int arg1 ;
2935
 
  int val1 ;
2936
 
  int ecode1 = 0 ;
2937
 
  PyObject * obj0 = 0 ;
2938
 
  
2939
 
  if (!PyArg_ParseTuple(args,(char *)"O:seq_delta_time",&obj0)) SWIG_fail;
2940
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
2941
 
  if (!SWIG_IsOK(ecode1)) {
2942
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "seq_delta_time" "', argument " "1"" of type '" "int""'");
2943
 
  } 
2944
 
  arg1 = (int)(val1);
2945
 
  seq_delta_time(arg1);
2946
 
  resultobj = SWIG_Py_Void();
2947
 
  return resultobj;
2948
 
fail:
2949
 
  return NULL;
2950
 
}
2951
 
 
2952
 
 
2953
 
SWIGINTERN PyObject *_wrap_seq_start_timer(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
2954
 
  PyObject *resultobj = 0;
2955
 
  
2956
 
  if (!PyArg_ParseTuple(args,(char *)":seq_start_timer")) SWIG_fail;
2957
 
  seq_start_timer();
2958
 
  resultobj = SWIG_Py_Void();
2959
 
  return resultobj;
2960
 
fail:
2961
 
  return NULL;
2962
 
}
2963
 
 
2964
 
 
2965
 
SWIGINTERN int Swig_var_errno_set(PyObject *_val) {
2966
 
  {
2967
 
    int val;
2968
 
    int res = SWIG_AsVal_int(_val, &val);
2969
 
    if (!SWIG_IsOK(res)) {
2970
 
      SWIG_exception_fail(SWIG_ArgError(res), "in variable '""errno""' of type '""int""'");
2971
 
    }
2972
 
    errno = (int)(val);
2973
 
  }
2974
 
  return 0;
2975
 
fail:
2976
 
  return 1;
2977
 
}
2978
 
 
2979
 
 
2980
 
SWIGINTERN PyObject *Swig_var_errno_get(void) {
2981
 
  PyObject *pyobj = 0;
2982
 
  
2983
 
  pyobj = SWIG_From_int((int)(errno));
2984
 
  return pyobj;
2985
 
}
2986
 
 
2987
 
 
2988
 
SWIGINTERN int Swig_var_seqfd_set(PyObject *_val) {
2989
 
  {
2990
 
    int val;
2991
 
    int res = SWIG_AsVal_int(_val, &val);
2992
 
    if (!SWIG_IsOK(res)) {
2993
 
      SWIG_exception_fail(SWIG_ArgError(res), "in variable '""seqfd""' of type '""int""'");
2994
 
    }
2995
 
    seqfd = (int)(val);
2996
 
  }
2997
 
  return 0;
2998
 
fail:
2999
 
  return 1;
3000
 
}
3001
 
 
3002
 
 
3003
 
SWIGINTERN PyObject *Swig_var_seqfd_get(void) {
3004
 
  PyObject *pyobj = 0;
3005
 
  
3006
 
  pyobj = SWIG_From_int((int)(seqfd));
3007
 
  return pyobj;
3008
 
}
3009
 
 
3010
 
 
3011
 
SWIGINTERN PyObject *_wrap_seqbuf_dump(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3012
 
  PyObject *resultobj = 0;
3013
 
  
3014
 
  if (!PyArg_ParseTuple(args,(char *)":seqbuf_dump")) SWIG_fail;
3015
 
  seqbuf_dump();
3016
 
  resultobj = SWIG_Py_Void();
3017
 
  return resultobj;
3018
 
fail:
3019
 
  return NULL;
3020
 
}
3021
 
 
3022
 
 
3023
 
SWIGINTERN PyObject *_wrap_sndctl_seq_nrsynths(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3024
 
  PyObject *resultobj = 0;
3025
 
  int result;
3026
 
  
3027
 
  if (!PyArg_ParseTuple(args,(char *)":sndctl_seq_nrsynths")) SWIG_fail;
3028
 
  result = (int)sndctl_seq_nrsynths();
3029
 
  resultobj = SWIG_From_int((int)(result));
3030
 
  return resultobj;
3031
 
fail:
3032
 
  return NULL;
3033
 
}
3034
 
 
3035
 
 
3036
 
SWIGINTERN PyObject *_wrap_sndctl_seq_reset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3037
 
  PyObject *resultobj = 0;
3038
 
  int result;
3039
 
  
3040
 
  if (!PyArg_ParseTuple(args,(char *)":sndctl_seq_reset")) SWIG_fail;
3041
 
  result = (int)sndctl_seq_reset();
3042
 
  resultobj = SWIG_From_int((int)(result));
3043
 
  return resultobj;
3044
 
fail:
3045
 
  return NULL;
3046
 
}
3047
 
 
3048
 
 
3049
 
SWIGINTERN PyObject *_wrap_sndctl_tmr_timebase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3050
 
  PyObject *resultobj = 0;
3051
 
  int arg1 ;
3052
 
  int val1 ;
3053
 
  int ecode1 = 0 ;
3054
 
  PyObject * obj0 = 0 ;
3055
 
  
3056
 
  if (!PyArg_ParseTuple(args,(char *)"O:sndctl_tmr_timebase",&obj0)) SWIG_fail;
3057
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
3058
 
  if (!SWIG_IsOK(ecode1)) {
3059
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "sndctl_tmr_timebase" "', argument " "1"" of type '" "int""'");
3060
 
  } 
3061
 
  arg1 = (int)(val1);
3062
 
  sndctl_tmr_timebase(arg1);
3063
 
  resultobj = SWIG_Py_Void();
3064
 
  return resultobj;
3065
 
fail:
3066
 
  return NULL;
3067
 
}
3068
 
 
3069
 
 
3070
 
SWIGINTERN PyObject *_wrap_sndctl_tmr_tempo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3071
 
  PyObject *resultobj = 0;
3072
 
  int arg1 ;
3073
 
  int val1 ;
3074
 
  int ecode1 = 0 ;
3075
 
  PyObject * obj0 = 0 ;
3076
 
  
3077
 
  if (!PyArg_ParseTuple(args,(char *)"O:sndctl_tmr_tempo",&obj0)) SWIG_fail;
3078
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
3079
 
  if (!SWIG_IsOK(ecode1)) {
3080
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "sndctl_tmr_tempo" "', argument " "1"" of type '" "int""'");
3081
 
  } 
3082
 
  arg1 = (int)(val1);
3083
 
  sndctl_tmr_tempo(arg1);
3084
 
  resultobj = SWIG_Py_Void();
3085
 
  return resultobj;
3086
 
fail:
3087
 
  return NULL;
3088
 
}
3089
 
 
3090
 
 
3091
 
SWIGINTERN PyObject *_wrap_sndctl_seq_gettime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3092
 
  PyObject *resultobj = 0;
3093
 
  int result;
3094
 
  
3095
 
  if (!PyArg_ParseTuple(args,(char *)":sndctl_seq_gettime")) SWIG_fail;
3096
 
  result = (int)sndctl_seq_gettime();
3097
 
  resultobj = SWIG_From_int((int)(result));
3098
 
  return resultobj;
3099
 
fail:
3100
 
  return NULL;
3101
 
}
3102
 
 
3103
 
 
3104
 
SWIGINTERN PyObject *_wrap_get_synth_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3105
 
  PyObject *resultobj = 0;
3106
 
  int arg1 ;
3107
 
  int val1 ;
3108
 
  int ecode1 = 0 ;
3109
 
  PyObject * obj0 = 0 ;
3110
 
  char *result = 0 ;
3111
 
  
3112
 
  if (!PyArg_ParseTuple(args,(char *)"O:get_synth_name",&obj0)) SWIG_fail;
3113
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
3114
 
  if (!SWIG_IsOK(ecode1)) {
3115
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "get_synth_name" "', argument " "1"" of type '" "int""'");
3116
 
  } 
3117
 
  arg1 = (int)(val1);
3118
 
  result = (char *)get_synth_name(arg1);
3119
 
  resultobj = SWIG_FromCharPtr((const char *)result);
3120
 
  return resultobj;
3121
 
fail:
3122
 
  return NULL;
3123
 
}
3124
 
 
3125
 
 
3126
 
SWIGINTERN PyObject *_wrap_get_synth_nr_voices(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
3127
 
  PyObject *resultobj = 0;
3128
 
  int arg1 ;
3129
 
  int val1 ;
3130
 
  int ecode1 = 0 ;
3131
 
  PyObject * obj0 = 0 ;
3132
 
  int result;
3133
 
  
3134
 
  if (!PyArg_ParseTuple(args,(char *)"O:get_synth_nr_voices",&obj0)) SWIG_fail;
3135
 
  ecode1 = SWIG_AsVal_int(obj0, &val1);
3136
 
  if (!SWIG_IsOK(ecode1)) {
3137
 
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "get_synth_nr_voices" "', argument " "1"" of type '" "int""'");
3138
 
  } 
3139
 
  arg1 = (int)(val1);
3140
 
  result = (int)get_synth_nr_voices(arg1);
3141
 
  resultobj = SWIG_From_int((int)(result));
3142
 
  return resultobj;
3143
 
fail:
3144
 
  return NULL;
3145
 
}
3146
 
 
3147
 
 
3148
 
static PyMethodDef SwigMethods[] = {
3149
 
         { (char *)"seq_bender", _wrap_seq_bender, METH_VARARGS, NULL},
3150
 
         { (char *)"seq_start_note", _wrap_seq_start_note, METH_VARARGS, NULL},
3151
 
         { (char *)"seq_stop_note", _wrap_seq_stop_note, METH_VARARGS, NULL},
3152
 
         { (char *)"seq_set_patch", _wrap_seq_set_patch, METH_VARARGS, NULL},
3153
 
         { (char *)"seq_set_volume", _wrap_seq_set_volume, METH_VARARGS, NULL},
3154
 
         { (char *)"seq_delta_time", _wrap_seq_delta_time, METH_VARARGS, NULL},
3155
 
         { (char *)"seq_start_timer", _wrap_seq_start_timer, METH_VARARGS, NULL},
3156
 
         { (char *)"seqbuf_dump", _wrap_seqbuf_dump, METH_VARARGS, NULL},
3157
 
         { (char *)"sndctl_seq_nrsynths", _wrap_sndctl_seq_nrsynths, METH_VARARGS, NULL},
3158
 
         { (char *)"sndctl_seq_reset", _wrap_sndctl_seq_reset, METH_VARARGS, NULL},
3159
 
         { (char *)"sndctl_tmr_timebase", _wrap_sndctl_tmr_timebase, METH_VARARGS, NULL},
3160
 
         { (char *)"sndctl_tmr_tempo", _wrap_sndctl_tmr_tempo, METH_VARARGS, NULL},
3161
 
         { (char *)"sndctl_seq_gettime", _wrap_sndctl_seq_gettime, METH_VARARGS, NULL},
3162
 
         { (char *)"get_synth_name", _wrap_get_synth_name, METH_VARARGS, NULL},
3163
 
         { (char *)"get_synth_nr_voices", _wrap_get_synth_nr_voices, METH_VARARGS, NULL},
3164
 
         { NULL, NULL, 0, NULL }
3165
 
};
3166
 
 
3167
 
 
3168
 
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
3169
 
 
3170
 
static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
3171
 
 
3172
 
static swig_type_info *swig_type_initial[] = {
3173
 
  &_swigt__p_char,
3174
 
};
3175
 
 
3176
 
static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
3177
 
 
3178
 
static swig_cast_info *swig_cast_initial[] = {
3179
 
  _swigc__p_char,
3180
 
};
3181
 
 
3182
 
 
3183
 
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
3184
 
 
3185
 
static swig_const_info swig_const_table[] = {
3186
 
{0, 0, 0, 0.0, 0, 0}};
3187
 
 
3188
 
#ifdef __cplusplus
3189
 
}
3190
 
#endif
3191
 
/* -----------------------------------------------------------------------------
3192
 
 * Type initialization:
3193
 
 * This problem is tough by the requirement that no dynamic 
3194
 
 * memory is used. Also, since swig_type_info structures store pointers to 
3195
 
 * swig_cast_info structures and swig_cast_info structures store pointers back
3196
 
 * to swig_type_info structures, we need some lookup code at initialization. 
3197
 
 * The idea is that swig generates all the structures that are needed. 
3198
 
 * The runtime then collects these partially filled structures. 
3199
 
 * The SWIG_InitializeModule function takes these initial arrays out of 
3200
 
 * swig_module, and does all the lookup, filling in the swig_module.types
3201
 
 * array with the correct data and linking the correct swig_cast_info
3202
 
 * structures together.
3203
 
 *
3204
 
 * The generated swig_type_info structures are assigned staticly to an initial 
3205
 
 * array. We just loop through that array, and handle each type individually.
3206
 
 * First we lookup if this type has been already loaded, and if so, use the
3207
 
 * loaded structure instead of the generated one. Then we have to fill in the
3208
 
 * cast linked list. The cast data is initially stored in something like a
3209
 
 * two-dimensional array. Each row corresponds to a type (there are the same
3210
 
 * number of rows as there are in the swig_type_initial array). Each entry in
3211
 
 * a column is one of the swig_cast_info structures for that type.
3212
 
 * The cast_initial array is actually an array of arrays, because each row has
3213
 
 * a variable number of columns. So to actually build the cast linked list,
3214
 
 * we find the array of casts associated with the type, and loop through it 
3215
 
 * adding the casts to the list. The one last trick we need to do is making
3216
 
 * sure the type pointer in the swig_cast_info struct is correct.
3217
 
 *
3218
 
 * First off, we lookup the cast->type name to see if it is already loaded. 
3219
 
 * There are three cases to handle:
3220
 
 *  1) If the cast->type has already been loaded AND the type we are adding
3221
 
 *     casting info to has not been loaded (it is in this module), THEN we
3222
 
 *     replace the cast->type pointer with the type pointer that has already
3223
 
 *     been loaded.
3224
 
 *  2) If BOTH types (the one we are adding casting info to, and the 
3225
 
 *     cast->type) are loaded, THEN the cast info has already been loaded by
3226
 
 *     the previous module so we just ignore it.
3227
 
 *  3) Finally, if cast->type has not already been loaded, then we add that
3228
 
 *     swig_cast_info to the linked list (because the cast->type) pointer will
3229
 
 *     be correct.
3230
 
 * ----------------------------------------------------------------------------- */
3231
 
 
3232
 
#ifdef __cplusplus
3233
 
extern "C" {
3234
 
#if 0
3235
 
} /* c-mode */
3236
 
#endif
3237
 
#endif
3238
 
 
3239
 
#if 0
3240
 
#define SWIGRUNTIME_DEBUG
3241
 
#endif
3242
 
 
3243
 
 
3244
 
SWIGRUNTIME void
3245
 
SWIG_InitializeModule(void *clientdata) {
3246
 
  size_t i;
3247
 
  swig_module_info *module_head, *iter;
3248
 
  int found, init;
3249
 
  
3250
 
  clientdata = clientdata;
3251
 
  
3252
 
  /* check to see if the circular list has been setup, if not, set it up */
3253
 
  if (swig_module.next==0) {
3254
 
    /* Initialize the swig_module */
3255
 
    swig_module.type_initial = swig_type_initial;
3256
 
    swig_module.cast_initial = swig_cast_initial;
3257
 
    swig_module.next = &swig_module;
3258
 
    init = 1;
3259
 
  } else {
3260
 
    init = 0;
3261
 
  }
3262
 
  
3263
 
  /* Try and load any already created modules */
3264
 
  module_head = SWIG_GetModule(clientdata);
3265
 
  if (!module_head) {
3266
 
    /* This is the first module loaded for this interpreter */
3267
 
    /* so set the swig module into the interpreter */
3268
 
    SWIG_SetModule(clientdata, &swig_module);
3269
 
    module_head = &swig_module;
3270
 
  } else {
3271
 
    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
3272
 
    found=0;
3273
 
    iter=module_head;
3274
 
    do {
3275
 
      if (iter==&swig_module) {
3276
 
        found=1;
3277
 
        break;
3278
 
      }
3279
 
      iter=iter->next;
3280
 
    } while (iter!= module_head);
3281
 
    
3282
 
    /* if the is found in the list, then all is done and we may leave */
3283
 
    if (found) return;
3284
 
    /* otherwise we must add out module into the list */
3285
 
    swig_module.next = module_head->next;
3286
 
    module_head->next = &swig_module;
3287
 
  }
3288
 
  
3289
 
  /* When multiple interpeters are used, a module could have already been initialized in
3290
 
       a different interpreter, but not yet have a pointer in this interpreter.
3291
 
       In this case, we do not want to continue adding types... everything should be
3292
 
       set up already */
3293
 
  if (init == 0) return;
3294
 
  
3295
 
  /* Now work on filling in swig_module.types */
3296
 
#ifdef SWIGRUNTIME_DEBUG
3297
 
  printf("SWIG_InitializeModule: size %d\n", swig_module.size);
3298
 
#endif
3299
 
  for (i = 0; i < swig_module.size; ++i) {
3300
 
    swig_type_info *type = 0;
3301
 
    swig_type_info *ret;
3302
 
    swig_cast_info *cast;
3303
 
    
3304
 
#ifdef SWIGRUNTIME_DEBUG
3305
 
    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
3306
 
#endif
3307
 
    
3308
 
    /* if there is another module already loaded */
3309
 
    if (swig_module.next != &swig_module) {
3310
 
      type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
3311
 
    }
3312
 
    if (type) {
3313
 
      /* Overwrite clientdata field */
3314
 
#ifdef SWIGRUNTIME_DEBUG
3315
 
      printf("SWIG_InitializeModule: found type %s\n", type->name);
3316
 
#endif
3317
 
      if (swig_module.type_initial[i]->clientdata) {
3318
 
        type->clientdata = swig_module.type_initial[i]->clientdata;
3319
 
#ifdef SWIGRUNTIME_DEBUG
3320
 
        printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
3321
 
#endif
3322
 
      }
3323
 
    } else {
3324
 
      type = swig_module.type_initial[i];
3325
 
    }
3326
 
    
3327
 
    /* Insert casting types */
3328
 
    cast = swig_module.cast_initial[i];
3329
 
    while (cast->type) {
3330
 
      /* Don't need to add information already in the list */
3331
 
      ret = 0;
3332
 
#ifdef SWIGRUNTIME_DEBUG
3333
 
      printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
3334
 
#endif
3335
 
      if (swig_module.next != &swig_module) {
3336
 
        ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
3337
 
#ifdef SWIGRUNTIME_DEBUG
3338
 
        if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
3339
 
#endif
3340
 
      }
3341
 
      if (ret) {
3342
 
        if (type == swig_module.type_initial[i]) {
3343
 
#ifdef SWIGRUNTIME_DEBUG
3344
 
          printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
3345
 
#endif
3346
 
          cast->type = ret;
3347
 
          ret = 0;
3348
 
        } else {
3349
 
          /* Check for casting already in the list */
3350
 
          swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
3351
 
#ifdef SWIGRUNTIME_DEBUG
3352
 
          if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
3353
 
#endif
3354
 
          if (!ocast) ret = 0;
3355
 
        }
3356
 
      }
3357
 
      
3358
 
      if (!ret) {
3359
 
#ifdef SWIGRUNTIME_DEBUG
3360
 
        printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
3361
 
#endif
3362
 
        if (type->cast) {
3363
 
          type->cast->prev = cast;
3364
 
          cast->next = type->cast;
3365
 
        }
3366
 
        type->cast = cast;
3367
 
      }
3368
 
      cast++;
3369
 
    }
3370
 
    /* Set entry in modules->types array equal to the type */
3371
 
    swig_module.types[i] = type;
3372
 
  }
3373
 
  swig_module.types[i] = 0;
3374
 
  
3375
 
#ifdef SWIGRUNTIME_DEBUG
3376
 
  printf("**** SWIG_InitializeModule: Cast List ******\n");
3377
 
  for (i = 0; i < swig_module.size; ++i) {
3378
 
    int j = 0;
3379
 
    swig_cast_info *cast = swig_module.cast_initial[i];
3380
 
    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
3381
 
    while (cast->type) {
3382
 
      printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
3383
 
      cast++;
3384
 
      ++j;
3385
 
    }
3386
 
    printf("---- Total casts: %d\n",j);
3387
 
  }
3388
 
  printf("**** SWIG_InitializeModule: Cast List ******\n");
3389
 
#endif
3390
 
}
3391
 
 
3392
 
/* This function will propagate the clientdata field of type to
3393
 
* any new swig_type_info structures that have been added into the list
3394
 
* of equivalent types.  It is like calling
3395
 
* SWIG_TypeClientData(type, clientdata) a second time.
3396
 
*/
3397
 
SWIGRUNTIME void
3398
 
SWIG_PropagateClientData(void) {
3399
 
  size_t i;
3400
 
  swig_cast_info *equiv;
3401
 
  static int init_run = 0;
3402
 
  
3403
 
  if (init_run) return;
3404
 
  init_run = 1;
3405
 
  
3406
 
  for (i = 0; i < swig_module.size; i++) {
3407
 
    if (swig_module.types[i]->clientdata) {
3408
 
      equiv = swig_module.types[i]->cast;
3409
 
      while (equiv) {
3410
 
        if (!equiv->converter) {
3411
 
          if (equiv->type && !equiv->type->clientdata)
3412
 
          SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
3413
 
        }
3414
 
        equiv = equiv->next;
3415
 
      }
3416
 
    }
3417
 
  }
3418
 
}
3419
 
 
3420
 
#ifdef __cplusplus
3421
 
#if 0
3422
 
{
3423
 
  /* c-mode */
3424
 
#endif
3425
 
}
3426
 
#endif
3427
 
 
3428
 
 
3429
 
 
3430
 
#ifdef __cplusplus
3431
 
extern "C" {
3432
 
#endif
3433
 
  
3434
 
  /* Python-specific SWIG API */
3435
 
#define SWIG_newvarlink()                             SWIG_Python_newvarlink()
3436
 
#define SWIG_addvarlink(p, name, get_attr, set_attr)  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
3437
 
#define SWIG_InstallConstants(d, constants)           SWIG_Python_InstallConstants(d, constants)
3438
 
  
3439
 
  /* -----------------------------------------------------------------------------
3440
 
   * global variable support code.
3441
 
   * ----------------------------------------------------------------------------- */
3442
 
  
3443
 
  typedef struct swig_globalvar {
3444
 
    char       *name;                  /* Name of global variable */
3445
 
    PyObject *(*get_attr)(void);       /* Return the current value */
3446
 
    int       (*set_attr)(PyObject *); /* Set the value */
3447
 
    struct swig_globalvar *next;
3448
 
  } swig_globalvar;
3449
 
  
3450
 
  typedef struct swig_varlinkobject {
3451
 
    PyObject_HEAD
3452
 
    swig_globalvar *vars;
3453
 
  } swig_varlinkobject;
3454
 
  
3455
 
  SWIGINTERN PyObject *
3456
 
  swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) {
3457
 
    return PyString_FromString("<Swig global variables>");
3458
 
  }
3459
 
  
3460
 
  SWIGINTERN PyObject *
3461
 
  swig_varlink_str(swig_varlinkobject *v) {
3462
 
    PyObject *str = PyString_FromString("(");
3463
 
    swig_globalvar  *var;
3464
 
    for (var = v->vars; var; var=var->next) {
3465
 
      PyString_ConcatAndDel(&str,PyString_FromString(var->name));
3466
 
      if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", "));
3467
 
    }
3468
 
    PyString_ConcatAndDel(&str,PyString_FromString(")"));
3469
 
    return str;
3470
 
  }
3471
 
  
3472
 
  SWIGINTERN int
3473
 
  swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) {
3474
 
    PyObject *str = swig_varlink_str(v);
3475
 
    fprintf(fp,"Swig global variables ");
3476
 
    fprintf(fp,"%s\n", PyString_AsString(str));
3477
 
    Py_DECREF(str);
3478
 
    return 0;
3479
 
  }
3480
 
  
3481
 
  SWIGINTERN void
3482
 
  swig_varlink_dealloc(swig_varlinkobject *v) {
3483
 
    swig_globalvar *var = v->vars;
3484
 
    while (var) {
3485
 
      swig_globalvar *n = var->next;
3486
 
      free(var->name);
3487
 
      free(var);
3488
 
      var = n;
3489
 
    }
3490
 
  }
3491
 
  
3492
 
  SWIGINTERN PyObject *
3493
 
  swig_varlink_getattr(swig_varlinkobject *v, char *n) {
3494
 
    PyObject *res = NULL;
3495
 
    swig_globalvar *var = v->vars;
3496
 
    while (var) {
3497
 
      if (strcmp(var->name,n) == 0) {
3498
 
        res = (*var->get_attr)();
3499
 
        break;
3500
 
      }
3501
 
      var = var->next;
3502
 
    }
3503
 
    if (res == NULL && !PyErr_Occurred()) {
3504
 
      PyErr_SetString(PyExc_NameError,"Unknown C global variable");
3505
 
    }
3506
 
    return res;
3507
 
  }
3508
 
  
3509
 
  SWIGINTERN int
3510
 
  swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
3511
 
    int res = 1;
3512
 
    swig_globalvar *var = v->vars;
3513
 
    while (var) {
3514
 
      if (strcmp(var->name,n) == 0) {
3515
 
        res = (*var->set_attr)(p);
3516
 
        break;
3517
 
      }
3518
 
      var = var->next;
3519
 
    }
3520
 
    if (res == 1 && !PyErr_Occurred()) {
3521
 
      PyErr_SetString(PyExc_NameError,"Unknown C global variable");
3522
 
    }
3523
 
    return res;
3524
 
  }
3525
 
  
3526
 
  SWIGINTERN PyTypeObject*
3527
 
  swig_varlink_type(void) {
3528
 
    static char varlink__doc__[] = "Swig var link object";
3529
 
    static PyTypeObject varlink_type;
3530
 
    static int type_init = 0;  
3531
 
    if (!type_init) {
3532
 
      const PyTypeObject tmp
3533
 
      = {
3534
 
        PyObject_HEAD_INIT(NULL)
3535
 
        0,                                  /* Number of items in variable part (ob_size) */
3536
 
        (char *)"swigvarlink",              /* Type name (tp_name) */
3537
 
        sizeof(swig_varlinkobject),         /* Basic size (tp_basicsize) */
3538
 
        0,                                  /* Itemsize (tp_itemsize) */
3539
 
        (destructor) swig_varlink_dealloc,   /* Deallocator (tp_dealloc) */ 
3540
 
        (printfunc) swig_varlink_print,     /* Print (tp_print) */
3541
 
        (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
3542
 
        (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
3543
 
        0,                                  /* tp_compare */
3544
 
        (reprfunc) swig_varlink_repr,       /* tp_repr */
3545
 
        0,                                  /* tp_as_number */
3546
 
        0,                                  /* tp_as_sequence */
3547
 
        0,                                  /* tp_as_mapping */
3548
 
        0,                                  /* tp_hash */
3549
 
        0,                                  /* tp_call */
3550
 
        (reprfunc)swig_varlink_str,        /* tp_str */
3551
 
        0,                                  /* tp_getattro */
3552
 
        0,                                  /* tp_setattro */
3553
 
        0,                                  /* tp_as_buffer */
3554
 
        0,                                  /* tp_flags */
3555
 
        varlink__doc__,                     /* tp_doc */
3556
 
        0,                                  /* tp_traverse */
3557
 
        0,                                  /* tp_clear */
3558
 
        0,                                  /* tp_richcompare */
3559
 
        0,                                  /* tp_weaklistoffset */
3560
 
#if PY_VERSION_HEX >= 0x02020000
3561
 
        0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
3562
 
#endif
3563
 
#if PY_VERSION_HEX >= 0x02030000
3564
 
        0,                                  /* tp_del */
3565
 
#endif
3566
 
#ifdef COUNT_ALLOCS
3567
 
        0,0,0,0                             /* tp_alloc -> tp_next */
3568
 
#endif
3569
 
      };
3570
 
      varlink_type = tmp;
3571
 
      varlink_type.ob_type = &PyType_Type;
3572
 
      type_init = 1;
3573
 
    }
3574
 
    return &varlink_type;
3575
 
  }
3576
 
  
3577
 
  /* Create a variable linking object for use later */
3578
 
  SWIGINTERN PyObject *
3579
 
  SWIG_Python_newvarlink(void) {
3580
 
    swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
3581
 
    if (result) {
3582
 
      result->vars = 0;
3583
 
    }
3584
 
    return ((PyObject*) result);
3585
 
  }
3586
 
  
3587
 
  SWIGINTERN void 
3588
 
  SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
3589
 
    swig_varlinkobject *v = (swig_varlinkobject *) p;
3590
 
    swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
3591
 
    if (gv) {
3592
 
      size_t size = strlen(name)+1;
3593
 
      gv->name = (char *)malloc(size);
3594
 
      if (gv->name) {
3595
 
        strncpy(gv->name,name,size);
3596
 
        gv->get_attr = get_attr;
3597
 
        gv->set_attr = set_attr;
3598
 
        gv->next = v->vars;
3599
 
      }
3600
 
    }
3601
 
    v->vars = gv;
3602
 
  }
3603
 
  
3604
 
  SWIGINTERN PyObject *
3605
 
  SWIG_globals(void) {
3606
 
    static PyObject *_SWIG_globals = 0; 
3607
 
    if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink();  
3608
 
    return _SWIG_globals;
3609
 
  }
3610
 
  
3611
 
  /* -----------------------------------------------------------------------------
3612
 
   * constants/methods manipulation
3613
 
   * ----------------------------------------------------------------------------- */
3614
 
  
3615
 
  /* Install Constants */
3616
 
  SWIGINTERN void
3617
 
  SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
3618
 
    PyObject *obj = 0;
3619
 
    size_t i;
3620
 
    for (i = 0; constants[i].type; ++i) {
3621
 
      switch(constants[i].type) {
3622
 
      case SWIG_PY_POINTER:
3623
 
        obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
3624
 
        break;
3625
 
      case SWIG_PY_BINARY:
3626
 
        obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
3627
 
        break;
3628
 
      default:
3629
 
        obj = 0;
3630
 
        break;
3631
 
      }
3632
 
      if (obj) {
3633
 
        PyDict_SetItemString(d, constants[i].name, obj);
3634
 
        Py_DECREF(obj);
3635
 
      }
3636
 
    }
3637
 
  }
3638
 
  
3639
 
  /* -----------------------------------------------------------------------------*/
3640
 
  /* Fix SwigMethods to carry the callback ptrs when needed */
3641
 
  /* -----------------------------------------------------------------------------*/
3642
 
  
3643
 
  SWIGINTERN void
3644
 
  SWIG_Python_FixMethods(PyMethodDef *methods,
3645
 
    swig_const_info *const_table,
3646
 
    swig_type_info **types,
3647
 
    swig_type_info **types_initial) {
3648
 
    size_t i;
3649
 
    for (i = 0; methods[i].ml_name; ++i) {
3650
 
      const char *c = methods[i].ml_doc;
3651
 
      if (c && (c = strstr(c, "swig_ptr: "))) {
3652
 
        int j;
3653
 
        swig_const_info *ci = 0;
3654
 
        const char *name = c + 10;
3655
 
        for (j = 0; const_table[j].type; ++j) {
3656
 
          if (strncmp(const_table[j].name, name, 
3657
 
              strlen(const_table[j].name)) == 0) {
3658
 
            ci = &(const_table[j]);
3659
 
            break;
3660
 
          }
3661
 
        }
3662
 
        if (ci) {
3663
 
          size_t shift = (ci->ptype) - types;
3664
 
          swig_type_info *ty = types_initial[shift];
3665
 
          size_t ldoc = (c - methods[i].ml_doc);
3666
 
          size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
3667
 
          char *ndoc = (char*)malloc(ldoc + lptr + 10);
3668
 
          if (ndoc) {
3669
 
            char *buff = ndoc;
3670
 
            void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
3671
 
            if (ptr) {
3672
 
              strncpy(buff, methods[i].ml_doc, ldoc);
3673
 
              buff += ldoc;
3674
 
              strncpy(buff, "swig_ptr: ", 10);
3675
 
              buff += 10;
3676
 
              SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
3677
 
              methods[i].ml_doc = ndoc;
3678
 
            }
3679
 
          }
3680
 
        }
3681
 
      }
3682
 
    }
3683
 
  } 
3684
 
  
3685
 
#ifdef __cplusplus
3686
 
}
3687
 
#endif
3688
 
 
3689
 
/* -----------------------------------------------------------------------------*
3690
 
 *  Partial Init method
3691
 
 * -----------------------------------------------------------------------------*/
3692
 
 
3693
 
#ifdef __cplusplus
3694
 
extern "C"
3695
 
#endif
3696
 
SWIGEXPORT void SWIG_init(void) {
3697
 
  PyObject *m, *d;
3698
 
  
3699
 
  /* Fix SwigMethods to carry the callback ptrs when needed */
3700
 
  SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
3701
 
  
3702
 
  m = Py_InitModule((char *) SWIG_name, SwigMethods);
3703
 
  d = PyModule_GetDict(m);
3704
 
  
3705
 
  SWIG_InitializeModule(0);
3706
 
  SWIG_InstallConstants(d,swig_const_table);
3707
 
  
3708
 
  
3709
 
  SWIG_Python_SetConstant(d, "STDC_HEADERS",SWIG_From_int((int)(1)));
3710
 
  SWIG_Python_SetConstant(d, "HAVE_FCNTL_H",SWIG_From_int((int)(1)));
3711
 
  SWIG_Python_SetConstant(d, "HAVE_SYS_IOCTL_H",SWIG_From_int((int)(1)));
3712
 
  SWIG_Python_SetConstant(d, "HAVE_UNISTD_H",SWIG_From_int((int)(1)));
3713
 
  PyDict_SetItemString(d,(char*)"cvar", SWIG_globals());
3714
 
  SWIG_addvarlink(SWIG_globals(),(char*)"errno",Swig_var_errno_get, Swig_var_errno_set);
3715
 
  SWIG_addvarlink(SWIG_globals(),(char*)"seqfd",Swig_var_seqfd_get, Swig_var_seqfd_set);
3716
 
}
3717