flext  0.6.0
flext.h
Go to the documentation of this file.
1 /*
2 flext - C++ layer for Max and Pure Data externals
3 
4 Copyright (c) 2001-2015 Thomas Grill (gr@grrrr.org)
5 For information on usage and redistribution, and for a DISCLAIMER OF ALL
6 WARRANTIES, see the file, "license.txt," in this distribution.
7 */
8 
15 #ifndef __FLEXT_H
16 #define __FLEXT_H
17 
18 
23 #define FLEXT_VERSION 600
25 
27 #define FLEXT_VERSTR "0.6.0 alpha"
28 
30 
31 // determine System/OS/CPU
32 #include "flprefix.h"
33 
34 // include headers necessary for multi-threading
35 #ifdef FLEXT_THREADS
36  #if FLEXT_THREADS == FLEXT_THR_POSIX
37  extern "C" {
38  #include <pthread.h>
39  #include <sched.h>
40  }
41  #elif FLEXT_THREADS == FLEXT_THR_MP
42  #include <multiprocessing.h>
43  #elif FLEXT_THREADS == FLEXT_THR_WIN32
44  #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x500
45  #include <windows.h>
46  #include <process.h>
47  #else
48  #error "Win32 threading model only supported for Win2000/XP or newer"
49  #endif
50  #else
51  #error "Thread model not supported"
52  #endif
53 #endif
54 
55 
56 // include all the flext interface definitions
57 #include "fldefs.h"
58 
59 // include the basic flext object classes
60 #include "flclass.h"
61 
62 // include the flext dsp class
63 #include "fldsp.h"
64 
65 #ifdef FLEXT_INLINE
66 // include all source code files
67 # include "flatom.cpp"
68 # include "flatom_part.cpp"
69 # include "flatom_pr.cpp"
70 # include "flattr.cpp"
71 # include "flattr_ed.cpp"
72 # include "flbase.cpp"
73 # include "flbind.cpp"
74 # include "flbuf.cpp"
75 # include "fldsp.cpp"
76 # include "flext.cpp"
77 # include "flitem.cpp"
78 # include "fllib.cpp"
79 # include "flmap.cpp"
80 # include "flmeth.cpp"
81 # include "flmsg.cpp"
82 # include "flout.cpp"
83 # include "flproxy.cpp"
84 # include "flqueue.cpp"
85 # include "flsimd.cpp"
86 # include "flsupport.cpp"
87 # include "flthr.cpp"
88 # include "fltimer.cpp"
89 # include "flutil.cpp"
90 # include "flxlet.cpp"
91 #endif
92 
93 #endif // FLEXT_H
Message processing of flext base class.
Definitions for handling the t_atom type and lists thereof.
Proxy classes for the flext base class.
Implementation of the buffer abstraction class.
Processing of method and attribute lists.
flext support functions and classes.
Definitions for printing and scanning the t_atom type.
Declares the flext dsp class.
Code for handling of object (and library) creation functions.
Implementation of the flext message queuing functionality.
flext SIMD support functions
Attribute handling for the flext base class.
Implementation of the flext outlet functionality.
Attribute editor (property dialog) for PD.
User accessible flext base classes.
Try to find out the platform.
This file includes all the #define header files.
Functionality for symbol-bound methods.
Implementation of the flext dsp base class.
flext timer functions and classes
flext container classes.
Implementation of the various utility functions.
Implementation of the flext thread functionality.
Implementation of the flext base class.
Method processing of flext base class.
Implementation of the variable inlet/outlet functionality.
Definitions for handling the t_atom type and lists thereof.
Implementation of the internal flext base classes.