diff options
Diffstat (limited to 'externals/grill/flext')
-rw-r--r-- | externals/grill/flext/notes.txt | 3 | ||||
-rwxr-xr-x | externals/grill/flext/source/flqueue.cpp | 9 |
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) |