xine-lib: xine-lib-1.2.12/src/post/goom/goom_core.c File Reference

xine-lib 1.2.12

Macros | Functions
goom_core.c File Reference
`#include <math.h>`
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include <inttypes.h>`
`#include "goom.h"`
`#include "goom_tools.h"`
`#include "goom_filters.h"`
`#include "lines.h"`
`#include "ifs.h"`
`#include "tentacle3d.h"`
`#include "gfontlib.h"`
`#include "sound_tester.h"`
`#include "goom_plugin_info.h"`
`#include "goom_fx.h"`
`#include <xine/xine_internal.h>`

## Macros
#define | STOP_SPEED 128
#define | TIME_BTW_CHG 300
#define | ECART_VARIATION 1.5
#define | POS_VARIATION 3.0
#define | SCROLLING_SPEED 80

## Functions
static void | choose_a_goom_line (PluginInfo *goomInfo, float *param1, float *param2, int *couleur, int *mode, float *amplitude, int isfar)
static void | update_message (PluginInfo *goomInfo, char *message)
static void | init_buffers (PluginInfo *goomInfo, int buffsize)
PluginInfo * | goom_init (unsigned int resx, unsigned int resy)
void | goom_set_resolution (PluginInfo *goomInfo, unsigned int resx, unsigned int resy)
int | goom_set_screenbuffer (PluginInfo *goomInfo, void *buffer)
unsigned int * | goom_update (PluginInfo *goomInfo, signed short int data[2][512], int forceMode, float fps, char *songTitle, char *message)
void | goom_close (PluginInfo *goomInfo)

## Macro Definition Documentation

## ◆ ECART_VARIATION

#define ECART_VARIATION 1.5

## ◆ POS_VARIATION

#define POS_VARIATION 3.0

## ◆ SCROLLING_SPEED

#define SCROLLING_SPEED 80

## ◆ STOP_SPEED

#define STOP_SPEED 128

file: goom_core.c author: Jean-Christophe Hoelt (which is not so proud of it)

Contains the core of goom's work.

(c)2000-2003, by iOS-software.

## ◆ TIME_BTW_CHG

#define TIME_BTW_CHG 300

## Function Documentation

## ◆ choose_a_goom_line()

void choose_a_goom_line | ( | PluginInfo * | goomInfo,
|  | float * | param1,
|  | float * | param2,
|  | int * | couleur,
|  | int * | mode,
|  | float * | amplitude,
|  | int | isfar
| ) |  |
| static

References GML_CIRCLE, GML_HLINE, GML_VLINE, goom_irand(), _PLUGIN_INFO::gRandom, _PLUGIN_INFO::_SIZE_TYPE::height, mode(), _PLUGIN_INFO::screen, and _PLUGIN_INFO::_SIZE_TYPE::width.

Referenced by goom_update().

## ◆ goom_close()

void goom_close | ( | PluginInfo * | goomInfo | ) |

References _PLUGIN_INFO::back, _PLUGIN_INFO::conv, _PLUGIN_INFO::convolve_fx, _PLUGIN_INFO::font, _VISUAL_FX::free, gfont_unload(), _PLUGIN_INFO::gmline1, _PLUGIN_INFO::gmline2, goom_lines_free(), goom_random_free(), _PLUGIN_INFO::gRandom, _PLUGIN_INFO::ifs_fx, NULL, _PARAMETERS::params, _SOUND_INFO::params, _PLUGIN_INFO::params, _PLUGIN_INFO::pixel, _PLUGIN_INFO::sound, _PLUGIN_INFO::star_fx, _PLUGIN_INFO::tentacles_fx, _PLUGIN_INFO::visuals, and _PLUGIN_INFO::zoomFilter_fx.

Referenced by goom_dispose(), and goom_port_put_buffer().

## ◆ goom_init()

PluginInfo * goom_init | ( | unsigned int | resx,
|  | unsigned int | resy
| ) |  |

References convolve_create(), _PLUGIN_INFO::convolve_fx, _PLUGIN_INFO::cycle, flying_star_create(), _PLUGIN_INFO::font, gfont_load(), GML_BLACK, GML_CIRCLE, GML_HLINE, GML_RED, GML_VERT, _PLUGIN_INFO::gmline1, _PLUGIN_INFO::gmline2, goom_lines_init(), goom_random_init(), _PLUGIN_INFO::gRandom, _PLUGIN_INFO::_SIZE_TYPE::height, _PLUGIN_INFO::ifs_fx, ifs_visualfx_create(), _VISUAL_FX::init, init_buffers(), _PLUGIN_INFO::pixel, plugin_info_add_visual(), plugin_info_init(), _PLUGIN_INFO::screen, _PLUGIN_INFO::_SIZE_TYPE::size, _PLUGIN_INFO::star_fx, tentacle_fx_create(), _PLUGIN_INFO::tentacles_fx, _PLUGIN_INFO::_SIZE_TYPE::width, _PLUGIN_INFO::zoomFilter_fx, and zoomFilterVisualFXWrapper_create().

Referenced by goom_open_plugin(), and goom_port_put_buffer().

## ◆ goom_set_resolution()

void goom_set_resolution | ( | PluginInfo * | goomInfo,
|  | unsigned int | resx,
|  | unsigned int | resy
| ) |  |

References _PLUGIN_INFO::back, _PLUGIN_INFO::conv, _VISUAL_FX::free, _PLUGIN_INFO::gmline1, _PLUGIN_INFO::gmline2, goom_lines_set_res(), _PLUGIN_INFO::_SIZE_TYPE::height, _PLUGIN_INFO::ifs_fx, _VISUAL_FX::init, init_buffers(), _PLUGIN_INFO::pixel, _PLUGIN_INFO::screen, _PLUGIN_INFO::_SIZE_TYPE::size, and _PLUGIN_INFO::_SIZE_TYPE::width.

