О немО себе[code]/maps/
[code] | 4D | Modules | Sound | al.h
kMaps
4D
  Core
  Modules
    GUI
    Sound
      lib
      Sound___Win32_Debug
      dlls
      VTune
      NVS
      Ogg
      VS
      vorbis
        soundbuffer.h
        soundsource.cpp
        alu.h
        alut.h
        stdafx.h
        soundbuffer.cpp
        al.h
        remsnd.cpp
        soundsys.h
        stdafx.cpp
        alctypes.h
        alinit.h
        soundsource.h
        alc.h
        alinit.cpp
        soundsys.cpp
        remsnd.h
        altypes.h
    AI
    Quest
    TokaPH
    Terrain
  PlugIns
  auto_registrator_cc.c
  array-speed.php
  time.php
  auto_registrator.c
  ed_line.c
  SparseTileLayer.js
  codeZ.php
  ed_line.cc.c
 
#ifndef _AL_H_
#define _AL_H_

/**
 * OpenAL cross platform audio library
 * Copyright (C) 1999-2000 by authors.
 * 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
 */
#include "altypes.h"

#ifdef __cplusplus
extern "C" {
#endif

#ifdef _WIN32
 #ifdef _OPENAL32LIB
  #define ALAPI __declspec(dllexport)
 #else
  #define ALAPI __declspec(dllimport)
 #endif
 #define ALAPIENTRY __cdecl
 #define AL_CALLBACK
#else
 #ifdef TARGET_OS_MAC
  #if TARGET_OS_MAC
   #pragma export on
  #endif
 #endif
 #define ALAPI
 #define ALAPIENTRY __cdecl
 #define AL_CALLBACK
#endif

#define OPENAL

#ifndef AL_NO_PROTOTYPES

/**
 * OpenAL Maintenance Functions
 * Initialization and exiting.
 * State Management and Query.
 * Error Handling.
 * Extension Support.
 */

/** State management. */
ALAPI ALvoid    ALAPIENTRY alEnableALenum capability );
ALAPI ALvoid    ALAPIENTRY alDisableALenum capability ); 
ALAPI ALboolean ALAPIENTRY alIsEnabledALenum capability ); 

/** Application preferences for driver performance choices. */
ALAPI ALvoid    ALAPIENTRY alHintALenum targetALenum mode );

/** State retrieval. */
ALAPI ALboolean ALAPIENTRY alGetBooleanALenum param );
ALAPI ALint        ALAPIENTRY alGetIntegerALenum param );
ALAPI ALfloat    ALAPIENTRY alGetFloatALenum param );
ALAPI ALdouble    ALAPIENTRY alGetDoubleALenum param );
ALAPI ALvoid    ALAPIENTRY alGetBooleanvALenum paramALbooleandata );
ALAPI ALvoid    ALAPIENTRY alGetIntegervALenum paramALintdata );
ALAPI ALvoid    ALAPIENTRY alGetFloatvALenum paramALfloatdata );
ALAPI ALvoid    ALAPIENTRY alGetDoublevALenum paramALdoubledata );
ALAPI ALubyte*    ALAPIENTRY alGetStringALenum param );

/**
 * Error support.
 * Obtain the most recent error generated in the AL state machine.
 */
ALAPI ALenum    ALAPIENTRY alGetErrorALvoid );


/** 
 * Extension support.
 * Obtain the address of a function (usually an extension)
 *  with the name fname. All addresses are context-independent. 
 */
ALAPI ALboolean ALAPIENTRY alIsExtensionPresentALubytefname );


/** 
 * Extension support.
 * Obtain the address of a function (usually an extension)
 *  with the name fname. All addresses are context-independent. 
 */
ALAPI ALvoid*    ALAPIENTRY alGetProcAddressALubytefname );


/**
 * Extension support.
 * Obtain the integer value of an enumeration (usually an extension) with the name ename. 
 */
ALAPI ALenum    ALAPIENTRY alGetEnumValueALubyteename );




/**
 * LISTENER
 * Listener is the sample position for a given context.
 * The multi-channel (usually stereo) output stream generated
 *  by the mixer is parametrized by this Listener object:
 *  its position and velocity relative to Sources, within
 *  occluder and reflector geometry.
 */



/**
 *
 * Listener Environment:  default 0.
 */
ALAPI ALvoid    ALAPIENTRY alListeneriALenum paramALint value );


/**
 *
 * Listener Gain:  default 1.0f.
 */
ALAPI ALvoid    ALAPIENTRY alListenerfALenum paramALfloat value );


/**  
 *
 * Listener Position.
 * Listener Velocity.
 */
ALAPI ALvoid    ALAPIENTRY alListener3fALenum paramALfloat v1ALfloat v2ALfloat v3 ); 


