From 90d4374ddca28204bcb54d7479353e4fd765a729 Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Wed, 30 Aug 2017 23:30:16 +0200 Subject: [PATCH] signal: fix amplitude of ramp signal type --- lib/nodes/signal.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/nodes/signal.c b/lib/nodes/signal.c index 89484c540..ee706c75d 100644 --- a/lib/nodes/signal.c +++ b/lib/nodes/signal.c @@ -113,7 +113,7 @@ int signal_parse_cli(struct node *n, int argc, char *argv[]) /* Parse optional command line arguments */ char c, *endptr; - while ((c = getopt(argc, argv, "v:r:f:l:a:D:n:o")) != -1) { + while ((c = getopt(argc, argv, "v:r:f:l:a:D:n:o:")) != -1) { switch (c) { case 'n': s->rt = 0; @@ -242,7 +242,7 @@ int signal_read(struct node *n, struct sample *smps[], unsigned cnt) case SIGNAL_TYPE_SINE: t->data[i].f = s->offset + s->amplitude * sin(running * s->frequency * 2 * M_PI); break; case SIGNAL_TYPE_TRIANGLE: t->data[i].f = s->offset + s->amplitude * (fabs(fmod(running * s->frequency, 1) - .5) - 0.25) * 4; break; case SIGNAL_TYPE_SQUARE: t->data[i].f = s->offset + s->amplitude * ( (fmod(running * s->frequency, 1) < .5) ? -1 : 1); break; - case SIGNAL_TYPE_RAMP: t->data[i].f = s->offset + fmod(s->counter, s->rate / s->frequency); /** @todo send as integer? */ break; + case SIGNAL_TYPE_RAMP: t->data[i].f = s->offset + s->amplitude * fmod(running, s->frequency); break; case SIGNAL_TYPE_RANDOM: s->last[i] += box_muller(0, s->stddev); t->data[i].f = s->last[i];