aboutsummaryrefslogtreecommitdiff
path: root/cyclone
diff options
context:
space:
mode:
Diffstat (limited to 'cyclone')
-rw-r--r--cyclone/Makefile.sources12
-rw-r--r--cyclone/build_counter2
-rw-r--r--cyclone/cyclone-test.exclude1
-rw-r--r--cyclone/hammer/substitute.c4
-rw-r--r--cyclone/shadow/dummies.c14
-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
9 files changed, 72 insertions, 35 deletions
diff --git a/cyclone/Makefile.sources b/cyclone/Makefile.sources
index 6b7afcc..818d8c8 100644
--- a/cyclone/Makefile.sources
+++ b/cyclone/Makefile.sources
@@ -133,26 +133,34 @@ sickle/deltaclip.c \
sickle/edge.c \
sickle/kink.c \
sickle/log.c \
+sickle/lores.c \
sickle/maximum.c \
sickle/minimum.c \
sickle/minmax.c \
+sickle/mstosamps.c \
+sickle/onepole.c \
sickle/peakamp.c \
sickle/phasewrap.c \
+sickle/pink.c \
sickle/pow.c \
sickle/rampsmooth.c \
sickle/rand.c \
+sickle/reson.c \
sickle/sah.c \
+sickle/sampstoms.c \
sickle/sinh.c \
sickle/sinx.c \
sickle/slide.c \
sickle/Snapshot.c \
sickle/spike.c \
+sickle/svf.c \
sickle/tanh.c \
sickle/tanx.c \
sickle/train.c \
sickle/trapezoid.c \
sickle/triangle.c \
-sickle/vectral.c
+sickle/vectral.c \
+sickle/zerox.c
SFORKY_TILDE = $(TILDE)
SFORKY_SOURCES = \
@@ -169,6 +177,7 @@ sickle/poltocar.c
SGROW_TILDE = $(TILDE)
SGROW_SOURCES = \
sickle/click.c \
+sickle/curve.c \
sickle/frameaccum.c \
sickle/framedelta.c \
sickle/Line.c
@@ -187,6 +196,7 @@ sickle/index.c \
sickle/lookup.c \
sickle/peek.c \
sickle/play.c \
+sickle/poke.c \
sickle/record.c \
sickle/wave.c
diff --git a/cyclone/build_counter b/cyclone/build_counter
index 1e05d4b..bce8105 100644
--- a/cyclone/build_counter
+++ b/cyclone/build_counter
@@ -1,3 +1,3 @@
#define CYCLONE_VERSION "0.1"
#define CYCLONE_RELEASE "alpha"
-#define CYCLONE_BUILD 42
+#define CYCLONE_BUILD 44
diff --git a/cyclone/cyclone-test.exclude b/cyclone/cyclone-test.exclude
index ec84f87..6b3cc43 100644
--- a/cyclone/cyclone-test.exclude
+++ b/cyclone/cyclone-test.exclude
@@ -1,4 +1,5 @@
*~
import-result.pd
+import-debug.pd
temporary
temporary/*
diff --git a/cyclone/hammer/substitute.c b/cyclone/hammer/substitute.c
index 48a9b9d..c68419d 100644
--- a/cyclone/hammer/substitute.c
+++ b/cyclone/hammer/substitute.c
@@ -2,6 +2,10 @@
* For information on usage and redistribution, and for a DISCLAIMER OF ALL
* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
+/* CHECKED refman's rubbish: 1st outlet used only if there is a match,
+ unchanged messages go through the 2nd outlet (no bang there),
+ 3rd argument ignored (no single-replacement mode). */
+
#include <string.h>
#include "m_pd.h"
#include "common/grow.h"
diff --git a/cyclone/shadow/dummies.c b/cyclone/shadow/dummies.c
index 3d92894..be9a886 100644
--- a/cyclone/shadow/dummies.c
+++ b/cyclone/shadow/dummies.c
@@ -358,7 +358,6 @@ static t_dummy_slot dummy_slots[] =
{ "clocker", 2, 1, 0, 0 },
{ "closebang", 0, 1, 0, 0 },
{ "colorpicker", 1, 1, 0, 0 },
- { "curve~", 3, 2, 0, 0 },
{ "date", 1, 3, 0, 0 },
{ "defer", 1, 1, 0, 0 }, /* LATER pass anything through */
{ "degrade~", 3, 1, 0, 0 },
@@ -381,7 +380,7 @@ static t_dummy_slot dummy_slots[] =
{ "filein", 3, 3, 0, 0 },
{ "filepath", 1, 1, 0, 0 },
{ "filtergraph~", 8, 6, 0, 0 },
- { "folder", 1, 1, 0, 0 }, /* CHECKME 2nd outlet */
+ { "folder", 1, 2, 0, 0 },
{ "follow", 1, 2, 0, 0 },
{ "fpic", 1, 0, 0, 0 },
{ "frame", 6, 0, 0, 0 },
@@ -407,16 +406,12 @@ static t_dummy_slot dummy_slots[] =
{ "lcd", 1, 4, 0, 0 }, /* CHECKME nouts */
{ "led", 1, 1, 0, 0 },
{ "Line", 3, 2, 0, 0 },
- { "lores~", 3, 1, 0, 0 },
{ "matrixctrl", 1, 1, 0, 0 }, /* CHECKME nins, nouts */
{ "matrix~", -1, -1, 0, (t_newmethod)dummy_matrix_tilde_new },
- { "maximum~", 2, 1, 0, 0 },
{ "menubar", 1, 4, 0, 0 }, /* LATER parse #Xs (additional outs) */
{ "meter~", 1, 1, 0, 0 }, /* LATER consider mapping to the vu */
- { "minimum~", 2, 1, 0, 0 },
{ "movie", 1, 3, 0, 0 },
/* CHECKME msd */
- { "mstosamps~", 1, 2, 0, 0 },
{ "multiSlider", 1, 1, 0, 0 },
{ "mute~", 1, 1, 0, 0 },
{ "normalize~", 2, 1, 0, 0 },
@@ -427,7 +422,6 @@ static t_dummy_slot dummy_slots[] =
{ "omsnotes", 4, 2, 0, 0 }, /* CHECKME osx */
{ "omspatches", 3, 2, 0, 0 }, /* CHECKME osx */
{ "onecopy", 0, 0, 0, 0 }, /* CHECKME */
- { "onepole~", 2, 1, 0, 0 },
{ "opendialog", 1, 2, 0, 0 },
{ "oscbank~", 4, 1, 0, 0 },
{ "oval", 6, 0, 0, 0 },
@@ -442,7 +436,6 @@ static t_dummy_slot dummy_slots[] =
{ "pict", 3, 0, 0, 0 },
{ "pictctrl", 1, 1, 0, 0 },
{ "pictslider", 2, 2, 0, 0 }, /* CHECKME one-dimensional mode */
- { "pink~", 1, 1, 0, 0 }, /* CHECKME inlet */
{ "playbar", 1, 2, 0, 0 }, /* CHECKME */
{ "plugconfig", 1, 0, 0, 0 },
{ "plugin~", 2, 2, 0, 0 },
@@ -457,7 +450,6 @@ static t_dummy_slot dummy_slots[] =
{ "plugsend~", 1, 0, 0, 0 },
{ "plugstore", 1, 1, 0, 0 }, /* CHECKME nouts */
{ "plugsync~", 0, 9, 0, 0 }, /* CHECKME nouts */
- { "poke~", 3, 0, 0, 0 },
{ "Poly", 2, 4, 0, 0 },
{ "polyin", 1, 3, 0, 0 }, /* LATER parse args for nouts */
{ "polyout", 3, 0, 0, 0 }, /* CHECKME nins */
@@ -471,13 +463,11 @@ static t_dummy_slot dummy_slots[] =
/* LATER settable Receive? */
{ "rect", 6, 0, 0, 0 },
{ "relativepath", 1, 1, 0, 0 },
- { "reson~", 4, 1, 0, 0 },
{ "rewire~", 1, -1, 0, (t_newmethod)dummy_rewire_tilde_new },
{ "ring", 6, 0, 0, 0 },
{ "round~", 2, 1, 0, 0 },
{ "rslider", 2, 2, 0, 0 },
{ "rtin", 1, 1, 0, 0 },
- { "sampstoms~", 1, 2, 0, 0 },
{ "savedialog", 1, 3, 0, 0 },
{ "screensize", 1, 2, 0, 0 },
{ "selector~", -1, 1, 0, (t_newmethod)dummy_selector_tilde_new },
@@ -492,7 +482,6 @@ static t_dummy_slot dummy_slots[] =
{ "strippath", 1, 2, 0, 0 },
{ "stutter~", -1, -1, 0, (t_newmethod)dummy_stutter_tilde_new },
{ "suspend", 0, 1, 0, 0 },
- { "svf~", 3, 4, 0, 0 },
{ "swatch", 3, 2, 0, 0 },
{ "sxformat", -1, 1, 0, (t_newmethod)dummy_sxformat_new },
{ "sysexin", 1, 1, 0, 0 },
@@ -523,7 +512,6 @@ static t_dummy_slot dummy_slots[] =
{ "vpicture", 0, 0, 0, 0 },
{ "vst~", -1, -1, 0, (t_newmethod)dummy_vst_tilde_new },
{ "waveform~", 5, 6, 0, 0 }, /* CHECKME */
- { "zerox~", 1, 2, 0, 0 },
{ "zigzag~", 2, 4, 0, 0 },
{ "_dummy", 0, 0, 0, 0 }
};
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)
{