misc/libopenalbridge/commands.h
author nemo
Thu, 01 Jul 2010 23:41:10 -0400
changeset 3608 c509bbc779e7
parent 3514 59dbd31e9953
child 3697 d5b30d6373fc
permissions -rw-r--r--
Revert prior attempted optimisation. Gridding the land pays in some situations, but not all. Restricting to an upper bound might help, but overall, seems too fuzzy to be worth it. On one side is increased cost of Add/Delete + extra test on collision check, on the other is skipping the list iteration. Perhaps for large lists.

/*
 *  commands.h
 *  Hedgewars
 *
 *  Created by Vittorio on 13/06/10.
 *  Copyright 2010 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef _OALB_COMMANDS_H
#define _OALB_COMMANDS_H

#include "openalbridge_t.h"
#include "openalbridge.h"


#define openal_fadein(x,y)          openal_fade(x,y,AL_FADE_IN)
#define openal_fadeout(x,y)         openal_fade(x,y,AL_FADE_OUT)
#define openal_playsound_loop(x,y)  openal_playsound(x)  \
                                        if (y != 0)  \
                                        openal_toggleloop(x);
#ifdef __CPLUSPLUS
extern "C" {
#endif
    
    // play, pause, stop a single sound source
    void openal_pausesound        (unsigned int index);
    void openal_stopsound         (unsigned int index);
    
    // play a sound and set whether it should loop or not (0/1)
    void openal_playsound         (unsigned int index);
    
    void openal_freesound         (unsigned int index);
    
    // set or unset the looping property for a sound source
    void openal_toggleloop        (unsigned int index);
    
    // set position and volume of a sound source
    void openal_setposition       (unsigned int index, float x, float y, float z);
    void openal_setvolume         (unsigned int index, float gain);
    
    // set volume for all sounds (gain interval is [0-1])
    void openal_setglobalvolume   (float gain);
    
    // mute or unmute all sounds
    void openal_togglemute        (void);
    
    // fade effect,
    void openal_fade              (unsigned int index, unsigned short int quantity, al_fade_t direction);
    
#ifdef __CPLUSPLUS
}
#endif

#endif /*_OALB_COMMANDS_H*/