aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-02-08 04:56:22 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-02-08 04:56:22 +0000
commitdc4a78b2f4d1a017ec5dd151de1ed14fe1c8e2f6 (patch)
treec1ce8f9051ea841f30d5665191a5d7177a3602a3 /externals/grill/flext
parent5143f2e9971ce2aa33f58383dac62e7f16514f86 (diff)
Max: use high-priority click instead of qelem for message-posting
fixed buggy unbinding of receive symbols added method for clicks into object box svn path=/trunk/; revision=2559
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/notes.txt3
-rwxr-xr-xexternals/grill/flext/source/flqueue.cpp9
2 files changed, 5 insertions, 7 deletions
diff --git a/externals/grill/flext/notes.txt b/externals/grill/flext/notes.txt
index 67b4d11b..3538ca5f 100644
--- a/externals/grill/flext/notes.txt
+++ b/externals/grill/flext/notes.txt
@@ -42,7 +42,6 @@ TODO LIST:
- add double handlers
- add signal in/out connection query function
-- support creation of buffers
- support for Max qelem style
- flext::post and flext::error should print via a worker thread (and should be unlimited in characters)
@@ -57,8 +56,6 @@ TESTS TO DO:
- hard thread termination upon object destruction doesn't seem to work properly -> crash
- Max rounding bug ... buffer resize could be one sample less!
-- flext_dsp: Max/MSP doesn't correctly report in/out channel counts
-
- PD: figure out what "pointer" messages do and whether they are correctly implemented in flext
- Max buffer~ resize: flext_base::buffer::Frames(): must we use buffer or system sample rate?
diff --git a/externals/grill/flext/source/flqueue.cpp b/externals/grill/flext/source/flqueue.cpp
index 151bcb5e..f629379b 100755
--- a/externals/grill/flext/source/flqueue.cpp
+++ b/externals/grill/flext/source/flqueue.cpp
@@ -58,7 +58,7 @@ private:
const t_atom *argv;
};
-/* \TODO This is only thread-safe if called fro one thread which need NOT be the case.
+/* \TODO This is only thread-safe if called from one thread which need NOT be the case.
Reimplement in a thread-safe manner!!!
*/
class Queue:
@@ -176,17 +176,18 @@ protected:
// must return contiguous region
t_atom *GetAtoms(int argc)
{
+ t_atom *ret;
if(atail+argc >= QUEUE_ATOMS) {
FLEXT_ASSERT(ahead > argc);
+ ret = atoms;
atail = argc;
- return atoms;
}
else {
FLEXT_ASSERT(ahead <= atail || ahead > atail+argc);
- t_atom *at = atoms+atail;
+ ret = atoms+atail;
atail += argc;
- return at;
}
+ return ret;
}
void PopAtoms(int argc)