[PD-cvs] pd/src makefile.in, 1.4.4.2.2.21.2.27, 1.4.4.2.2.21.2.28 d_ugen.c, 1.3.4.1.2.5.2.5, 1.3.4.1.2.5.2.6 desire.c, 1.1.2.217.2.139, 1.1.2.217.2.140

Mathieu Bouchard matju at users.sourceforge.net
Thu Jun 28 10:33:39 CEST 2007


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3669

Modified Files:
      Tag: desiredata
	makefile.in d_ugen.c desire.c 
Log Message:
d_ugen.c goes c++


Index: makefile.in
===================================================================
RCS file: /cvsroot/pure-data/pd/src/makefile.in,v
retrieving revision 1.4.4.2.2.21.2.27
retrieving revision 1.4.4.2.2.21.2.28
diff -C2 -d -r1.4.4.2.2.21.2.27 -r1.4.4.2.2.21.2.28
*** makefile.in	28 Jun 2007 06:41:25 -0000	1.4.4.2.2.21.2.27
--- makefile.in	28 Jun 2007 08:33:34 -0000	1.4.4.2.2.21.2.28
***************
*** 22,27 ****
  
  SRCXX = desire.c kernel.c builtins.c builtins_dsp.c s_path.c s_inter.c s_main.c \
! 	m_sched.c s_loader.c d_soundfile.c
! SRC = m_fifo.c m_simd.c s_audio.c s_midi.c d_ugen.c d_mayer_fft.c d_fftroutine.c d_resample.c
  
  # audio drivers and midi drivers
--- 22,27 ----
  
  SRCXX = desire.c kernel.c builtins.c builtins_dsp.c s_path.c s_inter.c s_main.c \
! 	m_sched.c s_loader.c d_soundfile.c d_ugen.c
! SRC = m_fifo.c m_simd.c s_audio.c s_midi.c d_mayer_fft.c d_fftroutine.c d_resample.c
  
  # audio drivers and midi drivers

Index: d_ugen.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/d_ugen.c,v
retrieving revision 1.3.4.1.2.5.2.5
retrieving revision 1.3.4.1.2.5.2.6
diff -C2 -d -r1.3.4.1.2.5.2.5 -r1.3.4.1.2.5.2.6
*** d_ugen.c	9 Jan 2007 16:59:00 -0000	1.3.4.1.2.5.2.5
--- d_ugen.c	28 Jun 2007 08:33:34 -0000	1.3.4.1.2.5.2.6
***************
*** 37,40 ****
--- 37,41 ----
  struct _voutlet;
  
+ extern "C" {
  void vinlet_dspprolog(struct _vinlet *x, t_signal **parentsigs,
      int myvecsize, int calcsize, int phase, int period, int frequency,
***************
*** 46,49 ****
--- 47,51 ----
      int myvecsize, int calcsize, int phase, int period, int frequency,
      int downsample, int upsample, int reblock, int switched);
+ };
  
  t_int *zero_perform(t_int *w)   /* zero out a vector */
