FreeBSD Manual Pages
al_create_sample(3) Library Functions Manual al_create_sample(3) NAME al_create_sample - Allegro 5 API SYNOPSIS #include <allegro5/allegro_audio.h> ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf) DESCRIPTION Create a sample data structure from the supplied buffer. If free_buf is true then the buffer will be freed with al_free(3) when the sample data structure is destroyed. For portability (especially Windows), the buffer should have been allocated with al_malloc(3). Otherwise you should free the sample data yourself. A sample that is referred to by the samples parameter refers to a se- quence channel intensities. E.g. if you're making a stereo sample with the samples set to 4, then the layout of the data in buf will be: LRLRLRLR Where L and R are the intensities for the left and right channels re- spectively. A single sample, then, refers to the LR pair in this exam- ple. To allocate a buffer of the correct size, you can use something like this: int sample_size = al_get_channel_count(chan_conf) * al_get_audio_depth_size(depth); int bytes = samples * sample_size; void *buffer = al_malloc(bytes); SEE ALSO al_destroy_sample(3), ALLEGRO_AUDIO_DEPTH(3), ALLEGRO_CHANNEL_CONF(3) Allegro reference manual al_create_sample(3)
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=al_create_sample&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>