1 #ifndef _MONOSCOPE_H 2 #define _MONOSCOPE_H 3 4 #include <glib.h> 5 #include "convolve.h" 6 7 #define convolver_depth 8 8 #define convolver_small (1 << convolver_depth) 9 #define convolver_big (2 << convolver_depth) 10 #define scope_width 256 11 #define scope_height 128 12 13 struct monoscope_state { 14 short copyEq[convolver_big]; 15 int avgEq[convolver_small]; /* a running average of the last few. */ 16 int avgMax; /* running average of max sample. */ 17 guint32 display[scope_width * scope_height]; 18 19 convolve_state *cstate; 20 guint32 colors[scope_height / 2]; 21 }; 22 23 struct monoscope_state * monoscope_init (guint32 resx, guint32 resy); 24 guint32 * monoscope_update (struct monoscope_state * stateptr, gint16 data [convolver_big]); 25 void monoscope_close (struct monoscope_state * stateptr); 26 27 #endif 28