[PD-cvs] externals/grill/flext/source flbase.h,1.28,1.29 fldsp.cpp,1.23,1.24 flqueue.cpp,1.23,1.24

Thomas Grill xovo at users.sourceforge.net
Wed Jan 19 05:57:17 CET 2005


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





More information about the Pd-cvs mailing list