[PD-cvs] pd/src m_pd.h, 1.22, 1.23 notes.txt, 1.37, 1.38 s_loader.c, 1.15, 1.16 s_main.c, 1.33, 1.34

Miller Puckette millerpuckette at users.sourceforge.net
Thu Jan 24 01:39:54 CET 2008


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

Modified Files:
	m_pd.h notes.txt s_loader.c s_main.c 
Log Message:
release 0.41-0



Index: s_loader.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_loader.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** s_loader.c	28 Dec 2007 03:43:06 -0000	1.15
--- s_loader.c	24 Jan 2008 00:39:51 -0000	1.16
***************
*** 21,24 ****
--- 21,27 ----
  #include "s_stuff.h"
  #include <stdio.h>
+ #ifdef _MSC_VER  /* This is only for Microsoft's compiler, not cygwin, e.g. */
+ #define snprintf sprintf_s
+ #endif
  
  typedef void (*t_xxx)(void);
***************
*** 239,240 ****
--- 242,277 ----
  }
  
+ int sys_run_scheduler(const char *externalschedlibname,
+     const char *sys_extraflagsstring)
+ {
+     typedef int (*t_externalschedlibmain)(const char *);
+     t_externalschedlibmain externalmainfunc;
+     char filename[MAXPDSTRING];
+     snprintf(filename, sizeof(filename), "%s.%s", externalschedlibname,
+         sys_dllextent);
+     sys_bashfilename(filename, filename);
+ #ifdef MSW
+     {
+         HINSTANCE ntdll = LoadLibrary(filename);
+         if (!ntdll)
+         {
+             post("%s: couldn't load external scheduler lib ", filename);
+             return (0);
+         }
+         externalmainfunc =
+             (t_externalschedlibmain)GetProcAddress(ntdll, "main");
+     }
+ #else
+     {
+         void *dlobj = dlopen(filename, RTLD_NOW | RTLD_GLOBAL);
+         if (!dlobj)
+         {
+             post("%s: %s", filename, dlerror());
+             return (0);
+         }
+         externalmainfunc = (t_externalschedlibmain)dlsym(dlobj,
+             "pd_extern_sched");
+     }
+ #endif
+     return((*externalmainfunc)(sys_extraflagsstring));
+ }

Index: m_pd.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -C2 -d -r1.22 -r1.23
*** m_pd.h	16 Jan 2008 21:54:10 -0000	1.22
--- m_pd.h	24 Jan 2008 00:39:51 -0000	1.23
***************
*** 12,16 ****
  #define PD_MINOR_VERSION 41
  #define PD_BUGFIX_VERSION 0
! #define PD_TEST_VERSION "test11"
  
  /* old name for "MSW" flag -- we have to take it for the sake of many old
--- 12,16 ----
  #define PD_MINOR_VERSION 41
  #define PD_BUGFIX_VERSION 0
! #define PD_TEST_VERSION ""
  
  /* old name for "MSW" flag -- we have to take it for the sake of many old

Index: s_main.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_main.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** s_main.c	16 Jan 2008 21:54:11 -0000	1.33
--- s_main.c	24 Jan 2008 00:39:51 -0000	1.34
***************
*** 78,82 ****
  int sys_extraflags;
  char sys_extraflagsstring[MAXPDSTRING];
! 
  
      /* here the "-1" counts signify that the corresponding vector hasn't been
--- 78,83 ----
  int sys_extraflags;
  char sys_extraflagsstring[MAXPDSTRING];
! int sys_run_scheduler(const char *externalschedlibname,
!     const char *sys_extraflagsstring);
  
      /* here the "-1" counts signify that the corresponding vector hasn't been
***************
*** 169,173 ****
--- 170,178 ----
  
  int sys_defaultfont;
+ #ifdef MSW
+ #define DEFAULTFONT 12
+ #else
  #define DEFAULTFONT 10
+ #endif
  
  static void openit(const char *dirname, const char *filename)
***************
*** 292,317 ****
          return(1);
      if (sys_externalschedlib)
!     {
! #ifdef MSW
!         typedef int (*t_externalschedlibmain)(char *);
!         t_externalschedlibmain externalmainfunc;
!         HINSTANCE ntdll;
!         char filename[MAXPDSTRING];
! 
!         snprintf(filename, sizeof(filename), "%s.dll", sys_externalschedlibname);
!         sys_bashfilename(filename, filename);
!         ntdll = LoadLibrary(filename);
!         if (!ntdll)
!         {
!               post("%s: couldn't load external scheduler lib ", filename);
!               return (0);
!         }
!         externalmainfunc = (t_externalschedlibmain)GetProcAddress(ntdll,
!                                                                   "main");
!         return((*externalmainfunc)(sys_extraflagsstring));
! #else
!         return (0);
! #endif
!     }
      else
      {
--- 297,302 ----
          return(1);
      if (sys_externalschedlib)
!         return (sys_run_scheduler(sys_externalschedlibname,
!             sys_extraflagsstring));
      else
      {

Index: notes.txt
===================================================================
RCS file: /cvsroot/pure-data/pd/src/notes.txt,v
retrieving revision 1.37
retrieving revision 1.38
diff -C2 -d -r1.37 -r1.38
*** notes.txt	28 Dec 2007 03:43:05 -0000	1.37
--- notes.txt	24 Jan 2008 00:39:51 -0000	1.38
***************
*** 1,10 ****
  ---------------- dolist --------------------
- fixed crash bug closing patches with open GOPs
- fixed PC device counting problem (first device invoked by -audiodev 0)
- fixed MSTACKSIZE limitation in m_binbuf.c
- fixed so that if more than one object is selected, clicking prefers to
-     "hit" a selected one (better dragging after "duplicate")
- 
- 
  test:
  compile on various versions of linux
--- 1,3 ----
***************
*** 57,60 ****
--- 50,55 ----
  
  features:
+ change config.h to #ifdef _MSC_VER (include MSW fake) else include a real one
+ stick snprintf alias in the MSW fake.
  flag to prevent unlocking patches
  clickless connection (hit 'c' key? see Bouchard paper)





More information about the Pd-cvs mailing list