## ◆ goom_set_screenbuffer()

int goom_set_screenbuffer | ( | PluginInfo * | goomInfo,
|  | void * | buffer
| ) |  |

References _PLUGIN_INFO::outputBuf.

## ◆ goom_update()

unsigned int * goom_update | ( | PluginInfo * | goomInfo,
|  | signed short int | data[2][512],
|  | int | forceMode,
|  | float | fps,
|  | char * | songTitle,
|  | char * | message
| ) |  |

References AMULETTE_MODE, _VISUAL_FX::apply, BLACK, choose_a_goom_line(), CRYSTAL_BALL_MODE, _PLUGIN_INFO::curGState, _PLUGIN_INFO::cycle, _PLUGIN_INFO::cyclesSinceLastChange, _PLUGIN_INFO::decay_ifs, GoomState::drawIFS, _PLUGIN_INFO::drawLinesDuration, GoomState::drawPoints, GoomState::drawScope, evaluate_sound(), _PLUGIN_INFO::font, GML_BLACK, _PLUGIN_INFO::gmline1, _PLUGIN_INFO::gmline2, goom_draw_text(), goom_irand(), goom_lines_draw(), goom_lines_switch_to(), _PLUGIN_INFO::goomvar, _PLUGIN_INFO::gRandom, guint32, _PLUGIN_INFO::_SIZE_TYPE::height, _ZOOM_FILTER_DATA::hPlaneEffect, HYPERCOS1_MODE, HYPERCOS2_MODE, _ZOOM_FILTER_DATA::hypercosEffect, _PLUGIN_INFO::ifs_fx, _PLUGIN_INFO::ifs_incr, _PLUGIN_INFO::lineMode, _PLUGIN_INFO::lockvar, _PLUGIN_INFO::loopvar, _ZOOM_FILTER_DATA::middleX, _ZOOM_FILTER_DATA::middleY, mode(), _ZOOM_FILTER_DATA::mode, NB_FX, _ZOOM_FILTER_DATA::noisify, NORMAL_MODE, NULL, ORANGE, _PLUGIN_INFO::outputBuf, _PLUGIN_INFO::p1, _PLUGIN_INFO::p2, _ZOOM_FILTER_DATA::pertedec, pointFilter(), _GMLINE::power, _PLUGIN_INFO::previousZoomSpeed, GoomState::rangemax, GoomState::rangemin, _PLUGIN_INFO::recay_ifs, _ZOOM_FILTER_DATA::reverse, _PLUGIN_INFO::screen, SCRUNCH_MODE, _PLUGIN_INFO::_SIZE_TYPE::size, _PLUGIN_INFO::sound, _SOUND_INFO::speedvar, SPEEDWAY_MODE, _ZOOM_FILTER_DATA::sqrtperte, _PLUGIN_INFO::star_fx, _PLUGIN_INFO::states, _PLUGIN_INFO::stateSelectionBlocker, _PLUGIN_INFO::stateSelectionRnd, _PLUGIN_INFO::statesNumber, _PLUGIN_INFO::statesRangeMax, _PLUGIN_INFO::stop_lines, STOP_SPEED, _PLUGIN_INFO::switchIncr, _PLUGIN_INFO::switchIncrAmount, _PLUGIN_INFO::switchMult, _PLUGIN_INFO::switchMultAmount, _PLUGIN_INFO::tentacles_fx, TIME_BTW_CHG, _PLUGIN_INFO::timeOfTitleDisplay, _SOUND_INFO::timeSinceLastGoom, _PLUGIN_INFO::titleText, _SOUND_INFO::totalgoom, _PLUGIN_INFO::update, update_message(), VIOLET, _ZOOM_FILTER_DATA::vitesse, _SOUND_INFO::volume, _ZOOM_FILTER_DATA::vPlaneEffect, WATER_MODE, WAVE_MODE, _ZOOM_FILTER_DATA::waveEffect, WHITE, _PLUGIN_INFO::_SIZE_TYPE::width, xine_fast_memcpy, YELLOW, YONLY_MODE, _PLUGIN_INFO::zoomFilterData, and zoomFilterFastRGB().

Referenced by goom_port_put_buffer().

## ◆ init_buffers()

static void init_buffers | ( | PluginInfo * | goomInfo,
|  | int | buffsize
| ) |  |
| static

References _PLUGIN_INFO::back, _PLUGIN_INFO::conv, guint32, _PLUGIN_INFO::outputBuf, _PLUGIN_INFO::p1, _PLUGIN_INFO::p2, and _PLUGIN_INFO::pixel.

Referenced by goom_init(), and goom_set_resolution().

## ◆ update_message()

void update_message | ( | PluginInfo * | goomInfo,
|  | char * | message
| ) |  |
| static

References _PLUGIN_INFO::affiche, ECART_VARIATION, _PLUGIN_INFO::font, goom_draw_text(), _PLUGIN_INFO::_SIZE_TYPE::height, _PLUGIN_INFO::longueur, _PLUGIN_INFO::message, _PLUGIN_INFO::numberOfLinesInMessage, _PLUGIN_INFO::p1, POS_VARIATION, _PLUGIN_INFO::screen, SCROLLING_SPEED, _PLUGIN_INFO::update_message, and _PLUGIN_INFO::_SIZE_TYPE::width.

Referenced by goom_update().