Mercurial > audlegacy-plugins
annotate src/paranormal/builtins.c @ 3138:8e26022bb814
aac: handle premature EOF on shoutcast streams more gracefully.
in combination with the neon work, we no longer have a problem. (closes #57)
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Thu, 07 May 2009 11:14:36 -0500 |
parents | f1b6f1b2cdb3 |
children |
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 |
2835 | 17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
1892
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 | 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 | 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 | 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 | 51 DECLARE_ACTUATOR (general_swap); |
272 | 52 DECLARE_ACTUATOR (general_copy); |
278 | 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 | 56 /* **************** misc **************** */ |
57 DECLARE_ACTUATOR (misc_floater); | |
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 | 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 | 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 | 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 | 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 | 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 | 99 &builtin_general_swap, |
272 | 100 &builtin_general_copy, |
278 | 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 | 103 /* **************** misc **************** */ |
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 | 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 | 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 }; |