/**
 *
 * Listener Position:        ALfloat[3]
 * Listener Velocity:        ALfloat[3]
 * Listener Orientation:     ALfloat[6]  (forward and up vector).
 */
ALAPI ALvoid    ALAPIENTRY alListenerfvALenum paramALfloatvalues ); 

ALAPI ALvoid    ALAPIENTRY alGetListeneriALenum paramALintvalue );
ALAPI ALvoid    ALAPIENTRY alGetListenerfALenum paramALfloatvalue );
ALAPI ALvoid    ALAPIENTRY alGetListener3fALenum paramALfloatv1ALfloatv2ALfloatv3 ); 
ALAPI ALvoid    ALAPIENTRY alGetListenerfvALenum paramALfloatvalues ); 


/**
 * SOURCE
 * Source objects are by default localized. Sources
 *  take the PCM data provided in the specified Buffer,
 *  apply Source-specific modifications, and then
 *  submit them to be mixed according to spatial 
 *  arrangement etc.
 */



/** Create Source objects. */
ALAPI ALvoid    ALAPIENTRY alGenSourcesALsizei nALuintsources ); 

/** Delete Source objects. */
ALAPI ALvoid    ALAPIENTRY alDeleteSourcesALsizei nALuintsources );

/** Verify a handle is a valid Source. */ 
ALAPI ALboolean ALAPIENTRY alIsSourceALuint id ); 

/** Set an integer parameter for a Source object. */
ALAPI ALvoid    ALAPIENTRY alSourceiALuint sourceALenum paramALint value ); 
ALAPI ALvoid    ALAPIENTRY alSourcefALuint sourceALenum paramALfloat value ); 
ALAPI ALvoid    ALAPIENTRY alSource3fALuint sourceALenum paramALfloat v1ALfloat v2ALfloat v3 );
ALAPI ALvoid    ALAPIENTRY alSourcefvALuint sourceALenum paramALfloatvalues ); 

/** Get an integer parameter for a Source object. */
ALAPI ALvoid    ALAPIENTRY alGetSourceiALuint source,  ALenum paramALintvalue );
ALAPI ALvoid    ALAPIENTRY alGetSourcefALuint source,  ALenum paramALfloatvalue );
ALAPI ALvoid    ALAPIENTRY alGetSource3fALuint source,  ALenum paramALfloatv1ALfloatv2ALfloatv3 );
ALAPI ALvoid    ALAPIENTRY alGetSourcefvALuint sourceALenum paramALfloatvalues );

ALAPI ALvoid    ALAPIENTRY alSourcePlayvALsizei nALuint *sources );
ALAPI ALvoid    ALAPIENTRY alSourcePausevALsizei nALuint *sources );
ALAPI ALvoid    ALAPIENTRY alSourceStopvALsizei nALuint *sources );
ALAPI ALvoid    ALAPIENTRY alSourceRewindv(ALsizei n,ALuint *sources);

/** Activate a source, start replay. */
ALAPI ALvoid    ALAPIENTRY alSourcePlayALuint source );

/**
 * Pause a source, 
 *  temporarily remove it from the mixer list.
 */
ALAPI ALvoid    ALAPIENTRY alSourcePauseALuint source );

/**
 * Stop a source,
 *  temporarily remove it from the mixer list,
 *  and reset its internal state to pre-Play.
 * To remove a Source completely, it has to be
 *  deleted following Stop, or before Play.
 */
ALAPI ALvoid    ALAPIENTRY alSourceStopALuint source );

/**
 * Rewinds a source, 
 *  temporarily remove it from the mixer list,
 *  and reset its internal state to pre-Play.
 */
ALAPI ALvoid    ALAPIENTRY alSourceRewindALuint source );



/**
 * BUFFER
 * Buffer objects are storage space for sample data.
 * Buffers are referred to by Sources. There can be more than
 *  one Source using the same Buffer data. If Buffers have
 *  to be duplicated on a per-Source basis, the driver has to
 *  take care of allocation, copying, and deallocation as well
 *  as propagating buffer data changes.
 */




/** Buffer object generation. */
ALAPI ALvoid     ALAPIENTRY alGenBuffersALsizei nALuintbuffers );
ALAPI ALvoid    ALAPIENTRY alDeleteBuffersALsizei nALuintbuffers );
ALAPI ALboolean ALAPIENTRY alIsBufferALuint buffer );

/**
 * Specify the data to be filled into a buffer.
 */
ALAPI ALvoid    ALAPIENTRY alBufferDataALuint   buffer,
                                         
ALenum   format,
                                         
ALvoid*  data,
                                         
ALsizei  size,
                                         
ALsizei  freq );


ALAPI ALvoid    ALAPIENTRY alGetBufferiALuint bufferALenum paramALint*   value );
ALAPI ALvoid    ALAPIENTRY alGetBufferfALuint bufferALenum paramALfloatvalue );




