annotate audacious/widgets/vis.h @ 1938:1d9c1026d9f8 trunk

[svn] - DoubleSize support. This has bugs, the most notable one being that DoubleSize only works right if you restart the player. The second bug is rather obvious too. No osmosis skinengine. No TinyPlayer. Classic-esque skinengine only. This is because the doublesize algorithm hates you and wants you to go die in a fire.
author nenolod
date Sun, 05 Nov 2006 04:43:16 -0800
parents a6e6d3500c13
children c12319817d7e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1653
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
1 /* BMP - Cross-platform multimedia player
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
2 * Copyright (C) 2003-2004 BMP development team.
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
3 *
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
4 * Based on XMMS:
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
5 * Copyright (C) 1998-2003 XMMS development team.
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
6 *
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
7 * This program is free software; you can redistribute it and/or modify
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
8 * it under the terms of the GNU General Public License as published by
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
9 * the Free Software Foundation; either version 2 of the License, or
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
10 * (at your option) any later version.
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
11 *
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
12 * This program is distributed in the hope that it will be useful,
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
15 * GNU General Public License for more details.
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
16 *
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
17 * You should have received a copy of the GNU General Public License
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
18 * along with this program; if not, write to the Free Software
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
20 */
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
21
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
22 #ifndef _WIDGETCORE_H_
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
23 #error Please do not include me directly! Use widgetcore.h instead!
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
24 #endif
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
25
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
26 #ifndef VIS_H
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
27 #define VIS_H
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
28
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
29 #include <glib.h>
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
30 #include <gdk/gdk.h>
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
31
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
32 #include "widget.h"
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
33
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
34 typedef enum {
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
35 VIS_ANALYZER, VIS_SCOPE, VIS_OFF
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
36 } VisType;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
37
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
38 typedef enum {
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
39 ANALYZER_NORMAL, ANALYZER_FIRE, ANALYZER_VLINES
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
40 } AnalyzerMode;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
41
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
42 typedef enum {
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
43 ANALYZER_LINES, ANALYZER_BARS
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
44 } AnalyzerType;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
45
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
46 typedef enum {
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
47 SCOPE_DOT, SCOPE_LINE, SCOPE_SOLID
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
48 } ScopeMode;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
49
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
50 typedef enum {
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
51 VU_NORMAL, VU_SMOOTH
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
52 } VUMode;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
53
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
54 typedef enum {
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
55 REFRESH_FULL, REFRESH_HALF, REFRESH_QUARTER, REFRESH_EIGTH
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
56 } RefreshRate;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
57
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
58 typedef enum {
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
59 FALLOFF_SLOWEST, FALLOFF_SLOW, FALLOFF_MEDIUM, FALLOFF_FAST,
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
60 FALLOFF_FASTEST
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
61 } FalloffSpeed;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
62
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
63 #define VIS(x) ((Vis *)(x))
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
64 struct _Vis {
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
65 Widget vs_widget;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
66 GdkWindow *vs_window;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
67 gfloat vs_data[75], vs_peak[75], vs_peak_speed[75];
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
68 gint vs_refresh_delay;
1938
1d9c1026d9f8 [svn] - DoubleSize support.
nenolod
parents: 1653
diff changeset
69 gboolean vs_doublesize;
1653
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
70 };
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
71
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
72 typedef struct _Vis Vis;
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
73
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
74 void vis_draw(Widget * w);
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
75
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
76 Vis *create_vis(GList ** wlist, GdkPixmap * parent, GdkWindow * window,
1938
1d9c1026d9f8 [svn] - DoubleSize support.
nenolod
parents: 1653
diff changeset
77 GdkGC * gc, gint x, gint y, gint width, gboolean doublesize);
1653
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
78 void vis_timeout_func(Vis * vis, guchar * data);
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
79 void vis_clear_data(Vis * vis);
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
80 void vis_clear(Vis * vis);
1938
1d9c1026d9f8 [svn] - DoubleSize support.
nenolod
parents: 1653
diff changeset
81 void vis_set_doublesize(Vis * vis, gboolean doublesize);
1653
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
82 void vis_set_window(Vis * vis, GdkWindow * window);
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
83
a6e6d3500c13 [svn] - revert back to r2216
nenolod
parents:
diff changeset
84 #endif