LMMS
Loading...
Searching...
No Matches
ctl_vumeter.h
Go to the documentation of this file.
1/* Calf DSP Library
2 * Volume meter widget
3 *
4 * Copyright (C) 2008-2010 Krzysztof Foltman, Torben Hohn, Markus
5 * Schmidt and others
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General
18 * Public License along with this program; if not, write to the
19 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02111-1307, USA.
21 */
22#ifndef CALF_VUMETER_H
23#define CALF_VUMETER_H
24
25//#include "config.h"
26//#include <gtk/gtk.h>
27//#include <calf/giface.h>
28#include <calf/primitives.h>
29//#include <gdk/gdkkeysyms.h>
30//#include <cairo/cairo.h>
31#include <math.h>
32//#include <gdk/gdk.h>
33#include <sys/time.h>
34//#include <string>
35#include <calf/drawingutils.h>
36
37G_BEGIN_DECLS
38
39#define CALF_TYPE_VUMETER (calf_vumeter_get_type())
40#define CALF_VUMETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CALF_TYPE_VUMETER, CalfVUMeter))
41#define CALF_IS_VUMETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CALF_TYPE_VUMETER))
42#define CALF_VUMETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CALF_TYPE_VUMETER, CalfVUMeterClass))
43#define CALF_IS_VUMETER_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((klass), CALF_TYPE_VUMETER))
44#define CALF_VUMETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CALF_TYPE_VUMETER, CalfVUMeterClass))
45
54
76
78{
79 GtkDrawingAreaClass parent_class;
80};
81
82extern GtkWidget *calf_vumeter_new();
83extern GType calf_vumeter_get_type();
84extern void calf_vumeter_set_value(CalfVUMeter *meter, float value);
85extern float calf_vumeter_get_value(CalfVUMeter *meter);
88extern void calf_vumeter_set_hold(CalfVUMeter *meter, float value);
89extern float calf_vumeter_get_hold(CalfVUMeter *meter);
90extern void calf_vumeter_set_falloff(CalfVUMeter *meter, float value);
91extern float calf_vumeter_get_falloff(CalfVUMeter *meter);
92extern void calf_vumeter_set_width(CalfVUMeter *meter, int value);
93extern int calf_vumeter_get_width(CalfVUMeter *meter);
94extern void calf_vumeter_set_height(CalfVUMeter *meter, int value);
95extern int calf_vumeter_get_height(CalfVUMeter *meter);
96extern void calf_vumeter_set_position(CalfVUMeter *meter, int value);
97extern int calf_vumeter_get_position(CalfVUMeter *meter);
98
99G_END_DECLS
100
101#endif
GType calf_vumeter_get_type()
Definition ctl_vumeter.cpp:452
float calf_vumeter_get_value(CalfVUMeter *meter)
Definition ctl_vumeter.cpp:497
void calf_vumeter_set_position(CalfVUMeter *meter, int value)
Definition ctl_vumeter.cpp:581
void calf_vumeter_set_value(CalfVUMeter *meter, float value)
Definition ctl_vumeter.cpp:488
int calf_vumeter_get_width(CalfVUMeter *meter)
Definition ctl_vumeter.cpp:563
float calf_vumeter_get_falloff(CalfVUMeter *meter)
Definition ctl_vumeter.cpp:535
CalfVUMeterMode
Definition ctl_vumeter.h:47
@ VU_STANDARD
Definition ctl_vumeter.h:48
@ VU_STANDARD_CENTER
Definition ctl_vumeter.h:51
@ VU_MONOCHROME
Definition ctl_vumeter.h:49
@ VU_MONOCHROME_CENTER
Definition ctl_vumeter.h:52
@ VU_MONOCHROME_REVERSE
Definition ctl_vumeter.h:50
GtkWidget * calf_vumeter_new()
Definition ctl_vumeter.cpp:446
float calf_vumeter_get_hold(CalfVUMeter *meter)
Definition ctl_vumeter.cpp:549
void calf_vumeter_set_falloff(CalfVUMeter *meter, float value)
Definition ctl_vumeter.cpp:526
int calf_vumeter_get_height(CalfVUMeter *meter)
Definition ctl_vumeter.cpp:577
void calf_vumeter_set_hold(CalfVUMeter *meter, float value)
Definition ctl_vumeter.cpp:540
CalfVUMeterMode calf_vumeter_get_mode(CalfVUMeter *meter)
Definition ctl_vumeter.cpp:521
void calf_vumeter_set_width(CalfVUMeter *meter, int value)
Definition ctl_vumeter.cpp:554
void calf_vumeter_set_mode(CalfVUMeter *meter, CalfVUMeterMode mode)
Definition ctl_vumeter.cpp:502
int calf_vumeter_get_position(CalfVUMeter *meter)
Definition ctl_vumeter.cpp:590
void calf_vumeter_set_height(CalfVUMeter *meter, int value)
Definition ctl_vumeter.cpp:568
static PuglViewHint int value
Definition pugl.h:1708
png_structrp int mode
Definition png.h:1139
Definition ctl_vumeter.h:78
GtkDrawingAreaClass parent_class
Definition ctl_vumeter.h:79
Definition ctl_vumeter.h:56
float value
Definition ctl_vumeter.h:59
float vumeter_falloff
Definition ctl_vumeter.h:64
float disp_value
Definition ctl_vumeter.h:71
GtkDrawingArea parent
Definition ctl_vumeter.h:57
float last_value
Definition ctl_vumeter.h:63
cairo_surface_t * cache_overlay
Definition ctl_vumeter.h:74
int vumeter_position
Definition ctl_vumeter.h:72
cairo_surface_t * cache_surface
Definition ctl_vumeter.h:73
CalfVUMeterMode mode
Definition ctl_vumeter.h:58
float vumeter_hold
Definition ctl_vumeter.h:60
long last_falltime
Definition ctl_vumeter.h:67
int vumeter_height
Definition ctl_vumeter.h:70
long last_hold
Definition ctl_vumeter.h:62
int meter_width
Definition ctl_vumeter.h:68
bool falling
Definition ctl_vumeter.h:65
int vumeter_width
Definition ctl_vumeter.h:69
float last_falloff
Definition ctl_vumeter.h:66
bool holding
Definition ctl_vumeter.h:61