/**
 * Queue stuff
 */

ALAPI ALvoid    ALAPIENTRY alSourceQueueBuffersALuint sourceALsizei nALuintbuffers );
ALAPI ALvoid    ALAPIENTRY alSourceUnqueueBuffersALuint sourceALsizei nALuintbuffers );

/**
 * Knobs and dials
 */
ALAPI ALvoid    ALAPIENTRY alDistanceModelALenum value );
ALAPI ALvoid    ALAPIENTRY alDopplerFactorALfloat value );
ALAPI ALvoid    ALAPIENTRY alDopplerVelocityALfloat value );

#else /* AL_NO_PROTOTYPES */

/**
 * OpenAL Maintenance Functions
 * Initialization and exiting.
 * State Management and Query.
 * Error Handling.
 * Extension Support.
 */

/** State management. */
ALAPI ALvoid    ALAPIENTRY (*alEnable)( ALenum capability );
ALAPI ALvoid    ALAPIENTRY (*alDisable)( ALenum capability ); 
ALAPI ALboolean ALAPIENTRY (*alIsEnabled)( ALenum capability ); 

/** Application preferences for driver performance choices. */
ALAPI ALvoid    ALAPIENTRY (*alHint)( ALenum targetALenum mode );

/** State retrieval. */
ALAPI ALboolean ALAPIENTRY (*alGetBoolean)( ALenum param );
ALAPI ALint        ALAPIENTRY (*alGetInteger)( ALenum param );
ALAPI ALfloat    ALAPIENTRY (*alGetFloat)( ALenum param );
ALAPI ALdouble    ALAPIENTRY (*alGetDouble)( ALenum param );
ALAPI ALvoid    ALAPIENTRY (*alGetBooleanv)( ALenum paramALbooleandata );
ALAPI ALvoid    ALAPIENTRY (*alGetIntegerv)( ALenum paramALintdata );
ALAPI ALvoid    ALAPIENTRY (*alGetFloatv)( ALenum paramALfloatdata );
ALAPI ALvoid    ALAPIENTRY (*alGetDoublev)( ALenum paramALdoubledata );
ALAPI ALubyte*    ALAPIENTRY (*alGetString)( ALenum param );

/**
 * Error support.
 * Obtain the most recent error generated in the AL state machine.
 */
ALAPI ALenum    ALAPIENTRY (*alGetError)( ALvoid );


/** 
 * Extension support.
 * Obtain the address of a function (usually an extension)
 *  with the name fname. All addresses are context-independent. 
 */
ALAPI ALboolean ALAPIENTRY (*alIsExtensionPresent)( ALubytefname );


/** 
 * Extension support.
 * Obtain the address of a function (usually an extension)
 *  with the name fname. All addresses are context-independent. 
 */
ALAPI ALvoid*    ALAPIENTRY (*alGetProcAddress)( ALubytefname );


/**
 * Extension support.
 * Obtain the integer value of an enumeration (usually an extension) with the name ename. 
 */
ALAPI ALenum    ALAPIENTRY (*alGetEnumValue)( ALubyteename );




/**
 * LISTENER
 * Listener is the sample position for a given context.
 * The multi-channel (usually stereo) output stream generated
 *  by the mixer is parametrized by this Listener object:
 *  its position and velocity relative to Sources, within
 *  occluder and reflector geometry.
 */



/**
 *
 * Listener Environment:  default 0.
 */
ALAPI ALvoid    ALAPIENTRY (*alListeneri)( ALenum paramALint value );


/**
 *
 * Listener Gain:  default 1.0f.
 */
ALAPI ALvoid    ALAPIENTRY (*alListenerf)( ALenum paramALfloat value );


/**  
 *
 * Listener Position.
 * Listener Velocity.
 */
ALAPI ALvoid    ALAPIENTRY (*alListener3f)( ALenum paramALfloat v1ALfloat v2ALfloat v3 ); 


/**
 *
 * Listener Position:        ALfloat[3]
 * Listener Velocity:        ALfloat[3]
 * Listener Orientation:     ALfloat[6]  (forward and up vector).
 */
ALAPI ALvoid    ALAPIENTRY (*alListenerfv)( ALenum paramALfloatvalues ); 

ALAPI ALvoid    ALAPIENTRY (*alGetListeneri)( ALenum paramALintvalue );
ALAPI ALvoid    ALAPIENTRY (*alGetListenerf)( ALenum paramALfloatvalue );
ALAPI ALvoid    ALAPIENTRY (*alGetListener3f)( ALenum paramALfloatv1ALfloatv2ALfloatv3 ); 
ALAPI ALvoid    ALAPIENTRY (*alGetListenerfv)( ALenum paramALfloatvalues ); 


