Revision: 9728 http://pure-data.svn.sourceforge.net/pure-data/?rev=9728&view=rev Author: eighthave Date: 2008-04-27 21:13:52 -0700 (Sun, 27 Apr 2008)
Log Message: ----------- Wrote a function to switch the [pd filename] callback message to use a A_GIMME instead of two symbols, thereby correctly receiving any directory names with spaces in it.
Modified Paths: -------------- branches/pd-extended/v0-40/pd/src/g_canvas.c branches/pd-extended/v0-40/pd/src/m_glob.c
Modified: branches/pd-extended/v0-40/pd/src/g_canvas.c =================================================================== --- branches/pd-extended/v0-40/pd/src/g_canvas.c 2008-04-28 00:20:13 UTC (rev 9727) +++ branches/pd-extended/v0-40/pd/src/g_canvas.c 2008-04-28 04:13:52 UTC (rev 9728) @@ -138,6 +138,18 @@ canvas_newdirectory = dirsym; }
+void glob_setfilename_gimme(void *dummy, t_symbol *s, int argc, t_atom *argv) +{ + int bufsize; + char *buf; + t_binbuf *b = binbuf_new(); + canvas_newfilename = atom_getsymbolarg(0, argc, argv); + binbuf_add(b, argc - 1, argv + 1); + binbuf_gettext(b, &buf, &bufsize); + buf[bufsize] = 0; + canvas_newdirectory = gensym(buf); +} + t_canvas *canvas_getcurrent(void) { return ((t_canvas *)pd_findbyclass(&s__X, canvas_class));
Modified: branches/pd-extended/v0-40/pd/src/m_glob.c =================================================================== --- branches/pd-extended/v0-40/pd/src/m_glob.c 2008-04-28 00:20:13 UTC (rev 9727) +++ branches/pd-extended/v0-40/pd/src/m_glob.c 2008-04-28 04:13:52 UTC (rev 9728) @@ -11,7 +11,7 @@ /* These "glob" routines, which implement messages to Pd, are from all over. Some others are prototyped in m_imp.h as well. */
-void glob_setfilename(void *dummy, t_symbol *name, t_symbol *dir); +void glob_setfilename_gimme(void *dummy, t_symbol *s, int argc, t_atom *argv); void glob_verifyquit(void *dummy, t_floatarg f); void glob_dsp(void *dummy, t_symbol *s, int argc, t_atom *argv); void glob_meters(void *dummy, t_floatarg f); @@ -74,8 +74,8 @@ CLASS_DEFAULT, A_NULL); class_addmethod(glob_pdobject, (t_method)glob_initfromgui, gensym("init"), A_GIMME, 0); - class_addmethod(glob_pdobject, (t_method)glob_setfilename, gensym("filename"), - A_SYMBOL, A_SYMBOL, 0); + class_addmethod(glob_pdobject, (t_method)glob_setfilename_gimme, + gensym("filename"), A_GIMME, 0); class_addmethod(glob_pdobject, (t_method)glob_evalfile, gensym("open"), A_SYMBOL, A_SYMBOL, 0); class_addmethod(glob_pdobject, (t_method)glob_quit, gensym("quit"), 0);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.