Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26534/src
Modified Files: Tag: devel_0_39 SConscript g_canvas.c g_readwrite.c g_text.c g_traversal.c m_conf.c s_midi_alsa.c u_main.tk x_connective.c Log Message: miller's list objects / message box extensions scons improvements minor changes
Index: g_traversal.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_traversal.c,v retrieving revision 1.2.8.1 retrieving revision 1.2.8.2 diff -C2 -d -r1.2.8.1 -r1.2.8.2 *** g_traversal.c 22 May 2005 14:55:28 -0000 1.2.8.1 --- g_traversal.c 25 Jul 2005 18:21:29 -0000 1.2.8.2 *************** *** 91,106 **** }
- /* call this if you know the pointer is fresh but don't know if we're pointing - to the head of a list or to real data. Any pointer is known to be fresh - when it appears as the argument of a message, but if your "pointer" method - or inlet stores it and you use it later, call gpointer_check above. */ - - /* LATER reconsider the above... I no longer think it's true! */ - - static int gpointer_ishead(const t_gpointer *gp) - { - return ((gp->gp_stub->gs_which == GP_GLIST) && !gp->gp_un.gp_scalar); - } - /* get the template for the object pointer to. Assumes we've already checked freshness. Returns 0 if head of list. */ --- 91,94 ---- *************** *** 123,128 **** }
! /* copy a pointer to another, assuming the first one is fresh and ! the second one hasn't yet been initialized. */ void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto) { --- 111,117 ---- }
! /* copy a pointer to another, assuming the second one hasn't yet been ! initialized. New gpointers should be initialized either by this ! routine or by gpointer_init below. */ void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto) { *************** *** 133,136 **** --- 122,127 ---- }
+ /* clear a gpointer that was previously set, releasing the associted + gstub if this was the last reference to it. */ void gpointer_unset(t_gpointer *gp) { *************** *** 417,423 **** return; } ! if (gpointer_ishead(gp)) { ! pd_error(x, "get: empty pointer"); return; } --- 408,414 ---- return; } ! if (!gpointer_check(gp, 0)) { ! pd_error(x, "get: stale or empty pointer"); return; } *************** *** 692,698 **** return; } ! if (gpointer_ishead(gp)) { ! pd_error(x, "getsize: empty pointer"); return; } --- 683,689 ---- return; } ! if (!gpointer_check(gp, 0)) { ! pd_error(x, "get: stale or empty pointer"); return; } *************** *** 1035,1041 **** return; } ! if (gpointer_ishead(gp)) { ! pd_error(x, "sublist: empty pointer"); return; } --- 1026,1032 ---- return; } ! if (!gpointer_check(gp, 0)) { ! pd_error(x, "get: stale or empty pointer"); return; }
Index: g_text.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_text.c,v retrieving revision 1.5.4.2.2.2 retrieving revision 1.5.4.2.2.3 diff -C2 -d -r1.5.4.2.2.2 -r1.5.4.2.2.3 *** g_text.c 12 Jul 2005 15:11:09 -0000 1.5.4.2.2.2 --- g_text.c 25 Jul 2005 18:21:29 -0000 1.5.4.2.2.3 *************** *** 333,336 **** --- 333,368 ---- }
+ static void message_addcomma(t_message *x) + { + t_atom a; + SETCOMMA(&a); + binbuf_add(x->m_text.te_binbuf, 1, &a); + glist_retext(x->m_glist, &x->m_text); + } + + static void message_addsemi(t_message *x) + { + message_add(x, 0, 0, 0); + } + + static void message_adddollar(t_message *x, t_floatarg f) + { + int n = f; + if (n < 0) + n = 0; + t_atom a; + SETDOLLAR(&a, n); + binbuf_add(x->m_text.te_binbuf, 1, &a); + glist_retext(x->m_glist, &x->m_text); + } + + static void message_adddollsym(t_message *x, t_symbol *s) + { + t_atom a; + SETDOLLSYM(&a, s); + binbuf_add(x->m_text.te_binbuf, 1, &a); + glist_retext(x->m_glist, &x->m_text); + } + static void message_click(t_message *x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, *************** *** 1296,1299 **** --- 1328,1339 ---- class_addmethod(message_class, (t_method)message_add2, gensym("add2"), A_GIMME, 0); + class_addmethod(message_class, (t_method)message_addcomma, + gensym("addcomma"), 0); + class_addmethod(message_class, (t_method)message_addsemi, + gensym("addsemi"), 0); + class_addmethod(message_class, (t_method)message_adddollar, + gensym("adddollar"), A_FLOAT, 0); + class_addmethod(message_class, (t_method)message_adddollsym, + gensym("adddollsym"), A_SYMBOL, 0);
messresponder_class = class_new(gensym("messresponder"), 0, 0,
Index: g_readwrite.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_readwrite.c,v retrieving revision 1.3.8.2 retrieving revision 1.3.8.3 diff -C2 -d -r1.3.8.2 -r1.3.8.3 *** g_readwrite.c 12 Jul 2005 15:11:09 -0000 1.3.8.2 --- g_readwrite.c 25 Jul 2005 18:21:28 -0000 1.3.8.3 *************** *** 683,686 **** --- 683,687 ---- { t_binbuf *b = binbuf_new(); + int dsp_status = canvas_suspend_dsp(); canvas_savetemplatesto(x, b, 1); canvas_saveto(x, b); *************** *** 696,699 **** --- 697,701 ---- } binbuf_free(b); + canvas_resume_dsp(dsp_status); }
Index: u_main.tk =================================================================== RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v retrieving revision 1.4.4.10.2.6 retrieving revision 1.4.4.10.2.7 diff -C2 -d -r1.4.4.10.2.6 -r1.4.4.10.2.7 *** u_main.tk 16 Jul 2005 11:02:37 -0000 1.4.4.10.2.6 --- u_main.tk 25 Jul 2005 18:21:29 -0000 1.4.4.10.2.7 *************** *** 4021,4028 **** } if {$alsa} { ! label $id.in1f.l1 -text "In Channels:" entry $id.in1f.x1 -textvariable midi_alsain -width 4 pack $id.in1f.l1 $id.in1f.x1 -side left ! label $id.in1f.l2 -text "Out Channels:" entry $id.in1f.x2 -textvariable midi_alsaout -width 4 pack $id.in1f.l2 $id.in1f.x2 -side left --- 4021,4028 ---- } if {$alsa} { ! label $id.in1f.l1 -text "In Ports:" entry $id.in1f.x1 -textvariable midi_alsain -width 4 pack $id.in1f.l1 $id.in1f.x1 -side left ! label $id.in1f.l2 -text "Out Ports:" entry $id.in1f.x2 -textvariable midi_alsaout -width 4 pack $id.in1f.l2 $id.in1f.x2 -side left
Index: s_midi_alsa.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/s_midi_alsa.c,v retrieving revision 1.1.2.2.2.1 retrieving revision 1.1.2.2.2.2 diff -C2 -d -r1.1.2.2.2.1 -r1.1.2.2.2.2 *** s_midi_alsa.c 12 Jul 2005 15:11:12 -0000 1.1.2.2.2.1 --- s_midi_alsa.c 25 Jul 2005 18:21:29 -0000 1.1.2.2.2.2 *************** *** 49,52 **** --- 49,62 ---- alsa_nmidiin = 0; alsa_nmidiout = 0; + if(nmidiin>MAXMIDIINDEV ) + { + post("midi input ports reduced to maximum %d", MAXMIDIINDEV); + nmidiin=MAXMIDIINDEV; + } + if(nmidiout>MAXMIDIOUTDEV) + { + post("midi output ports reduced to maximum %d", MAXMIDIOUTDEV); + nmidiout=MAXMIDIOUTDEV; + }
if (nmidiin>0 && nmidiout>0) *************** *** 201,206 **** { alsa_nmidiin = alsa_nmidiout = 0; ! snd_seq_close(midi_handle); ! snd_midi_event_free(midiev); }
--- 211,222 ---- { alsa_nmidiin = alsa_nmidiout = 0; ! if(midi_handle) ! { ! snd_seq_close(midi_handle); ! if(midiev) ! { ! snd_midi_event_free(midiev); ! } ! } }
Index: SConscript =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/SConscript,v retrieving revision 1.1.4.13 retrieving revision 1.1.4.14 diff -C2 -d -r1.1.4.13 -r1.1.4.14 *** SConscript 17 Jul 2005 08:49:41 -0000 1.1.4.13 --- SConscript 25 Jul 2005 18:21:28 -0000 1.1.4.14 *************** *** 92,95 **** --- 92,96 ---- x_gui.c x_interface.c + x_list.c x_midi.c x_misc.c *************** *** 401,404 **** --- 402,409 ---- flags += " -faltivec -maltivec"
+ if pdenv['PLATFORM'] == 'win32': + if ['msvc'] not in pdenv['TOOLS']: + flags += " -mms-bitfields" ## binary compatibility with msvc + pdenv.Append(CCFLAGS=flags) pdenv.Append(CXXFLAGS=flags)
Index: m_conf.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_conf.c,v retrieving revision 1.1.1.3 retrieving revision 1.1.1.3.12.1 diff -C2 -d -r1.1.1.3 -r1.1.1.3.12.1 *** m_conf.c 9 May 2003 16:03:43 -0000 1.1.1.3 --- m_conf.c 25 Jul 2005 18:21:29 -0000 1.1.1.3.12.1 *************** *** 38,41 **** --- 38,42 ---- void x_qlist_setup(void); void x_gui_setup(void); + void x_list_setup(void); void d_arithmetic_setup(void); void d_array_setup(void); *************** *** 84,87 **** --- 85,89 ---- x_qlist_setup(); x_gui_setup(); + x_list_setup(); d_arithmetic_setup(); d_array_setup();
Index: x_connective.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/x_connective.c,v retrieving revision 1.3.4.1.2.3 retrieving revision 1.3.4.1.2.4 diff -C2 -d -r1.3.4.1.2.3 -r1.3.4.1.2.4 *** x_connective.c 16 Jul 2005 11:02:38 -0000 1.3.4.1.2.3 --- x_connective.c 25 Jul 2005 18:21:30 -0000 1.3.4.1.2.4 *************** *** 525,531 **** if (!argc) /* empty lists go out reject outlet */ { ! outlet_bang(x->x_rejectout); ! return; ! } f = atom_getfloat(argv); for (nelement = x->x_nelement, e = x->x_vec; nelement--; e++) --- 525,531 ---- if (!argc) /* empty lists go out reject outlet */ { ! outlet_bang(x->x_rejectout); ! return; ! } f = atom_getfloat(argv); for (nelement = x->x_nelement, e = x->x_vec; nelement--; e++) *************** *** 621,626 **** int n; t_routeelement *e; ! t_route *x; ! t_atom a; if (argc == 0) --- 621,625 ---- int n; t_routeelement *e; ! t_route *x = (t_route *)pd_new(route_class); t_atom a; if (argc == 0) *************** *** 630,640 **** argv = &a; } - for (n = 1; n < argc; n++) - if (argv[n].a_type != argv[0].a_type) - { - error("route: creation with mixed argument types failed"); - return (0); - } - x = (t_route *)pd_new(route_class); x->x_type = argv[0].a_type; x->x_nelement = argc; --- 629,632 ----
Index: g_canvas.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/g_canvas.c,v retrieving revision 1.4.4.1.2.4 retrieving revision 1.4.4.1.2.5 diff -C2 -d -r1.4.4.1.2.4 -r1.4.4.1.2.5 *** g_canvas.c 14 Jul 2005 23:17:33 -0000 1.4.4.1.2.4 --- g_canvas.c 25 Jul 2005 18:21:28 -0000 1.4.4.1.2.5 *************** *** 1346,1356 **** if (newstate && !canvas_dspstate) { - sys_set_audio_state(1); canvas_start_dsp(); } else if (!newstate && canvas_dspstate) { - canvas_stop_dsp(); sys_set_audio_state(0); } } --- 1346,1356 ---- if (newstate && !canvas_dspstate) { canvas_start_dsp(); + sys_set_audio_state(1); } else if (!newstate && canvas_dspstate) { sys_set_audio_state(0); + canvas_stop_dsp(); } }