xine-lib: xine-lib-1.2.12/src/post/goom/goom_plugin_info.h Source File

xine-lib 1.2.12

goom_plugin_info.h
Go to the documentation of this file.
1#ifndef _PLUGIN_INFO_H
2#define _PLUGIN_INFO_H
3
4#include "goom_typedefs.h"
5
6#include "goom_config.h"
7
8#include "goom_graphic.h"
9#include "goom_config_param.h"
10#include "goom_visual_fx.h"
11#include "goom_filters.h"
12#include "goom_tools.h"
13#include "goomsl.h"
14
15 typedef struct {
16 char drawIFS;
17 char drawPoints;
18 char drawTentacle;
19
20 char drawScope;
21 int farScope;
22
23 int rangemin;
24 int rangemax;
25} GoomState;
26
27#define STATES_MAX_NB 128
28
32 struct _SOUND_INFO {
33
34 /* nota : a Goom is just a sound event... */
35
36 int timeSinceLastGoom; /* >= 0 */
37 float goomPower; /* power of the last Goom [0..1] */
38
39 int timeSinceLastBigGoom; /* >= 0 */
40
41 float volume; /* [0..1] */
42 short samples[2][512];
43
44 /* other "internal" datas for the sound_tester */
45 float goom_limit; /* auto-updated limit of goom_detection */
46 float bigGoomLimit;
47 float accelvar; /* acceleration of the sound - [0..1] */
48 float speedvar; /* speed of the sound - [0..100] */
49 int allTimesMax;
50 int totalgoom; /* number of goom since last reset
51 * (a reset every 64 cycles) */
52
53 float prov_max; /* accel max since last reset */
54
55 int cycle;
56
57 /* private */
58 PluginParam volume_p;
59 PluginParam speed_p;
60 PluginParam accel_p;
61 PluginParam goom_limit_p;
62 PluginParam goom_power_p;
63 PluginParam last_goom_p;
64 PluginParam last_biggoom_p;
65 PluginParam biggoom_speed_limit_p;
66 PluginParam biggoom_factor_p;
67
68 PluginParameters params; /* contains the previously defined parameters. */
69};
70
71
75 struct _PLUGIN_INFO {
76
77 /* public datas */
78
79 int nbParams;
80 PluginParameters *params;
81
82 /* private datas */
83
84 struct _SIZE_TYPE {
85 int width;
86 int height;
87 int size; /* == screen.height * screen.width. */
88 } screen;
89
90 SoundInfo sound;
91
92 int nbVisuals;
93 VisualFX **visuals; /* pointers on all the visual fx */
94
96 VisualFX convolve_fx;
97 VisualFX star_fx;
98 VisualFX zoomFilter_fx;
99 VisualFX tentacles_fx;
100 VisualFX ifs_fx;
101
102 struct goomfont_s *font;
103
105 guint32 *pixel;
106 guint32 *back;
107 Pixel *p1, *p2;
108 Pixel *conv;
109 Pixel *outputBuf;
110
112 guint32 cycle;
113 GoomState states[STATES_MAX_NB];
114 int statesNumber;
115 int statesRangeMax;
116
117 GoomState *curGState;
118
120 GMLine *gmline1;
121 GMLine *gmline2;
122
124 int sintable[0x10000];
125
126 /* INTERNALS */
127
131 struct {
132 int lockvar; /* pour empecher de nouveaux changements */
133 int goomvar; /* boucle des gooms */
134 int loopvar; /* mouvement des points */
135 int stop_lines;
136 int ifs_incr; /* dessiner l'ifs (0 = non: > = increment) */
137 int decay_ifs; /* disparition de l'ifs */
138 int recay_ifs; /* dedisparition de l'ifs */
139 int cyclesSinceLastChange; /* nombre de Cycle Depuis Dernier Changement */
140 int drawLinesDuration; /* duree de la transition entre afficher les lignes ou pas */
141 int lineMode; /* l'effet lineaire a dessiner */
142 float switchMultAmount; /* SWITCHMULT (29.0f/30.0f) */
143 int switchIncrAmount; /* 0x7f */
144 float switchMult; /* 1.0f */
145 int switchIncr; /* = SWITCHINCR; */
146 int stateSelectionRnd;
147 int stateSelectionBlocker;
148 int previousZoomSpeed;
149 int timeOfTitleDisplay;
150 char titleText[1024];
151 ZoomFilterData zoomFilterData;
152 } update;
153
154 struct {
155 int numberOfLinesInMessage;
156 char message[0x800];
157 int affiche;
158 int longueur;
159 } update_message;
160
161 struct {
162 void (*draw_line) (Pixel *data, int x1, int y1, int x2, int y2, int col, int screenx, int screeny);
163 void (*zoom_filter) (int sizeX, int sizeY, Pixel *src, Pixel *dest, int *brutS, int *brutD, int buffratio, int precalCoef[16][16]);
164 } methods;
165
166 GoomRandom *gRandom;
167
168 /*
169 GoomSL *scanner;
170 GoomSL *main_scanner;
171 const char *main_script_str;
172 */
173};
174
175void plugin_info_init(PluginInfo *p, int nbVisual);
176
177/* i = [0..p->nbVisual-1] */
178void plugin_info_add_visual(PluginInfo *p, int i, VisualFX *visual);
179
180#endif
goom_config.h
guint32
#define guint32
Definition: goom_config.h:28
goom_config_param.h
goom_filters.h
goom_graphic.h
plugin_info_init
void plugin_info_init(PluginInfo *p, int nbVisual)
Definition: plugin_info.c:79
STATES_MAX_NB
#define STATES_MAX_NB
Definition: goom_plugin_info.h:27
plugin_info_add_visual
void plugin_info_add_visual(PluginInfo *p, int i, VisualFX *visual)
Definition: plugin_info.c:193
goom_tools.h
goom_typedefs.h
goom_visual_fx.h
goomsl.h
GoomState
Definition: goom_plugin_info.h:15
GoomState::drawPoints
char drawPoints
Definition: goom_plugin_info.h:17
GoomState::drawTentacle
char drawTentacle
Definition: goom_plugin_info.h:18
GoomState::drawIFS
char drawIFS
Definition: goom_plugin_info.h:16
GoomState::farScope
int farScope
Definition: goom_plugin_info.h:21
GoomState::drawScope
char drawScope
Definition: goom_plugin_info.h:20
GoomState::rangemin
int rangemin
Definition: goom_plugin_info.h:23
GoomState::rangemax
int rangemax
Definition: goom_plugin_info.h:24
_GMLINE
Definition: lines.h:23
_GOOM_RANDOM
Definition: goom_tools.h:10
_PARAMETERS
Definition: goom_config_param.h:93
_PARAM
Definition: goom_config_param.h:46
_PLUGIN_INFO::_SIZE_TYPE
Definition: goom_plugin_info.h:84
_PLUGIN_INFO::_SIZE_TYPE::size
int size
Definition: goom_plugin_info.h:87
_PLUGIN_INFO::_SIZE_TYPE::width
int width
Definition: goom_plugin_info.h:85
_PLUGIN_INFO::_SIZE_TYPE::height
int height
Definition: goom_plugin_info.h:86
_PLUGIN_INFO
Definition: goom_plugin_info.h:75
_PLUGIN_INFO::goomvar
int goomvar
Definition: goom_plugin_info.h:133
_PLUGIN_INFO::lockvar
int lockvar
Definition: goom_plugin_info.h:132
_PLUGIN_INFO::update
struct _PLUGIN_INFO::@42 update
_PLUGIN_INFO::draw_line
void(* draw_line)(Pixel *data, int x1, int y1, int x2, int y2, int col, int screenx, int screeny)
Definition: goom_plugin_info.h:162
_PLUGIN_INFO::loopvar
int loopvar
Definition: goom_plugin_info.h:134
_PLUGIN_INFO::longueur
int longueur
Definition: goom_plugin_info.h:158
_PLUGIN_INFO::switchMultAmount
float switchMultAmount
Definition: goom_plugin_info.h:142
_PLUGIN_INFO::timeOfTitleDisplay
int timeOfTitleDisplay
Definition: goom_plugin_info.h:149
_PLUGIN_INFO::stop_lines
int stop_lines
Definition: goom_plugin_info.h:135
_PLUGIN_INFO::convolve_fx
VisualFX convolve_fx
Definition: goom_plugin_info.h:96
_PLUGIN_INFO::gmline2
GMLine * gmline2
Definition: goom_plugin_info.h:121
_PLUGIN_INFO::gRandom
GoomRandom * gRandom
Definition: goom_plugin_info.h:166
_PLUGIN_INFO::tentacles_fx
VisualFX tentacles_fx
Definition: goom_plugin_info.h:99
_PLUGIN_INFO::font
struct goomfont_s * font
Definition: goom_plugin_info.h:102
_PLUGIN_INFO::ifs_fx
VisualFX ifs_fx
Definition: goom_plugin_info.h:100
_PLUGIN_INFO::curGState
GoomState * curGState
Definition: goom_plugin_info.h:117
_PLUGIN_INFO::stateSelectionBlocker
int stateSelectionBlocker
Definition: goom_plugin_info.h:147
_PLUGIN_INFO::statesRangeMax
int statesRangeMax
Definition: goom_plugin_info.h:115
_PLUGIN_INFO::recay_ifs
int recay_ifs
Definition: goom_plugin_info.h:138
_PLUGIN_INFO::message
char message[0x800]
Definition: goom_plugin_info.h:156
_PLUGIN_INFO::p1
Pixel * p1
Definition: goom_plugin_info.h:107
_PLUGIN_INFO::lineMode
int lineMode
Definition: goom_plugin_info.h:141
_PLUGIN_INFO::pixel
unsigned int * pixel
Definition: goom_plugin_info.h:105
_PLUGIN_INFO::previousZoomSpeed
int previousZoomSpeed
Definition: goom_plugin_info.h:148
_PLUGIN_INFO::switchMult
float switchMult
Definition: goom_plugin_info.h:144
_PLUGIN_INFO::statesNumber
int statesNumber
Definition: goom_plugin_info.h:114
_PLUGIN_INFO::screen
struct _PLUGIN_INFO::_SIZE_TYPE screen
_PLUGIN_INFO::decay_ifs
int decay_ifs
Definition: goom_plugin_info.h:137
_PLUGIN_INFO::outputBuf
Pixel * outputBuf
Definition: goom_plugin_info.h:109
_PLUGIN_INFO::methods
struct _PLUGIN_INFO::@44 methods
_PLUGIN_INFO::conv
Pixel * conv
Definition: goom_plugin_info.h:108
_PLUGIN_INFO::back
unsigned int * back
Definition: goom_plugin_info.h:106
_PLUGIN_INFO::p2
Pixel * p2
Definition: goom_plugin_info.h:107
_PLUGIN_INFO::stateSelectionRnd
int stateSelectionRnd
Definition: goom_plugin_info.h:146
_PLUGIN_INFO::sound
SoundInfo sound
Definition: goom_plugin_info.h:90
_PLUGIN_INFO::zoomFilter_fx
VisualFX zoomFilter_fx
Definition: goom_plugin_info.h:98
_PLUGIN_INFO::nbParams
int nbParams
Definition: goom_plugin_info.h:79
_PLUGIN_INFO::states
GoomState states[128]
Definition: goom_plugin_info.h:113
_PLUGIN_INFO::zoomFilterData
ZoomFilterData zoomFilterData
Definition: goom_plugin_info.h:151
_PLUGIN_INFO::cyclesSinceLastChange
int cyclesSinceLastChange
Definition: goom_plugin_info.h:139
_PLUGIN_INFO::drawLinesDuration
int drawLinesDuration
Definition: goom_plugin_info.h:140
_PLUGIN_INFO::numberOfLinesInMessage
int numberOfLinesInMessage
Definition: goom_plugin_info.h:155
_PLUGIN_INFO::switchIncrAmount
int switchIncrAmount
Definition: goom_plugin_info.h:143
_PLUGIN_INFO::nbVisuals
int nbVisuals
Definition: goom_plugin_info.h:92
_PLUGIN_INFO::star_fx
VisualFX star_fx
Definition: goom_plugin_info.h:97
_PLUGIN_INFO::zoom_filter
void(* zoom_filter)(int sizeX, int sizeY, Pixel *src, Pixel *dest, int *brutS, int *brutD, int buffratio, int precalCoef[16][16])
Definition: goom_plugin_info.h:163
_PLUGIN_INFO::switchIncr
int switchIncr
Definition: goom_plugin_info.h:145
_PLUGIN_INFO::affiche
int affiche
Definition: goom_plugin_info.h:157
_PLUGIN_INFO::update_message
struct _PLUGIN_INFO::@43 update_message
_PLUGIN_INFO::gmline1
GMLine * gmline1
Definition: goom_plugin_info.h:120
_PLUGIN_INFO::params
PluginParameters * params
Definition: goom_plugin_info.h:80
_PLUGIN_INFO::visuals
VisualFX ** visuals
Definition: goom_plugin_info.h:93
_PLUGIN_INFO::cycle
unsigned int cycle
Definition: goom_plugin_info.h:112
_PLUGIN_INFO::ifs_incr
int ifs_incr
Definition: goom_plugin_info.h:136
_PLUGIN_INFO::sintable
int sintable[0x10000]
Definition: goom_plugin_info.h:124
_SOUND_INFO
Definition: goom_plugin_info.h:32
_SOUND_INFO::biggoom_speed_limit_p
PluginParam biggoom_speed_limit_p
Definition: goom_plugin_info.h:65
_SOUND_INFO::timeSinceLastBigGoom
int timeSinceLastBigGoom
Definition: goom_plugin_info.h:39
_SOUND_INFO::goom_limit_p
PluginParam goom_limit_p
Definition: goom_plugin_info.h:61
_SOUND_INFO::goomPower
float goomPower
Definition: goom_plugin_info.h:37
_SOUND_INFO::totalgoom
int totalgoom
Definition: goom_plugin_info.h:50
_SOUND_INFO::samples
short samples[2][512]
Definition: goom_plugin_info.h:42
_SOUND_INFO::prov_max
float prov_max
Definition: goom_plugin_info.h:53
_SOUND_INFO::cycle
int cycle
Definition: goom_plugin_info.h:55
_SOUND_INFO::accel_p
PluginParam accel_p
Definition: goom_plugin_info.h:60
_SOUND_INFO::last_goom_p
PluginParam last_goom_p
Definition: goom_plugin_info.h:63
_SOUND_INFO::speedvar
float speedvar
Definition: goom_plugin_info.h:48
_SOUND_INFO::timeSinceLastGoom
int timeSinceLastGoom
Definition: goom_plugin_info.h:36
_SOUND_INFO::speed_p
PluginParam speed_p
Definition: goom_plugin_info.h:59
_SOUND_INFO::goom_power_p
PluginParam goom_power_p
Definition: goom_plugin_info.h:62
_SOUND_INFO::volume_p
PluginParam volume_p
Definition: goom_plugin_info.h:58
_SOUND_INFO::biggoom_factor_p
PluginParam biggoom_factor_p
Definition: goom_plugin_info.h:66
_SOUND_INFO::volume
float volume
Definition: goom_plugin_info.h:41
_SOUND_INFO::last_biggoom_p
PluginParam last_biggoom_p
Definition: goom_plugin_info.h:64
_SOUND_INFO::bigGoomLimit
float bigGoomLimit
Definition: goom_plugin_info.h:46
_SOUND_INFO::params
PluginParameters params
Definition: goom_plugin_info.h:68
_SOUND_INFO::allTimesMax
int allTimesMax
Definition: goom_plugin_info.h:49
_SOUND_INFO::accelvar
float accelvar
Definition: goom_plugin_info.h:47
_SOUND_INFO::goom_limit
float goom_limit
Definition: goom_plugin_info.h:45
_VISUAL_FX
Definition: goom_visual_fx.h:17
_ZOOM_FILTER_DATA
Definition: goom_filters.h:12
goomfont_s
Definition: gfontlib.c:11
_PIXEL
Definition: goom_graphic.h:55