flext.h
Go to the documentation of this file.
/*
flext - C++ layer for Max and Pure Data externals
Copyright (c) 2001-2023 Thomas Grill (gr@grrrr.org)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
*/
#ifndef __FLEXT_H
#define __FLEXT_H
#define FLEXT_VERSION 603
#define FLEXT_VERSTR "0.6.3"
// determine System/OS/CPU
#include "flprefix.h"
// include headers necessary for multi-threading
#ifdef FLEXT_THREADS
#if FLEXT_THREADS == FLEXT_THR_POSIX
extern "C" {
#include <pthread.h>
#include <sched.h>
}
#elif FLEXT_THREADS == FLEXT_THR_MP
#include <multiprocessing.h>
#elif FLEXT_THREADS == FLEXT_THR_WIN32
#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x500
#include <windows.h>
#include <process.h>
#else
#error "Win32 threading model only supported for Win2000/XP or newer"
#endif
#else
#error "Thread model not supported"
#endif
#endif
// include all the flext interface definitions
#include "fldefs.h"
// include the basic flext object classes
#include "flclass.h"
// include the flext dsp class
#include "fldsp.h"
#ifdef FLEXT_INLINE
// include all source code files
# include "flatom.cpp"
# include "flatom_part.cpp"
# include "flatom_pr.cpp"
# include "flattr.cpp"
# include "flattr_ed.cpp"
# include "flbase.cpp"
# include "flbind.cpp"
# include "flbuf.cpp"
# include "fldsp.cpp"
# include "flext.cpp"
# include "flitem.cpp"
# include "fllib.cpp"
# include "flmap.cpp"
# include "flmeth.cpp"
# include "flmsg.cpp"
# include "flout.cpp"
# include "flproxy.cpp"
# include "flqueue.cpp"
# include "flsimd.cpp"
# include "flsupport.cpp"
# include "flthr.cpp"
# include "fltimer.cpp"
# include "flutil.cpp"
# include "flxlet.cpp"
#endif
#endif // FLEXT_H
flatom.cpp
Definitions for handling the t_atom type and lists thereof.
flatom_part.cpp
Definitions for handling the t_atom type and lists thereof.
flatom_pr.cpp
Definitions for printing and scanning the t_atom type.
flattr.cpp
Attribute handling for the flext base class.
flattr_ed.cpp
Attribute editor (property dialog) for PD.
flbase.cpp
Implementation of the internal flext base classes.
flbind.cpp
Functionality for symbol-bound methods.
flbuf.cpp
Implementation of the buffer abstraction class.
flclass.h
User accessible flext base classes.
fldefs.h
This file includes all the #define header files.
fldsp.cpp
Implementation of the flext dsp base class.
fldsp.h
Declares the flext dsp class.
flext.cpp
Implementation of the flext base class.
flitem.cpp
Processing of method and attribute lists.
fllib.cpp
Code for handling of object (and library) creation functions.
flmap.cpp
flext container classes.
flmeth.cpp
Method processing of flext base class.
flmsg.cpp
Message processing of flext base class.
flout.cpp
Implementation of the flext outlet functionality.
flprefix.h
Try to find out the platform.
flproxy.cpp
Proxy classes for the flext base class.
flqueue.cpp
Implementation of the flext message queuing functionality.
flsimd.cpp
flext SIMD support functions
flsupport.cpp
flext support functions and classes.
flthr.cpp
Implementation of the flext thread functionality.
fltimer.cpp
flext timer functions and classes
flutil.cpp
Implementation of the various utility functions.
flxlet.cpp
Implementation of the variable inlet/outlet functionality.