Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > by-pkgid > 78fa41c59c9b74fdaea6a018d30bdab6 > files > 153

marlin-debug-0.13-1mdv2009.1.i586.rpm

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/***************************************************************************
 *            gtkvumeter.h
 *
 *  Fri Jan 10 20:06:41 2003
 *  Copyright  2003  Todd Goyen
 *  wettoad@knighthoodofbuh.org
 *  Modified Iain Holmes <iaingnome@gmail.com>
 *  Copyright  2004 - 2008 Iain Holmes
 ****************************************************************************/

#ifndef __GTKVUMETER_H__
#define __GTKVUMETER_H__

#include <gtk/gtk.h>

#include <marlin/marlin-types.h>

G_BEGIN_DECLS

#define GTK_TYPE_VUMETER                (gtk_vumeter_get_type ())
#define GTK_VUMETER(obj)                (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_VUMETER, GtkVUMeter))
#define GTK_VUMETER_CLASS(klass)        (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_VUMETER GtkVUMeterClass))
#define GTK_IS_VUMETER(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_VUMETER))

typedef struct _GtkVUMeter      GtkVUMeter;
typedef struct _GtkVUMeterClass GtkVUMeterClass;

typedef enum {
	GTK_VUMETER_PEAKS_FALLOFF_SLOW,
	GTK_VUMETER_PEAKS_FALLOFF_MEDIUM,
	GTK_VUMETER_PEAKS_FALLOFF_FAST
} GtkVUMeterFallOff;

typedef enum {
	GTK_VUMETER_VERTICAL,
	GTK_VUMETER_HORIZONTAL
} GtkVUMeterOrientation;

struct _GtkVUMeter {
	GtkWidget widget;

	GdkColormap *colormap;
	int colors;

	GdkColor *f_colors;
	GdkColor *b_colors;

	GdkGC *gc;

	GtkVUMeterOrientation orientation;
	double rms_level;

	GtkVUMeterFallOff peaks_falloff;
	int delay_peak_level;
	double peak_level;

	MarlinScale scale;
};

struct _GtkVUMeterClass {
	GtkWidgetClass  parent_class;
};

GType    gtk_vumeter_get_type (void) G_GNUC_CONST;
GtkWidget *gtk_vumeter_new (GtkVUMeterOrientation orientation);
void gtk_vumeter_set_levels (GtkVUMeter *vumeter, double rms, double peak);
void gtk_vumeter_set_peaks_falloff (GtkVUMeter *vumeter,
				    GtkVUMeterFallOff peaks_falloff);

G_END_DECLS

#endif /* __GTKVUMETER_H__ */