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)