#include <glib.h>
#include "convolve.h"
+#define convolver_depth 8
+#define convolver_small (1 << convolver_depth)
+#define convolver_big (2 << convolver_depth)
#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)];
+struct monoscope_state {
+ short copyEq[convolver_big];
+ int avgEq[convolver_small]; /* a running average of the last few. */
+ int avgMax; /* running average of max sample. */
+ guint32 display[scope_width * scope_height];
convolve_state *cstate;
- guint32 colors[64];
+ guint32 colors[scope_height / 2];
};
-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);
+struct monoscope_state * monoscope_init (guint32 resx, guint32 resy);
+guint32 * monoscope_update (struct monoscope_state * stateptr, gint16 data [convolver_big]);
+void monoscope_close (struct monoscope_state * stateptr);
#endif