/**
 * SOURCE
 * Source objects are by default localized. Sources
 *  take the PCM data provided in the specified Buffer,
 *  apply Source-specific modifications, and then
 *  submit them to be mixed according to spatial 
 *  arrangement etc.
 */



/** Create Source objects. */
ALAPI ALvoid    ALAPIENTRY (*alGenSources)( ALsizei nALuintsources ); 

/** Delete Source objects. */
ALAPI ALvoid    ALAPIENTRY (*alDeleteSources)( ALsizei nALuintsources );

/** Verify a handle is a valid Source. */ 
ALAPI ALboolean ALAPIENTRY (*alIsSource)( ALuint id ); 

/** Set an integer parameter for a Source object. */
ALAPI ALvoid    ALAPIENTRY (*alSourcei)( ALuint sourceALenum paramALint value ); 
ALAPI ALvoid    ALAPIENTRY (*alSourcef)( ALuint sourceALenum paramALfloat value ); 
ALAPI ALvoid    ALAPIENTRY (*alSource3f)( ALuint sourceALenum paramALfloat v1ALfloat v2ALfloat v3 );
ALAPI ALvoid    ALAPIENTRY (*alSourcefv)( ALuint sourceALenum paramALfloatvalues ); 

/** Get an integer parameter for a Source object. */
ALAPI ALvoid    ALAPIENTRY (*alGetSourcei)( ALuint source,  ALenum paramALintvalue );
ALAPI ALvoid    ALAPIENTRY (*alGetSourcef)( ALuint source,  ALenum paramALfloatvalue );
ALAPI ALvoid    ALAPIENTRY (*alGetSourcefv)( ALuint sourceALenum paramALfloatvalues );

ALAPI ALvoid    ALAPIENTRY (*alSourcePlayv)( ALsizei nALuint *sources );
ALAPI ALvoid    ALAPIENTRY (*alSourceStopv)( ALsizei nALuint *sources );

/** Activate a source, start replay. */
ALAPI ALvoid    ALAPIENTRY (*alSourcePlay)( ALuint source );

/**
 * Pause a source, 
 *  temporarily remove it from the mixer list.
 */
ALAPI ALvoid    ALAPIENTRY (*alSourcePause)( ALuint source );

/**
 * Stop a source,
 *  temporarily remove it from the mixer list,
 *  and reset its internal state to pre-Play.
 * To remove a Source completely, it has to be
 *  deleted following Stop, or before Play.
 */
ALAPI ALvoid    ALAPIENTRY (*alSourceStop)( ALuint source );



/**
 * BUFFER
 * Buffer objects are storage space for sample data.
 * Buffers are referred to by Sources. There can be more than
 *  one Source using the same Buffer data. If Buffers have
 *  to be duplicated on a per-Source basis, the driver has to
 *  take care of allocation, copying, and deallocation as well
 *  as propagating buffer data changes.
 */




/** Buffer object generation. */
ALAPI ALvoid     ALAPIENTRY (*alGenBuffers)( ALsizei nALuintbuffers );
ALAPI ALvoid    ALAPIENTRY (*alDeleteBuffers)( ALsizei nALuintbuffers );
ALAPI ALboolean ALAPIENTRY (*alIsBuffer)( ALuint buffer );

/**
 * Specify the data to be filled into a buffer.
 */
ALAPI ALvoid    ALAPIENTRY (*alBufferData)( ALuint   buffer,
                                            
ALenum   format,
                                            
ALvoid*  data,
                                            
ALsizei  size,
                                            
ALsizei  freq );

ALAPI ALvoid    ALAPIENTRY (*alGetBufferi)( ALuint bufferALenum paramALint*   value );
ALAPI ALvoid    ALAPIENTRY (*alGetBufferf)( ALuint bufferALenum paramALfloatvalue );




/**
 * Queue stuff
 */
ALAPI ALvoid    ALAPIENTRY (*alSourceQueueBuffers)( ALuint sourceALsizei nALuintbuffers );
ALAPI ALvoid    ALAPIENTRY (*alSourceUnqueueBuffers)( ALuint sourceALsizei nALuintbuffers );

/**
 * Knobs and dials
 */
ALAPI ALvoid    ALAPIENTRY (*alDistanceModel)( ALenum value );
ALAPI ALvoid    ALAPIENTRY (*alDopplerFactor)( ALfloat value );
ALAPI ALvoid    ALAPIENTRY (*alDopplerVelocity)( ALfloat value );

#endif /* AL_NO_PROTOTYPES */

#ifdef TARGET_OS_MAC
 #if TARGET_OS_MAC
  #pragma export off
 #endif
#endif

#ifdef __cplusplus
}
#endif

#endif



[CODE]/4D/Modules/Sound/al.h

Кощей, он же Вострогот, он же Германарих, - это король восточных готов, который совершал опустошительные походы на наших предков. Он был убит в 375 году нашей эры на 110-м году жизни
ага :)