annotate src/paranormal/builtins.c @ 2284:d19b53359b24

cleaned up the sndfile wav plugin, currently limiting it ONLY TO WAV PLAYBACK. if somebody is more experienced with it and wants to restore the other formats, go ahead (maybe change the name of the plugin too?).
author mf0102 <0102@gmx.at>
date Wed, 09 Jan 2008 15:41:22 +0100
parents 56bb18dd3fdd
children f1b6f1b2cdb3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1892
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
1 /*
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
2 * paranormal: iterated pipeline-driven visualization plugin
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
3 * Copyright (c) 2006, 2007 William Pitcock <nenolod@dereferenced.org>
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
4 * Portions copyright (c) 2001 Jamie Gennis <jgennis@mindspring.com>
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
5 *
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
6 * This program is free software; you can redistribute it and/or modify
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
7 * it under the terms of the GNU General Public License as published by
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
8 * the Free Software Foundation; under version 2 of the License.
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
9 *
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
10 * This program is distributed in the hope that it will be useful,
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
13 * GNU General Public License for more details.
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
14 *
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
15 * You should have received a copy of the GNU General Public License
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
16 * along with this program; if not, write to the Free Software
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
18 */
3b034150d31e Add GPL2 boilerplate text.
William Pitcock <nenolod@atheme.org>
parents: 1177
diff changeset
19
1943
56bb18dd3fdd paranormal: CONFIG_H removal
William Pitcock <nenolod@atheme.org>
parents: 1892
diff changeset
20 #include <config.h>
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
21
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
22 #include "actuators.h"
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
23
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
24 #define DECLARE_ACTUATOR(a) extern struct pn_actuator_desc builtin_##a;
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
25
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
26 /* **************** containers **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
27
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
28 DECLARE_ACTUATOR (container_simple);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
29 DECLARE_ACTUATOR (container_once);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
30 DECLARE_ACTUATOR (container_cycle);
171
9e51ffaca177 [svn] - add OnBeat container. children are only iterated on a detected beat.
nenolod
parents: 149
diff changeset
31 DECLARE_ACTUATOR (container_onbeat);
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
32
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
33 /* **************** cmaps **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
34
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
35 DECLARE_ACTUATOR (cmap_bwgradient);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
36 DECLARE_ACTUATOR (cmap_gradient);
338
d517fc608e89 [svn] - some more presets
nenolod
parents: 336
diff changeset
37 DECLARE_ACTUATOR (cmap_dynamic);
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
38
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
39 /* **************** freq **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
40 DECLARE_ACTUATOR (freq_dots);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
41 DECLARE_ACTUATOR (freq_drops);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
42
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
43 /* **************** general **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
44 DECLARE_ACTUATOR (general_fade);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
45 DECLARE_ACTUATOR (general_blur);
174
3d98be3d74c2 [svn] - mosaic effect (in progress, custom size will be in the next commit)
nenolod
parents: 171
diff changeset
46 DECLARE_ACTUATOR (general_mosaic);
178
62b4e23cb333 [svn] - add missing declaration
nenolod
parents: 177
diff changeset
47 DECLARE_ACTUATOR (general_clear);
179
b44ab11a64c2 [svn] - NOOP instruction. What this does is basically takes a slot in a
nenolod
parents: 178
diff changeset
48 DECLARE_ACTUATOR (general_noop);
181
156d6c875ef0 [svn] - add value invert filter
nenolod
parents: 179
diff changeset
49 DECLARE_ACTUATOR (general_invert);
182
6048abdac7d1 [svn] - add value replace filter, replaces a range of values with a different value
nenolod
parents: 181
diff changeset
50 DECLARE_ACTUATOR (general_replace);
271
b166ce84af57 [svn] - add swap surface
nenolod
parents: 186
diff changeset
51 DECLARE_ACTUATOR (general_swap);
272
d8cefe8ce6e6 [svn] - add copy surface
nenolod
parents: 271
diff changeset
52 DECLARE_ACTUATOR (general_copy);
278
8f4dc0d63925 [svn] - add surface flip
nenolod
parents: 273
diff changeset
53 DECLARE_ACTUATOR (general_flip);
1177
a7c98f237b03 [svn] - add general_evaluate which can run arbitrary VM code
nenolod
parents: 338
diff changeset
54 DECLARE_ACTUATOR (general_evaluate);
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
55
186
49f532942eec [svn] - add floating particles.
nenolod
parents: 182
diff changeset
56 /* **************** misc **************** */
49f532942eec [svn] - add floating particles.
nenolod
parents: 182
diff changeset
57 DECLARE_ACTUATOR (misc_floater);
49f532942eec [svn] - add floating particles.
nenolod
parents: 182
diff changeset
58
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
59 /* **************** wave **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
60 DECLARE_ACTUATOR (wave_horizontal);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
61 DECLARE_ACTUATOR (wave_vertical);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
62 DECLARE_ACTUATOR (wave_normalize);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
63 DECLARE_ACTUATOR (wave_smooth);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
64 DECLARE_ACTUATOR (wave_radial);
293
4f5983e02cbd [svn] - hook up scope
nenolod
parents: 278
diff changeset
65 DECLARE_ACTUATOR (wave_scope);
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
66
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
67 /* **************** xform **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
68 DECLARE_ACTUATOR (xform_spin);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
69 DECLARE_ACTUATOR (xform_ripple);
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
70 DECLARE_ACTUATOR (xform_bump_spin);
273
fac0b72ee0de [svn] - add halfrender transform, and a new preset which demonstrates what it can do.
nenolod
parents: 272
diff changeset
71 DECLARE_ACTUATOR (xform_halfrender);
333
afc61c0efc05 [svn] - add Trans / Movement implementation
nenolod
parents: 293
diff changeset
72 DECLARE_ACTUATOR (xform_movement);
336
8554beb862c0 [svn] - implement AVS-like Trans / Dynamic Movement
nenolod
parents: 333
diff changeset
73 DECLARE_ACTUATOR (xform_dynmovement);
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
74
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
75 /* **************** builtin_table **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
76 struct pn_actuator_desc *builtin_table[] =
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
77 {
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
78 /* **************** containers **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
79 &builtin_container_simple,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
80 &builtin_container_once,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
81 &builtin_container_cycle,
171
9e51ffaca177 [svn] - add OnBeat container. children are only iterated on a detected beat.
nenolod
parents: 149
diff changeset
82 &builtin_container_onbeat,
9e51ffaca177 [svn] - add OnBeat container. children are only iterated on a detected beat.
nenolod
parents: 149
diff changeset
83
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
84 /* **************** cmaps **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
85 &builtin_cmap_bwgradient,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
86 &builtin_cmap_gradient,
338
d517fc608e89 [svn] - some more presets
nenolod
parents: 336
diff changeset
87 &builtin_cmap_dynamic,
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
88 /* **************** freq **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
89 &builtin_freq_dots,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
90 &builtin_freq_drops,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
91 /* **************** general **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
92 &builtin_general_fade,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
93 &builtin_general_blur,
174
3d98be3d74c2 [svn] - mosaic effect (in progress, custom size will be in the next commit)
nenolod
parents: 171
diff changeset
94 &builtin_general_mosaic,
177
6880934d11bf [svn] - add "Clear Surface" instruction.
nenolod
parents: 174
diff changeset
95 &builtin_general_clear,
179
b44ab11a64c2 [svn] - NOOP instruction. What this does is basically takes a slot in a
nenolod
parents: 178
diff changeset
96 &builtin_general_noop,
181
156d6c875ef0 [svn] - add value invert filter
nenolod
parents: 179
diff changeset
97 &builtin_general_invert,
182
6048abdac7d1 [svn] - add value replace filter, replaces a range of values with a different value
nenolod
parents: 181
diff changeset
98 &builtin_general_replace,
271
b166ce84af57 [svn] - add swap surface
nenolod
parents: 186
diff changeset
99 &builtin_general_swap,
272
d8cefe8ce6e6 [svn] - add copy surface
nenolod
parents: 271
diff changeset
100 &builtin_general_copy,
278
8f4dc0d63925 [svn] - add surface flip
nenolod
parents: 273
diff changeset
101 &builtin_general_flip,
1177
a7c98f237b03 [svn] - add general_evaluate which can run arbitrary VM code
nenolod
parents: 338
diff changeset
102 &builtin_general_evaluate,
186
49f532942eec [svn] - add floating particles.
nenolod
parents: 182
diff changeset
103 /* **************** misc **************** */
49f532942eec [svn] - add floating particles.
nenolod
parents: 182
diff changeset
104 &builtin_misc_floater,
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
105 /* **************** wave **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
106 &builtin_wave_horizontal,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
107 &builtin_wave_vertical,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
108 &builtin_wave_normalize,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
109 &builtin_wave_smooth,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
110 &builtin_wave_radial,
293
4f5983e02cbd [svn] - hook up scope
nenolod
parents: 278
diff changeset
111 &builtin_wave_scope,
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
112 /* **************** xform **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
113 &builtin_xform_spin,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
114 &builtin_xform_ripple,
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
115 &builtin_xform_bump_spin,
273
fac0b72ee0de [svn] - add halfrender transform, and a new preset which demonstrates what it can do.
nenolod
parents: 272
diff changeset
116 &builtin_xform_halfrender,
333
afc61c0efc05 [svn] - add Trans / Movement implementation
nenolod
parents: 293
diff changeset
117 &builtin_xform_movement,
336
8554beb862c0 [svn] - implement AVS-like Trans / Dynamic Movement
nenolod
parents: 333
diff changeset
118 &builtin_xform_dynmovement,
149
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
119 /* **************** the end! **************** */
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
120 NULL
fd9c0a5871ac [svn] - new and IMPROVED paranormal visualization studio
nenolod
parents:
diff changeset
121 };