aboutsummaryrefslogtreecommitdiff
path: root/cyclone/sickle/Scope.c
diff options
context:
space:
mode:
Diffstat (limited to 'cyclone/sickle/Scope.c')
-rw-r--r--cyclone/sickle/Scope.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/cyclone/sickle/Scope.c b/cyclone/sickle/Scope.c
index adc4888..8a71cb5 100644
--- a/cyclone/sickle/Scope.c
+++ b/cyclone/sickle/Scope.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2002-2003 krzYszcz and others.
+/* 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. */
@@ -16,6 +16,7 @@
#include "g_canvas.h"
#include "common/loud.h"
#include "common/grow.h"
+#include "common/fitter.h"
#include "unstable/forky.h"
#include "sickle/sic.h"
@@ -320,7 +321,7 @@ static t_canvas *scope_getcanvas(t_scope *x, t_glist *glist)
{
if (glist != x->x_glist)
{
- bug("scope_getcanvas");
+ loudbug_bug("scope_getcanvas");
x->x_glist = glist;
}
return (x->x_canvas = glist_getcanvas(glist));
@@ -338,8 +339,12 @@ static void scope_period(t_scope *x, t_symbol *s, int ac, t_atom *av)
int result = loud_floatarg(*(t_pd *)x, (s ? 0 : 2), ac, av, &period,
SCOPE_MINPERIOD, SCOPE_MAXPERIOD,
/* LATER rethink warning rules */
- (s ? LOUD_CLIP : LOUD_CLIP | LOUD_WARN),
- (s ? 0 : LOUD_WARN), "samples per element");
+ (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)
{
x->x_period = (int)period;
@@ -360,14 +365,18 @@ static void scope_bufsize(t_scope *x, t_symbol *s, int ac, t_atom *av)
int result = loud_floatarg(*(t_pd *)x, (s ? 0 : 4), ac, av, &bufsize,
SCOPE_MINBUFSIZE, SCOPE_WARNBUFSIZE,
/* LATER rethink warning rules */
- (s ? LOUD_CLIP : LOUD_CLIP | LOUD_WARN),
- (s ? 0 : LOUD_WARN), "display elements");
+ (s ? LOUD_CLIP : LOUD_CLIP | LOUD_WARN), 0,
+ "display elements");
if (result == LOUD_ARGOVER)
{
bufsize = (s ? x->x_bufsize : SCOPE_DEFBUFSIZE);
result = loud_floatarg(*(t_pd *)x, (s ? 0 : 4), ac, av, &bufsize,
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)
{
@@ -1042,4 +1051,5 @@ void Scope_tilde_setup(void)
gensym("_click"), A_FLOAT, 0);
class_addmethod(scopehandle_class, (t_method)scopehandle__motionhook,
gensym("_motion"), A_FLOAT, A_FLOAT, 0);
+ fitter_setup(scope_class, 0, 0);
}