| 
| typedef  | ALvoid (AL_APIENTRY *ALGENFILTERS)(ALsizei | 
|   | 
| int  | ds_parse_sound (CFILE *fp, ubyte **dest, uint *dest_size, WAVEFORMATEX **header, bool ogg, OggVorbis_File *ovf) | 
|   | Parse a wave file.  More...
  | 
|   | 
| int  | ds_parse_sound_info (char *real_filename, sound_info *s_info) | 
|   | 
| int  | ds_get_sid () | 
|   | 
| int  | ds_load_buffer (int *sid, int *final_size, void *header, sound_info *si, int flags) | 
|   | Load a secondary buffer with sound data.  More...
  | 
|   | 
| void  | ds_init_channels () | 
|   | 
| void  | ds_init_buffers () | 
|   | 
| bool  | ds_check_for_openal_soft () | 
|   | 
| int  | ds_init () | 
|   | 
| void  | ds_close_channel (int i) | 
|   | 
| void  | ds_close_channel_fast (int i) | 
|   | 
| void  | ds_close_all_channels () | 
|   | 
| void  | ds_unload_buffer (int sid) | 
|   | 
| void  | ds_close_buffers () | 
|   | 
| void  | ds_close () | 
|   | 
| int  | ds_get_free_channel_retail (float new_volume, int snd_id, int priority) | 
|   | 
| int  | ds_get_free_channel_enhanced (float new_volume, int snd_id, int enhanced_priority, unsigned int enhanced_limit) | 
|   | 
| int  | ds_get_free_channel (float volume, int snd_id, int priority, int &enhanced_priority, const EnhancedSoundData &enhanced_sound_data) | 
|   | 
| int  | ds_create_buffer (int frequency, int bits_per_sample, int nchannels, int nseconds) | 
|   | 
| int  | ds_lock_data (int sid, unsigned char *data, int size) | 
|   | 
| void  | ds_stop_easy (int sid) | 
|   | 
| int  | ds_play_easy (int sid, float volume) | 
|   | 
| int  | ds_play (int sid, int snd_id, int priority, const EnhancedSoundData *enhanced_sound_data, float volume, float pan, int looping, bool is_voice_msg) | 
|   | 
| int  | ds_get_channel (int sig) | 
|   | 
| int  | ds_is_channel_playing (int channel_id) | 
|   | 
| void  | ds_stop_channel (int channel_id) | 
|   | 
| void  | ds_stop_channel_all () | 
|   | 
| void  | ds_set_volume (int channel_id, float vol) | 
|   | Set the volume for a channel. The volume is expected to be in linear scale.  More...
  | 
|   | 
| void  | ds_set_pan (int channel_id, float pan) | 
|   | 
| int  | ds_get_pitch (int channel_id) | 
|   | 
| void  | ds_set_pitch (int channel_id, int pitch) | 
|   | 
| void  | ds_chg_loop_status (int channel_id, int loop) | 
|   | 
| int  | ds3d_play (int sid, int snd_id, vec3d *pos, vec3d *vel, float min, float max, int looping, float max_volume, float estimated_vol, const EnhancedSoundData *enhanced_sound_data, int priority, bool is_ambient) | 
|   | 
| void  | ds_set_position (int channel_id, unsigned int offset) | 
|   | 
| unsigned int  | ds_get_play_position (int channel_id) | 
|   | 
| unsigned int  | ds_get_write_position (int channel_id) | 
|   | 
| int  | ds_get_channel_size (int channel_id) | 
|   | 
| int  | ds_get_number_channels () | 
|   | 
| int  | ds_get_data (int sid, char *data) | 
|   | 
| int  | ds_get_size (int sid, int *size) | 
|   | 
| int  | ds_eax_set_volume (float volume) | 
|   | 
| int  | ds_eax_set_decay_time (float seconds) | 
|   | 
| int  | ds_eax_set_damping (float damp) | 
|   | 
| int  | ds_eax_set_environment (unsigned long envid) | 
|   | 
| int  | ds_eax_set_all (unsigned long id, float vol, float damping, float decay) | 
|   | 
| int  | ds_eax_get_preset_id (const char *name) | 
|   | 
| int  | ds_eax_get_prop (EFXREVERBPROPERTIES **props, const char *name, const char *template_name) | 
|   | 
| int  | ds_eax_get_all (EAX_REVERBPROPERTIES *er, int id) | 
|   | 
| void  | ds_eax_close () | 
|   | 
| int  | ds_eax_init () | 
|   | 
| int  | ds_eax_is_inited () | 
|   | 
| void  | ds_do_frame () | 
|   | 
| int  | ds_get_sound_id (int channel_id) | 
|   | 
Load a secondary buffer with sound data. 
The sounds data for game sounds are stored in the DirectSound secondary buffers, and are duplicated as needed and placed in the Channels[] array to be played.
- Parameters
 - 
  
    | sid | Pointer to software id for sound ( output parm)  | 
    | final_size | Pointer to storage to receive uncompressed sound size (output parm)  | 
    | header | Pointer to a WAVEFORMATEX structure  | 
    | si | sound_info structure, contains details on the sound format  | 
    | flags | Buffer properties ( DS_HARDWARE , DS_3D ) | 
  
   
- Returns
 - 1 if sound effect could not loaded into a secondary buffer, 0 if sound effect successfully loaded into a secondary buffer
 
NOTE: this function is slow, especially when sounds are loaded into hardware. Don't call this function from within gameplay. 
Definition at line 676 of file ds.cpp.