***************
*** 159,164 ****
  {
      int upsample, downsample; /* IOhannes */
!     int calcsize = fcalcsize;
!     int overlap = foverlap;
      int dspstate = canvas_suspend_dsp();
      int vecsize;
--- 161,166 ----
  {
      int upsample, downsample; /* IOhannes */
!     int calcsize = (int)fcalcsize;
!     int overlap = (int)foverlap;
      int dspstate = canvas_suspend_dsp();
      int vecsize;
***************
*** 171,178 ****
      if (fupsample <= 0) upsample = downsample = 1;
      else if (fupsample >= 1) {
!       upsample = fupsample;
        downsample   = 1;
      } else {
!       downsample = 1.0 / fupsample;
        upsample   = 1;
      }
--- 173,180 ----
      if (fupsample <= 0) upsample = downsample = 1;
      else if (fupsample >= 1) {
!       upsample = (int)fupsample;
        downsample   = 1;
      } else {
!       downsample = int(1.0 / fupsample);
        upsample   = 1;
      }
***************
*** 378,405 ****
  
      /* call this when DSP is stopped to free all the signals */
! void signal_cleanup(void)
! {
      t_signal *sig;
!     int i;
!     while (sig = signal_usedlist)
!     {
          signal_usedlist = sig->s_nextused;
! 		if (!sig->s_isborrowed) 
! 		{
  #ifndef VECTORALIGNMENT
!             free(sig->s_vec);
  #else
!             freealignedbytes(sig->s_vec, sig->s_vecsize * sizeof (*sig->s_vec));
  #endif
! 		}
          free(sig);
      }
!     for (i = 0; i <= MAXLOGSIG; i++)
!         signal_freelist[i] = 0;
      signal_freeborrowed = 0;
  }
  
      /* mark the signal "reusable." */
! void signal_makereusable(t_signal *sig)
  {
      int logn = ilog2(sig->s_vecsize);
--- 380,403 ----
  
      /* call this when DSP is stopped to free all the signals */
! void signal_cleanup() {
      t_signal *sig;
!     while ((sig = signal_usedlist)) {
          signal_usedlist = sig->s_nextused;
! 	    if (!sig->s_isborrowed) {
  #ifndef VECTORALIGNMENT
!                 free(sig->s_vec);
  #else
!                 freealignedbytes(sig->s_vec, sig->s_vecsize * sizeof (*sig->s_vec));
  #endif
! 	    }
          free(sig);
      }
!     int i;
!     for (i = 0; i <= MAXLOGSIG; i++) signal_freelist[i] = 0;
      signal_freeborrowed = 0;
  }
  
      /* mark the signal "reusable." */
! extern "C" void signal_makereusable(t_signal *sig)
  {
      int logn = ilog2(sig->s_vecsize);
***************
*** 456,461 ****
      t_signal *ret, **whichlist;
      logn = ilog2(n);
!     if (n)
!     {
          if ((vecsize = (1<<logn)) != n)
              vecsize *= 2;
--- 454,458 ----
      t_signal *ret, **whichlist;
      logn = ilog2(n);
!     if (n) {
          if ((vecsize = (1<<logn)) != n)
              vecsize *= 2;
***************
*** 463,475 ****
              bug("signal buffer too large");
          whichlist = signal_freelist + logn;
!     }
!     else
!         whichlist = &signal_freeborrowed;
  
          /* first try to reclaim one from the free list */
!     if (ret = *whichlist)
          *whichlist = ret->s_nextfree;
!     else
!     {
              /* LATER figure out what to do for out-of-space here! */
          ret = (t_signal *)t_getbytes(sizeof *ret);
--- 460,470 ----
              bug("signal buffer too large");
          whichlist = signal_freelist + logn;
!     } else whichlist = &signal_freeborrowed;
  
          /* first try to reclaim one from the free list */
!     ret = *whichlist;
!     if (ret)
          *whichlist = ret->s_nextfree;
!     else {
              /* LATER figure out what to do for out-of-space here! */
          ret = (t_signal *)t_getbytes(sizeof *ret);
***************
*** 483,489 ****
  #endif
              ret->s_isborrowed = 0;
!         }
!         else
!         {
              ret->s_vec = 0;
              ret->s_isborrowed = 1;
--- 478,482 ----
  #endif
              ret->s_isborrowed = 0;
!         } else {
              ret->s_vec = 0;
              ret->s_isborrowed = 1;
***************
*** 506,510 ****
  }
  
! void signal_setborrowed(t_signal *sig, t_signal *sig2)
  {
      if (!sig->s_isborrowed || sig->s_borrowedfrom)
--- 499,503 ----
  }
  
! extern "C" void signal_setborrowed(t_signal *sig, t_signal *sig2)
  {
      if (!sig->s_isborrowed || sig->s_borrowedfrom)
***************
*** 630,635 ****
  
      /* start building the graph for a canvas */
! t_dspcontext *ugen_start_graph(int toplevel, t_signal **sp,
!     int ninlets, int noutlets)
  {
      t_dspcontext *dc = (t_dspcontext *)getbytes(sizeof(*dc));
--- 623,627 ----
  
      /* start building the graph for a canvas */
! extern "C" t_dspcontext *ugen_start_graph(int toplevel, t_signal **sp, int ninlets, int noutlets)
  {
      t_dspcontext *dc = (t_dspcontext *)getbytes(sizeof(*dc));
***************
*** 646,651 ****
  
      /* first the canvas calls this to create all the boxes... */
! void ugen_add(t_dspcontext *dc, t_object *obj)
! {
      t_ugenbox *x = (t_ugenbox *)getbytes(sizeof *x);
      int i;
--- 638,642 ----
  
      /* first the canvas calls this to create all the boxes... */
! extern "C" void ugen_add(t_dspcontext *dc, t_object *obj) {
      t_ugenbox *x = (t_ugenbox *)getbytes(sizeof *x);
      int i;
***************
*** 667,673 ****
  
      /* and then this to make all the connections. */
! void ugen_connect(t_dspcontext *dc, t_object *x1, int outno, t_object *x2,
!     int inno)
! {
      t_ugenbox *u1, *u2;
      t_sigoutlet *uout;
--- 658,662 ----
  
      /* and then this to make all the connections. */
! extern "C" void ugen_connect(t_dspcontext *dc, t_object *x1, int outno, t_object *x2, int inno) {
      t_ugenbox *u1, *u2;
      t_sigoutlet *uout;
***************
*** 753,757 ****
              /* post("%s: unconnected signal inlet set to zero",
                  class_getname(u->u_obj->ob_pd)); */
!             if (scalar = obj_findsignalscalar(u->u_obj, i))
                  dsp_add_scalarcopy(scalar, s3->s_vec, s3->s_n);
              else
--- 742,746 ----
              /* post("%s: unconnected signal inlet set to zero",
                  class_getname(u->u_obj->ob_pd)); */
!             if ((scalar = obj_findsignalscalar(u->u_obj, i)))
                  dsp_add_scalarcopy(scalar, s3->s_vec, s3->s_n);
              else
***************
*** 832,838 ****
              u2 = oc->oc_who;
              uin = &u2->u_in[oc->oc_inno];
!                 /* if there's already someone here, sum the two */
!             if (s2 = uin->i_signal)
!             {
                  s1->s_refcount--;
                  s2->s_refcount--;
--- 821,827 ----
              u2 = oc->oc_who;
              uin = &u2->u_in[oc->oc_inno];
!             /* if there's already someone here, sum the two */
! 	    s2 = uin->i_signal;
!             if (s2) {
                  s1->s_refcount--;
                  s2->s_refcount--;
***************
*** 1167,1171 ****
  } t_samplerate;
  
! void *canvas_getblock(t_class *blockclass, t_canvas **canvasp);
  
  static void samplerate_tilde_bang(t_samplerate *x)
--- 1156,1160 ----
  } t_samplerate;
  
! extern "C" void *canvas_getblock(t_class *blockclass, t_canvas **canvasp);
  
  static void samplerate_tilde_bang(t_samplerate *x)

Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.217.2.139
retrieving revision 1.1.2.217.2.140
diff -C2 -d -r1.1.2.217.2.139 -r1.1.2.217.2.140
*** desire.c	28 Jun 2007 07:53:10 -0000	1.1.2.217.2.139
--- desire.c	28 Jun 2007 08:33:34 -0000	1.1.2.217.2.140
***************
*** 938,947 ****
  typedef struct _dspcontext t_dspcontext;
  
! extern "C" void ugen_start ();
! extern "C" void ugen_stop ();
  extern "C" t_dspcontext *ugen_start_graph(int toplevel, t_signal **sp, int ninlets, int noutlets);
  extern "C" void ugen_add(t_dspcontext *dc, t_object *x);
  extern "C" void ugen_connect(t_dspcontext *dc, t_object *from, int outlet, t_object *to, int inlet);
! extern "C" void ugen_done_graph(t_dspcontext *dc);
  
  /* schedule one canvas for DSP.  This is called below for all "root"
--- 938,947 ----
  typedef struct _dspcontext t_dspcontext;
  
! extern void ugen_start ();
! extern void ugen_stop ();
  extern "C" t_dspcontext *ugen_start_graph(int toplevel, t_signal **sp, int ninlets, int noutlets);
  extern "C" void ugen_add(t_dspcontext *dc, t_object *x);
  extern "C" void ugen_connect(t_dspcontext *dc, t_object *from, int outlet, t_object *to, int inlet);
! extern void ugen_done_graph(t_dspcontext *dc);
  
  /* schedule one canvas for DSP.  This is called below for all "root"
***************
*** 3200,3204 ****
  /* set up prolog DSP code  */
  extern "C"
! void vinlet_dspprolog(t_vinlet *x, t_signal **parentsigs, int myvecsize, int calcsize, int phase, int period,
  int frequency, int downsample, int upsample, int reblock, int switched) {
      t_signal *insig;
--- 3200,3204 ----
  /* set up prolog DSP code  */
  extern "C"
! extern "C" void vinlet_dspprolog(t_vinlet *x, t_signal **parentsigs, int myvecsize, int calcsize, int phase, int period,
  int frequency, int downsample, int upsample, int reblock, int switched) {
      t_signal *insig;
***************
*** 3401,3406 ****
     back to whatever we see on our input during the "dsp" method
     called later.  */
! extern "C"
! void voutlet_dspprolog(t_voutlet *x, t_signal **parentsigs, int myvecsize, int calcsize, int phase, int period,
  int frequency, int downsample, int upsample, int reblock, int switched) {
      x->updown.downsample=downsample;  x->updown.upsample=upsample; /* IOhannes */
--- 3401,3405 ----
     back to whatever we see on our input during the "dsp" method
     called later.  */
! extern "C" void voutlet_dspprolog(t_voutlet *x, t_signal **parentsigs, int myvecsize, int calcsize, int phase, int period,
  int frequency, int downsample, int upsample, int reblock, int switched) {
      x->updown.downsample=downsample;  x->updown.upsample=upsample; /* IOhannes */
***************
*** 7884,7888 ****
  #define S(name) void name##_setup (); name##_setup();
  void conf_init_plus () {
!     S(builtins) S(builtins_dsp) S(desire) S(d_soundfile)
  }
  
--- 7883,7887 ----
  #define S(name) void name##_setup (); name##_setup();
  void conf_init_plus () {
!     S(builtins) S(builtins_dsp) S(desire) S(d_soundfile) S(d_ugen)
  }
  
***************
*** 7891,7895 ****
  void conf_init () {
      conf_init_plus();
-     S(d_ugen)
  }
  };
--- 7890,7893 ----





More information about the Pd-cvs mailing list