From 60c1097c987fb516474cdae9f1f9d2bab6c3c6f1 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 18 Sep 2014 15:49:38 +0000 Subject: add normalization --- Sgraph.c | 8 ++++++-- alsa.c | 6 ++++-- sio.c | 6 ++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Sgraph.c b/Sgraph.c index b06544f..e18a2de 100644 --- a/Sgraph.c +++ b/Sgraph.c @@ -249,9 +249,13 @@ Redisplay(Widget w, XEvent *event, Region r) XDrawLine(XtDisplay(sw), sw->sgraph.backBuf, sw->sgraph.foreGC, 0, height / 2 + height, 2 * width, height / 2 + height); for (x = 0; x < sw->sgraph.size; x++) { - yl = sw->sgraph.leftData[x] / (2 * height) + height / 2; - yr = sw->sgraph.rightData[x] / (2 * height) + height / 2; + yl = sw->sgraph.leftData[x] * height / 2; + yl += height / 2; + + yr = sw->sgraph.rightData[x] * height / 2; + yr += height / 2; yr += height; + XDrawPoint(XtDisplay(sw), sw->sgraph.backBuf, sw->sgraph.foreGC, x, yl); XDrawPoint(XtDisplay(sw), sw->sgraph.backBuf, diff --git a/alsa.c b/alsa.c index 881246f..e311ed5 100644 --- a/alsa.c +++ b/alsa.c @@ -17,6 +17,7 @@ #include #include +#include #include #include @@ -92,9 +93,10 @@ read_sio(double *left, double *right, size_t n) data = (struct data *)&buffer[samples - n]; + /* split and normalize */ for (i = 0; i < n; i++) { - left[i] = data[i].left; - right[i] = data[i].right; + left[i] = data[i].left / (double)INT16_MAX; + right[i] = data[i].right / (double)INT16_MAX; } return n; diff --git a/sio.c b/sio.c index 414de7c..6e76f8f 100644 --- a/sio.c +++ b/sio.c @@ -17,6 +17,7 @@ #include #include +#include #include #include @@ -100,9 +101,10 @@ read_sio(double *left, double *right, size_t n) */ data = (struct data *)(p - rndsz); + /* split and normalize */ for (i = 0; i < n; i++) { - left[i] = data[i].left; - right[i] = data[i].right; + left[i] = data[i].left / (double)INT16_MAX; + right[i] = data[i].right / (double)INT16_MAX; } return n; -- cgit v1.2.3