zenilib: zenilib/jni/external/openal-soft/Alc/alcEcho.c File Reference

zenilib 0.5.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Typedefs | Functions
alcEcho.c File Reference
`#include "config.h"`
`#include <math.h>`
`#include <stdlib.h>`
`#include "alMain.h"`
`#include "alFilter.h"`
`#include "alAuxEffectSlot.h"`
`#include "alError.h"`
`#include "alu.h"`

Go to the source code of this file.

## Typedefs

typedef struct ALechoState | ALechoState

## Functions

ALeffectState * | EchoCreate (void)
static ALvoid | EchoDestroy (ALeffectState *effect)
static ALboolean | EchoDeviceUpdate (ALeffectState *effect, ALCdevice *Device)
static ALvoid | EchoProcess (ALeffectState *effect, ALuint SamplesToDo, const ALfloat *RESTRICT SamplesIn, ALfloat(*RESTRICT SamplesOut)[BUFFERSIZE])
static ALvoid | EchoUpdate (ALeffectState *effect, ALCdevice *Device, const ALeffectslot *Slot)

## Typedef Documentation

typedef struct ALechoState ALechoState

OpenAL cross platform audio library Copyright (C) 2009 by Chris Robinson. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Or go to http://www.gnu.org/copyleft/lgpl.html

## Function Documentation

ALeffectState* EchoCreate | ( | void |  | ) |

Definition at line 159 of file alcEcho.c.

References EchoDestroy(), EchoDeviceUpdate(), EchoProcess(), EchoUpdate(), malloc, and NULL.

Referenced by InitializeEffect().

static ALvoid EchoDestroy | ( | ALeffectState * | effect | ) |

static

Definition at line 55 of file alcEcho.c.

References free, and NULL.

Referenced by EchoCreate().

static ALboolean EchoDeviceUpdate | ( | ALeffectState * | effect,
|  | ALCdevice * | Device
| ) |  |

static

Definition at line 66 of file alcEcho.c.

References AL_ECHO_MAX_DELAY, AL_ECHO_MAX_LRDELAY, AL_FALSE, AL_TRUE, fastf2u(), ALCdevice_struct::Frequency, i, NextPowerOf2(), and realloc.

Referenced by EchoCreate().

static ALvoid EchoProcess | ( | ALeffectState * | effect,
|  | ALuint | SamplesToDo,
|  | const ALfloat *RESTRICT | SamplesIn,
|  | ALfloat(*) | SamplesOut[BUFFERSIZE]
| ) |  |

static

Definition at line 129 of file alcEcho.c.

References i, k, lpFilter2P(), and MaxChannels.

Referenced by EchoCreate().

static ALvoid EchoUpdate | ( | ALeffectState * | effect,
|  | ALCdevice * | Device,
|  | const ALeffectslot * | Slot
| ) |  |

static

Definition at line 93 of file alcEcho.c.

References ComputeAngleGains(), ALeffect::Damping, ALeffect::Delay, ALeffect::Echo, ALeffectslot::effect, F_PI, fastf2u(), ALeffect::Feedback, ALCdevice_struct::Frequency, ALeffectslot::Gain, i, LOWPASSFREQREF, lpCoeffCalc(), ALeffect::LRDelay, MaxChannels, and ALeffect::Spread.

Referenced by EchoCreate().