Update of /cvsroot/pure-data/externals/grill/flext/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8822/source
Modified Files:
flbase.h fldsp.cpp flqueue.cpp
Log Message:
- fixed typos and 64-bit compatibility
- conform to idle callback functionality in devel_0_38
cleanups
Index: flqueue.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flqueue.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** flqueue.cpp 8 Jan 2005 04:58:30 -0000 1.23
--- flqueue.cpp 19 Jan 2005 04:57:15 -0000 1.24
***************
*** 59,63 ****
};
! // _should_ work without locks.... have yet to check if it really does....
class Queue:
public flext
--- 59,65 ----
};
! /* \TODO This is only thread-safe if called fro one thread which need NOT be the case.
! Reimplement in a thread-safe manner!!!
! */
class Queue:
public flext
***************
*** 223,227 ****
#if FLEXT_QMODE == 2
! if(syslock) sys_lock();
#endif
--- 225,229 ----
#if FLEXT_QMODE == 2
! if(syslock) flext::Lock();
#endif
***************
*** 233,237 ****
#if FLEXT_QMODE == 2
! if(syslock) sys_unlock();
#endif
--- 235,239 ----
#if FLEXT_QMODE == 2
! if(syslock) flext::Unlock();
#endif
***************
*** 254,264 ****
#elif FLEXT_QMODE == 1
static t_int QTick(t_int *)
{
QWork(false);
#ifdef FLEXT_SHARED
! return 1;
#else
! return 0;
#endif
}
--- 256,276 ----
#elif FLEXT_QMODE == 1
+ #ifndef FLEXT_SHARED
+ static bool qtickactive = false;
+ #endif
static t_int QTick(t_int *)
{
+ #ifndef FLEXT_SHARED
+ qtickactive = false;
+ #endif
QWork(false);
#ifdef FLEXT_SHARED
! // will be run in the next idle cycle
! return 2;
#else
! // won't be run again
! // for non-shared externals assume that there's rarely a message waiting
! // so it's better to delete the callback meanwhile
! return 0;
#endif
}
***************
*** 288,292 ****
qthrcond.Signal();
#elif FLEXT_QMODE == 1 && !defined(FLEXT_SHARED)
! set_callback(QTick,NULL,0);
#elif FLEXT_QMODE == 0
clock_delay(qclk,0);
--- 300,307 ----
qthrcond.Signal();
#elif FLEXT_QMODE == 1 && !defined(FLEXT_SHARED)
! if(!qtickactive) {
! sys_callback(QTick,NULL,0);
! qtickactive = true;
! }
#elif FLEXT_QMODE == 0
clock_delay(qclk,0);
***************
*** 325,329 ****
#if FLEXT_QMODE == 1
#ifdef FLEXT_SHARED
! set_callback(QTick,NULL,0);
#endif
#elif FLEXT_QMODE == 2
--- 340,344 ----
#if FLEXT_QMODE == 1
#ifdef FLEXT_SHARED
! sys_callback(QTick,NULL,0);
#endif
#elif FLEXT_QMODE == 2
Index: flbase.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flbase.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** flbase.h 3 Jan 2005 05:00:31 -0000 1.28
--- flbase.h 19 Jan 2005 04:57:15 -0000 1.29
***************
*** 106,110 ****
//! Destructor
! virtual ~FLEXT_CLASSDEF(flext_obj)() = 0;
/*! \brief Signal a construction problem
--- 106,110 ----
//! Destructor
! virtual ~FLEXT_CLASSDEF(flext_obj)();
/*! \brief Signal a construction problem
Index: fldsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/fldsp.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** fldsp.cpp 8 Jan 2005 04:58:30 -0000 1.23
--- fldsp.cpp 19 Jan 2005 04:57:15 -0000 1.24
***************
*** 90,94 ****
t_int *flext_dsp::dspmeth(t_int *w)
{
! flext_dsp *obj = (flext_dsp *)w[1];
/*
#ifdef FLEXT_DEBUG
--- 90,94 ----
t_int *flext_dsp::dspmeth(t_int *w)
{
! flext_dsp *obj = (flext_dsp *)(size_t)w[1];
/*
#ifdef FLEXT_DEBUG