aboutsummaryrefslogtreecommitdiff
path: root/cyclone/sickle
diff options
context:
space:
mode:
authorN.N. <krzyszcz@users.sourceforge.net>2003-08-14 14:26:06 +0000
committerN.N. <krzyszcz@users.sourceforge.net>2003-08-14 14:26:06 +0000
commit053845e60bc1f6143e7c50aa10069a18405c2161 (patch)
treea0269d1cf9c82c0551694e4d37e49cebd32881bd /cyclone/sickle
parentc2a6b33ed5c7686421c66fa90fe18e1d7a14b7ec (diff)
*** empty log message ***
svn path=/trunk/externals/miXed/; revision=845
Diffstat (limited to 'cyclone/sickle')
-rw-r--r--cyclone/sickle/Line.c20
-rw-r--r--cyclone/sickle/Makefile.sources12
-rw-r--r--cyclone/sickle/allsickles.c40
-rw-r--r--cyclone/sickle/peek.c2
4 files changed, 54 insertions, 20 deletions
diff --git a/cyclone/sickle/Line.c b/cyclone/sickle/Line.c
index f1d2b18..1b9e76c 100644
--- a/cyclone/sickle/Line.c
+++ b/cyclone/sickle/Line.c
@@ -3,17 +3,13 @@
* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
#include "m_pd.h"
+#include "shared.h"
#include "common/grow.h"
#include "common/loud.h"
#include "sickle/sic.h"
//#define LINE_DEBUG
-#ifndef PD_BADFLOAT
-#define PD_BADFLOAT(f) ((((*(unsigned int*)&(f))&0x7f800000)==0) || \
- (((*(unsigned int*)&(f))&0x7f800000)==0x7f800000))
-#endif
-
#define LINE_INISIZE 64 /* LATER rethink */
#define LINE_MAXSIZE 64
@@ -196,9 +192,15 @@ static void line_list(t_line *x, t_symbol *s, int ac, t_atom *av)
t_atom *ap;
t_lineseg *segp;
for (natoms = 0, ap = av; natoms < ac; natoms++, ap++)
- if (ap->a_type != A_FLOAT) break; /* CHECKME */
+ {
+ if (ap->a_type != A_FLOAT)
+ {
+ loud_messarg((t_pd *)x, &s_list); /* CHECKED */
+ return; /* CHECKED */
+ }
+ }
if (!natoms)
- return; /* CHECKME */
+ return; /* CHECKED */
odd = natoms % 2;
nsegs = natoms / 2;
if (odd) nsegs++;
@@ -212,6 +214,7 @@ static void line_list(t_line *x, t_symbol *s, int ac, t_atom *av)
{
natoms = ns * 2;
nsegs = ns;
+ odd = 0;
}
}
x->x_nsegs = nsegs;
@@ -289,7 +292,8 @@ static void *line_new(t_floatarg f)
void Line_tilde_setup(void)
{
line_class = class_new(gensym("Line~"),
- (t_newmethod)line_new, 0,
+ (t_newmethod)line_new,
+ (t_method)line_free,
sizeof(t_line), 0, A_DEFFLOAT, 0);
sic_setup(line_class, line_dsp, SIC_NOMAINSIGNALIN);
class_addfloat(line_class, line_float);
diff --git a/cyclone/sickle/Makefile.sources b/cyclone/sickle/Makefile.sources
index b4a5d75..d39cc17 100644
--- a/cyclone/sickle/Makefile.sources
+++ b/cyclone/sickle/Makefile.sources
@@ -28,6 +28,7 @@ comb.c \
cosh.c \
cosx.c \
count.c \
+curve.c \
cycle.c \
delay.c \
delta.c \
@@ -41,30 +42,39 @@ Line.c \
linedrive.c \
log.c \
lookup.c \
+lores.c \
maximum.c \
minimum.c \
minmax.c \
+mstosamps.c \
+onepole.c \
peakamp.c \
peek.c \
phasewrap.c \
+pink.c \
play.c \
+poke.c \
poltocar.c \
pong.c \
pow.c \
rand.c \
rampsmooth.c \
record.c \
+reson.c \
sah.c \
+sampstoms.c \
Scope.c \
sinh.c \
sinx.c \
slide.c \
Snapshot.c \
spike.c \
+svf.c \
tanh.c \
tanx.c \
train.c \
trapezoid.c \
triangle.c \
vectral.c \
-wave.c
+wave.c \
+zerox.c
diff --git a/cyclone/sickle/allsickles.c b/cyclone/sickle/allsickles.c
index f543879..d062c61 100644
--- a/cyclone/sickle/allsickles.c
+++ b/cyclone/sickle/allsickles.c
@@ -4,18 +4,14 @@
* For information on usage and redistribution, and for a DISCLAIMER OF ALL
* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
-void Clip_tilde_setup(void);
-void Line_tilde_setup(void);
-void Scope_tilde_setup(void);
-void Snapshot_tilde_setup(void);
void abs_tilde_setup(void);
void acos_tilde_setup(void);
void acosh_tilde_setup(void);
void allpass_tilde_setup(void);
void asin_tilde_setup(void);
void asinh_tilde_setup(void);
-void atan_tilde_setup(void);
void atan2_tilde_setup(void);
+void atan_tilde_setup(void);
void atanh_tilde_setup(void);
void average_tilde_setup(void);
void avg_tilde_setup(void);
@@ -28,10 +24,12 @@ void capture_tilde_setup(void);
void cartopol_tilde_setup(void);
void change_tilde_setup(void);
void click_tilde_setup(void);
+void Clip_tilde_setup(void);
void comb_tilde_setup(void);
void cosh_tilde_setup(void);
void cosx_tilde_setup(void);
void count_tilde_setup(void);
+void curve_tilde_setup(void);
void cycle_tilde_setup(void);
void delay_tilde_setup(void);
void delta_tilde_setup(void);
@@ -41,27 +39,38 @@ void frameaccum_tilde_setup(void);
void framedelta_tilde_setup(void);
void index_tilde_setup(void);
void kink_tilde_setup(void);
+void Line_tilde_setup(void);
void linedrive_setup(void);
void log_tilde_setup(void);
void lookup_tilde_setup(void);
+void lores_tilde_setup(void);
void maximum_tilde_setup(void);
void minimum_tilde_setup(void);
void minmax_tilde_setup(void);
+void mstosamps_tilde_setup(void);
+void onepole_tilde_setup(void);
void peakamp_tilde_setup(void);
void peek_tilde_setup(void);
void phasewrap_tilde_setup(void);
+void pink_tilde_setup(void);
void play_tilde_setup(void);
+void poke_tilde_setup(void);
void poltocar_tilde_setup(void);
void pong_tilde_setup(void);
void pow_tilde_setup(void);
void rampsmooth_tilde_setup(void);
void rand_tilde_setup(void);
void record_tilde_setup(void);
+void reson_tilde_setup(void);
void sah_tilde_setup(void);
+void sampstoms_tilde_setup(void);
+void Scope_tilde_setup(void);
void sinh_tilde_setup(void);
void sinx_tilde_setup(void);
void slide_tilde_setup(void);
+void Snapshot_tilde_setup(void);
void spike_tilde_setup(void);
+void svf_tilde_setup(void);
void tanh_tilde_setup(void);
void tanx_tilde_setup(void);
void train_tilde_setup(void);
@@ -69,21 +78,18 @@ void trapezoid_tilde_setup(void);
void triangle_tilde_setup(void);
void vectral_tilde_setup(void);
void wave_tilde_setup(void);
+void zerox_tilde_setup(void);
void allsickles_setup(void)
{
- Clip_tilde_setup();
- Line_tilde_setup();
- Scope_tilde_setup();
- Snapshot_tilde_setup();
abs_tilde_setup();
acos_tilde_setup();
acosh_tilde_setup();
allpass_tilde_setup();
asin_tilde_setup();
asinh_tilde_setup();
- atan_tilde_setup();
atan2_tilde_setup();
+ atan_tilde_setup();
atanh_tilde_setup();
average_tilde_setup();
avg_tilde_setup();
@@ -96,10 +102,12 @@ void allsickles_setup(void)
cartopol_tilde_setup();
change_tilde_setup();
click_tilde_setup();
+ Clip_tilde_setup();
comb_tilde_setup();
cosh_tilde_setup();
cosx_tilde_setup();
count_tilde_setup();
+ curve_tilde_setup();
cycle_tilde_setup();
delay_tilde_setup();
delta_tilde_setup();
@@ -109,27 +117,38 @@ void allsickles_setup(void)
framedelta_tilde_setup();
index_tilde_setup();
kink_tilde_setup();
+ Line_tilde_setup();
linedrive_setup();
log_tilde_setup();
lookup_tilde_setup();
+ lores_tilde_setup();
maximum_tilde_setup();
minimum_tilde_setup();
minmax_tilde_setup();
+ mstosamps_tilde_setup();
+ onepole_tilde_setup();
peakamp_tilde_setup();
peek_tilde_setup();
phasewrap_tilde_setup();
+ pink_tilde_setup();
play_tilde_setup();
+ poke_tilde_setup();
poltocar_tilde_setup();
pong_tilde_setup();
pow_tilde_setup();
rampsmooth_tilde_setup();
rand_tilde_setup();
record_tilde_setup();
+ reson_tilde_setup();
sah_tilde_setup();
+ sampstoms_tilde_setup();
+ Scope_tilde_setup();
sinh_tilde_setup();
sinx_tilde_setup();
slide_tilde_setup();
+ Snapshot_tilde_setup();
spike_tilde_setup();
+ svf_tilde_setup();
tanh_tilde_setup();
tanx_tilde_setup();
train_tilde_setup();
@@ -137,4 +156,5 @@ void allsickles_setup(void)
triangle_tilde_setup();
vectral_tilde_setup();
wave_tilde_setup();
+ zerox_tilde_setup();
}
diff --git a/cyclone/sickle/peek.c b/cyclone/sickle/peek.c
index 7397577..534cc49 100644
--- a/cyclone/sickle/peek.c
+++ b/cyclone/sickle/peek.c
@@ -55,7 +55,7 @@ static void peek_float(t_peek *x, t_float f)
if (vp = sic->s_vectors[x->x_effchannel])
{
int ndx = (int)f;
- if (vp && ndx >= 0 && ndx < sic->s_vecsize)
+ if (ndx >= 0 && ndx < sic->s_vecsize)
{
if (x->x_pokemode)
{