summaryrefslogtreecommitdiffstats
path: root/gst/monoscope/monoscope.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/monoscope/monoscope.h')
-rw-r--r--gst/monoscope/monoscope.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/gst/monoscope/monoscope.h b/gst/monoscope/monoscope.h
index 29fdf10c..1a2a29f5 100644
--- a/gst/monoscope/monoscope.h
+++ b/gst/monoscope/monoscope.h
@@ -2,9 +2,23 @@
#define _MONOSCOPE_H
#include <glib.h>
+#include "convolve.h"
-void monoscope_init (guint32 resx, guint32 resy);
-guint32 * monoscope_update (gint16 data [512]);
-void monoscope_close ();
+#define scope_width 256
+#define scope_height 128
+
+struct monoscope_state {
+ gint16 copyEq[CONVOLVE_BIG];
+ int avgEq[CONVOLVE_SMALL]; // a running average of the last few.
+ int avgMax; // running average of max sample.
+ guint32 display[(scope_width + 1) * (scope_height + 1)];
+
+ convolve_state *cstate;
+ guint32 colors[64];
+};
+
+struct monoscope_state * monoscope_init (guint32 resx, guint32 resy);
+guint32 * monoscope_update (struct monoscope_state * stateptr, gint16 data [512]);
+void monoscope_close (struct monoscope_state * stateptr);
#endif