From dc4a78b2f4d1a017ec5dd151de1ed14fe1c8e2f6 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Tue, 8 Feb 2005 04:56:22 +0000 Subject: 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 --- externals/grill/flext/notes.txt | 3 --- externals/grill/flext/source/flqueue.cpp | 9 +++++---- 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'externals/grill/flext') 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) -- cgit v1.2.1