misc/openalbridge/openalbridge.h
changeset 3516 a8c673657b79
parent 3510 23145a950eae
parent 3515 3e8635f43972
child 3529 0e968ba12a84
equal deleted inserted replaced
3510:23145a950eae 3516:a8c673657b79
     1 /*
       
     2  * OpenAL Bridge - a simple portable library for OpenAL interface
       
     3  * Copyright (c) 2009 Vittorio Giovara <vittorio.giovara@gmail.com>
       
     4  *
       
     5  * This program is free software; you can redistribute it and/or modify
       
     6  * it under the terms of the GNU Lesser General Public License as published by
       
     7  * the Free Software Foundation; version 2 of the License
       
     8  *
       
     9  * This program is distributed in the hope that it will be useful,
       
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12  * GNU Lesser General Public License for more details.
       
    13  *
       
    14  * You should have received a copy of the GNU Lesser General Public License
       
    15  * along with this program; if not, write to the Free Software
       
    16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
       
    17  */
       
    18 
       
    19 #ifndef _OALB_INTERFACE_H
       
    20 #define _OALB_INTERFACE_H
       
    21 
       
    22 #include "openalbridge_t.h"
       
    23 
       
    24 #ifdef __CPLUSPLUS
       
    25 extern "C" {
       
    26 #endif
       
    27 
       
    28     // init audio context and allocate memory
       
    29     int openal_init               (int memorysize);
       
    30 
       
    31     // close audio subsytem and free memory
       
    32     void openal_close             (void);
       
    33 
       
    34     // check if openal_init has been called
       
    35     char openal_ready             (void);
       
    36 
       
    37     // load an audio file into memory and map it to abuffer
       
    38     int  openal_loadfile          (const char *filename);
       
    39 
       
    40     // play, pause, stop a single sound source
       
    41     void openal_playsound         (unsigned int index);
       
    42     void openal_pausesound        (unsigned int index);
       
    43     void openal_stopsound         (unsigned int index);
       
    44 
       
    45     // play a sound and set whether it should loop or not (0/1)
       
    46     void openal_playsound_loop    (unsigned int index, char loops);
       
    47 
       
    48     // stop a sound and free the associated buffer
       
    49     void openal_stopsound_free    (unsigned int index, char freesource);
       
    50 
       
    51     void openal_freesound         (unsigned int index);
       
    52 
       
    53     // set or unset the looping property for a sound source
       
    54     void openal_toggleloop        (unsigned int index);
       
    55 
       
    56     // set position and volume of a sound source
       
    57     void openal_setposition       (unsigned int index, float x, float y, float z);
       
    58     void openal_setvolume         (unsigned int index, float gain);
       
    59 
       
    60     // set volume for all sounds (gain interval is [0-1])
       
    61     void openal_setglobalvolume   (float gain);
       
    62 
       
    63     // mute or unmute all sounds
       
    64     void openal_togglemute        (void);
       
    65 
       
    66     // fade effect,
       
    67     void openal_fade              (unsigned int index, unsigned short int quantity, al_fade_t direction);
       
    68     void openal_fadein            (unsigned int index, unsigned short int quantity);
       
    69     void openal_fadeout           (unsigned int index, unsigned short int quantity);
       
    70 
       
    71 
       
    72 #ifdef __CPLUSPLUS
       
    73 }
       
    74 #endif
       
    75 
       
    76 #endif /*_OALB_INTERFACE_H*/