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-2020 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 
24 #define FLEXT_VERSION 601
25 
27 #define FLEXT_VERSTR "0.6.1 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
Definitions for handling the t_atom type and lists thereof.
Definitions for handling the t_atom type and lists thereof.
Definitions for printing and scanning the t_atom type.
Attribute handling for the flext base class.
Attribute editor (property dialog) for PD.
Implementation of the internal flext base classes.
Functionality for symbol-bound methods.
Implementation of the buffer abstraction class.
User accessible flext base classes.
This file includes all the #define header files.
Implementation of the flext dsp base class.
Declares the flext dsp class.
Implementation of the flext base class.
Processing of method and attribute lists.
Code for handling of object (and library) creation functions.
flext container classes.
Method processing of flext base class.
Message processing of flext base class.
Implementation of the flext outlet functionality.
Try to find out the platform.
Proxy classes for the flext base class.
Implementation of the flext message queuing functionality.
flext SIMD support functions
flext support functions and classes.
Implementation of the flext thread functionality.
flext timer functions and classes
Implementation of the various utility functions.
Implementation of the variable inlet/outlet functionality.