DOKK / manpages / debian 12 / allegro5-doc / al_lock_sample_id.3alleg5.en
al_lock_sample_id(3alleg5) al_lock_sample_id(3alleg5)

al_lock_sample_id - Allegro 5 API

#include <allegro5/allegro_audio.h>
ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    

Locks a ALLEGRO_SAMPLE_ID(3alleg5), returning the underlying ALLEGRO_SAMPLE_INSTANCE(3alleg5). This allows you to adjust the various properties of the instance (such as volume, pan, etc) while the sound is playing.

This function will return NULL if the sound corresponding to the id is no longer playing.

While locked, ALLEGRO_SAMPLE_ID will be unavailable to additional calls to al_play_sample(3alleg5), even if the sound stops while locked. To put the ALLEGRO_SAMPLE_ID back into the pool for reuse, make sure to call al_unlock_sample_id when you’re done with the instance.

al_play_sample(3alleg5), al_unlock_sample_id(3alleg5)

5.2.3

[Unstable API]: New API.

Allegro reference manual