Update of /cvsroot/pure-data/externals/miXed/cyclone/sickle In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23957/cyclone/sickle
Modified Files: Line.c Makefile.objects Scope.c average.c bitshift.c buffir.c curve.c cycle.c pong.c sickle.c svf.c Log Message: svf~: args parsing; prepend/Append: bang handling; seq: pause, continue, goto; many maxmode changes
Index: buffir.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/buffir.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** buffir.c 8 Dec 2004 15:40:12 -0000 1.2 --- buffir.c 11 Jan 2005 10:33:20 -0000 1.3 *************** *** 1,3 **** ! /* Copyright (c) 2003 krzYszcz and others. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ --- 1,3 ---- ! /* Copyright (c) 2003-2005 krzYszcz and others. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ *************** *** 6,9 **** --- 6,10 ---- #include "m_pd.h" #include "common/loud.h" + #include "common/fitter.h" #include "sickle/sic.h" #include "sickle/arsic.h" *************** *** 39,50 **** int newsize, pos = x->x_lohead - x->x_histlo; int oldbytes = x->x_histsize * sizeof(*x->x_histlo); ! if (shared_getmaxcompatibility()) { ! static int warned = 0; ! if (!warned) ! { ! loud_incompatible(buffir_class, "stretching history buffer"); ! warned = 1; ! } } newsize = x->x_histsize * 2; --- 40,48 ---- int newsize, pos = x->x_lohead - x->x_histlo; int oldbytes = x->x_histsize * sizeof(*x->x_histlo); ! static int warned = 0; ! if (fittermax_get() && !warned) { ! fittermax_warning(buffir_class, "stretching history buffer"); ! warned = 1; } newsize = x->x_histsize * 2; *************** *** 198,202 **** buffir_clear(x); buffir_setrange(x, f1, f2); - shared_usecompatibility(); } return (x); --- 196,199 ---- *************** *** 215,217 **** --- 212,215 ---- class_addmethod(buffir_class, (t_method)buffir_set, gensym("set"), A_SYMBOL, A_DEFFLOAT, A_DEFFLOAT, 0); + fitter_setup(buffir_class, 0, 0); }
Index: cycle.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/cycle.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** cycle.c 23 May 2003 12:29:50 -0000 1.1.1.1 --- cycle.c 11 Jan 2005 10:33:20 -0000 1.2 *************** *** 136,140 **** if (tabsize != CYCLE_TABSIZE) { ! bug("cycle_new"); pd_free((t_pd *)x); return (0); --- 136,140 ---- if (tabsize != CYCLE_TABSIZE) { ! loudbug_bug("cycle_new"); pd_free((t_pd *)x); return (0);
Index: sickle.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/sickle.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** sickle.c 8 Dec 2004 15:40:12 -0000 1.3 --- sickle.c 11 Jan 2005 10:33:20 -0000 1.4 *************** *** 1,7 **** ! /* Copyright (c) 2002-2004 krzYszcz and others. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
- #include <stdio.h> #include "m_pd.h" #include "unstable/fragile.h" --- 1,6 ---- ! /* Copyright (c) 2002-2005 krzYszcz and others. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
#include "m_pd.h" #include "unstable/fragile.h" *************** *** 16,19 **** --- 15,19 ---- t_object x_ob; t_symbol *x_dir; + t_symbol *x_canvasdir; t_hammerfile *x_filehandle; } t_sickle; *************** *** 30,34 **** static void sickle_doimport(t_sickle *x, t_symbol *fn, t_symbol *dir) { ! if (!dir || dir == &s_) dir = x->x_dir; if (fn && fn != &s_) import_max(fn->s_name, (dir && dir != &s_) ? dir->s_name : ""); --- 30,35 ---- static void sickle_doimport(t_sickle *x, t_symbol *fn, t_symbol *dir) { ! if (!dir || dir == &s_) ! dir = x->x_dir; if (fn && fn != &s_) import_max(fn->s_name, (dir && dir != &s_) ? dir->s_name : ""); *************** *** 48,51 **** --- 49,63 ---- }
+ static void sickle_cd(t_sickle *x, t_symbol *dir) + { + /* LATER hammerfile interface for relative jumps, etc. */ + x->x_dir = (dir && dir != &s_ ? dir : x->x_canvasdir); + } + + static void sickle_pwd(t_sickle *x) + { + outlet_symbol(((t_object *)x)->ob_outlet, x->x_dir); + } + static void sickle_bang(t_sickle *x) { *************** *** 59,67 **** }
! static void *sickle_new(t_symbol *s) { t_sickle *x = (t_sickle *)pd_new(sickle_class); x->x_filehandle = hammerfile_new((t_pd *)x, 0, sickle_readhook, 0, 0); ! x->x_dir = (s && s != &s_ ? s : canvas_getdir(x->x_filehandle->f_canvas)); return (x); } --- 71,81 ---- }
! static void *sickle_new(void) { t_sickle *x = (t_sickle *)pd_new(sickle_class); x->x_filehandle = hammerfile_new((t_pd *)x, 0, sickle_readhook, 0, 0); ! x->x_canvasdir = canvas_getdir(x->x_filehandle->f_canvas); ! x->x_dir = x->x_canvasdir; ! outlet_new((t_object *)x, &s_symbol); return (x); } *************** *** 88,93 **** (t_newmethod)sickle_new, (t_method)sickle_free, ! sizeof(t_sickle), 0, A_DEFSYM, 0); class_addbang(sickle_class, sickle_bang); class_addmethod(sickle_class, (t_method)sickle_import, gensym("import"), A_DEFSYM, 0); --- 102,111 ---- (t_newmethod)sickle_new, (t_method)sickle_free, ! sizeof(t_sickle), 0, 0); class_addbang(sickle_class, sickle_bang); + class_addmethod(sickle_class, (t_method)sickle_cd, + gensym("cd"), A_DEFSYM, 0); + class_addmethod(sickle_class, (t_method)sickle_pwd, + gensym("pwd"), 0); class_addmethod(sickle_class, (t_method)sickle_import, gensym("import"), A_DEFSYM, 0);
Index: Scope.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/Scope.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Scope.c 10 Dec 2004 20:47:03 -0000 1.4 --- Scope.c 11 Jan 2005 10:33:20 -0000 1.5 *************** *** 1,3 **** ! /* Copyright (c) 2002-2003 krzYszcz and others. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ --- 1,3 ---- ! /* Copyright (c) 2002-2005 krzYszcz and others. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ *************** *** 17,20 **** --- 17,21 ---- #include "common/loud.h" #include "common/grow.h" + #include "common/fitter.h" #include "unstable/forky.h" #include "sickle/sic.h" *************** *** 321,325 **** if (glist != x->x_glist) { ! bug("scope_getcanvas"); x->x_glist = glist; } --- 322,326 ---- if (glist != x->x_glist) { ! loudbug_bug("scope_getcanvas"); x->x_glist = glist; } *************** *** 339,344 **** SCOPE_MINPERIOD, SCOPE_MAXPERIOD, /* LATER rethink warning rules */ ! (s ? LOUD_CLIP : LOUD_CLIP | LOUD_WARN), ! (s ? 0 : LOUD_WARN), "samples per element"); if (!s || result == LOUD_ARGOK || result == LOUD_ARGOVER) { --- 340,349 ---- SCOPE_MINPERIOD, SCOPE_MAXPERIOD, /* LATER rethink warning rules */ ! (s ? LOUD_CLIP : LOUD_CLIP | LOUD_WARN), 0, ! "samples per element"); ! if (!s && result == LOUD_ARGOVER) ! fittermax_warning(*(t_pd *)x, ! "more than %g samples per element requested", ! SCOPE_MAXPERIOD); if (!s || result == LOUD_ARGOK || result == LOUD_ARGOVER) { *************** *** 361,366 **** SCOPE_MINBUFSIZE, SCOPE_WARNBUFSIZE, /* LATER rethink warning rules */ ! (s ? LOUD_CLIP : LOUD_CLIP | LOUD_WARN), ! (s ? 0 : LOUD_WARN), "display elements"); if (result == LOUD_ARGOVER) { --- 366,371 ---- SCOPE_MINBUFSIZE, SCOPE_WARNBUFSIZE, /* LATER rethink warning rules */ ! (s ? LOUD_CLIP : LOUD_CLIP | LOUD_WARN), 0, ! "display elements"); if (result == LOUD_ARGOVER) { *************** *** 369,372 **** --- 374,381 ---- 0, SCOPE_MAXBUFSIZE, 0, LOUD_CLIP | LOUD_WARN, "display elements"); + if (!s && result == LOUD_ARGOK) + fittermax_warning(*(t_pd *)x, + "more than %g display elements requested", + SCOPE_WARNBUFSIZE); } if (!s) *************** *** 1043,1045 **** --- 1052,1055 ---- class_addmethod(scopehandle_class, (t_method)scopehandle__motionhook, gensym("_motion"), A_FLOAT, A_FLOAT, 0); + fitter_setup(scope_class, 0, 0); }
Index: svf.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/svf.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** svf.c 14 Aug 2003 15:39:51 -0000 1.2 --- svf.c 11 Jan 2005 10:33:20 -0000 1.3 *************** *** 1,3 **** ! /* Copyright (c) 2003 krzYszcz and others. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ --- 1,3 ---- ! /* Copyright (c) 2003-2005 krzYszcz and others. * For information on usage and redistribution, and for a DISCLAIMER OF ALL * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ *************** *** 24,32 **** #define SVF_RADIANS 2 #define SVF_DRIVE .0001 ! #define SVF_QSTRETCH 1.2 /* CHECKED */ ! #define SVF_MINR 0. /* CHECKME */ ! #define SVF_MAXR 1.2 /* CHECKME */ ! #define SVF_MINOMEGA 0. /* CHECKME */ #define SVF_MAXOMEGA (SHARED_PI * .5) /* CHECKME */
typedef struct _svf --- 24,34 ---- #define SVF_RADIANS 2 #define SVF_DRIVE .0001 ! #define SVF_QSTRETCH 1.2 /* CHECKED */ ! #define SVF_MINR 0. /* CHECKME */ ! #define SVF_MAXR 1.2 /* CHECKME */ ! #define SVF_MINOMEGA 0. /* CHECKME */ #define SVF_MAXOMEGA (SHARED_PI * .5) /* CHECKME */ + #define SVF_DEFFREQ 0. + #define SVF_DEFQ .01 /* CHECKME */
typedef struct _svf *************** *** 126,135 **** }
! static void *svf_new(t_symbol *s, t_floatarg f1, t_floatarg f2) { t_svf *x = (t_svf *)pd_new(svf_class); x->x_srcoef = SHARED_PI / sys_getsr(); ! sic_newinlet((t_sic *)x, f1); ! sic_newinlet((t_sic *)x, f2); outlet_new((t_object *)x, &s_signal); outlet_new((t_object *)x, &s_signal); --- 128,154 ---- }
! static void *svf_new(t_symbol *s, int ac, t_atom *av) { t_svf *x = (t_svf *)pd_new(svf_class); + t_float freq = SVF_DEFFREQ, qcoef = SVF_DEFQ; + t_symbol *modesym = 0; + int i; + for (i = 0; i < ac; i++) if (av[i].a_type == A_SYMBOL) + { + modesym = av[i].a_w.w_symbol; + break; + } + while (ac && av->a_type != A_FLOAT) ac--, av++; + if (ac) + { + freq = av->a_w.w_float; + ac--; av++; + while (ac && av->a_type != A_FLOAT) ac--, av++; + if (ac) + qcoef = av->a_w.w_float; + } x->x_srcoef = SHARED_PI / sys_getsr(); ! sic_newinlet((t_sic *)x, freq); ! sic_newinlet((t_sic *)x, qcoef); outlet_new((t_object *)x, &s_signal); outlet_new((t_object *)x, &s_signal); *************** *** 137,148 **** outlet_new((t_object *)x, &s_signal); svf_clear(x); ! if (s == ps_linear) x->x_mode = SVF_LINEAR; ! else if (s == ps_radians) x->x_mode = SVF_RADIANS; else { x->x_mode = SVF_HZ; ! if (s && s != &s_ && s != ps_hz && s != gensym("Hz")) { /* CHECKED no warning */ --- 156,168 ---- outlet_new((t_object *)x, &s_signal); svf_clear(x); ! if (modesym == ps_linear) x->x_mode = SVF_LINEAR; ! else if (modesym == ps_radians) x->x_mode = SVF_RADIANS; else { x->x_mode = SVF_HZ; ! if (modesym && modesym != &s_ && ! modesym != ps_hz && modesym != gensym("Hz")) { /* CHECKED no warning */ *************** *** 159,164 **** svf_class = class_new(gensym("svf~"), (t_newmethod)svf_new, 0, ! sizeof(t_svf), 0, ! A_DEFFLOAT, A_DEFFLOAT, A_DEFSYM, 0); sic_setup(svf_class, svf_dsp, SIC_FLOATTOSIGNAL); class_addmethod(svf_class, (t_method)svf_clear, gensym("clear"), 0); --- 179,183 ---- svf_class = class_new(gensym("svf~"), (t_newmethod)svf_new, 0, ! sizeof(t_svf), 0, A_GIMME, 0); sic_setup(svf_class, svf_dsp, SIC_FLOATTOSIGNAL); class_addmethod(svf_class, (t_method)svf_clear, gensym("clear"), 0);
Index: average.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/average.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** average.c 23 May 2003 12:29:50 -0000 1.1.1.1 --- average.c 11 Jan 2005 10:33:20 -0000 1.2 *************** *** 8,11 **** --- 8,12 ---- #include <math.h> #include "m_pd.h" + #include "common/loud.h" #include "sickle/sic.h"
*************** *** 75,79 **** else { ! bug("average_setmode"); return; } --- 76,80 ---- else { ! loudbug_bug("average_setmode"); return; }
Index: Makefile.objects =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/Makefile.objects,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile.objects 8 Dec 2004 15:40:12 -0000 1.3 --- Makefile.objects 11 Jan 2005 10:33:20 -0000 1.4 *************** *** 5,8 **** --- 5,9 ---- common/loud.o \ common/grow.o \ + common/fitter.o \ common/vefl.o \ common/clc.o \
Index: pong.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/pong.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** pong.c 10 Dec 2004 20:47:03 -0000 1.3 --- pong.c 11 Jan 2005 10:33:20 -0000 1.4 *************** *** 6,9 **** --- 6,10 ----
#include "m_pd.h" + #include "common/loud.h" #include "unstable/forky.h" #include "sickle/sic.h" *************** *** 215,219 **** { #ifdef PONG_DEBUG ! post("using pong_perform_nofeeders"); #endif dsp_add(pong_perform_nofeeders, 6, x, sp[0]->s_n, --- 216,220 ---- { #ifdef PONG_DEBUG ! loudbug_post("using pong_perform_nofeeders"); #endif dsp_add(pong_perform_nofeeders, 6, x, sp[0]->s_n,
Index: Line.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/Line.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Line.c 10 Dec 2004 20:47:03 -0000 1.3 --- Line.c 11 Jan 2005 10:33:20 -0000 1.4 *************** *** 54,61 **** outlet_bang(x->x_bangout); #ifdef LINE_DEBUG ! post("exit point %d, after %d retarget calls", ! x->dbg_exitpoint, x->dbg_nretargets); ! post("at value %g, after last %d npoints, with inc %g, biginc %g", ! x->x_value, x->dbg_npoints, x->x_inc, x->x_biginc); x->dbg_nretargets = x->dbg_exitpoint = x->dbg_npoints = 0; #endif --- 54,61 ---- outlet_bang(x->x_bangout); #ifdef LINE_DEBUG ! loudbug_post("exit point %d, after %d retarget calls", ! x->dbg_exitpoint, x->dbg_nretargets); ! loudbug_post("at value %g, after last %d npoints, with inc %g, biginc %g", ! x->x_value, x->dbg_npoints, x->x_inc, x->x_biginc); x->dbg_nretargets = x->dbg_exitpoint = x->dbg_npoints = 0; #endif *************** *** 222,226 **** x->x_nsegs = nsegs; #ifdef LINE_DEBUG ! post("%d segments:", x->x_nsegs); #endif segp = x->x_segs; --- 222,226 ---- x->x_nsegs = nsegs; #ifdef LINE_DEBUG ! loudbug_post("%d segments:", x->x_nsegs); #endif segp = x->x_segs; *************** *** 231,235 **** segp->s_delta = av++->a_w.w_float; #ifdef LINE_DEBUG ! post("%g %g", segp->s_target, segp->s_delta); #endif segp++; --- 231,235 ---- segp->s_delta = av++->a_w.w_float; #ifdef LINE_DEBUG ! loudbug_post("%g %g", segp->s_target, segp->s_delta); #endif segp++; *************** *** 240,244 **** segp->s_delta = 0; #ifdef LINE_DEBUG ! post("%g %g", segp->s_target, segp->s_delta); #endif } --- 240,244 ---- segp->s_delta = 0; #ifdef LINE_DEBUG ! loudbug_post("%g %g", segp->s_target, segp->s_delta); #endif }
Index: curve.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/curve.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** curve.c 10 Dec 2004 20:47:03 -0000 1.3 --- curve.c 11 Jan 2005 10:33:20 -0000 1.4 *************** *** 72,77 **** clccurve_coefs(segp->s_nhops, (double)f, &segp->s_bb, &segp->s_mm); #ifdef CURVE_DEBUG ! post("%g %g %g %g", ! segp->s_target, segp->s_delta, segp->s_bb, segp->s_mm); #endif } --- 72,77 ---- clccurve_coefs(segp->s_nhops, (double)f, &segp->s_bb, &segp->s_mm); #ifdef CURVE_DEBUG ! loudbug_post("%g %g %g %g", ! segp->s_target, segp->s_delta, segp->s_bb, segp->s_mm); #endif } *************** *** 81,88 **** outlet_bang(x->x_bangout); #ifdef CURVE_DEBUG ! post("exit point %d, after %d retarget calls", ! x->dbg_exitpoint, x->dbg_nretargets); ! post("at value %g, after last %d nhops, with bb %g, mm %g", ! x->x_value, x->dbg_nhops, x->x_bb, x->x_mm); x->dbg_nretargets = x->dbg_exitpoint = x->dbg_nhops = 0; #endif --- 81,88 ---- outlet_bang(x->x_bangout); #ifdef CURVE_DEBUG ! loudbug_post("exit point %d, after %d retarget calls", ! x->dbg_exitpoint, x->dbg_nretargets); ! loudbug_post("at value %g, after last %d nhops, with bb %g, mm %g", ! x->x_value, x->dbg_nhops, x->x_bb, x->x_mm); x->dbg_nretargets = x->dbg_exitpoint = x->dbg_nhops = 0; #endif *************** *** 224,228 **** x->x_curseg->s_delta = x->x_delta; #ifdef CURVE_DEBUG ! startpost("single segment: "); #endif curve_cc(x, x->x_curseg, x->x_ccinput); --- 224,228 ---- x->x_curseg->s_delta = x->x_delta; #ifdef CURVE_DEBUG ! loudbug_startpost("single segment: "); #endif curve_cc(x, x->x_curseg, x->x_ccinput); *************** *** 279,283 **** x->x_nsegs = nsegs; #ifdef CURVE_DEBUG ! post("%d segments:", x->x_nsegs); #endif segp = x->x_segs; --- 279,283 ---- x->x_nsegs = nsegs; #ifdef CURVE_DEBUG ! loudbug_post("%d segments:", x->x_nsegs); #endif segp = x->x_segs;
Index: bitshift.c =================================================================== RCS file: /cvsroot/pure-data/externals/miXed/cyclone/sickle/bitshift.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** bitshift.c 10 Dec 2004 20:47:03 -0000 1.2 --- bitshift.c 11 Jan 2005 10:33:20 -0000 1.3 *************** *** 9,12 **** --- 9,13 ----
#include "m_pd.h" + #include "common/loud.h" #include "sickle/sic.h"
*************** *** 92,97 **** { #ifdef BITSHIFT_DEBUG ! post("%.8x << %d == %.8x, %.8x << %d == %.8x", ! 1, i, 1 << i, -1, i, -1 << i); #endif if (i < nbits) --- 93,98 ---- { #ifdef BITSHIFT_DEBUG ! loudbug_post("%.8x << %d == %.8x, %.8x << %d == %.8x", ! 1, i, 1 << i, -1, i, -1 << i); #endif if (i < nbits) *************** *** 103,108 **** { #ifdef BITSHIFT_DEBUG ! post("%.8x >> %d == %.8x, %.8x >> %d == %.8x", ! 0x7fffffff, -i, 0x7fffffff >> -i, -1, -i, -1 >> -i); #endif x->x_rshift = (i <= -nbits ? nbits - 1 : -i); --- 104,109 ---- { #ifdef BITSHIFT_DEBUG ! loudbug_post("%.8x >> %d == %.8x, %.8x >> %d == %.8x", ! 0x7fffffff, -i, 0x7fffffff >> -i, -1, -i, -1 >> -i); #endif x->x_rshift = (i <= -nbits ? nbits - 1 : -i);