1 #ifndef _INF_MAIN_H 2 #define _INF_MAIN_H 3 4 #include <libvisual/libvisual.h> 5 6 #define NB_PALETTES 5 7 8 struct infinite_col { 9 uint8_t r; 10 uint8_t g; 11 uint8_t b; 12 }; 13 14 typedef struct t_coord { 15 int x,y; 16 } t_coord; 17 18 typedef struct t_complex { 19 float x,y; 20 } t_complex; 21 22 typedef struct t_interpol { 23 uint32_t coord ; //coordinates of the top left pixel. 24 uint32_t weight; //32 bits = 4*8= weights of the four corners 25 } t_interpol; 26 27 typedef struct t_effect { 28 int num_effect; 29 int x_curve; 30 int curve_color; 31 int curve_amplitude; 32 int spectral_amplitude; 33 int spectral_color; 34 int mode_spectre; 35 int spectral_shift; 36 } t_effect; 37 38 typedef struct { 39 float pcm_data[2][512]; 40 int plugwidth; 41 int plugheight; 42 VisPalette pal; 43 44 /* Random context for this plugin */ 45 VisRandomContext *rcontext; 46 47 uint8_t *surface1; 48 uint8_t *surface2; 49 50 int teff; 51 int tcol; 52 53 struct infinite_col color_table[NB_PALETTES][256]; 54 55 int old_color; 56 int color; 57 int t_last_color; 58 int t_last_effect; 59 60 t_effect current_effect; 61 t_interpol *vector_field; 62 } InfinitePrivate; 63 64 #endif /* _INF_MAIN_H */ 65