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

Вышел Кащей Бессмертный в 30-градусный мороз и... отморозил себе левое бессмертие