Commit 89d2fe61 authored by thomas's avatar thomas
Browse files

no message


git-svn-id: https://svn.grrrr.org/ext/trunk@446 4d9ac71a-51e6-0310-8455-cad1006bcd31
parent 76926b92
......@@ -102,6 +102,7 @@ Version history:
0.4.1:
- full port for Max@OSX
- completely redesigned message and attribute handling: now hashed and a much more efficient
- added some prerequisites for usage of flext as a shared library
- put overloaded new/delete into flext support class
- introduced "Finalize" virtual method, called after all "Init" methods
- fixed crash issue in flext_dsp when there are NO signal inlets or outlets defined
......
......@@ -31,6 +31,8 @@ int flext_obj::m_holdaargc = 0;
const t_atom *flext_obj::m_holdaargv = NULL;
bool flext_obj::process_attributes = false;
void flext_obj::ProcessAttributes(bool attr) { process_attributes = attr; }
/////////////////////////////////////////////////////////
// Constructor
//
......
......@@ -20,7 +20,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "flstdc.h"
#include "flsupport.h"
class FLEXT_EXT flext_obj;
class FLEXT_SHARE flext_obj;
// ----------------------------------------------------------------------------
/*! \brief The obligatory PD or Max/MSP object header
......@@ -32,7 +32,7 @@ class FLEXT_EXT flext_obj;
*/
// ----------------------------------------------------------------------------
struct FLEXT_EXT flext_hdr
struct FLEXT_SHARE flext_hdr
{
/*! \defgroup FLEXT_OBJHEADER Actual PD or Max/MSP object
\internal
......@@ -85,7 +85,7 @@ struct FLEXT_EXT flext_hdr
*/
// ----------------------------------------------------------------------------
class FLEXT_EXT flext_obj:
class FLEXT_SHARE flext_obj:
public flext
{
public:
......@@ -113,7 +113,7 @@ class FLEXT_EXT flext_obj:
/*! \brief Enable/disable attribute procession (default = false)
\note Use that in the static class setup function (also library setup function)
*/
static void ProcessAttributes(bool attr) { process_attributes = attr; }
static void ProcessAttributes(bool attr); //{ process_attributes = attr; }
//! Virtual function called at creation time (but after the constructor)
// this also guarantees that there are no instances of flext_obj
......@@ -134,7 +134,7 @@ class FLEXT_EXT flext_obj:
*/
//! Get the object's canvas
t_canvas *thisCanvas() { return(m_canvas); }
t_canvas *thisCanvas() { return m_canvas; }
//! Get the PD or Max/MSP object
t_sigobj *thisHdr() { return &x_obj->obj; }
......
......@@ -40,7 +40,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
*/
class FLEXT_EXT flext_base:
class FLEXT_SHARE flext_base:
public flext_obj
{
FLEXT_HEADER_S(flext_base,flext_obj,Setup)
......
......@@ -24,7 +24,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
/*! \brief Flext dsp enabled base object
*/
class FLEXT_EXT flext_dsp:
class FLEXT_SHARE flext_dsp:
public flext_base
{
FLEXT_HEADER_S(flext_dsp,flext_base,Setup)
......
......@@ -18,7 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#undef NOPTHREAD
class flext_sndobj:
class FLEXT_SHARE flext_sndobj:
public flext_dsp
{
FLEXT_HEADER(flext_sndobj,flext_dsp)
......
......@@ -162,8 +162,14 @@ typedef void t_binbuf;
/* Set the right calling convention (and exporting) for the OS */
#ifdef _MSC_VER
#ifdef FLEXT_SHARED
#define FLEXT_SHARE __declspec(dllexport)
#else
#define FLEXT_SHARE
#endif
#define FLEXT_EXT __declspec(dllexport)
#else // other OS's
#define FLEXT_SHARE
#define FLEXT_EXT
#endif
......
......@@ -17,7 +17,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "flstdc.h"
class FLEXT_EXT flext_base;
class FLEXT_SHARE flext_base;
/*! \brief Flext support class
A number of methods (most are static functions) are defined here for convenience.
......@@ -26,7 +26,7 @@ class FLEXT_EXT flext_base;
Examples are the overloaded memory allocation, atom and atom list functions,
thread functions and classes, the sample buffer class and others.
*/
class FLEXT_EXT flext {
class FLEXT_SHARE flext {
/*! \defgroup FLEXT_SUPPORT Flext support class
@{
......@@ -65,7 +65,7 @@ public:
*/
//! Class for platform independent buffer handling
class buffer
class FLEXT_SHARE buffer
{
public:
/*! \brief Construct buffer.
......@@ -310,7 +310,7 @@ public:
// --- atom list stuff -------------------------------------------
//! Class representing a list of atoms
class AtomList
class FLEXT_SHARE AtomList
{
public:
//! Construct list
......@@ -370,7 +370,7 @@ public:
//! Class representing an "anything"
class AtomAnything:
class FLEXT_SHARE AtomAnything:
public AtomList
{
public:
......@@ -584,7 +584,7 @@ public:
/*! \brief Thread mutex
\sa pthreads documentation
*/
class FLEXT_EXT ThrMutex
class FLEXT_SHARE ThrMutex
#if FLEXT_THREADS == FLEXT_THR_POSIX
{
public:
......@@ -638,7 +638,7 @@ public:
/*! \brief Thread conditional
\sa pthreads documentation
*/
class FLEXT_EXT ThrCond
class FLEXT_SHARE ThrCond
#if FLEXT_THREADS == FLEXT_THR_POSIX
:public ThrMutex
{
......
......@@ -25,7 +25,7 @@ class simple3:
FLEXT_HEADER(simple3,flext_base)
public:
// constructor with variable argument list
// constructor with no arguments
simple3();
protected:
......@@ -39,7 +39,7 @@ protected:
private:
FLEXT_CALLBACK(m_tag); // callback for method "m_tag" (no arguments)
FLEXT_CALLBACK_I(m_tag_and_int); // callback for method "m_tag" (int arguments)
FLEXT_CALLBACK_I(m_tag_and_int); // callback for method "m_tag_and_int" (int arguments)
FLEXT_CALLBACK_S(m_sym); // callback for method "m_sym" (with one symbol argument)
};
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment