aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flbuf.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2004-12-31 04:58:29 +0000
committerThomas Grill <xovo@users.sourceforge.net>2004-12-31 04:58:29 +0000
commit7873938d18daf4a94ca77eeb970457f89e679374 (patch)
tree8de0488af4f068ad7aa37f1ffc08482e04efb258 /externals/grill/flext/source/flbuf.cpp
parent889c04fdf4fa9239c7442ed3b381ad5d004782f1 (diff)
fix for showing attributes on select (and recreate the object on edit)
reconsidered flext::buffer:Update build system for flext-based externals added object construction and destruction flags svn path=/trunk/; revision=2438
Diffstat (limited to 'externals/grill/flext/source/flbuf.cpp')
-rw-r--r--externals/grill/flext/source/flbuf.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/externals/grill/flext/source/flbuf.cpp b/externals/grill/flext/source/flbuf.cpp
index 4dc0b6e8..649e1b8d 100644
--- a/externals/grill/flext/source/flbuf.cpp
+++ b/externals/grill/flext/source/flbuf.cpp
@@ -81,7 +81,7 @@ int flext::buffer::Set(const t_symbol *s,bool nameonly)
if(!arr)
{
if (*GetString(sym)) FLEXT_LOG1("buffer: no such array '%s'",GetString(sym));
- sym = NULL;
+// sym = NULL;
if(valid) ret = -1;
}
else if(!garray_getfloatarray(arr, &frames1, &data1))
@@ -147,11 +147,13 @@ bool flext::buffer::Valid() const
bool flext::buffer::Update()
{
- if(!Ok()) return false;
+// if(!Ok()) return false;
bool ok = false;
#if FLEXT_SYS == FLEXT_SYS_PD
+ if(!sym || !arr) return data == NULL;
+
int frames1;
t_sample *data1;
if(!garray_getfloatarray(arr, &frames1, &data1)) {
@@ -166,6 +168,8 @@ bool flext::buffer::Update()
ok = true;
}
#elif FLEXT_SYS == FLEXT_SYS_MAX
+ if(!sym) return data == NULL;
+
if(sym->s_thing) {
const _buffer *p = (const _buffer *)sym->s_thing;
if(data != p->b_samples || chns != p->b_nchans || frames != p->b_frames) {