blob: 14d01b699c529557e3a716c9ec9f09f9b07c3dd7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
/* ********************************************** */
/* the ZEXY external */
/* ********************************************** */
/* forum::für::umläute */
/* ********************************************** */
/* the ZEXY external is a runtime-library for miller s. puckette's realtime-computermusic-software "pure data"
* therefore you NEED "pure data" to make any use of the ZEXY external
* (except if you want to use the code for other things)
* download "pure data" at
http://pd.iem.at
ftp://iem.at/pd
*
* if you are looking for the latest release of the ZEXY-external you should have another look at
ftp://iem.at/pd/Externals/ZEXY
*
* ZEXY is published under the GNU GeneralPublicLicense, that must be shipped with ZEXY.
* if you are using Debian GNU/linux, the GNU-GPL can be found under /usr/share/common-licenses/GPL
* if you still haven't found a copy of the GNU-GPL, have a look at http://www.gnu.org
*
* "pure data" has it's own license, that comes shipped with "pure data".
*
* there are ABSOLUTELY NO WARRANTIES for anything
*/
#ifndef INCLUDE_ZEXY_H__
#define INCLUDE_ZEXY_H__
#ifdef __WIN32__
# ifndef NT
# define NT
# endif
# ifndef MSW
# define MSW
# endif
#endif
#include "zexyconf.h"
#include "m_pd.h"
#include <math.h>
#define VERSION "2.1"
/* these pragmas are only used for MSVC, not MinGW or Cygwin */
#ifdef _MSC_VER
# pragma warning( disable : 4018 )
# pragma warning( disable : 4244 )
# pragma warning( disable : 4305 )
#endif
#ifdef __WIN32__
# define HEARTSYMBOL 3
# define STATIC_INLINE
# define sqrtf sqrt
# define fabsf fabs
#else
# define HEARTSYMBOL 169
# define STATIC_INLINE static
#endif
#ifdef __APPLE__
# include <AvailabilityMacros.h>
# if defined (MAC_OS_X_VERSION_10_3) && MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_3
# define sqrtf sqrt
# endif /* OSX-10.3 */
#endif /* APPLE */
typedef struct _mypdlist
{
t_object x_obj;
int x_n;
t_atom *x_list;
} t_mypdlist;
#ifndef ZEXY_LIBRARY
static void zexy_register(char*object){
if(object!=0){
post("[%s]", object);
post("\tpart of zexy-%s", VERSION);
post("\tCopyright (l) IOhannes m zmölnig, 1999-2005");
post("\tforum::für::umläute");
post("\tIEM");
post("\tcompiled: "__DATE__" ");
}
}
#else
static void zexy_register(char*object){}
#endif /* ZEXY_LIBRARY */
#if (defined PD_MAJOR_VERSION && defined PD_MINOR_VERSION) && (PD_MAJOR_VERSION > 0 || PD_MINOR_VERSION > 38)
/* pd>=0.39 has a verbose() function; older versions don't
*/
#else
/* this might not work on compilers other than gcc
* is it ISO-C99 or just a gnu-cpp thing ?
*/
# define verbose(level, format, ...) post(format, ## __VA_ARGS__)
#endif
#endif /* INCLUDE_ZEXY_H__ */
|