xine-lib  1.2.9
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;
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] */
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 */
67 
68  PluginParameters params; /* contains the previously defined parameters. */
69 };
70 
71 
75 struct _PLUGIN_INFO {
76 
77  /* public datas */
78 
79  int nbParams;
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 
91 
92  int nbVisuals;
93  VisualFX **visuals; /* pointers on all the visual fx */
94 
101 
102  struct goomfont_s *font;
103 
107  Pixel *p1, *p2;
110 
116 
118 
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 */
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; */
150  char titleText[1024];
152  } update;
153 
154  struct {
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 
167 
168  /*
169  GoomSL *scanner;
170  GoomSL *main_scanner;
171  const char *main_script_str;
172  */
173 };
174 
175 void plugin_info_init(PluginInfo *p, int nbVisual);
176 
177 /* i = [0..p->nbVisual-1] */
178 void plugin_info_add_visual(PluginInfo *p, int i, VisualFX *visual);
179 
180 #endif
Definition: gfontlib.c:11
GoomRandom * gRandom
Definition: goom_plugin_info.h:166
float switchMultAmount
Definition: goom_plugin_info.h:142
struct _PLUGIN_INFO::@32 update
GoomState states[128]
Definition: goom_plugin_info.h:113
VisualFX ifs_fx
Definition: goom_plugin_info.h:100
int lineMode
Definition: goom_plugin_info.h:141
char titleText[1024]
Definition: goom_plugin_info.h:150
int decay_ifs
Definition: goom_plugin_info.h:137
float speedvar
Definition: goom_plugin_info.h:48
int totalgoom
Definition: goom_plugin_info.h:50
int statesNumber
Definition: goom_plugin_info.h:114
int statesRangeMax
Definition: goom_plugin_info.h:115
Definition: goom_visual_fx.h:17
void plugin_info_init(PluginInfo *p, int nbVisual)
Definition: plugin_info.c:77
PluginParam volume_p
Definition: goom_plugin_info.h:58
int size
Definition: goom_plugin_info.h:87
char drawTentacle
Definition: goom_plugin_info.h:18
Definition: goom_plugin_info.h:15
float volume
Definition: goom_plugin_info.h:41
int loopvar
Definition: goom_plugin_info.h:134
int farScope
Definition: goom_plugin_info.h:21
int allTimesMax
Definition: goom_plugin_info.h:49
int stateSelectionRnd
Definition: goom_plugin_info.h:146
struct _PLUGIN_INFO::@34 methods
int affiche
Definition: goom_plugin_info.h:157
int recay_ifs
Definition: goom_plugin_info.h:138
VisualFX zoomFilter_fx
Definition: goom_plugin_info.h:98
unsigned int cycle
Definition: goom_plugin_info.h:112
VisualFX star_fx
Definition: goom_plugin_info.h:97
int lockvar
Definition: goom_plugin_info.h:132
VisualFX ** visuals
Definition: goom_plugin_info.h:93
int switchIncr
Definition: goom_plugin_info.h:145
#define STATES_MAX_NB
Definition: goom_plugin_info.h:27
float switchMult
Definition: goom_plugin_info.h:144
int rangemin
Definition: goom_plugin_info.h:23
Pixel * p1
Definition: goom_plugin_info.h:107
int height
Definition: goom_plugin_info.h:86
Definition: goom_filters.h:11
GoomState * curGState
Definition: goom_plugin_info.h:117
Definition: goom_graphic.h:55
char drawScope
Definition: goom_plugin_info.h:20
int previousZoomSpeed
Definition: goom_plugin_info.h:148
int timeSinceLastBigGoom
Definition: goom_plugin_info.h:39
Definition: lines.h:22
PluginParam goom_power_p
Definition: goom_plugin_info.h:62
int ifs_incr
Definition: goom_plugin_info.h:136
PluginParam last_goom_p
Definition: goom_plugin_info.h:63
void plugin_info_add_visual(PluginInfo *p, int i, VisualFX *visual)
Definition: plugin_info.c:191
char drawPoints
Definition: goom_plugin_info.h:17
char message[0x800]
Definition: goom_plugin_info.h:156
PluginParam biggoom_speed_limit_p
Definition: goom_plugin_info.h:65
PluginParam goom_limit_p
Definition: goom_plugin_info.h:61
float prov_max
Definition: goom_plugin_info.h:53
float accelvar
Definition: goom_plugin_info.h:47
SoundInfo sound
Definition: goom_plugin_info.h:90
Definition: goom_config_param.h:46
unsigned int * pixel
Definition: goom_plugin_info.h:105
GMLine * gmline2
Definition: goom_plugin_info.h:121
PluginParam speed_p
Definition: goom_plugin_info.h:59
int sintable[0x10000]
Definition: goom_plugin_info.h:124
#define guint32
Definition: goom_config.h:28
VisualFX tentacles_fx
Definition: goom_plugin_info.h:99
int switchIncrAmount
Definition: goom_plugin_info.h:143
Definition: goom_plugin_info.h:75
VisualFX convolve_fx
Definition: goom_plugin_info.h:96
PluginParam last_biggoom_p
Definition: goom_plugin_info.h:64
int goomvar
Definition: goom_plugin_info.h:133
short samples[2][512]
Definition: goom_plugin_info.h:42
Definition: goom_tools.h:10
int drawLinesDuration
Definition: goom_plugin_info.h:140
int nbVisuals
Definition: goom_plugin_info.h:92
Definition: goom_plugin_info.h:84
PluginParam accel_p
Definition: goom_plugin_info.h:60
Definition: goom_config_param.h:95
int rangemax
Definition: goom_plugin_info.h:24
int stateSelectionBlocker
Definition: goom_plugin_info.h:147
int timeOfTitleDisplay
Definition: goom_plugin_info.h:149
int nbParams
Definition: goom_plugin_info.h:79
float goom_limit
Definition: goom_plugin_info.h:45
struct _PLUGIN_INFO::_SIZE_TYPE screen
float bigGoomLimit
Definition: goom_plugin_info.h:46
unsigned int * back
Definition: goom_plugin_info.h:106
int stop_lines
Definition: goom_plugin_info.h:135
struct _PLUGIN_INFO::@33 update_message
int cycle
Definition: goom_plugin_info.h:55
ZoomFilterData zoomFilterData
Definition: goom_plugin_info.h:151
PluginParam biggoom_factor_p
Definition: goom_plugin_info.h:66
char drawIFS
Definition: goom_plugin_info.h:16
struct goomfont_s * font
Definition: goom_plugin_info.h:102
Pixel * conv
Definition: goom_plugin_info.h:108
Pixel * p2
Definition: goom_plugin_info.h:107
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
int cyclesSinceLastChange
Definition: goom_plugin_info.h:139
int timeSinceLastGoom
Definition: goom_plugin_info.h:36
int numberOfLinesInMessage
Definition: goom_plugin_info.h:155
int width
Definition: goom_plugin_info.h:85
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
Pixel * outputBuf
Definition: goom_plugin_info.h:109
float goomPower
Definition: goom_plugin_info.h:37
PluginParameters * params
Definition: goom_plugin_info.h:80
Definition: goom_plugin_info.h:32
int longueur
Definition: goom_plugin_info.h:158
PluginParameters params
Definition: goom_plugin_info.h:68
GMLine * gmline1
Definition: goom_plugin_info.h:120