X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-waveview.h;h=daa907e11047519a7e3f2dc31c12b4addd146d54;hb=b2aaffadc51ad38939e52d5f792e3e9a098ff2d7;hp=520e9b3e1709b4afb25883bc8d050cec889cc0f4;hpb=f4e6f8fec5c4ed705b2f0124666d632c392dbbc3;p=ardour.git diff --git a/gtk2_ardour/canvas-waveview.h b/gtk2_ardour/canvas-waveview.h index 520e9b3e17..daa907e110 100644 --- a/gtk2_ardour/canvas-waveview.h +++ b/gtk2_ardour/canvas-waveview.h @@ -59,32 +59,39 @@ struct _GnomeCanvasWaveViewCache guint64 data_size; gulong start; gulong end; -}; +}; -GnomeCanvasWaveViewCache* gnome_canvas_waveview_cache_new (); +GnomeCanvasWaveViewCache* gnome_canvas_waveview_cache_new (void); void gnome_canvas_waveview_cache_destroy (GnomeCanvasWaveViewCache*); +void gnome_canvas_waveview_set_gradient_waveforms (int); + +typedef gulong (*waveview_length_function_t)(void*); +typedef gulong (*waveview_sourcefile_length_function_t)(void*, double); +typedef void (*waveview_gain_curve_function_t)(void *arg, double start, double end, float* vector, gint64 veclen); +typedef void (*waveview_peak_function_t)(void*,gulong,gulong,gulong,gpointer,guint32,double); + struct _GnomeCanvasWaveView { GnomeCanvasItem item; - + GnomeCanvasWaveViewCache *cache; gboolean cache_updater; gint screen_width; void *data_src; guint32 channel; - void (*peak_function)(void*,gulong,gulong,gulong,gpointer,guint32,double); - gulong (*length_function)(void *); - gulong (*sourcefile_length_function)(void*,double); - void (*gain_curve_function)(void *arg, double start, double end, float* vector, gint64 veclen); + waveview_peak_function_t peak_function; + waveview_length_function_t length_function; + waveview_sourcefile_length_function_t sourcefile_length_function; + waveview_gain_curve_function_t gain_curve_function; void *gain_src; /** x-axis: samples per canvas unit. */ double samples_per_unit; - + /** y-axis: amplitude_above_axis. - * + * * the default is that an (scaled, normalized -1.0 ... +1.0) amplitude of 1.0 * corresponds to the top of the area assigned to the waveview. * @@ -107,7 +114,7 @@ struct _GnomeCanvasWaveView char rectified; char zero_line; char logscaled; - + /* These are updated by the update() routine to optimize the render() routine, which may be called several times after a single update().