aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flbase.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-09-26 13:59:34 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-09-26 13:59:34 +0000
commit0f849641afd27b4e7c9326fbcd402105fd62ced0 (patch)
tree6f825a8f7a0e0520797f788a6be4f1274d4225d1 /externals/grill/flext/source/flbase.cpp
parent2b91966061ead3c4aa260033e95cfc4adb396496 (diff)
- better handling of click callback
bugfixes and optimizations, especially for DSP under Max/MSP - more compatible handling of attributes in patcher (hiding is now an option - define FLEXT_ATTRHIDE) svn path=/trunk/; revision=3636
Diffstat (limited to 'externals/grill/flext/source/flbase.cpp')
-rw-r--r--externals/grill/flext/source/flbase.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/externals/grill/flext/source/flbase.cpp b/externals/grill/flext/source/flbase.cpp
index c3d94d83..cbb46aec 100644
--- a/externals/grill/flext/source/flbase.cpp
+++ b/externals/grill/flext/source/flbase.cpp
@@ -52,6 +52,10 @@ bool flext_obj::init_ok;
void flext_obj::ProcessAttributes(bool attr) { process_attributes = attr; }
+#if FLEXT_SYS == FLEXT_SYS_MAX
+static const t_symbol *sym__shP = NULL;
+#endif
+
/////////////////////////////////////////////////////////
// Constructor
//
@@ -64,7 +68,7 @@ flext_obj :: FLEXT_CLASSDEF(flext_obj)()
#if FLEXT_SYS == FLEXT_SYS_PD
m_canvas = canvas_getcurrent();
#elif FLEXT_SYS == FLEXT_SYS_MAX
- m_canvas = (t_patcher *)gensym("#P")->s_thing;
+ m_canvas = (t_patcher *)sym__shP->s_thing;
x_obj->curinlet = 0;
#endif
}
@@ -78,6 +82,13 @@ flext_obj :: ~FLEXT_CLASSDEF(flext_obj)()
x_obj = NULL;
}
+void flext_obj::__setup__(t_classid)
+{
+#if FLEXT_SYS == FLEXT_SYS_MAX
+ sym__shP = MakeSymbol("#P");
+#endif
+ flext::Setup();
+}
bool flext_obj::Init() { return true; }
bool flext_obj::Finalize() { return true; }