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
flattr.cpp
Attribute handling for the flext base class.
fldsp.cpp
Implementation of the flext dsp base class.
fldefs.h
This file includes all the #define header files.
flbase.cpp
Implementation of the internal flext base classes.
flmap.cpp
flext container classes.
flqueue.cpp
Implementation of the flext message queuing functionality.
flproxy.cpp
Proxy classes for the flext base class.
flatom_part.cpp
Definitions for handling the t_atom type and lists thereof.
flsupport.cpp
flext support functions and classes.
flext.cpp
Implementation of the flext base class.
fldsp.h
Declares the flext dsp class.
flsimd.cpp
flext SIMD support functions
flitem.cpp
Processing of method and attribute lists.
flatom_pr.cpp
Definitions for printing and scanning the t_atom type.
fllib.cpp
Code for handling of object (and library) creation functions.
fltimer.cpp
flext timer functions and classes
flout.cpp
Implementation of the flext outlet functionality.
flmeth.cpp
Method processing of flext base class.
flbind.cpp
Functionality for symbol-bound methods.
flbuf.cpp
Implementation of the buffer abstraction class.
flmsg.cpp
Message processing of flext base class.
flclass.h
User accessible flext base classes.
flattr_ed.cpp
Attribute editor (property dialog) for PD.
flthr.cpp
Implementation of the flext thread functionality.
flatom.cpp
Definitions for handling the t_atom type and lists thereof.
flutil.cpp
Implementation of the various utility functions.
flxlet.cpp
Implementation of the variable inlet/outlet functionality.
flprefix.h
Try to find out the platform.